aws-cdk-lib 2.204.0__py3-none-any.whl → 2.205.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 (48) hide show
  1. aws_cdk/__init__.py +170 -92
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.204.0.jsii.tgz → aws-cdk-lib@2.205.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_aiops/__init__.py +89 -39
  5. aws_cdk/aws_applicationautoscaling/__init__.py +2 -2
  6. aws_cdk/aws_arczonalshift/__init__.py +4 -1
  7. aws_cdk/aws_b2bi/__init__.py +32 -16
  8. aws_cdk/aws_bedrock/__init__.py +198 -10
  9. aws_cdk/aws_cassandra/__init__.py +156 -0
  10. aws_cdk/aws_cloudformation/__init__.py +74 -72
  11. aws_cdk/aws_cloudfront/__init__.py +1181 -485
  12. aws_cdk/aws_cloudfront_origins/__init__.py +26 -21
  13. aws_cdk/aws_cloudwatch/__init__.py +61 -0
  14. aws_cdk/aws_codebuild/__init__.py +216 -36
  15. aws_cdk/aws_datasync/__init__.py +2 -2
  16. aws_cdk/aws_docdb/__init__.py +78 -0
  17. aws_cdk/aws_dynamodb/__init__.py +207 -35
  18. aws_cdk/aws_ec2/__init__.py +32 -30
  19. aws_cdk/aws_ecs/__init__.py +12 -19
  20. aws_cdk/aws_emrserverless/__init__.py +5 -5
  21. aws_cdk/aws_events/__init__.py +58 -3
  22. aws_cdk/aws_events_targets/__init__.py +7 -2
  23. aws_cdk/aws_evs/__init__.py +7 -7
  24. aws_cdk/aws_fsx/__init__.py +138 -78
  25. aws_cdk/aws_gamelift/__init__.py +19 -0
  26. aws_cdk/aws_glue/__init__.py +3 -3
  27. aws_cdk/aws_iot/__init__.py +1 -1
  28. aws_cdk/aws_kinesis/__init__.py +67 -13
  29. aws_cdk/aws_kinesisfirehose/__init__.py +28 -1
  30. aws_cdk/aws_lex/__init__.py +36 -19
  31. aws_cdk/aws_neptune/__init__.py +12 -12
  32. aws_cdk/aws_odb/__init__.py +4049 -0
  33. aws_cdk/aws_omics/__init__.py +1 -1
  34. aws_cdk/aws_qbusiness/__init__.py +471 -4
  35. aws_cdk/aws_quicksight/__init__.py +185 -16
  36. aws_cdk/aws_rds/__init__.py +169 -17
  37. aws_cdk/aws_redshiftserverless/__init__.py +72 -45
  38. aws_cdk/aws_route53/__init__.py +41 -19
  39. aws_cdk/aws_s3tables/__init__.py +1005 -0
  40. aws_cdk/aws_sagemaker/__init__.py +20 -0
  41. aws_cdk/aws_synthetics/__init__.py +141 -37
  42. aws_cdk/aws_transfer/__init__.py +23 -1
  43. {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/METADATA +1 -1
  44. {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/RECORD +48 -47
  45. {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/LICENSE +0 -0
  46. {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/NOTICE +0 -0
  47. {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/WHEEL +0 -0
  48. {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/top_level.txt +0 -0
@@ -6403,6 +6403,7 @@ class CfnDomain(
6403
6403
  environment_id="environmentId",
6404
6404
  project_id="projectId",
6405
6405
  project_s3_path="projectS3Path",
6406
+ single_sign_on_application_arn="singleSignOnApplicationArn",
6406
6407
  studio_web_portal_access="studioWebPortalAccess"
6407
6408
  )
6408
6409
  ),
@@ -7801,6 +7802,7 @@ class CfnDomain(
7801
7802
  environment_id="environmentId",
7802
7803
  project_id="projectId",
7803
7804
  project_s3_path="projectS3Path",
7805
+ single_sign_on_application_arn="singleSignOnApplicationArn",
7804
7806
  studio_web_portal_access="studioWebPortalAccess"
7805
7807
  )
7806
7808
  )
@@ -9201,6 +9203,7 @@ class CfnDomain(
9201
9203
  "environment_id": "environmentId",
9202
9204
  "project_id": "projectId",
9203
9205
  "project_s3_path": "projectS3Path",
9206
+ "single_sign_on_application_arn": "singleSignOnApplicationArn",
9204
9207
  "studio_web_portal_access": "studioWebPortalAccess",
9205
9208
  },
9206
9209
  )
@@ -9214,6 +9217,7 @@ class CfnDomain(
9214
9217
  environment_id: typing.Optional[builtins.str] = None,
9215
9218
  project_id: typing.Optional[builtins.str] = None,
9216
9219
  project_s3_path: typing.Optional[builtins.str] = None,
9220
+ single_sign_on_application_arn: typing.Optional[builtins.str] = None,
9217
9221
  studio_web_portal_access: typing.Optional[builtins.str] = None,
9218
9222
  ) -> None:
9219
9223
  '''The settings that apply to an Amazon SageMaker AI domain when you use it in Amazon SageMaker Unified Studio.
@@ -9224,6 +9228,7 @@ class CfnDomain(
9224
9228
  :param environment_id: The ID of the environment that Amazon SageMaker Unified Studio associates with the domain.
9225
9229
  :param project_id: The ID of the Amazon SageMaker Unified Studio project that corresponds to the domain.
9226
9230
  :param project_s3_path: The location where Amazon S3 stores temporary execution data and other artifacts for the project that corresponds to the domain.
9231
+ :param single_sign_on_application_arn: The ARN of the DataZone application managed by SageMaker Unified Studio in the AWS IAM Identity Center.
9227
9232
  :param studio_web_portal_access: Sets whether you can access the domain in Amazon SageMaker Studio:. - **ENABLED** - You can access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it in both studio interfaces. - **DISABLED** - You can't access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it only in that studio interface. To migrate a domain to Amazon SageMaker Unified Studio, you specify the UnifiedStudioSettings data type when you use the UpdateDomain action.
9228
9233
 
9229
9234
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-unifiedstudiosettings.html
@@ -9242,6 +9247,7 @@ class CfnDomain(
9242
9247
  environment_id="environmentId",
9243
9248
  project_id="projectId",
9244
9249
  project_s3_path="projectS3Path",
9250
+ single_sign_on_application_arn="singleSignOnApplicationArn",
9245
9251
  studio_web_portal_access="studioWebPortalAccess"
9246
9252
  )
9247
9253
  '''
@@ -9253,6 +9259,7 @@ class CfnDomain(
9253
9259
  check_type(argname="argument environment_id", value=environment_id, expected_type=type_hints["environment_id"])
9254
9260
  check_type(argname="argument project_id", value=project_id, expected_type=type_hints["project_id"])
9255
9261
  check_type(argname="argument project_s3_path", value=project_s3_path, expected_type=type_hints["project_s3_path"])
9262
+ check_type(argname="argument single_sign_on_application_arn", value=single_sign_on_application_arn, expected_type=type_hints["single_sign_on_application_arn"])
9256
9263
  check_type(argname="argument studio_web_portal_access", value=studio_web_portal_access, expected_type=type_hints["studio_web_portal_access"])
9257
9264
  self._values: typing.Dict[builtins.str, typing.Any] = {}
9258
9265
  if domain_account_id is not None:
@@ -9267,6 +9274,8 @@ class CfnDomain(
9267
9274
  self._values["project_id"] = project_id
9268
9275
  if project_s3_path is not None:
9269
9276
  self._values["project_s3_path"] = project_s3_path
9277
+ if single_sign_on_application_arn is not None:
9278
+ self._values["single_sign_on_application_arn"] = single_sign_on_application_arn
9270
9279
  if studio_web_portal_access is not None:
9271
9280
  self._values["studio_web_portal_access"] = studio_web_portal_access
9272
9281
 
@@ -9328,6 +9337,15 @@ class CfnDomain(
9328
9337
  result = self._values.get("project_s3_path")
9329
9338
  return typing.cast(typing.Optional[builtins.str], result)
9330
9339
 
9340
+ @builtins.property
9341
+ def single_sign_on_application_arn(self) -> typing.Optional[builtins.str]:
9342
+ '''The ARN of the DataZone application managed by SageMaker Unified Studio in the AWS IAM Identity Center.
9343
+
9344
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-unifiedstudiosettings.html#cfn-sagemaker-domain-unifiedstudiosettings-singlesignonapplicationarn
9345
+ '''
9346
+ result = self._values.get("single_sign_on_application_arn")
9347
+ return typing.cast(typing.Optional[builtins.str], result)
9348
+
9331
9349
  @builtins.property
9332
9350
  def studio_web_portal_access(self) -> typing.Optional[builtins.str]:
9333
9351
  '''Sets whether you can access the domain in Amazon SageMaker Studio:.
@@ -10159,6 +10177,7 @@ class CfnDomainProps:
10159
10177
  environment_id="environmentId",
10160
10178
  project_id="projectId",
10161
10179
  project_s3_path="projectS3Path",
10180
+ single_sign_on_application_arn="singleSignOnApplicationArn",
10162
10181
  studio_web_portal_access="studioWebPortalAccess"
10163
10182
  )
10164
10183
  ),
@@ -51522,6 +51541,7 @@ def _typecheckingstub__b4dad77d25b548827f5bcfd63cb5788816c5db5845110e1912053632c
51522
51541
  environment_id: typing.Optional[builtins.str] = None,
51523
51542
  project_id: typing.Optional[builtins.str] = None,
51524
51543
  project_s3_path: typing.Optional[builtins.str] = None,
51544
+ single_sign_on_application_arn: typing.Optional[builtins.str] = None,
51525
51545
  studio_web_portal_access: typing.Optional[builtins.str] = None,
51526
51546
  ) -> None:
51527
51547
  """Type checking stubs"""
@@ -88,6 +88,28 @@ schedule = synthetics.Schedule.cron(
88
88
 
89
89
  If you want the canary to run just once upon deployment, you can use `Schedule.once()`.
90
90
 
91
+ ### Automatic Retries
92
+
93
+ You can configure the canary to automatically retry failed runs by using the `maxRetries` property.
94
+
95
+ This is only supported on the following runtimes or newer: `Runtime.SYNTHETICS_NODEJS_PUPPETEER_10_0`, `Runtime.SYNTHETICS_NODEJS_PLAYWRIGHT_2_0`, `Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1`.
96
+
97
+ Max retries can be set between 0 and 2. Canaries which time out after 10 minutes are automatically limited to one retry.
98
+
99
+ For more information, see [Configuring your canary to retry automatically](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_autoretry.html).
100
+
101
+ ```python
102
+ canary = synthetics.Canary(self, "MyCanary",
103
+ schedule=synthetics.Schedule.rate(Duration.minutes(5)),
104
+ test=synthetics.Test.custom(
105
+ handler="canary.handler",
106
+ code=synthetics.Code.from_asset(path.join(__dirname, "canaries"))
107
+ ),
108
+ runtime=synthetics.Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1,
109
+ max_retries=2
110
+ )
111
+ ```
112
+
91
113
  ### Active Tracing
92
114
 
93
115
  You can choose to enable active AWS X-Ray tracing on canaries that use the `syn-nodejs-2.0` or later runtime by setting `activeTracing` to `true`.
@@ -372,6 +394,24 @@ canary = synthetics.Canary(self, "MyCanary",
372
394
  artifact_s3_kms_key=key
373
395
  )
374
396
  ```
397
+
398
+ ### Tag replication
399
+
400
+ You can configure a canary to replicate its tags to the underlying Lambda function. This is useful when you want the same tags that are applied to the canary to also be applied to the Lambda function that the canary uses.
401
+
402
+ ```python
403
+ canary = synthetics.Canary(self, "MyCanary",
404
+ schedule=synthetics.Schedule.rate(Duration.minutes(5)),
405
+ test=synthetics.Test.custom(
406
+ code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
407
+ handler="index.handler"
408
+ ),
409
+ runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
410
+ resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
411
+ )
412
+ ```
413
+
414
+ When you specify `ResourceToReplicateTags.LAMBDA_FUNCTION` in the `resourcesToReplicateTags` property, CloudWatch Synthetics will keep the tags of the canary and the Lambda function synchronized. Any future changes you make to the canary's tags will also be applied to the function.
375
415
  '''
376
416
  from pkgutil import extend_path
377
417
  __path__ = extend_path(__path__, __name__)
@@ -568,17 +608,14 @@ class Canary(
568
608
 
569
609
  Example::
570
610
 
571
- import aws_cdk as cdk
572
-
573
-
574
611
  canary = synthetics.Canary(self, "MyCanary",
575
612
  schedule=synthetics.Schedule.rate(Duration.minutes(5)),
576
613
  test=synthetics.Test.custom(
577
614
  code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
578
615
  handler="index.handler"
579
616
  ),
580
- runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_6_2,
581
- memory=cdk.Size.mebibytes(1024)
617
+ runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
618
+ resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
582
619
  )
583
620
  '''
584
621
 
@@ -599,8 +636,10 @@ class Canary(
599
636
  dry_run_and_update: typing.Optional[builtins.bool] = None,
600
637
  environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
601
638
  failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
639
+ max_retries: typing.Optional[jsii.Number] = None,
602
640
  memory: typing.Optional[_Size_7b441c34] = None,
603
641
  provisioned_resource_cleanup: typing.Optional[builtins.bool] = None,
642
+ resources_to_replicate_tags: typing.Optional[typing.Sequence["ResourceToReplicateTags"]] = None,
604
643
  role: typing.Optional[_IRole_235f5d8e] = None,
605
644
  schedule: typing.Optional["Schedule"] = None,
606
645
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
@@ -623,11 +662,13 @@ class Canary(
623
662
  :param artifacts_bucket_location: The s3 location that stores the data of the canary runs. Default: - A new s3 bucket will be created without a prefix.
624
663
  :param canary_name: The name of the canary. Be sure to give it a descriptive name that distinguishes it from other canaries in your account. Do not include secrets or proprietary information in your canary name. The canary name makes up part of the canary ARN, which is included in outbound calls over the internet. Default: - A unique name will be generated from the construct ID
625
664
  :param cleanup: (deprecated) Specify the underlying resources to be cleaned up when the canary is deleted. Using ``Cleanup.LAMBDA`` will create a Custom Resource to achieve this. Default: Cleanup.NOTHING
626
- :param dry_run_and_update: Specifies whether to perform a dry run before updating the canary. If set to true, CDK will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry runs failure reason. If set to false or omitted, the canary will be updated directly without first performing a dry run. Default: undefined - AWS CloudWatch default is false
665
+ :param dry_run_and_update: Specifies whether to perform a dry run before updating the canary. If set to true, CDK will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry run's failure reason. If set to false or omitted, the canary will be updated directly without first performing a dry run. Default: undefined - AWS CloudWatch default is false
627
666
  :param environment_variables: Key-value pairs that the Synthetics caches and makes available for your canary scripts. Use environment variables to apply configuration changes, such as test and production environment configurations, without changing your Canary script source code. Default: - No environment variables.
628
667
  :param failure_retention_period: How many days should failed runs be retained. Default: Duration.days(31)
668
+ :param max_retries: The amount of times the canary will automatically retry a failed run. This is only supported on the following runtimes or newer: ``Runtime.SYNTHETICS_NODEJS_PUPPETEER_10_0``, ``Runtime.SYNTHETICS_NODEJS_PLAYWRIGHT_2_0``, ``Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1``. Max retries can be set between 0 and 2. Canaries which time out after 10 minutes are automatically limited to one retry. Default: 0
629
669
  :param memory: The maximum amount of memory that the canary can use while running. This value must be a multiple of 64 Mib. The range is 960 MiB to 3008 MiB. Default: Size.mebibytes(1024)
630
670
  :param provisioned_resource_cleanup: Whether to also delete the Lambda functions and layers used by this canary when the canary is deleted. Default: undefined - the default behavior is to not delete the Lambda functions and layers
671
+ :param resources_to_replicate_tags: Specifies which resources should have their tags replicated to this canary. To have the tags that you apply to this canary also be applied to the Lambda function that the canary uses, specify this property with the value ResourceToReplicateTags.LAMBDA_FUNCTION. If you do this, CloudWatch Synthetics will keep the tags of the canary and the Lambda function synchronized. Any future changes you make to the canary's tags will also be applied to the function. Default: - No resources will have their tags replicated to this canary
631
672
  :param role: Canary execution role. This is the role that will be assumed by the canary upon execution. It controls the permissions that the canary will have. The role must be assumable by the AWS Lambda service principal. If not supplied, a role will be created with all the required permissions. If you provide a Role, you must add the required permissions. Default: - A unique role will be generated for this canary. You can add permissions to roles by calling 'addToRolePolicy'.
632
673
  :param schedule: Specify the schedule for how often the canary runs. For example, if you set ``schedule`` to ``rate(10 minutes)``, then the canary will run every 10 minutes. You can set the schedule with ``Schedule.rate(Duration)`` (recommended) or you can specify an expression using ``Schedule.expression()``. Default: 'rate(5 minutes)'
633
674
  :param security_groups: The list of security groups to associate with the canary's network interfaces. You must provide ``vpc`` when using this prop. Default: - If the canary is placed within a VPC and a security group is not specified a dedicated security group will be created for this canary.
@@ -655,8 +696,10 @@ class Canary(
655
696
  dry_run_and_update=dry_run_and_update,
656
697
  environment_variables=environment_variables,
657
698
  failure_retention_period=failure_retention_period,
699
+ max_retries=max_retries,
658
700
  memory=memory,
659
701
  provisioned_resource_cleanup=provisioned_resource_cleanup,
702
+ resources_to_replicate_tags=resources_to_replicate_tags,
660
703
  role=role,
661
704
  schedule=schedule,
662
705
  security_groups=security_groups,
@@ -896,8 +939,10 @@ class Canary(
896
939
  "dry_run_and_update": "dryRunAndUpdate",
897
940
  "environment_variables": "environmentVariables",
898
941
  "failure_retention_period": "failureRetentionPeriod",
942
+ "max_retries": "maxRetries",
899
943
  "memory": "memory",
900
944
  "provisioned_resource_cleanup": "provisionedResourceCleanup",
945
+ "resources_to_replicate_tags": "resourcesToReplicateTags",
901
946
  "role": "role",
902
947
  "schedule": "schedule",
903
948
  "security_groups": "securityGroups",
@@ -925,8 +970,10 @@ class CanaryProps:
925
970
  dry_run_and_update: typing.Optional[builtins.bool] = None,
926
971
  environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
927
972
  failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
973
+ max_retries: typing.Optional[jsii.Number] = None,
928
974
  memory: typing.Optional[_Size_7b441c34] = None,
929
975
  provisioned_resource_cleanup: typing.Optional[builtins.bool] = None,
976
+ resources_to_replicate_tags: typing.Optional[typing.Sequence["ResourceToReplicateTags"]] = None,
930
977
  role: typing.Optional[_IRole_235f5d8e] = None,
931
978
  schedule: typing.Optional["Schedule"] = None,
932
979
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
@@ -948,11 +995,13 @@ class CanaryProps:
948
995
  :param artifacts_bucket_location: The s3 location that stores the data of the canary runs. Default: - A new s3 bucket will be created without a prefix.
949
996
  :param canary_name: The name of the canary. Be sure to give it a descriptive name that distinguishes it from other canaries in your account. Do not include secrets or proprietary information in your canary name. The canary name makes up part of the canary ARN, which is included in outbound calls over the internet. Default: - A unique name will be generated from the construct ID
950
997
  :param cleanup: (deprecated) Specify the underlying resources to be cleaned up when the canary is deleted. Using ``Cleanup.LAMBDA`` will create a Custom Resource to achieve this. Default: Cleanup.NOTHING
951
- :param dry_run_and_update: Specifies whether to perform a dry run before updating the canary. If set to true, CDK will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry runs failure reason. If set to false or omitted, the canary will be updated directly without first performing a dry run. Default: undefined - AWS CloudWatch default is false
998
+ :param dry_run_and_update: Specifies whether to perform a dry run before updating the canary. If set to true, CDK will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry run's failure reason. If set to false or omitted, the canary will be updated directly without first performing a dry run. Default: undefined - AWS CloudWatch default is false
952
999
  :param environment_variables: Key-value pairs that the Synthetics caches and makes available for your canary scripts. Use environment variables to apply configuration changes, such as test and production environment configurations, without changing your Canary script source code. Default: - No environment variables.
953
1000
  :param failure_retention_period: How many days should failed runs be retained. Default: Duration.days(31)
1001
+ :param max_retries: The amount of times the canary will automatically retry a failed run. This is only supported on the following runtimes or newer: ``Runtime.SYNTHETICS_NODEJS_PUPPETEER_10_0``, ``Runtime.SYNTHETICS_NODEJS_PLAYWRIGHT_2_0``, ``Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1``. Max retries can be set between 0 and 2. Canaries which time out after 10 minutes are automatically limited to one retry. Default: 0
954
1002
  :param memory: The maximum amount of memory that the canary can use while running. This value must be a multiple of 64 Mib. The range is 960 MiB to 3008 MiB. Default: Size.mebibytes(1024)
955
1003
  :param provisioned_resource_cleanup: Whether to also delete the Lambda functions and layers used by this canary when the canary is deleted. Default: undefined - the default behavior is to not delete the Lambda functions and layers
1004
+ :param resources_to_replicate_tags: Specifies which resources should have their tags replicated to this canary. To have the tags that you apply to this canary also be applied to the Lambda function that the canary uses, specify this property with the value ResourceToReplicateTags.LAMBDA_FUNCTION. If you do this, CloudWatch Synthetics will keep the tags of the canary and the Lambda function synchronized. Any future changes you make to the canary's tags will also be applied to the function. Default: - No resources will have their tags replicated to this canary
956
1005
  :param role: Canary execution role. This is the role that will be assumed by the canary upon execution. It controls the permissions that the canary will have. The role must be assumable by the AWS Lambda service principal. If not supplied, a role will be created with all the required permissions. If you provide a Role, you must add the required permissions. Default: - A unique role will be generated for this canary. You can add permissions to roles by calling 'addToRolePolicy'.
957
1006
  :param schedule: Specify the schedule for how often the canary runs. For example, if you set ``schedule`` to ``rate(10 minutes)``, then the canary will run every 10 minutes. You can set the schedule with ``Schedule.rate(Duration)`` (recommended) or you can specify an expression using ``Schedule.expression()``. Default: 'rate(5 minutes)'
958
1007
  :param security_groups: The list of security groups to associate with the canary's network interfaces. You must provide ``vpc`` when using this prop. Default: - If the canary is placed within a VPC and a security group is not specified a dedicated security group will be created for this canary.
@@ -967,17 +1016,14 @@ class CanaryProps:
967
1016
 
968
1017
  Example::
969
1018
 
970
- import aws_cdk as cdk
971
-
972
-
973
1019
  canary = synthetics.Canary(self, "MyCanary",
974
1020
  schedule=synthetics.Schedule.rate(Duration.minutes(5)),
975
1021
  test=synthetics.Test.custom(
976
1022
  code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
977
1023
  handler="index.handler"
978
1024
  ),
979
- runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_6_2,
980
- memory=cdk.Size.mebibytes(1024)
1025
+ runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
1026
+ resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
981
1027
  )
982
1028
  '''
983
1029
  if isinstance(artifacts_bucket_location, dict):
@@ -998,8 +1044,10 @@ class CanaryProps:
998
1044
  check_type(argname="argument dry_run_and_update", value=dry_run_and_update, expected_type=type_hints["dry_run_and_update"])
999
1045
  check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
1000
1046
  check_type(argname="argument failure_retention_period", value=failure_retention_period, expected_type=type_hints["failure_retention_period"])
1047
+ check_type(argname="argument max_retries", value=max_retries, expected_type=type_hints["max_retries"])
1001
1048
  check_type(argname="argument memory", value=memory, expected_type=type_hints["memory"])
1002
1049
  check_type(argname="argument provisioned_resource_cleanup", value=provisioned_resource_cleanup, expected_type=type_hints["provisioned_resource_cleanup"])
1050
+ check_type(argname="argument resources_to_replicate_tags", value=resources_to_replicate_tags, expected_type=type_hints["resources_to_replicate_tags"])
1003
1051
  check_type(argname="argument role", value=role, expected_type=type_hints["role"])
1004
1052
  check_type(argname="argument schedule", value=schedule, expected_type=type_hints["schedule"])
1005
1053
  check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
@@ -1033,10 +1081,14 @@ class CanaryProps:
1033
1081
  self._values["environment_variables"] = environment_variables
1034
1082
  if failure_retention_period is not None:
1035
1083
  self._values["failure_retention_period"] = failure_retention_period
1084
+ if max_retries is not None:
1085
+ self._values["max_retries"] = max_retries
1036
1086
  if memory is not None:
1037
1087
  self._values["memory"] = memory
1038
1088
  if provisioned_resource_cleanup is not None:
1039
1089
  self._values["provisioned_resource_cleanup"] = provisioned_resource_cleanup
1090
+ if resources_to_replicate_tags is not None:
1091
+ self._values["resources_to_replicate_tags"] = resources_to_replicate_tags
1040
1092
  if role is not None:
1041
1093
  self._values["role"] = role
1042
1094
  if schedule is not None:
@@ -1178,7 +1230,7 @@ class CanaryProps:
1178
1230
 
1179
1231
  If set to true, CDK will execute a dry run to validate the changes before applying them to the canary.
1180
1232
  If the dry run succeeds, the canary will be updated with the changes.
1181
- If the dry run fails, the CloudFormation deployment will fail with the dry runs failure reason.
1233
+ If the dry run fails, the CloudFormation deployment will fail with the dry run's failure reason.
1182
1234
 
1183
1235
  If set to false or omitted, the canary will be updated directly without first performing a dry run.
1184
1236
 
@@ -1213,6 +1265,20 @@ class CanaryProps:
1213
1265
  result = self._values.get("failure_retention_period")
1214
1266
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
1215
1267
 
1268
+ @builtins.property
1269
+ def max_retries(self) -> typing.Optional[jsii.Number]:
1270
+ '''The amount of times the canary will automatically retry a failed run.
1271
+
1272
+ This is only supported on the following runtimes or newer: ``Runtime.SYNTHETICS_NODEJS_PUPPETEER_10_0``, ``Runtime.SYNTHETICS_NODEJS_PLAYWRIGHT_2_0``, ``Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1``.
1273
+ Max retries can be set between 0 and 2. Canaries which time out after 10 minutes are automatically limited to one retry.
1274
+
1275
+ :default: 0
1276
+
1277
+ :see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_autoretry.html
1278
+ '''
1279
+ result = self._values.get("max_retries")
1280
+ return typing.cast(typing.Optional[jsii.Number], result)
1281
+
1216
1282
  @builtins.property
1217
1283
  def memory(self) -> typing.Optional[_Size_7b441c34]:
1218
1284
  '''The maximum amount of memory that the canary can use while running.
@@ -1234,6 +1300,23 @@ class CanaryProps:
1234
1300
  result = self._values.get("provisioned_resource_cleanup")
1235
1301
  return typing.cast(typing.Optional[builtins.bool], result)
1236
1302
 
1303
+ @builtins.property
1304
+ def resources_to_replicate_tags(
1305
+ self,
1306
+ ) -> typing.Optional[typing.List["ResourceToReplicateTags"]]:
1307
+ '''Specifies which resources should have their tags replicated to this canary.
1308
+
1309
+ To have the tags that you apply to this canary also be applied to the Lambda
1310
+ function that the canary uses, specify this property with the value
1311
+ ResourceToReplicateTags.LAMBDA_FUNCTION. If you do this, CloudWatch Synthetics will keep the tags of the canary and the
1312
+ Lambda function synchronized. Any future changes you make to the canary's tags
1313
+ will also be applied to the function.
1314
+
1315
+ :default: - No resources will have their tags replicated to this canary
1316
+ '''
1317
+ result = self._values.get("resources_to_replicate_tags")
1318
+ return typing.cast(typing.Optional[typing.List["ResourceToReplicateTags"]], result)
1319
+
1237
1320
  @builtins.property
1238
1321
  def role(self) -> typing.Optional[_IRole_235f5d8e]:
1239
1322
  '''Canary execution role.
@@ -3495,17 +3578,14 @@ class Code(
3495
3578
 
3496
3579
  Example::
3497
3580
 
3498
- import aws_cdk as cdk
3499
-
3500
-
3501
3581
  canary = synthetics.Canary(self, "MyCanary",
3502
3582
  schedule=synthetics.Schedule.rate(Duration.minutes(5)),
3503
3583
  test=synthetics.Test.custom(
3504
3584
  code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
3505
3585
  handler="index.handler"
3506
3586
  ),
3507
- runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_6_2,
3508
- memory=cdk.Size.mebibytes(1024)
3587
+ runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
3588
+ resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
3509
3589
  )
3510
3590
  '''
3511
3591
 
@@ -3871,17 +3951,14 @@ class CustomTestOptions:
3871
3951
 
3872
3952
  Example::
3873
3953
 
3874
- import aws_cdk as cdk
3875
-
3876
-
3877
3954
  canary = synthetics.Canary(self, "MyCanary",
3878
3955
  schedule=synthetics.Schedule.rate(Duration.minutes(5)),
3879
3956
  test=synthetics.Test.custom(
3880
3957
  code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
3881
3958
  handler="index.handler"
3882
3959
  ),
3883
- runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_6_2,
3884
- memory=cdk.Size.mebibytes(1024)
3960
+ runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
3961
+ resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
3885
3962
  )
3886
3963
  '''
3887
3964
  if __debug__:
@@ -3973,6 +4050,34 @@ class InlineCode(
3973
4050
  return typing.cast(CodeConfig, jsii.invoke(self, "bind", [scope, handler, _family, _runtime_name]))
3974
4051
 
3975
4052
 
4053
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_synthetics.ResourceToReplicateTags")
4054
+ class ResourceToReplicateTags(enum.Enum):
4055
+ '''Resources that tags applied to a canary should be replicated to.
4056
+
4057
+ :exampleMetadata: infused
4058
+
4059
+ Example::
4060
+
4061
+ canary = synthetics.Canary(self, "MyCanary",
4062
+ schedule=synthetics.Schedule.rate(Duration.minutes(5)),
4063
+ test=synthetics.Test.custom(
4064
+ code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
4065
+ handler="index.handler"
4066
+ ),
4067
+ runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
4068
+ resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
4069
+ )
4070
+ '''
4071
+
4072
+ LAMBDA_FUNCTION = "LAMBDA_FUNCTION"
4073
+ '''Replicate canary tags to the Lambda function.
4074
+
4075
+ When specified, CloudWatch Synthetics will keep the tags of the canary
4076
+ and the Lambda function synchronized. Any future changes made to the
4077
+ canary's tags will also be applied to the function.
4078
+ '''
4079
+
4080
+
3976
4081
  class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Runtime"):
3977
4082
  '''Runtime options for a canary.
3978
4083
 
@@ -3980,17 +4085,14 @@ class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Run
3980
4085
 
3981
4086
  Example::
3982
4087
 
3983
- import aws_cdk as cdk
3984
-
3985
-
3986
4088
  canary = synthetics.Canary(self, "MyCanary",
3987
4089
  schedule=synthetics.Schedule.rate(Duration.minutes(5)),
3988
4090
  test=synthetics.Test.custom(
3989
4091
  code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
3990
4092
  handler="index.handler"
3991
4093
  ),
3992
- runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_6_2,
3993
- memory=cdk.Size.mebibytes(1024)
4094
+ runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
4095
+ resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
3994
4096
  )
3995
4097
  '''
3996
4098
 
@@ -4556,11 +4658,11 @@ class Schedule(
4556
4658
  canary = synthetics.Canary(self, "MyCanary",
4557
4659
  schedule=synthetics.Schedule.rate(Duration.minutes(5)),
4558
4660
  test=synthetics.Test.custom(
4559
- code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
4560
- handler="index.handler"
4661
+ handler="canary.handler",
4662
+ code=synthetics.Code.from_asset(path.join(__dirname, "canaries"))
4561
4663
  ),
4562
- runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_6_2,
4563
- active_tracing=True
4664
+ runtime=synthetics.Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1,
4665
+ max_retries=2
4564
4666
  )
4565
4667
  '''
4566
4668
 
@@ -4639,17 +4741,14 @@ class Test(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Test")
4639
4741
 
4640
4742
  Example::
4641
4743
 
4642
- import aws_cdk as cdk
4643
-
4644
-
4645
4744
  canary = synthetics.Canary(self, "MyCanary",
4646
4745
  schedule=synthetics.Schedule.rate(Duration.minutes(5)),
4647
4746
  test=synthetics.Test.custom(
4648
4747
  code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
4649
4748
  handler="index.handler"
4650
4749
  ),
4651
- runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_6_2,
4652
- memory=cdk.Size.mebibytes(1024)
4750
+ runtime=synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_7_0,
4751
+ resources_to_replicate_tags=[synthetics.ResourceToReplicateTags.LAMBDA_FUNCTION]
4653
4752
  )
4654
4753
  '''
4655
4754
 
@@ -4828,6 +4927,7 @@ __all__ = [
4828
4927
  "CronOptions",
4829
4928
  "CustomTestOptions",
4830
4929
  "InlineCode",
4930
+ "ResourceToReplicateTags",
4831
4931
  "Runtime",
4832
4932
  "RuntimeFamily",
4833
4933
  "S3Code",
@@ -4861,8 +4961,10 @@ def _typecheckingstub__b3b6d76e5f93e31884e16cc00a9b4fc93e6782ff7db09c74aa1ef9346
4861
4961
  dry_run_and_update: typing.Optional[builtins.bool] = None,
4862
4962
  environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4863
4963
  failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
4964
+ max_retries: typing.Optional[jsii.Number] = None,
4864
4965
  memory: typing.Optional[_Size_7b441c34] = None,
4865
4966
  provisioned_resource_cleanup: typing.Optional[builtins.bool] = None,
4967
+ resources_to_replicate_tags: typing.Optional[typing.Sequence[ResourceToReplicateTags]] = None,
4866
4968
  role: typing.Optional[_IRole_235f5d8e] = None,
4867
4969
  schedule: typing.Optional[Schedule] = None,
4868
4970
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
@@ -4890,8 +4992,10 @@ def _typecheckingstub__44ec0b14d52b66927d4daebe6f97bb070f3629bb0eb86e21668ca7862
4890
4992
  dry_run_and_update: typing.Optional[builtins.bool] = None,
4891
4993
  environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4892
4994
  failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
4995
+ max_retries: typing.Optional[jsii.Number] = None,
4893
4996
  memory: typing.Optional[_Size_7b441c34] = None,
4894
4997
  provisioned_resource_cleanup: typing.Optional[builtins.bool] = None,
4998
+ resources_to_replicate_tags: typing.Optional[typing.Sequence[ResourceToReplicateTags]] = None,
4895
4999
  role: typing.Optional[_IRole_235f5d8e] = None,
4896
5000
  schedule: typing.Optional[Schedule] = None,
4897
5001
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
@@ -1282,6 +1282,7 @@ class CfnConnector(
1282
1282
  logging_role="loggingRole",
1283
1283
  security_policy_name="securityPolicyName",
1284
1284
  sftp_config=transfer.CfnConnector.SftpConfigProperty(
1285
+ max_concurrent_connections=123,
1285
1286
  trusted_host_keys=["trustedHostKeys"],
1286
1287
  user_secret_id="userSecretId"
1287
1288
  ),
@@ -1736,6 +1737,7 @@ class CfnConnector(
1736
1737
  jsii_type="aws-cdk-lib.aws_transfer.CfnConnector.SftpConfigProperty",
1737
1738
  jsii_struct_bases=[],
1738
1739
  name_mapping={
1740
+ "max_concurrent_connections": "maxConcurrentConnections",
1739
1741
  "trusted_host_keys": "trustedHostKeys",
1740
1742
  "user_secret_id": "userSecretId",
1741
1743
  },
@@ -1744,11 +1746,13 @@ class CfnConnector(
1744
1746
  def __init__(
1745
1747
  self,
1746
1748
  *,
1749
+ max_concurrent_connections: typing.Optional[jsii.Number] = None,
1747
1750
  trusted_host_keys: typing.Optional[typing.Sequence[builtins.str]] = None,
1748
1751
  user_secret_id: typing.Optional[builtins.str] = None,
1749
1752
  ) -> None:
1750
1753
  '''A structure that contains the parameters for an SFTP connector object.
1751
1754
 
1755
+ :param max_concurrent_connections: Specifies the number of active connections that your connector can establish with the remote server at the same time. Default: - 1
1752
1756
  :param trusted_host_keys: The public portion of the host key, or keys, that are used to identify the external server to which you are connecting. You can use the ``ssh-keyscan`` command against the SFTP server to retrieve the necessary key. .. epigraph:: ``TrustedHostKeys`` is optional for ``CreateConnector`` . If not provided, you can use ``TestConnection`` to retrieve the server host key during the initial connection attempt, and subsequently update the connector with the observed host key. The three standard SSH public key format elements are ``<key type>`` , ``<body base64>`` , and an optional ``<comment>`` , with spaces between each element. Specify only the ``<key type>`` and ``<body base64>`` : do not enter the ``<comment>`` portion of the key. For the trusted host key, AWS Transfer Family accepts RSA and ECDSA keys. - For RSA keys, the ``<key type>`` string is ``ssh-rsa`` . - For ECDSA keys, the ``<key type>`` string is either ``ecdsa-sha2-nistp256`` , ``ecdsa-sha2-nistp384`` , or ``ecdsa-sha2-nistp521`` , depending on the size of the key you generated. Run this command to retrieve the SFTP server host key, where your SFTP server name is ``ftp.host.com`` . ``ssh-keyscan ftp.host.com`` This prints the public host key to standard output. ``ftp.host.com ssh-rsa AAAAB3Nza...<long-string-for-public-key`` Copy and paste this string into the ``TrustedHostKeys`` field for the ``create-connector`` command or into the *Trusted host keys* field in the console.
1753
1757
  :param user_secret_id: The identifier for the secret (in AWS Secrets Manager) that contains the SFTP user's private key, password, or both. The identifier must be the Amazon Resource Name (ARN) of the secret. .. epigraph:: - Required when creating an SFTP connector - Optional when updating an existing SFTP connector
1754
1758
 
@@ -1762,20 +1766,35 @@ class CfnConnector(
1762
1766
  from aws_cdk import aws_transfer as transfer
1763
1767
 
1764
1768
  sftp_config_property = transfer.CfnConnector.SftpConfigProperty(
1769
+ max_concurrent_connections=123,
1765
1770
  trusted_host_keys=["trustedHostKeys"],
1766
1771
  user_secret_id="userSecretId"
1767
1772
  )
1768
1773
  '''
1769
1774
  if __debug__:
1770
1775
  type_hints = typing.get_type_hints(_typecheckingstub__f4f8d4be2ad63a06a458c41605c9c21318e1d9117d48f21b9ee2ea6bb109d2e8)
1776
+ check_type(argname="argument max_concurrent_connections", value=max_concurrent_connections, expected_type=type_hints["max_concurrent_connections"])
1771
1777
  check_type(argname="argument trusted_host_keys", value=trusted_host_keys, expected_type=type_hints["trusted_host_keys"])
1772
1778
  check_type(argname="argument user_secret_id", value=user_secret_id, expected_type=type_hints["user_secret_id"])
1773
1779
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1780
+ if max_concurrent_connections is not None:
1781
+ self._values["max_concurrent_connections"] = max_concurrent_connections
1774
1782
  if trusted_host_keys is not None:
1775
1783
  self._values["trusted_host_keys"] = trusted_host_keys
1776
1784
  if user_secret_id is not None:
1777
1785
  self._values["user_secret_id"] = user_secret_id
1778
1786
 
1787
+ @builtins.property
1788
+ def max_concurrent_connections(self) -> typing.Optional[jsii.Number]:
1789
+ '''Specifies the number of active connections that your connector can establish with the remote server at the same time.
1790
+
1791
+ :default: - 1
1792
+
1793
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-sftpconfig.html#cfn-transfer-connector-sftpconfig-maxconcurrentconnections
1794
+ '''
1795
+ result = self._values.get("max_concurrent_connections")
1796
+ return typing.cast(typing.Optional[jsii.Number], result)
1797
+
1779
1798
  @builtins.property
1780
1799
  def trusted_host_keys(self) -> typing.Optional[typing.List[builtins.str]]:
1781
1800
  '''The public portion of the host key, or keys, that are used to identify the external server to which you are connecting.
@@ -1889,6 +1908,7 @@ class CfnConnectorProps:
1889
1908
  logging_role="loggingRole",
1890
1909
  security_policy_name="securityPolicyName",
1891
1910
  sftp_config=transfer.CfnConnector.SftpConfigProperty(
1911
+ max_concurrent_connections=123,
1892
1912
  trusted_host_keys=["trustedHostKeys"],
1893
1913
  user_secret_id="userSecretId"
1894
1914
  ),
@@ -2804,7 +2824,7 @@ class CfnServer(
2804
2824
 
2805
2825
  When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.
2806
2826
 
2807
- :param address_allocation_ids: A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the ``allocationId`` field from the Amazon EC2 `Address <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html>`_ data type. One way to retrieve this value is by calling the EC2 `DescribeAddresses <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html>`_ API. This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see `Create an internet-facing endpoint for your server <https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint>`_ . .. epigraph:: This property can only be set as follows: - ``EndpointType`` must be set to ``VPC`` - The Transfer Family server must be offline. - You cannot set this parameter for Transfer Family servers that use the FTP protocol. - The server must already have ``SubnetIds`` populated ( ``SubnetIds`` and ``AddressAllocationIds`` cannot be updated simultaneously). - ``AddressAllocationIds`` can't contain duplicates, and must be equal in length to ``SubnetIds`` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. - Call the ``UpdateServer`` API to set or change this parameter.
2827
+ :param address_allocation_ids: A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the ``allocationId`` field from the Amazon EC2 `Address <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html>`_ data type. One way to retrieve this value is by calling the EC2 `DescribeAddresses <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html>`_ API. This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see `Create an internet-facing endpoint for your server <https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint>`_ . .. epigraph:: This property can only be set as follows: - ``EndpointType`` must be set to ``VPC`` - The Transfer Family server must be offline. - You cannot set this parameter for Transfer Family servers that use the FTP protocol. - The server must already have ``SubnetIds`` populated ( ``SubnetIds`` and ``AddressAllocationIds`` cannot be updated simultaneously). - ``AddressAllocationIds`` can't contain duplicates, and must be equal in length to ``SubnetIds`` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. - Call the ``UpdateServer`` API to set or change this parameter. - You can't set address allocation IDs for servers that have an ``IpAddressType`` set to ``DUALSTACK`` You can only set this property if ``IpAddressType`` is set to ``IPV4`` .
2808
2828
  :param security_group_ids: A list of security groups IDs that are available to attach to your server's endpoint. .. epigraph:: This property can only be set when ``EndpointType`` is set to ``VPC`` . You can edit the ``SecurityGroupIds`` property in the `UpdateServer <https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html>`_ API only if you are changing the ``EndpointType`` from ``PUBLIC`` or ``VPC_ENDPOINT`` to ``VPC`` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 `ModifyVpcEndpoint <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html>`_ API.
2809
2829
  :param subnet_ids: A list of subnet IDs that are required to host your server endpoint in your VPC. .. epigraph:: This property can only be set when ``EndpointType`` is set to ``VPC`` .
2810
2830
  :param vpc_endpoint_id: The ID of the VPC endpoint. .. epigraph:: This property can only be set when ``EndpointType`` is set to ``VPC_ENDPOINT`` .
@@ -2863,6 +2883,7 @@ class CfnServer(
2863
2883
  - The server must already have ``SubnetIds`` populated ( ``SubnetIds`` and ``AddressAllocationIds`` cannot be updated simultaneously).
2864
2884
  - ``AddressAllocationIds`` can't contain duplicates, and must be equal in length to ``SubnetIds`` . For example, if you have three subnet IDs, you must also specify three address allocation IDs.
2865
2885
  - Call the ``UpdateServer`` API to set or change this parameter.
2886
+ - You can't set address allocation IDs for servers that have an ``IpAddressType`` set to ``DUALSTACK`` You can only set this property if ``IpAddressType`` is set to ``IPV4`` .
2866
2887
 
2867
2888
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-addressallocationids
2868
2889
  '''
@@ -7140,6 +7161,7 @@ def _typecheckingstub__328497a7bbb181a996e0747268f6105731221ad3f578e8a5ca68e405d
7140
7161
 
7141
7162
  def _typecheckingstub__f4f8d4be2ad63a06a458c41605c9c21318e1d9117d48f21b9ee2ea6bb109d2e8(
7142
7163
  *,
7164
+ max_concurrent_connections: typing.Optional[jsii.Number] = None,
7143
7165
  trusted_host_keys: typing.Optional[typing.Sequence[builtins.str]] = None,
7144
7166
  user_secret_id: typing.Optional[builtins.str] = None,
7145
7167
  ) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws-cdk-lib
3
- Version: 2.204.0
3
+ Version: 2.205.0
4
4
  Summary: Version 2 of the AWS Cloud Development Kit library
5
5
  Home-page: https://github.com/aws/aws-cdk
6
6
  Author: Amazon Web Services