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.
- aws_cdk/__init__.py +170 -92
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.204.0.jsii.tgz → aws-cdk-lib@2.205.0.jsii.tgz} +0 -0
- aws_cdk/aws_aiops/__init__.py +89 -39
- aws_cdk/aws_applicationautoscaling/__init__.py +2 -2
- aws_cdk/aws_arczonalshift/__init__.py +4 -1
- aws_cdk/aws_b2bi/__init__.py +32 -16
- aws_cdk/aws_bedrock/__init__.py +198 -10
- aws_cdk/aws_cassandra/__init__.py +156 -0
- aws_cdk/aws_cloudformation/__init__.py +74 -72
- aws_cdk/aws_cloudfront/__init__.py +1181 -485
- aws_cdk/aws_cloudfront_origins/__init__.py +26 -21
- aws_cdk/aws_cloudwatch/__init__.py +61 -0
- aws_cdk/aws_codebuild/__init__.py +216 -36
- aws_cdk/aws_datasync/__init__.py +2 -2
- aws_cdk/aws_docdb/__init__.py +78 -0
- aws_cdk/aws_dynamodb/__init__.py +207 -35
- aws_cdk/aws_ec2/__init__.py +32 -30
- aws_cdk/aws_ecs/__init__.py +12 -19
- aws_cdk/aws_emrserverless/__init__.py +5 -5
- aws_cdk/aws_events/__init__.py +58 -3
- aws_cdk/aws_events_targets/__init__.py +7 -2
- aws_cdk/aws_evs/__init__.py +7 -7
- aws_cdk/aws_fsx/__init__.py +138 -78
- aws_cdk/aws_gamelift/__init__.py +19 -0
- aws_cdk/aws_glue/__init__.py +3 -3
- aws_cdk/aws_iot/__init__.py +1 -1
- aws_cdk/aws_kinesis/__init__.py +67 -13
- aws_cdk/aws_kinesisfirehose/__init__.py +28 -1
- aws_cdk/aws_lex/__init__.py +36 -19
- aws_cdk/aws_neptune/__init__.py +12 -12
- aws_cdk/aws_odb/__init__.py +4049 -0
- aws_cdk/aws_omics/__init__.py +1 -1
- aws_cdk/aws_qbusiness/__init__.py +471 -4
- aws_cdk/aws_quicksight/__init__.py +185 -16
- aws_cdk/aws_rds/__init__.py +169 -17
- aws_cdk/aws_redshiftserverless/__init__.py +72 -45
- aws_cdk/aws_route53/__init__.py +41 -19
- aws_cdk/aws_s3tables/__init__.py +1005 -0
- aws_cdk/aws_sagemaker/__init__.py +20 -0
- aws_cdk/aws_synthetics/__init__.py +141 -37
- aws_cdk/aws_transfer/__init__.py +23 -1
- {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/RECORD +48 -47
- {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.204.0.dist-info → aws_cdk_lib-2.205.0.dist-info}/WHEEL +0 -0
- {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.
|
|
581
|
-
|
|
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 run
|
|
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 run
|
|
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.
|
|
980
|
-
|
|
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 run
|
|
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.
|
|
3508
|
-
|
|
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.
|
|
3884
|
-
|
|
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.
|
|
3993
|
-
|
|
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
|
-
|
|
4560
|
-
|
|
4661
|
+
handler="canary.handler",
|
|
4662
|
+
code=synthetics.Code.from_asset(path.join(__dirname, "canaries"))
|
|
4561
4663
|
),
|
|
4562
|
-
runtime=synthetics.Runtime.
|
|
4563
|
-
|
|
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.
|
|
4652
|
-
|
|
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,
|
aws_cdk/aws_transfer/__init__.py
CHANGED
|
@@ -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:
|