aws-cdk-lib 2.200.2__py3-none-any.whl → 2.202.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 (62) hide show
  1. aws_cdk/__init__.py +129 -37
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.202.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +2 -3
  5. aws_cdk/aws_amplify/__init__.py +3 -3
  6. aws_cdk/aws_apigateway/__init__.py +21 -17
  7. aws_cdk/aws_apigatewayv2/__init__.py +87 -45
  8. aws_cdk/aws_appconfig/__init__.py +38 -1
  9. aws_cdk/aws_appsync/__init__.py +10 -10
  10. aws_cdk/aws_athena/__init__.py +227 -0
  11. aws_cdk/aws_autoscaling/__init__.py +38 -37
  12. aws_cdk/aws_bedrock/__init__.py +5108 -1571
  13. aws_cdk/aws_cloudfront/__init__.py +38 -38
  14. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  15. aws_cdk/aws_cloudtrail/__init__.py +178 -0
  16. aws_cdk/aws_cloudwatch/__init__.py +7 -3
  17. aws_cdk/aws_codepipeline_actions/__init__.py +746 -0
  18. aws_cdk/aws_connect/__init__.py +5 -5
  19. aws_cdk/aws_customerprofiles/__init__.py +377 -8
  20. aws_cdk/aws_datasync/__init__.py +189 -160
  21. aws_cdk/aws_datazone/__init__.py +512 -170
  22. aws_cdk/aws_deadline/__init__.py +32 -4
  23. aws_cdk/aws_dsql/__init__.py +150 -10
  24. aws_cdk/aws_ec2/__init__.py +1191 -304
  25. aws_cdk/aws_ecs/__init__.py +94 -11
  26. aws_cdk/aws_efs/__init__.py +103 -12
  27. aws_cdk/aws_eks/__init__.py +337 -168
  28. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  29. aws_cdk/aws_emr/__init__.py +10 -4
  30. aws_cdk/aws_entityresolution/__init__.py +25 -10
  31. aws_cdk/aws_evs/__init__.py +2204 -0
  32. aws_cdk/aws_fsx/__init__.py +7 -7
  33. aws_cdk/aws_glue/__init__.py +58 -24
  34. aws_cdk/aws_iam/__init__.py +3 -3
  35. aws_cdk/aws_kms/__init__.py +10 -4
  36. aws_cdk/aws_lambda/__init__.py +1167 -55
  37. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  38. aws_cdk/aws_lightsail/__init__.py +17 -13
  39. aws_cdk/aws_logs/__init__.py +1 -0
  40. aws_cdk/aws_msk/__init__.py +21 -2
  41. aws_cdk/aws_mwaa/__init__.py +45 -2
  42. aws_cdk/aws_networkfirewall/__init__.py +562 -0
  43. aws_cdk/aws_opensearchservice/__init__.py +3 -3
  44. aws_cdk/aws_opsworkscm/__init__.py +9 -43
  45. aws_cdk/aws_rds/__init__.py +287 -87
  46. aws_cdk/aws_s3/__init__.py +39 -15
  47. aws_cdk/aws_sagemaker/__init__.py +223 -3
  48. aws_cdk/aws_securityhub/__init__.py +18 -34
  49. aws_cdk/aws_ssm/__init__.py +83 -1
  50. aws_cdk/aws_stepfunctions/__init__.py +235 -45
  51. aws_cdk/aws_synthetics/__init__.py +74 -0
  52. aws_cdk/aws_transfer/__init__.py +3 -3
  53. aws_cdk/aws_verifiedpermissions/__init__.py +17 -6
  54. aws_cdk/aws_wafv2/__init__.py +770 -7
  55. aws_cdk/cx_api/__init__.py +14 -0
  56. aws_cdk/pipelines/__init__.py +147 -38
  57. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/METADATA +3 -3
  58. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/RECORD +62 -61
  59. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/top_level.txt +0 -0
@@ -302,6 +302,29 @@ cloudwatch.Alarm(self, "CanaryAlarm",
302
302
  )
