aws-cdk-lib 2.136.1__py3-none-any.whl → 2.138.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 (61) hide show
  1. aws_cdk/__init__.py +8 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.136.1.jsii.tgz → aws-cdk-lib@2.138.0.jsii.tgz} +0 -0
  4. aws_cdk/assertions/__init__.py +152 -5
  5. aws_cdk/aws_amplify/__init__.py +29 -113
  6. aws_cdk/aws_appconfig/__init__.py +26 -33
  7. aws_cdk/aws_apprunner/__init__.py +5 -2
  8. aws_cdk/aws_appsync/__init__.py +400 -13
  9. aws_cdk/aws_aps/__init__.py +64 -47
  10. aws_cdk/aws_b2bi/__init__.py +2 -6
  11. aws_cdk/aws_backup/__init__.py +27 -23
  12. aws_cdk/aws_batch/__init__.py +103 -0
  13. aws_cdk/aws_bcmdataexports/__init__.py +1114 -0
  14. aws_cdk/aws_chatbot/__init__.py +6 -4
  15. aws_cdk/aws_cleanrooms/__init__.py +526 -3
  16. aws_cdk/aws_cleanroomsml/__init__.py +960 -0
  17. aws_cdk/aws_cloudfront/__init__.py +196 -15
  18. aws_cdk/aws_cloudtrail/__init__.py +10 -10
  19. aws_cdk/aws_cloudwatch/__init__.py +124 -8
  20. aws_cdk/aws_codebuild/__init__.py +27 -22
  21. aws_cdk/aws_codeconnections/__init__.py +435 -0
  22. aws_cdk/aws_cognito/__init__.py +175 -79
  23. aws_cdk/aws_deadline/__init__.py +5394 -0
  24. aws_cdk/aws_ec2/__init__.py +379 -173
  25. aws_cdk/aws_ecr_assets/__init__.py +3 -4
  26. aws_cdk/aws_ecs/__init__.py +240 -1
  27. aws_cdk/aws_efs/__init__.py +2 -2
  28. aws_cdk/aws_elasticache/__init__.py +86 -32
  29. aws_cdk/aws_elasticloadbalancingv2/__init__.py +275 -5
  30. aws_cdk/aws_emr/__init__.py +2 -2
  31. aws_cdk/aws_entityresolution/__init__.py +1982 -773
  32. aws_cdk/aws_globalaccelerator/__init__.py +443 -0
  33. aws_cdk/aws_iam/__init__.py +24 -40
  34. aws_cdk/aws_internetmonitor/__init__.py +14 -6
  35. aws_cdk/aws_ivs/__init__.py +1273 -71
  36. aws_cdk/aws_kms/__init__.py +8 -13
  37. aws_cdk/aws_mediatailor/__init__.py +41 -0
  38. aws_cdk/aws_personalize/__init__.py +8 -6
  39. aws_cdk/aws_pinpoint/__init__.py +5 -3
  40. aws_cdk/aws_pipes/__init__.py +5 -1
  41. aws_cdk/aws_quicksight/__init__.py +12 -6
  42. aws_cdk/aws_rds/__init__.py +355 -85
  43. aws_cdk/aws_route53/__init__.py +591 -18
  44. aws_cdk/aws_s3_deployment/__init__.py +84 -7
  45. aws_cdk/aws_sagemaker/__init__.py +233 -2
  46. aws_cdk/aws_securityhub/__init__.py +4940 -102
  47. aws_cdk/aws_securitylake/__init__.py +1237 -55
  48. aws_cdk/aws_sns/__init__.py +183 -4
  49. aws_cdk/aws_ssmcontacts/__init__.py +11 -4
  50. aws_cdk/aws_stepfunctions/__init__.py +8 -16
  51. aws_cdk/aws_stepfunctions_tasks/__init__.py +676 -1
  52. aws_cdk/aws_transfer/__init__.py +4 -4
  53. aws_cdk/aws_verifiedpermissions/__init__.py +114 -37
  54. aws_cdk/aws_workspacesthinclient/__init__.py +8 -8
  55. aws_cdk/custom_resources/__init__.py +248 -26
  56. {aws_cdk_lib-2.136.1.dist-info → aws_cdk_lib-2.138.0.dist-info}/METADATA +3 -3
  57. {aws_cdk_lib-2.136.1.dist-info → aws_cdk_lib-2.138.0.dist-info}/RECORD +61 -57
  58. {aws_cdk_lib-2.136.1.dist-info → aws_cdk_lib-2.138.0.dist-info}/LICENSE +0 -0
  59. {aws_cdk_lib-2.136.1.dist-info → aws_cdk_lib-2.138.0.dist-info}/NOTICE +0 -0
  60. {aws_cdk_lib-2.136.1.dist-info → aws_cdk_lib-2.138.0.dist-info}/WHEEL +0 -0
  61. {aws_cdk_lib-2.136.1.dist-info → aws_cdk_lib-2.138.0.dist-info}/top_level.txt +0 -0