303
303
  ```
304
304
 
305
+ ### Performing safe canary updates
306
+
307
+ You can configure a canary to first perform a dry run before applying any updates. The `dryRunAndUpdate` property can be used to safely update canaries by validating the changes before they're applied.
308
+ This feature is supported for canary runtime versions `syn-nodejs-puppeteer-10.0+`, `syn-nodejs-playwright-2.0+`, and `syn-python-selenium-5.1+`.
309
+
310
+ When `dryRunAndUpdate` is set to `true`, CDK will execute a dry run to validate the changes before applying them to the canary.
311
+ If the dry run succeeds, the canary will be updated with the changes.
312
+ If the dry run fails, the CloudFormation deployment will fail with the dry run's failure reason.
313
+
314
+ ```python
315
+ canary = synthetics.Canary(self, "MyCanary",
316
+ schedule=synthetics.Schedule.rate(Duration.minutes(5)),
317
+ test=synthetics.Test.custom(
318
+ code=synthetics.Code.from_asset(path.join(__dirname, "canary")),
319
+ handler="index.handler"
320
+ ),
321
+ runtime=synthetics.Runtime.SYNTHETICS_PYTHON_SELENIUM_5_1,
322
+ dry_run_and_update=True
323
+ )
324
+ ```
325
+
326
+ For more information, see [Performing safe canary updates](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/performing-safe-canary-upgrades.html).
327
+
305
328
  ### Artifacts
306
329
 
307
330
  You can pass an S3 bucket to store artifacts from canary runs. If you do not,
@@ -573,6 +596,7 @@ class Canary(
573
596
  artifacts_bucket_location: typing.Optional[typing.Union[ArtifactsBucketLocation, typing.Dict[builtins.str, typing.Any]]] = None,
574
597
  canary_name: typing.Optional[builtins.str] = None,
575
598
  cleanup: typing.Optional["Cleanup"] = None,
599
+ dry_run_and_update: typing.Optional[builtins.bool] = None,
576
600
  environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
577
601
  failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
578
602
  memory: typing.Optional[_Size_7b441c34] = None,
@@ -599,6 +623,7 @@ class Canary(
599
623
  :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.
600
624
  :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
601
625
  :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’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
602
627
  :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.
603
628
  :param failure_retention_period: How many days should failed runs be retained. Default: Duration.days(31)
604
629
  :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)
@@ -627,6 +652,7 @@ class Canary(
627
652
  artifacts_bucket_location=artifacts_bucket_location,
628
653
  canary_name=canary_name,
629
654
  cleanup=cleanup,
655
+ dry_run_and_update=dry_run_and_update,
630
656
  environment_variables=environment_variables,
631
657
  failure_retention_period=failure_retention_period,
632
658
  memory=memory,
@@ -849,6 +875,7 @@ class Canary(
849
875
  "artifacts_bucket_location": "artifactsBucketLocation",
850
876
  "canary_name": "canaryName",
851
877
  "cleanup": "cleanup",
878
+ "dry_run_and_update": "dryRunAndUpdate",
852
879
  "environment_variables": "environmentVariables",
853
880
  "failure_retention_period": "failureRetentionPeriod",
854
881
  "memory": "memory",
@@ -877,6 +904,7 @@ class CanaryProps:
877
904
  artifacts_bucket_location: typing.Optional[typing.Union[ArtifactsBucketLocation, typing.Dict[builtins.str, typing.Any]]] = None,
878
905
  canary_name: typing.Optional[builtins.str] = None,
879
906
  cleanup: typing.Optional["Cleanup"] = None,
907
+ dry_run_and_update: typing.Optional[builtins.bool] = None,
880
908
  environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
881
909
  failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
882
910
  memory: typing.Optional[_Size_7b441c34] = None,
@@ -902,6 +930,7 @@ class CanaryProps:
902
930
  :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.
903
931
  :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
904
932
  :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
933
+ :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
905
934
  :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.
906
935
  :param failure_retention_period: How many days should failed runs be retained. Default: Duration.days(31)
907
936
  :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)
@@ -948,6 +977,7 @@ class CanaryProps:
948
977
  check_type(argname="argument artifacts_bucket_location", value=artifacts_bucket_location, expected_type=type_hints["artifacts_bucket_location"])
949
978
  check_type(argname="argument canary_name", value=canary_name, expected_type=type_hints["canary_name"])
950
979
  check_type(argname="argument cleanup", value=cleanup, expected_type=type_hints["cleanup"])
980
+ check_type(argname="argument dry_run_and_update", value=dry_run_and_update, expected_type=type_hints["dry_run_and_update"])
951
981
  check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
952
982
  check_type(argname="argument failure_retention_period", value=failure_retention_period, expected_type=type_hints["failure_retention_period"])
953
983
  check_type(argname="argument memory", value=memory, expected_type=type_hints["memory"])
@@ -979,6 +1009,8 @@ class CanaryProps:
979
1009
  self._values["canary_name"] = canary_name
980
1010
  if cleanup is not None:
981
1011
  self._values["cleanup"] = cleanup
1012
+ if dry_run_and_update is not None:
1013
+ self._values["dry_run_and_update"] = dry_run_and_update
982
1014
  if environment_variables is not None:
983
1015
  self._values["environment_variables"] = environment_variables
984
1016
  if failure_retention_period is not None:
@@ -1122,6 +1154,23 @@ class CanaryProps:
1122
1154
  result = self._values.get("cleanup")
1123
1155
  return typing.cast(typing.Optional["Cleanup"], result)
1124
1156
 
1157
+ @builtins.property
1158
+ def dry_run_and_update(self) -> typing.Optional[builtins.bool]:
1159
+ '''Specifies whether to perform a dry run before updating the canary.
1160
+
1161
+ If set to true, CDK will execute a dry run to validate the changes before applying them to the canary.
1162
+ If the dry run succeeds, the canary will be updated with the changes.
1163
+ If the dry run fails, the CloudFormation deployment will fail with the dry run’s failure reason.
1164
+
1165
+ If set to false or omitted, the canary will be updated directly without first performing a dry run.
1166
+
1167
+ :default: undefined - AWS CloudWatch default is false
1168
+
1169
+ :see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/performing-safe-canary-upgrades.html
1170
+ '''
1171
+ result = self._values.get("dry_run_and_update")
1172
+ return typing.cast(typing.Optional[builtins.bool], result)
1173
+
1125
1174
  @builtins.property
1126
1175
  def environment_variables(
1127
1176
  self,
@@ -3935,6 +3984,20 @@ class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Run
3935
3984
  '''
3936
3985
  return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_NODEJS_PLAYWRIGHT_1_0"))
3937
3986
 
3987
+ @jsii.python.classproperty
3988
+ @jsii.member(jsii_name="SYNTHETICS_NODEJS_PLAYWRIGHT_2_0")
3989
+ def SYNTHETICS_NODEJS_PLAYWRIGHT_2_0(cls) -> "Runtime":
3990
+ '''``syn-nodejs-playwright-2.0`` includes the following: - Lambda runtime Node.js 20.x - Playwright version 1.49.1 - Chromium version 131.0.6778.264.
3991
+
3992
+ New Features:
3993
+
3994
+ - The mismatch between total duration and sum of timings for a given request in HAR file is fixed.
3995
+ - Supports dry runs for the canary which allows for adhoc executions or performing a safe canary update.
3996
+
3997
+ :see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_nodejs_playwright.html#Synthetics_runtimeversion-syn-nodejs-playwright-2.0
3998
+ '''
3999
+ return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_NODEJS_PLAYWRIGHT_2_0"))
4000
+
3938
4001
  @jsii.python.classproperty
3939
4002
  @jsii.member(jsii_name="SYNTHETICS_NODEJS_PUPPETEER_3_5")
3940
4003
  def SYNTHETICS_NODEJS_PUPPETEER_3_5(cls) -> "Runtime":
@@ -4345,6 +4408,15 @@ class Runtime(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_synthetics.Run
4345
4408
  '''
4346
4409
  return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_PYTHON_SELENIUM_5_1"))
4347
4410
 
4411
+ @jsii.python.classproperty
4412
+ @jsii.member(jsii_name="SYNTHETICS_PYTHON_SELENIUM_6_0")
4413
+ def SYNTHETICS_PYTHON_SELENIUM_6_0(cls) -> "Runtime":
4414
+ '''``syn-python-selenium-6.0`` includes the following: - Lambda runtime Python 3.11 - Selenium version 4.21.0 - Chromium version 131.0.6778.264.
4415
+
4416
+ :see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_python_selenium.html#CloudWatch_Synthetics_runtimeversion-syn-python-selenium-6.0
4417
+ '''
4418
+ return typing.cast("Runtime", jsii.sget(cls, "SYNTHETICS_PYTHON_SELENIUM_6_0"))
4419
+
4348
4420
  @builtins.property
4349
4421
  @jsii.member(jsii_name="family")
4350
4422
  def family(self) -> "RuntimeFamily":
@@ -4748,6 +4820,7 @@ def _typecheckingstub__b3b6d76e5f93e31884e16cc00a9b4fc93e6782ff7db09c74aa1ef9346
4748
4820
  artifacts_bucket_location: typing.Optional[typing.Union[ArtifactsBucketLocation, typing.Dict[builtins.str, typing.Any]]] = None,
4749
4821
  canary_name: typing.Optional[builtins.str] = None,
4750
4822
  cleanup: typing.Optional[Cleanup] = None,
4823
+ dry_run_and_update: typing.Optional[builtins.bool] = None,
4751
4824
  environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4752
4825
  failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
4753
4826
  memory: typing.Optional[_Size_7b441c34] = None,
@@ -4776,6 +4849,7 @@ def _typecheckingstub__44ec0b14d52b66927d4daebe6f97bb070f3629bb0eb86e21668ca7862
4776
4849
  artifacts_bucket_location: typing.Optional[typing.Union[ArtifactsBucketLocation, typing.Dict[builtins.str, typing.Any]]] = None,
4777
4850
  canary_name: typing.Optional[builtins.str] = None,
4778
4851
  cleanup: typing.Optional[Cleanup] = None,
4852
+ dry_run_and_update: typing.Optional[builtins.bool] = None,
4779
4853
  environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4780
4854
  failure_retention_period: typing.Optional[_Duration_4839e8c3] = None,
4781
4855
  memory: typing.Optional[_Size_7b441c34] = None,
@@ -3940,7 +3940,7 @@ class CfnUser(
3940
3940
  :param role: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.
3941
3941
  :param server_id: A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.
3942
3942
  :param user_name: A unique string that identifies a user and is associated with a ``ServerId`` . This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign.
3943
- :param home_directory: The landing directory (folder) for a user when they log in to the server using the client. A ``HomeDirectory`` example is ``/bucket_name/home/mydirectory`` . .. epigraph:: The ``HomeDirectory`` parameter is only used if ``HomeDirectoryType`` is set to ``PATH`` .
3943
+ :param home_directory: The landing directory (folder) for a user when they log in to the server using the client. A ``HomeDirectory`` example is ``/bucket_name/home/mydirectory`` . .. epigraph:: You can use the ``HomeDirectory`` parameter for ``HomeDirectoryType`` when it is set to either ``PATH`` or ``LOGICAL`` .
3944
3944
  :param home_directory_mappings: Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the ``Entry`` and ``Target`` pair, where ``Entry`` shows how the path is made visible and ``Target`` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in ``Target`` . This value can be set only when ``HomeDirectoryType`` is set to *LOGICAL* . The following is an ``Entry`` and ``Target`` pair example. ``[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]`` In most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (" ``chroot`` "). To do this, you can set ``Entry`` to ``/`` and set ``Target`` to the value the user should see for their home directory when they log in. The following is an ``Entry`` and ``Target`` pair example for ``chroot`` . ``[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]``
3945
3945
  :param home_directory_type: The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to ``PATH`` , the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to ``LOGICAL`` , you need to provide mappings in the ``HomeDirectoryMappings`` for how you want to make Amazon S3 or Amazon EFS paths visible to your users. .. epigraph:: If ``HomeDirectoryType`` is ``LOGICAL`` , you must provide mappings, using the ``HomeDirectoryMappings`` parameter. If, on the other hand, ``HomeDirectoryType`` is ``PATH`` , you provide an absolute path using the ``HomeDirectory`` parameter. You cannot have both ``HomeDirectory`` and ``HomeDirectoryMappings`` in your template.
3946
3946
  :param policy: A session policy for your user so you can use the same IAM role across multiple users. This policy restricts user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ``${Transfer:UserName}`` , ``${Transfer:HomeDirectory}`` , and ``${Transfer:HomeBucket}`` . .. epigraph:: For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the ``Policy`` argument. For an example of a session policy, see `Example session policy <https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html>`_ . For more information, see `AssumeRole <https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html>`_ in the *AWS Security Token Service API Reference* .
@@ -4406,7 +4406,7 @@ class CfnUserProps:
4406
4406
  :param role: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.
4407
4407
  :param server_id: A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.
4408
4408
  :param user_name: A unique string that identifies a user and is associated with a ``ServerId`` . This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign.
4409
- :param home_directory: The landing directory (folder) for a user when they log in to the server using the client. A ``HomeDirectory`` example is ``/bucket_name/home/mydirectory`` . .. epigraph:: The ``HomeDirectory`` parameter is only used if ``HomeDirectoryType`` is set to ``PATH`` .
4409
+ :param home_directory: The landing directory (folder) for a user when they log in to the server using the client. A ``HomeDirectory`` example is ``/bucket_name/home/mydirectory`` . .. epigraph:: You can use the ``HomeDirectory`` parameter for ``HomeDirectoryType`` when it is set to either ``PATH`` or ``LOGICAL`` .
4410
4410
  :param home_directory_mappings: Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the ``Entry`` and ``Target`` pair, where ``Entry`` shows how the path is made visible and ``Target`` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in ``Target`` . This value can be set only when ``HomeDirectoryType`` is set to *LOGICAL* . The following is an ``Entry`` and ``Target`` pair example. ``[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]`` In most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (" ``chroot`` "). To do this, you can set ``Entry`` to ``/`` and set ``Target`` to the value the user should see for their home directory when they log in. The following is an ``Entry`` and ``Target`` pair example for ``chroot`` . ``[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]``
4411
4411
  :param home_directory_type: The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to ``PATH`` , the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to ``LOGICAL`` , you need to provide mappings in the ``HomeDirectoryMappings`` for how you want to make Amazon S3 or Amazon EFS paths visible to your users. .. epigraph:: If ``HomeDirectoryType`` is ``LOGICAL`` , you must provide mappings, using the ``HomeDirectoryMappings`` parameter. If, on the other hand, ``HomeDirectoryType`` is ``PATH`` , you provide an absolute path using the ``HomeDirectory`` parameter. You cannot have both ``HomeDirectory`` and ``HomeDirectoryMappings`` in your template.
4412
4412
  :param policy: A session policy for your user so you can use the same IAM role across multiple users. This policy restricts user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ``${Transfer:UserName}`` , ``${Transfer:HomeDirectory}`` , and ``${Transfer:HomeBucket}`` . .. epigraph:: For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the ``Policy`` argument. For an example of a session policy, see `Example session policy <https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html>`_ . For more information, see `AssumeRole <https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html>`_ in the *AWS Security Token Service API Reference* .
@@ -4528,7 +4528,7 @@ class CfnUserProps:
4528
4528
  A ``HomeDirectory`` example is ``/bucket_name/home/mydirectory`` .
4529
4529
  .. epigraph::
4530
4530
 
4531
- The ``HomeDirectory`` parameter is only used if ``HomeDirectoryType`` is set to ``PATH`` .
4531
+ You can use the ``HomeDirectory`` parameter for ``HomeDirectoryType`` when it is set to either ``PATH`` or ``LOGICAL`` .
4532
4532
 
4533
4533
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-homedirectory
4534
4534
  '''
@@ -1953,7 +1953,7 @@ class CfnPolicyStore(
1953
1953
  :param scope: Scope in which this resource is defined.
1954
1954
  :param id: Construct identifier for this resource (unique in its scope).
1955
1955
  :param validation_settings: Specifies the validation setting for this policy store. Currently, the only valid and required value is ``Mode`` . .. epigraph:: We recommend that you turn on ``STRICT`` mode only after you define a schema. If a schema doesn't exist, then ``STRICT`` mode causes any policy to fail validation, and Verified Permissions rejects the policy. You can turn off validation by using the `UpdatePolicyStore <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdatePolicyStore>`_ . Then, when you have a schema defined, use `UpdatePolicyStore <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdatePolicyStore>`_ again to turn validation back on.
1956
- :param deletion_protection:
1956
+ :param deletion_protection: Specifies whether the policy store can be deleted. If enabled, the policy store can't be deleted. The default state is ``DISABLED`` .
1957
1957
  :param description: Descriptive text that you can provide to help with identification of the current policy store.
1958
1958
  :param schema: Creates or updates the policy schema in a policy store. Cedar can use the schema to validate any Cedar policies and policy templates submitted to the policy store. Any changes to the schema validate only policies and templates submitted after the schema change. Existing policies and templates are not re-evaluated against the changed schema. If you later update a policy, then it is evaluated against the new schema at that time.
1959
1959
  :param tags: The list of key-value pairs to associate with the policy store.
@@ -2054,6 +2054,10 @@ class CfnPolicyStore(
2054
2054
  def deletion_protection(
2055
2055
  self,
2056
2056
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyStore.DeletionProtectionProperty"]]:
2057
+ '''Specifies whether the policy store can be deleted.
2058
+
2059
+ If enabled, the policy store can't be deleted.
2060
+ '''
2057
2061
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicyStore.DeletionProtectionProperty"]], jsii.get(self, "deletionProtection"))
2058
2062
 
2059
2063
  @deletion_protection.setter
@@ -2117,8 +2121,9 @@ class CfnPolicyStore(
2117
2121
  )
2118
2122
  class DeletionProtectionProperty:
2119
2123
  def __init__(self, *, mode: builtins.str) -> None:
2120
- '''
2121
- :param mode: Default: - "DISABLED"
2124
+ '''Specifies whether the policy store can be deleted.
2125
+
2126
+ :param mode: Specifies whether the policy store can be deleted. If enabled, the policy store can't be deleted. The default state is ``DISABLED`` . Default: - "DISABLED"
2122
2127
 
2123
2128
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-policystore-deletionprotection.html
2124
2129
  :exampleMetadata: fixture=_generated
@@ -2142,7 +2147,10 @@ class CfnPolicyStore(
2142
2147
 
2143
2148
  @builtins.property
2144
2149
  def mode(self) -> builtins.str:
2145
- '''
2150
+ '''Specifies whether the policy store can be deleted. If enabled, the policy store can't be deleted.
2151
+
2152
+ The default state is ``DISABLED`` .
2153
+
2146
2154
  :default: - "DISABLED"
2147
2155
 
2148
2156
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-policystore-deletionprotection.html#cfn-verifiedpermissions-policystore-deletionprotection-mode
@@ -2305,7 +2313,7 @@ class CfnPolicyStoreProps:
2305
2313
  '''Properties for defining a ``CfnPolicyStore``.
2306
2314
 
2307
2315
  :param validation_settings: Specifies the validation setting for this policy store. Currently, the only valid and required value is ``Mode`` . .. epigraph:: We recommend that you turn on ``STRICT`` mode only after you define a schema. If a schema doesn't exist, then ``STRICT`` mode causes any policy to fail validation, and Verified Permissions rejects the policy. You can turn off validation by using the `UpdatePolicyStore <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdatePolicyStore>`_ . Then, when you have a schema defined, use `UpdatePolicyStore <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdatePolicyStore>`_ again to turn validation back on.
2308
- :param deletion_protection:
2316
+ :param deletion_protection: Specifies whether the policy store can be deleted. If enabled, the policy store can't be deleted. The default state is ``DISABLED`` .
2309
2317
  :param description: Descriptive text that you can provide to help with identification of the current policy store.
2310
2318
  :param schema: Creates or updates the policy schema in a policy store. Cedar can use the schema to validate any Cedar policies and policy templates submitted to the policy store. Any changes to the schema validate only policies and templates submitted after the schema change. Existing policies and templates are not re-evaluated against the changed schema. If you later update a policy, then it is evaluated against the new schema at that time.
2311
2319
  :param tags: The list of key-value pairs to associate with the policy store.
@@ -2378,7 +2386,10 @@ class CfnPolicyStoreProps:
2378
2386
  def deletion_protection(
2379
2387
  self,
2380
2388
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnPolicyStore.DeletionProtectionProperty]]:
2381
- '''
2389
+ '''Specifies whether the policy store can be deleted. If enabled, the policy store can't be deleted.
2390
+
2391
+ The default state is ``DISABLED`` .
2392
+
2382
2393
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policystore.html#cfn-verifiedpermissions-policystore-deletionprotection
2383
2394
  '''
2384
2395
  result = self._values.get("deletion_protection")