@@ -214,10 +214,9 @@ method. This will modify the IAM policy of the principal to allow it to
214
214
  pull images from this repository.
215
215
 
216
216
  If the pulling principal is not in the same account or is an AWS service that
217
- doesn't assume a role in your account (e.g. AWS CodeBuild), pull permissions
218
- must be granted on the **resource policy** (and not on the principal's policy).
219
- To do that, you can use `asset.repository.addToResourcePolicy(statement)` to
220
- grant the desired principal the following permissions: "ecr:GetDownloadUrlForLayer",
217
+ doesn't assume a role in your account (e.g. AWS CodeBuild), you must either copy the image to a new repository, or
218
+ grant pull permissions on the resource policy of the repository. Since the repository is managed by the CDK bootstrap stack,
219
+ the following permissions must be granted there, or granted manually on the repository: "ecr:GetDownloadUrlForLayer",
221
220
  "ecr:BatchGetImage" and "ecr:BatchCheckLayerAvailability".
222
221
  '''
223
222
  from pkgutil import extend_path
@@ -8997,7 +8997,7 @@ class CfnService(
8997
8997
  :param alarms: Information about the CloudWatch alarms.
8998
8998
  :param deployment_circuit_breaker: .. epigraph:: The deployment circuit breaker can only be used for services using the rolling update ( ``ECS`` ) deployment type. The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see `Rolling update <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html>`_ in the *Amazon Elastic Container Service Developer Guide*
8999
8999
  :param maximum_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.
9000
- :param minimum_healthy_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. For services that *do not* use a load balancer, the following should be noted: - A service is considered healthy if all essential containers within the tasks in the service pass their health checks. - If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total. - If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. For services that *do* use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. - If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
9000
+ :param minimum_healthy_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. For services that *do not* use a load balancer, the following should be noted: - A service is considered healthy if all essential containers within the tasks in the service pass their health checks. - If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total. - If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. For services that *do* use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. - If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the AWS CLI , the AWS SDKs, and the APIs and 50% for the AWS Management Console. The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent`` /100, rounded up to the nearest integer value. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
9001
9001
 
9002
9002
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html
9003
9003
  :exampleMetadata: fixture=_generated
@@ -9094,6 +9094,10 @@ class CfnService(
9094
9094
  - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
9095
9095
  - If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
9096
9096
 
9097
+ The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the AWS CLI , the AWS SDKs, and the APIs and 50% for the AWS Management Console.
9098
+
9099
+ The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent`` /100, rounded up to the nearest integer value.
9100
+
9097
9101
  If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
9098
9102
 
9099
9103
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-minimumhealthypercent
@@ -11867,6 +11871,16 @@ class CfnTaskDefinition(
11867
11871
  transit_encryption="transitEncryption",
11868
11872
  transit_encryption_port=123
11869
11873
  ),
11874
+ f_sx_windows_file_server_volume_configuration=ecs.CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty(
11875
+ file_system_id="fileSystemId",
11876
+ root_directory="rootDirectory",
11877
+
11878
+ # the properties below are optional
11879
+ authorization_config=ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty(
11880
+ credentials_parameter="credentialsParameter",
11881
+ domain="domain"
11882
+ )
11883
+ ),
11870
11884
  host=ecs.CfnTaskDefinition.HostVolumePropertiesProperty(
11871
11885
  source_path="sourcePath"
11872
11886
  ),
@@ -14004,6 +14018,176 @@ class CfnTaskDefinition(
14004
14018
  k + "=" + repr(v) for k, v in self._values.items()
14005
14019
  )
14006
14020
 
14021
+ @jsii.data_type(
14022
+ jsii_type="aws-cdk-lib.aws_ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty",
14023
+ jsii_struct_bases=[],
14024
+ name_mapping={
14025
+ "credentials_parameter": "credentialsParameter",
14026
+ "domain": "domain",
14027
+ },
14028
+ )
14029
+ class FSxAuthorizationConfigProperty:
14030
+ def __init__(
14031
+ self,
14032
+ *,
14033
+ credentials_parameter: builtins.str,
14034
+ domain: builtins.str,
14035
+ ) -> None:
14036
+ '''
14037
+ :param credentials_parameter:
14038
+ :param domain:
14039
+
14040
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxauthorizationconfig.html
14041
+ :exampleMetadata: fixture=_generated
14042
+
14043
+ Example::
14044
+
14045
+ # The code below shows an example of how to instantiate this type.
14046
+ # The values are placeholders you should change.
14047
+ from aws_cdk import aws_ecs as ecs
14048
+
14049
+ f_sx_authorization_config_property = ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty(
14050
+ credentials_parameter="credentialsParameter",
14051
+ domain="domain"
14052
+ )
14053
+ '''
14054
+ if __debug__:
14055
+ type_hints = typing.get_type_hints(_typecheckingstub__f5e3b577af4628d7fb3319bd51694790c1cd0a62eae308c830c9dccee5d8ca1d)
14056
+ check_type(argname="argument credentials_parameter", value=credentials_parameter, expected_type=type_hints["credentials_parameter"])
14057
+ check_type(argname="argument domain", value=domain, expected_type=type_hints["domain"])
14058
+ self._values: typing.Dict[builtins.str, typing.Any] = {
14059
+ "credentials_parameter": credentials_parameter,
14060
+ "domain": domain,
14061
+ }
14062
+
14063
+ @builtins.property
14064
+ def credentials_parameter(self) -> builtins.str:
14065
+ '''
14066
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxauthorizationconfig.html#cfn-ecs-taskdefinition-fsxauthorizationconfig-credentialsparameter
14067
+ '''
14068
+ result = self._values.get("credentials_parameter")
14069
+ assert result is not None, "Required property 'credentials_parameter' is missing"
14070
+ return typing.cast(builtins.str, result)
14071
+
14072
+ @builtins.property
14073
+ def domain(self) -> builtins.str:
14074
+ '''
14075
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxauthorizationconfig.html#cfn-ecs-taskdefinition-fsxauthorizationconfig-domain
14076
+ '''
14077
+ result = self._values.get("domain")
14078
+ assert result is not None, "Required property 'domain' is missing"
14079
+ return typing.cast(builtins.str, result)
14080
+
14081
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
14082
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
14083
+
14084
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
14085
+ return not (rhs == self)
14086
+
14087
+ def __repr__(self) -> str:
14088
+ return "FSxAuthorizationConfigProperty(%s)" % ", ".join(
14089
+ k + "=" + repr(v) for k, v in self._values.items()
14090
+ )
14091
+
14092
+ @jsii.data_type(
14093
+ jsii_type="aws-cdk-lib.aws_ecs.CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty",
14094
+ jsii_struct_bases=[],
14095
+ name_mapping={
14096
+ "file_system_id": "fileSystemId",
14097
+ "root_directory": "rootDirectory",
14098
+ "authorization_config": "authorizationConfig",
14099
+ },
14100
+ )
14101
+ class FSxWindowsFileServerVolumeConfigurationProperty:
14102
+ def __init__(
14103
+ self,
14104
+ *,
14105
+ file_system_id: builtins.str,
14106
+ root_directory: builtins.str,
14107
+ authorization_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.FSxAuthorizationConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
14108
+ ) -> None:
14109
+ '''This parameter is specified when you're using `Amazon FSx for Windows File Server <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html>`_ file system for task storage.
14110
+
14111
+ For more information and the input format, see `Amazon FSx for Windows File Server volumes <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
14112
+
14113
+ :param file_system_id: The Amazon FSx for Windows File Server file system ID to use.
14114
+ :param root_directory: The directory within the Amazon FSx for Windows File Server file system to mount as the root directory inside the host.
14115
+ :param authorization_config: The authorization configuration details for the Amazon FSx for Windows File Server file system.
14116
+
14117
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration.html
14118
+ :exampleMetadata: fixture=_generated
14119
+
14120
+ Example::
14121
+
14122
+ # The code below shows an example of how to instantiate this type.
14123
+ # The values are placeholders you should change.
14124
+ from aws_cdk import aws_ecs as ecs
14125
+
14126
+ f_sx_windows_file_server_volume_configuration_property = ecs.CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty(
14127
+ file_system_id="fileSystemId",
14128
+ root_directory="rootDirectory",
14129
+
14130
+ # the properties below are optional
14131
+ authorization_config=ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty(
14132
+ credentials_parameter="credentialsParameter",
14133
+ domain="domain"
14134
+ )
14135
+ )
14136
+ '''
14137
+ if __debug__:
14138
+ type_hints = typing.get_type_hints(_typecheckingstub__ef74e299375c10c97a6bb4455d35f14ea7c21e10b612cd0fb3958fd12601168f)
14139
+ check_type(argname="argument file_system_id", value=file_system_id, expected_type=type_hints["file_system_id"])
14140
+ check_type(argname="argument root_directory", value=root_directory, expected_type=type_hints["root_directory"])
14141
+ check_type(argname="argument authorization_config", value=authorization_config, expected_type=type_hints["authorization_config"])
14142
+ self._values: typing.Dict[builtins.str, typing.Any] = {
14143
+ "file_system_id": file_system_id,
14144
+ "root_directory": root_directory,
14145
+ }
14146
+ if authorization_config is not None:
14147
+ self._values["authorization_config"] = authorization_config
14148
+
14149
+ @builtins.property
14150
+ def file_system_id(self) -> builtins.str:
14151
+ '''The Amazon FSx for Windows File Server file system ID to use.
14152
+
14153
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration.html#cfn-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration-filesystemid
14154
+ '''
14155
+ result = self._values.get("file_system_id")
14156
+ assert result is not None, "Required property 'file_system_id' is missing"
14157
+ return typing.cast(builtins.str, result)
14158
+
14159
+ @builtins.property
14160
+ def root_directory(self) -> builtins.str:
14161
+ '''The directory within the Amazon FSx for Windows File Server file system to mount as the root directory inside the host.
14162
+
14163
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration.html#cfn-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration-rootdirectory
14164
+ '''
14165
+ result = self._values.get("root_directory")
14166
+ assert result is not None, "Required property 'root_directory' is missing"
14167
+ return typing.cast(builtins.str, result)
14168
+
14169
+ @builtins.property
14170
+ def authorization_config(
14171
+ self,
14172
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.FSxAuthorizationConfigProperty"]]:
14173
+ '''The authorization configuration details for the Amazon FSx for Windows File Server file system.
14174
+
14175
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration.html#cfn-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration-authorizationconfig
14176
+ '''
14177
+ result = self._values.get("authorization_config")
14178
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.FSxAuthorizationConfigProperty"]], result)
14179
+
14180
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
14181
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
14182
+
14183
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
14184
+ return not (rhs == self)
14185
+
14186
+ def __repr__(self) -> str:
14187
+ return "FSxWindowsFileServerVolumeConfigurationProperty(%s)" % ", ".join(
14188
+ k + "=" + repr(v) for k, v in self._values.items()
14189
+ )
14190
+
14007
14191
  @jsii.data_type(
14008
14192
  jsii_type="aws-cdk-lib.aws_ecs.CfnTaskDefinition.FirelensConfigurationProperty",
14009
14193
  jsii_struct_bases=[],
@@ -16067,6 +16251,7 @@ class CfnTaskDefinition(
16067
16251
  "configured_at_launch": "configuredAtLaunch",
16068
16252
  "docker_volume_configuration": "dockerVolumeConfiguration",
16069
16253
  "efs_volume_configuration": "efsVolumeConfiguration",
16254
+ "f_sx_windows_file_server_volume_configuration": "fSxWindowsFileServerVolumeConfiguration",
16070
16255
  "host": "host",
16071
16256
  "name": "name",
16072
16257
  },
@@ -16078,6 +16263,7 @@ class CfnTaskDefinition(
16078
16263
  configured_at_launch: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
16079
16264
  docker_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.DockerVolumeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
16080
16265
  efs_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.EFSVolumeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
16266
+ f_sx_windows_file_server_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
16081
16267
  host: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.HostVolumePropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
16082
16268
  name: typing.Optional[builtins.str] = None,
16083
16269
  ) -> None:
@@ -16088,6 +16274,7 @@ class CfnTaskDefinition(
16088
16274
  :param configured_at_launch: Indicates whether the volume should be configured at launch time. This is used to create Amazon EBS volumes for standalone tasks or tasks created as part of a service. Each task definition revision may only have one volume configured at launch in the volume configuration. To configure a volume at launch time, use this task definition revision and specify a ``volumeConfigurations`` object when calling the ``CreateService`` , ``UpdateService`` , ``RunTask`` or ``StartTask`` APIs.
16089
16275
  :param docker_volume_configuration: This parameter is specified when you use Docker volumes. Windows containers only support the use of the ``local`` driver. To use bind mounts, specify the ``host`` parameter instead. .. epigraph:: Docker volumes aren't supported by tasks run on AWS Fargate .
16090
16276
  :param efs_volume_configuration: This parameter is specified when you use an Amazon Elastic File System file system for task storage.
16277
+ :param f_sx_windows_file_server_volume_configuration: This parameter is specified when you use Amazon FSx for Windows File Server file system for task storage.
16091
16278
  :param host: This parameter is specified when you use bind mount host volumes. The contents of the ``host`` parameter determine whether your bind mount host volume persists on the host container instance and where it's stored. If the ``host`` parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running. Windows containers can mount whole directories on the same drive as ``$env:ProgramData`` . Windows containers can't mount directories on a different drive, and mount point can't be across drives. For example, you can mount ``C:\\my\\path:C:\\my\\path`` and ``D:\\:D:\\`` , but not ``D:\\my\\path:C:\\my\\path`` or ``D:\\:C:\\my\\path`` .
16092
16279
  :param name: The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. When using a volume configured at launch, the ``name`` is required and must also be specified as the volume name in the ``ServiceVolumeConfiguration`` or ``TaskVolumeConfiguration`` parameter when creating your service or standalone task. For all other types of volumes, this name is referenced in the ``sourceVolume`` parameter of the ``mountPoints`` object in the container definition. When a volume is using the ``efsVolumeConfiguration`` , the name is required.
16093
16280
 
@@ -16125,6 +16312,16 @@ class CfnTaskDefinition(
16125
16312
  transit_encryption="transitEncryption",
16126
16313
  transit_encryption_port=123
16127
16314
  ),
16315
+ f_sx_windows_file_server_volume_configuration=ecs.CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty(
16316
+ file_system_id="fileSystemId",
16317
+ root_directory="rootDirectory",
16318
+
16319
+ # the properties below are optional
16320
+ authorization_config=ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty(
16321
+ credentials_parameter="credentialsParameter",
16322
+ domain="domain"
16323
+ )
16324
+ ),
16128
16325
  host=ecs.CfnTaskDefinition.HostVolumePropertiesProperty(
16129
16326
  source_path="sourcePath"
16130
16327
  ),
@@ -16136,6 +16333,7 @@ class CfnTaskDefinition(
16136
16333
  check_type(argname="argument configured_at_launch", value=configured_at_launch, expected_type=type_hints["configured_at_launch"])
16137
16334
  check_type(argname="argument docker_volume_configuration", value=docker_volume_configuration, expected_type=type_hints["docker_volume_configuration"])
16138
16335
  check_type(argname="argument efs_volume_configuration", value=efs_volume_configuration, expected_type=type_hints["efs_volume_configuration"])
16336
+ check_type(argname="argument f_sx_windows_file_server_volume_configuration", value=f_sx_windows_file_server_volume_configuration, expected_type=type_hints["f_sx_windows_file_server_volume_configuration"])
16139
16337
  check_type(argname="argument host", value=host, expected_type=type_hints["host"])
16140
16338
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
16141
16339
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -16145,6 +16343,8 @@ class CfnTaskDefinition(
16145
16343
  self._values["docker_volume_configuration"] = docker_volume_configuration
16146
16344
  if efs_volume_configuration is not None:
16147
16345
  self._values["efs_volume_configuration"] = efs_volume_configuration
16346
+ if f_sx_windows_file_server_volume_configuration is not None:
16347
+ self._values["f_sx_windows_file_server_volume_configuration"] = f_sx_windows_file_server_volume_configuration
16148
16348
  if host is not None:
16149
16349
  self._values["host"] = host
16150
16350
  if name is not None:
@@ -16192,6 +16392,17 @@ class CfnTaskDefinition(
16192
16392
  result = self._values.get("efs_volume_configuration")
16193
16393
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.EFSVolumeConfigurationProperty"]], result)
16194
16394
 
16395
+ @builtins.property
16396
+ def f_sx_windows_file_server_volume_configuration(
16397
+ self,
16398
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty"]]:
16399
+ '''This parameter is specified when you use Amazon FSx for Windows File Server file system for task storage.
16400
+
16401
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volume.html#cfn-ecs-taskdefinition-volume-fsxwindowsfileservervolumeconfiguration
16402
+ '''
16403
+ result = self._values.get("f_sx_windows_file_server_volume_configuration")
16404
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty"]], result)
16405
+
16195
16406
  @builtins.property
16196
16407
  def host(
16197
16408
  self,
@@ -16504,6 +16715,16 @@ class CfnTaskDefinitionProps:
16504
16715
  transit_encryption="transitEncryption",
16505
16716
  transit_encryption_port=123
16506
16717
  ),
16718
+ f_sx_windows_file_server_volume_configuration=ecs.CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty(
16719
+ file_system_id="fileSystemId",
16720
+ root_directory="rootDirectory",
16721
+
16722
+ # the properties below are optional
16723
+ authorization_config=ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty(
16724
+ credentials_parameter="credentialsParameter",
16725
+ domain="domain"
16726
+ )
16727
+ ),
16507
16728
  host=ecs.CfnTaskDefinition.HostVolumePropertiesProperty(
16508
16729
  source_path="sourcePath"
16509
16730
  ),
@@ -41747,6 +41968,23 @@ def _typecheckingstub__fdddb0d48923d3583475a8b34d0a6079606e57e6de57c6ca22978691d
41747
41968
  """Type checking stubs"""
41748
41969
  pass
41749
41970
 
41971
+ def _typecheckingstub__f5e3b577af4628d7fb3319bd51694790c1cd0a62eae308c830c9dccee5d8ca1d(
41972
+ *,
41973
+ credentials_parameter: builtins.str,
41974
+ domain: builtins.str,
41975
+ ) -> None:
41976
+ """Type checking stubs"""
41977
+ pass
41978
+
41979
+ def _typecheckingstub__ef74e299375c10c97a6bb4455d35f14ea7c21e10b612cd0fb3958fd12601168f(
41980
+ *,
41981
+ file_system_id: builtins.str,
41982
+ root_directory: builtins.str,
41983
+ authorization_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.FSxAuthorizationConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
41984
+ ) -> None:
41985
+ """Type checking stubs"""
41986
+ pass
41987
+
41750
41988
  def _typecheckingstub__6a1cd84d62e34083a37bc4c25d849ac547dacc5fe8a4db04170cf83e3cd1e9d3(
41751
41989
  *,
41752
41990
  options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
@@ -41935,6 +42173,7 @@ def _typecheckingstub__0b8eeaf561ff6334fbacca7f706104a9a5e10a366526af78d2a6b7173
41935
42173
  configured_at_launch: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
41936
42174
  docker_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.DockerVolumeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
41937
42175
  efs_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.EFSVolumeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
42176
+ f_sx_windows_file_server_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
41938
42177
  host: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.HostVolumePropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
41939
42178
  name: typing.Optional[builtins.str] = None,
41940
42179
  ) -> None:
@@ -2229,7 +2229,7 @@ class CfnFileSystem(
2229
2229
  ) -> None:
2230
2230
  '''Describes the destination file system in the replication configuration.
2231
2231
 
2232
- :param availability_zone_name: The AWS For One Zone file systems, the replication configuration must specify the Availability Zone in which the destination file system is located. Use the format ``us-east-1a`` to specify the Availability Zone. For more information about One Zone file systems, see `EFS file system types <https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html>`_ in the *Amazon EFS User Guide* . .. epigraph:: One Zone file system type is not available in all Availability Zones in AWS Regions where Amazon EFS is available.
2232
+ :param availability_zone_name: For One Zone file systems, the replication configuration must specify the Availability Zone in which the destination file system is located. Use the format ``us-east-1a`` to specify the Availability Zone. For more information about One Zone file systems, see `EFS file system types <https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html>`_ in the *Amazon EFS User Guide* . .. epigraph:: One Zone file system type is not available in all Availability Zones in AWS Regions where Amazon EFS is available.
2233
2233
  :param file_system_id: The ID of the destination Amazon EFS file system.
2234
2234
  :param kms_key_id: The ID of an AWS KMS key used to protect the encrypted file system.
2235
2235
  :param region: The AWS Region in which the destination file system is located. .. epigraph:: For One Zone file systems, the replication configuration must specify the AWS Region in which the destination file system is located.
@@ -2268,7 +2268,7 @@ class CfnFileSystem(
2268
2268
 
2269
2269
  @builtins.property
2270
2270
  def availability_zone_name(self) -> typing.Optional[builtins.str]:
2271
- '''The AWS For One Zone file systems, the replication configuration must specify the Availability Zone in which the destination file system is located.
2271
+ '''For One Zone file systems, the replication configuration must specify the Availability Zone in which the destination file system is located.
2272
2272
 
2273
2273
  Use the format ``us-east-1a`` to specify the Availability Zone. For more information about One Zone file systems, see `EFS file system types <https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html>`_ in the *Amazon EFS User Guide* .
2274
2274
  .. epigraph::
@@ -5397,11 +5397,15 @@ class CfnServerlessCache(
5397
5397
  # the properties below are optional
5398
5398
  cache_usage_limits=elasticache.CfnServerlessCache.CacheUsageLimitsProperty(
5399
5399
  data_storage=elasticache.CfnServerlessCache.DataStorageProperty(
5400
+ unit="unit",
5401
+
5402
+ # the properties below are optional
5400
5403
  maximum=123,
5401
- unit="unit"
5404
+ minimum=123
5402
5405
  ),
5403
5406
  ecpu_per_second=elasticache.CfnServerlessCache.ECPUPerSecondProperty(
5404
- maximum=123
5407
+ maximum=123,
5408
+ minimum=123
5405
5409
  )
5406
5410
  ),
5407
5411
  daily_snapshot_time="dailySnapshotTime",
@@ -5871,11 +5875,15 @@ class CfnServerlessCache(
5871
5875
 
5872
5876
  cache_usage_limits_property = elasticache.CfnServerlessCache.CacheUsageLimitsProperty(
5873
5877
  data_storage=elasticache.CfnServerlessCache.DataStorageProperty(
5878
+ unit="unit",
5879
+
5880
+ # the properties below are optional
5874
5881
  maximum=123,
5875
- unit="unit"
5882
+ minimum=123
5876
5883
  ),
5877
5884
  ecpu_per_second=elasticache.CfnServerlessCache.ECPUPerSecondProperty(
5878
- maximum=123
5885
+ maximum=123,
5886
+ minimum=123
5879
5887
  )
5880
5888
  )
5881
5889
  '''
@@ -5925,14 +5933,21 @@ class CfnServerlessCache(
5925
5933
  @jsii.data_type(
5926
5934
  jsii_type="aws-cdk-lib.aws_elasticache.CfnServerlessCache.DataStorageProperty",
5927
5935
  jsii_struct_bases=[],
5928
- name_mapping={"maximum": "maximum", "unit": "unit"},
5936
+ name_mapping={"unit": "unit", "maximum": "maximum", "minimum": "minimum"},
5929
5937
  )
5930
5938
  class DataStorageProperty:
5931
- def __init__(self, *, maximum: jsii.Number, unit: builtins.str) -> None:
5939
+ def __init__(
5940
+ self,
5941
+ *,
5942
+ unit: builtins.str,
5943
+ maximum: typing.Optional[jsii.Number] = None,
5944
+ minimum: typing.Optional[jsii.Number] = None,
5945
+ ) -> None:
5932
5946
  '''The data storage limit.
5933
5947
 
5934
- :param maximum: The upper limit for data storage the cache is set to use.
5935
5948
  :param unit: The unit that the storage is measured in, in GB.
5949
+ :param maximum: The upper limit for data storage the cache is set to use.
5950
+ :param minimum: The lower limit for data storage the cache is set to use.
5936
5951
 
5937
5952
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html
5938
5953
  :exampleMetadata: fixture=_generated
@@ -5944,38 +5959,53 @@ class CfnServerlessCache(
5944
5959
  from aws_cdk import aws_elasticache as elasticache
5945
5960
 
5946
5961
  data_storage_property = elasticache.CfnServerlessCache.DataStorageProperty(
5962
+ unit="unit",
5963
+
5964
+ # the properties below are optional
5947
5965
  maximum=123,
5948
- unit="unit"
5966
+ minimum=123
5949
5967
  )
5950
5968
  '''
5951
5969
  if __debug__:
5952
5970
  type_hints = typing.get_type_hints(_typecheckingstub__14470b22401430bce81195b8e644412f38b76011c8cab7fa8399081bd44b546d)
5953
- check_type(argname="argument maximum", value=maximum, expected_type=type_hints["maximum"])
5954
5971
  check_type(argname="argument unit", value=unit, expected_type=type_hints["unit"])
5972
+ check_type(argname="argument maximum", value=maximum, expected_type=type_hints["maximum"])
5973
+ check_type(argname="argument minimum", value=minimum, expected_type=type_hints["minimum"])
5955
5974
  self._values: typing.Dict[builtins.str, typing.Any] = {
5956
- "maximum": maximum,
5957
5975
  "unit": unit,
5958
5976
  }
5977
+ if maximum is not None:
5978
+ self._values["maximum"] = maximum
5979
+ if minimum is not None:
5980
+ self._values["minimum"] = minimum
5981
+
5982
+ @builtins.property
5983
+ def unit(self) -> builtins.str:
5984
+ '''The unit that the storage is measured in, in GB.
5985
+
5986
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html#cfn-elasticache-serverlesscache-datastorage-unit
5987
+ '''
5988
+ result = self._values.get("unit")
5989
+ assert result is not None, "Required property 'unit' is missing"
5990
+ return typing.cast(builtins.str, result)
5959
5991
 
5960
5992
  @builtins.property
5961
- def maximum(self) -> jsii.Number:
5993
+ def maximum(self) -> typing.Optional[jsii.Number]:
5962
5994
  '''The upper limit for data storage the cache is set to use.
5963
5995
 
5964
5996
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html#cfn-elasticache-serverlesscache-datastorage-maximum
5965
5997
  '''
5966
5998
  result = self._values.get("maximum")
5967
- assert result is not None, "Required property 'maximum' is missing"
5968
- return typing.cast(jsii.Number, result)
5999
+ return typing.cast(typing.Optional[jsii.Number], result)
5969
6000
 
5970
6001
  @builtins.property
5971
- def unit(self) -> builtins.str:
5972
- '''The unit that the storage is measured in, in GB.
6002
+ def minimum(self) -> typing.Optional[jsii.Number]:
6003
+ '''The lower limit for data storage the cache is set to use.
5973
6004
 
5974
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html#cfn-elasticache-serverlesscache-datastorage-unit
6005
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html#cfn-elasticache-serverlesscache-datastorage-minimum
5975
6006
  '''
5976
- result = self._values.get("unit")
5977
- assert result is not None, "Required property 'unit' is missing"
5978
- return typing.cast(builtins.str, result)
6007
+ result = self._values.get("minimum")
6008
+ return typing.cast(typing.Optional[jsii.Number], result)
5979
6009
 
5980
6010
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
5981
6011
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -5991,13 +6021,19 @@ class CfnServerlessCache(
5991
6021
  @jsii.data_type(
5992
6022
  jsii_type="aws-cdk-lib.aws_elasticache.CfnServerlessCache.ECPUPerSecondProperty",
5993
6023
  jsii_struct_bases=[],
5994
- name_mapping={"maximum": "maximum"},
6024
+ name_mapping={"maximum": "maximum", "minimum": "minimum"},
5995
6025
  )
5996
6026
  class ECPUPerSecondProperty:
5997
- def __init__(self, *, maximum: jsii.Number) -> None:
6027
+ def __init__(
6028
+ self,
6029
+ *,
6030
+ maximum: typing.Optional[jsii.Number] = None,
6031
+ minimum: typing.Optional[jsii.Number] = None,
6032
+ ) -> None:
5998
6033
  '''The configuration for the number of ElastiCache Processing Units (ECPU) the cache can consume per second.
5999
6034
 
6000
6035
  :param maximum: The configuration for the maximum number of ECPUs the cache can consume per second.
6036
+ :param minimum: The configuration for the minimum number of ECPUs the cache should be able consume per second.
6001
6037
 
6002
6038
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-ecpupersecond.html
6003
6039
  :exampleMetadata: fixture=_generated
@@ -6009,25 +6045,37 @@ class CfnServerlessCache(
6009
6045
  from aws_cdk import aws_elasticache as elasticache
6010
6046
 
6011
6047
  e_cPUPer_second_property = elasticache.CfnServerlessCache.ECPUPerSecondProperty(
6012
- maximum=123
6048
+ maximum=123,
6049
+ minimum=123
6013
6050
  )
6014
6051
  '''
6015
6052
  if __debug__:
6016
6053
  type_hints = typing.get_type_hints(_typecheckingstub__a4a85c1f856007000025702b1b01488e1f0726e767adf52fbf709f88ed3720f1)
6017
6054
  check_type(argname="argument maximum", value=maximum, expected_type=type_hints["maximum"])
6018
- self._values: typing.Dict[builtins.str, typing.Any] = {
6019
- "maximum": maximum,
6020
- }
6055
+ check_type(argname="argument minimum", value=minimum, expected_type=type_hints["minimum"])
6056
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6057
+ if maximum is not None:
6058
+ self._values["maximum"] = maximum
6059
+ if minimum is not None:
6060
+ self._values["minimum"] = minimum
6021
6061
 
6022
6062
  @builtins.property
6023
- def maximum(self) -> jsii.Number:
6063
+ def maximum(self) -> typing.Optional[jsii.Number]:
6024
6064
  '''The configuration for the maximum number of ECPUs the cache can consume per second.
6025
6065
 
6026
6066
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-ecpupersecond.html#cfn-elasticache-serverlesscache-ecpupersecond-maximum
6027
6067
  '''
6028
6068
  result = self._values.get("maximum")
6029
- assert result is not None, "Required property 'maximum' is missing"
6030
- return typing.cast(jsii.Number, result)
6069
+ return typing.cast(typing.Optional[jsii.Number], result)
6070
+
6071
+ @builtins.property
6072
+ def minimum(self) -> typing.Optional[jsii.Number]:
6073
+ '''The configuration for the minimum number of ECPUs the cache should be able consume per second.
6074
+
6075
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-ecpupersecond.html#cfn-elasticache-serverlesscache-ecpupersecond-minimum
6076
+ '''
6077
+ result = self._values.get("minimum")
6078
+ return typing.cast(typing.Optional[jsii.Number], result)
6031
6079
 
6032
6080
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
6033
6081
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -6191,11 +6239,15 @@ class CfnServerlessCacheProps:
6191
6239
  # the properties below are optional
6192
6240
  cache_usage_limits=elasticache.CfnServerlessCache.CacheUsageLimitsProperty(
6193
6241
  data_storage=elasticache.CfnServerlessCache.DataStorageProperty(
6242
+ unit="unit",
6243
+
6244
+ # the properties below are optional
6194
6245
  maximum=123,
6195
- unit="unit"
6246
+ minimum=123
6196
6247
  ),
6197
6248
  ecpu_per_second=elasticache.CfnServerlessCache.ECPUPerSecondProperty(
6198
- maximum=123
6249
+ maximum=123,
6250
+ minimum=123
6199
6251
  )
6200
6252
  ),
6201
6253
  daily_snapshot_time="dailySnapshotTime",
@@ -8611,15 +8663,17 @@ def _typecheckingstub__77ebaaf0b703f3ff0164d4845d37449699aec6cbe500ff6d63278a3a6
8611
8663
 
8612
8664
  def _typecheckingstub__14470b22401430bce81195b8e644412f38b76011c8cab7fa8399081bd44b546d(
8613
8665
  *,
8614
- maximum: jsii.Number,
8615
8666
  unit: builtins.str,
8667
+ maximum: typing.Optional[jsii.Number] = None,
8668
+ minimum: typing.Optional[jsii.Number] = None,
8616
8669
  ) -> None:
8617
8670
  """Type checking stubs"""
8618
8671
  pass
8619
8672
 
8620
8673
  def _typecheckingstub__a4a85c1f856007000025702b1b01488e1f0726e767adf52fbf709f88ed3720f1(
8621
8674
  *,
8622
- maximum: jsii.Number,
8675
+ maximum: typing.Optional[jsii.Number] = None,
8676
+ minimum: typing.Optional[jsii.Number] = None,
8623
8677
  ) -> None:
8624
8678
  """Type checking stubs"""
8625
8679
  pass