aws-cdk-lib 2.185.0__py3-none-any.whl → 2.187.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 (87) hide show
  1. aws_cdk/__init__.py +383 -145
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.185.0.jsii.tgz → aws-cdk-lib@2.187.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +3 -2
  5. aws_cdk/aws_amplify/__init__.py +124 -0
  6. aws_cdk/aws_apigateway/__init__.py +48 -2
  7. aws_cdk/aws_apigatewayv2/__init__.py +9 -0
  8. aws_cdk/aws_appconfig/__init__.py +3 -3
  9. aws_cdk/aws_applicationsignals/__init__.py +363 -3
  10. aws_cdk/aws_appsync/__init__.py +74 -3
  11. aws_cdk/aws_bedrock/__init__.py +395 -14
  12. aws_cdk/aws_cassandra/__init__.py +2 -2
  13. aws_cdk/aws_cleanrooms/__init__.py +21 -9
  14. aws_cdk/aws_cloudformation/__init__.py +1 -5
  15. aws_cdk/aws_cloudfront/__init__.py +15 -1
  16. aws_cdk/aws_cloudfront_origins/__init__.py +4 -2
  17. aws_cdk/aws_cloudtrail/__init__.py +4 -18
  18. aws_cdk/aws_cloudwatch/__init__.py +50 -50
  19. aws_cdk/aws_codeartifact/__init__.py +20 -33
  20. aws_cdk/aws_codebuild/__init__.py +9 -0
  21. aws_cdk/aws_codepipeline/__init__.py +1328 -120
  22. aws_cdk/aws_cognito/__init__.py +1 -1
  23. aws_cdk/aws_cognito_identitypool/__init__.py +2303 -0
  24. aws_cdk/aws_config/__init__.py +2 -5
  25. aws_cdk/aws_connect/__init__.py +3 -7
  26. aws_cdk/aws_controltower/__init__.py +18 -26
  27. aws_cdk/aws_datazone/__init__.py +3540 -10
  28. aws_cdk/aws_detective/__init__.py +3 -3
  29. aws_cdk/aws_dynamodb/__init__.py +37 -0
  30. aws_cdk/aws_ec2/__init__.py +714 -37
  31. aws_cdk/aws_ecr/__init__.py +143 -0
  32. aws_cdk/aws_ecr_assets/__init__.py +115 -4
  33. aws_cdk/aws_ecs/__init__.py +66 -20
  34. aws_cdk/aws_eks/__init__.py +114 -0
  35. aws_cdk/aws_events/__init__.py +26 -6
  36. aws_cdk/aws_forecast/__init__.py +1 -1
  37. aws_cdk/aws_fsx/__init__.py +2 -2
  38. aws_cdk/aws_gamelift/__init__.py +11 -11
  39. aws_cdk/aws_iam/__init__.py +264 -0
  40. aws_cdk/aws_identitystore/__init__.py +16 -16
  41. aws_cdk/aws_imagebuilder/__init__.py +3 -27
  42. aws_cdk/aws_iotsitewise/__init__.py +623 -0
  43. aws_cdk/aws_kinesisfirehose/__init__.py +2 -3
  44. aws_cdk/aws_kms/__init__.py +10 -11
  45. aws_cdk/aws_lakeformation/__init__.py +3 -3
  46. aws_cdk/aws_lambda/__init__.py +112 -5
  47. aws_cdk/aws_lambda_event_sources/__init__.py +65 -3
  48. aws_cdk/aws_lambda_nodejs/__init__.py +5 -24
  49. aws_cdk/aws_lex/__init__.py +981 -5
  50. aws_cdk/aws_location/__init__.py +24 -7
  51. aws_cdk/aws_mediaconnect/__init__.py +714 -290
  52. aws_cdk/aws_msk/__init__.py +8 -2
  53. aws_cdk/aws_mwaa/__init__.py +9 -9
  54. aws_cdk/aws_networkfirewall/__init__.py +60 -12
  55. aws_cdk/aws_oam/__init__.py +8 -37
  56. aws_cdk/aws_omics/__init__.py +216 -0
  57. aws_cdk/aws_quicksight/__init__.py +250 -108
  58. aws_cdk/aws_rds/__init__.py +102 -10
  59. aws_cdk/aws_redshiftserverless/__init__.py +192 -15
  60. aws_cdk/aws_route53/__init__.py +2 -2
  61. aws_cdk/aws_route53recoverycontrol/__init__.py +43 -2
  62. aws_cdk/aws_rum/__init__.py +315 -52
  63. aws_cdk/aws_s3_assets/__init__.py +70 -1
  64. aws_cdk/aws_s3_deployment/__init__.py +4 -0
  65. aws_cdk/aws_sagemaker/__init__.py +6 -4
  66. aws_cdk/aws_scheduler/__init__.py +3944 -121
  67. aws_cdk/aws_scheduler_targets/__init__.py +4460 -0
  68. aws_cdk/aws_securitylake/__init__.py +2 -2
  69. aws_cdk/aws_servicecatalog/__init__.py +4 -0
  70. aws_cdk/aws_sns/__init__.py +1 -1
  71. aws_cdk/aws_ssmquicksetup/__init__.py +5 -3
  72. aws_cdk/aws_stepfunctions/__init__.py +8 -0
  73. aws_cdk/aws_stepfunctions_tasks/__init__.py +4 -0
  74. aws_cdk/aws_synthetics/__init__.py +9 -0
  75. aws_cdk/aws_systemsmanagersap/__init__.py +150 -0
  76. aws_cdk/aws_timestream/__init__.py +4 -4
  77. aws_cdk/aws_wafv2/__init__.py +1117 -1446
  78. aws_cdk/aws_workspacesthinclient/__init__.py +4 -4
  79. aws_cdk/cloud_assembly_schema/__init__.py +60 -10
  80. aws_cdk/cx_api/__init__.py +38 -0
  81. aws_cdk/pipelines/__init__.py +20 -2
  82. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/METADATA +4 -4
  83. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/RECORD +87 -85
  84. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/WHEEL +1 -1
  85. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/LICENSE +0 -0
  86. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/NOTICE +0 -0
  87. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/top_level.txt +0 -0
@@ -2046,6 +2046,20 @@ cluster = eks.Cluster(self, "Cluster",
2046
2046
  )
2047
2047
  ```
2048
2048
 
2049
+ ## NodeGroup Repair Config
2050
+
2051
+ You can enable Managed Node Group [auto-repair config](https://docs.aws.amazon.com/eks/latest/userguide/node-health.html#node-auto-repair) using `enableNodeAutoRepair`
2052
+ property. For example:
2053
+
2054
+ ```python
2055
+ # cluster: eks.Cluster
2056
+
2057
+
2058
+ cluster.add_nodegroup_capacity("NodeGroup",
2059
+ enable_node_auto_repair=True
2060
+ )
2061
+ ```
2062
+
2049
2063
  ## Known Issues and Limitations
2050
2064
 
2051
2065
  * [One cluster per stack](https://github.com/aws/aws-cdk/issues/10073)
@@ -5950,6 +5964,7 @@ class CfnCluster(
5950
5964
  ),
5951
5965
  resources=["resources"]
5952
5966
  )],
5967
+ force=False,
5953
5968
  kubernetes_network_config=eks.CfnCluster.KubernetesNetworkConfigProperty(
5954
5969
  elastic_load_balancing=eks.CfnCluster.ElasticLoadBalancingProperty(
5955
5970
  enabled=False
@@ -6015,6 +6030,7 @@ class CfnCluster(
6015
6030
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6016
6031
  compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.ComputeConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6017
6032
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.EncryptionConfigProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
6033
+ force: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6018
6034
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.KubernetesNetworkConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6019
6035
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.LoggingProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6020
6036
  name: typing.Optional[builtins.str] = None,
@@ -6035,6 +6051,7 @@ class CfnCluster(
6035
6051
  :param bootstrap_self_managed_addons: If you set this value to ``False`` when creating a cluster, the default networking add-ons will not be installed. The default networking addons include vpc-cni, coredns, and kube-proxy. Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.
6036
6052
  :param compute_config: Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account. For more information, see EKS Auto Mode compute capability in the *Amazon EKS User Guide* .
6037
6053
  :param encryption_config: The encryption configuration for the cluster.
6054
+ :param force: Force cluster version update. Default: - false
6038
6055
  :param kubernetes_network_config: The Kubernetes network configuration for the cluster.
6039
6056
  :param logging: The logging configuration for your cluster.
6040
6057
  :param name: The unique name to give to your cluster. The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in. Note that underscores can't be used in AWS CloudFormation .
@@ -6057,6 +6074,7 @@ class CfnCluster(
6057
6074
  bootstrap_self_managed_addons=bootstrap_self_managed_addons,
6058
6075
  compute_config=compute_config,
6059
6076
  encryption_config=encryption_config,
6077
+ force=force,
6060
6078
  kubernetes_network_config=kubernetes_network_config,
6061
6079
  logging=logging,
6062
6080
  name=name,
@@ -6295,6 +6313,24 @@ class CfnCluster(
6295
6313
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6296
6314
  jsii.set(self, "encryptionConfig", value) # pyright: ignore[reportArgumentType]
6297
6315
 
6316
+ @builtins.property
6317
+ @jsii.member(jsii_name="force")
6318
+ def force(
6319
+ self,
6320
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6321
+ '''Force cluster version update.'''
6322
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "force"))
6323
+
6324
+ @force.setter
6325
+ def force(
6326
+ self,
6327
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
6328
+ ) -> None:
6329
+ if __debug__:
6330
+ type_hints = typing.get_type_hints(_typecheckingstub__ec11778764d939bb12cbec68a418a76be768d7a638339c5189ae6cfe44059ebd)
6331
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6332
+ jsii.set(self, "force", value) # pyright: ignore[reportArgumentType]
6333
+
6298
6334
  @builtins.property
6299
6335
  @jsii.member(jsii_name="kubernetesNetworkConfig")
6300
6336
  def kubernetes_network_config(
@@ -7955,6 +7991,7 @@ class CfnCluster(
7955
7991
  "bootstrap_self_managed_addons": "bootstrapSelfManagedAddons",
7956
7992
  "compute_config": "computeConfig",
7957
7993
  "encryption_config": "encryptionConfig",
7994
+ "force": "force",
7958
7995
  "kubernetes_network_config": "kubernetesNetworkConfig",
7959
7996
  "logging": "logging",
7960
7997
  "name": "name",
@@ -7977,6 +8014,7 @@ class CfnClusterProps:
7977
8014
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
7978
8015
  compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7979
8016
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8017
+ force: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
7980
8018
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7981
8019
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7982
8020
  name: typing.Optional[builtins.str] = None,
@@ -7996,6 +8034,7 @@ class CfnClusterProps:
7996
8034
  :param bootstrap_self_managed_addons: If you set this value to ``False`` when creating a cluster, the default networking add-ons will not be installed. The default networking addons include vpc-cni, coredns, and kube-proxy. Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.
7997
8035
  :param compute_config: Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account. For more information, see EKS Auto Mode compute capability in the *Amazon EKS User Guide* .
7998
8036
  :param encryption_config: The encryption configuration for the cluster.
8037
+ :param force: Force cluster version update. Default: - false
7999
8038
  :param kubernetes_network_config: The Kubernetes network configuration for the cluster.
8000
8039
  :param logging: The logging configuration for your cluster.
8001
8040
  :param name: The unique name to give to your cluster. The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in. Note that underscores can't be used in AWS CloudFormation .
@@ -8045,6 +8084,7 @@ class CfnClusterProps:
8045
8084
  ),
8046
8085
  resources=["resources"]
8047
8086
  )],
8087
+ force=False,
8048
8088
  kubernetes_network_config=eks.CfnCluster.KubernetesNetworkConfigProperty(
8049
8089
  elastic_load_balancing=eks.CfnCluster.ElasticLoadBalancingProperty(
8050
8090
  enabled=False
@@ -8106,6 +8146,7 @@ class CfnClusterProps:
8106
8146
  check_type(argname="argument bootstrap_self_managed_addons", value=bootstrap_self_managed_addons, expected_type=type_hints["bootstrap_self_managed_addons"])
8107
8147
  check_type(argname="argument compute_config", value=compute_config, expected_type=type_hints["compute_config"])
8108
8148
  check_type(argname="argument encryption_config", value=encryption_config, expected_type=type_hints["encryption_config"])
8149
+ check_type(argname="argument force", value=force, expected_type=type_hints["force"])
8109
8150
  check_type(argname="argument kubernetes_network_config", value=kubernetes_network_config, expected_type=type_hints["kubernetes_network_config"])
8110
8151
  check_type(argname="argument logging", value=logging, expected_type=type_hints["logging"])
8111
8152
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
@@ -8128,6 +8169,8 @@ class CfnClusterProps:
8128
8169
  self._values["compute_config"] = compute_config
8129
8170
  if encryption_config is not None:
8130
8171
  self._values["encryption_config"] = encryption_config
8172
+ if force is not None:
8173
+ self._values["force"] = force
8131
8174
  if kubernetes_network_config is not None:
8132
8175
  self._values["kubernetes_network_config"] = kubernetes_network_config
8133
8176
  if logging is not None:
@@ -8225,6 +8268,19 @@ class CfnClusterProps:
8225
8268
  result = self._values.get("encryption_config")
8226
8269
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCluster.EncryptionConfigProperty]]]], result)
8227
8270
 
8271
+ @builtins.property
8272
+ def force(
8273
+ self,
8274
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
8275
+ '''Force cluster version update.
8276
+
8277
+ :default: - false
8278
+
8279
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-force
8280
+ '''
8281
+ result = self._values.get("force")
8282
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
8283
+
8228
8284
  @builtins.property
8229
8285
  def kubernetes_network_config(
8230
8286
  self,
@@ -15871,6 +15927,7 @@ class Nodegroup(
15871
15927
  capacity_type=eks.CapacityType.SPOT,
15872
15928
  desired_size=123,
15873
15929
  disk_size=123,
15930
+ enable_node_auto_repair=False,
15874
15931
  force_update=False,
15875
15932
  instance_types=[instance_type],
15876
15933
  labels={
@@ -15924,6 +15981,7 @@ class Nodegroup(
15924
15981
  capacity_type: typing.Optional[CapacityType] = None,
15925
15982
  desired_size: typing.Optional[jsii.Number] = None,
15926
15983
  disk_size: typing.Optional[jsii.Number] = None,
15984
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
15927
15985
  force_update: typing.Optional[builtins.bool] = None,
15928
15986
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
15929
15987
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -15948,6 +16006,7 @@ class Nodegroup(
15948
16006
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
15949
16007
  :param desired_size: The current number of worker nodes that the managed node group should maintain. If not specified, the nodewgroup will initially create ``minSize`` instances. Default: 2
15950
16008
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
16009
+ :param enable_node_auto_repair: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Default: - disabled
15951
16010
  :param force_update: Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. If an update fails because pods could not be drained, you can force the update after it fails to terminate the old node whether or not any pods are running on the node. Default: true
15952
16011
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
15953
16012
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -15974,6 +16033,7 @@ class Nodegroup(
15974
16033
  capacity_type=capacity_type,
15975
16034
  desired_size=desired_size,
15976
16035
  disk_size=disk_size,
16036
+ enable_node_auto_repair=enable_node_auto_repair,
15977
16037
  force_update=force_update,
15978
16038
  instance_types=instance_types,
15979
16039
  labels=labels,
@@ -16110,6 +16170,7 @@ class NodegroupAmiType(enum.Enum):
16110
16170
  "capacity_type": "capacityType",
16111
16171
  "desired_size": "desiredSize",
16112
16172
  "disk_size": "diskSize",
16173
+ "enable_node_auto_repair": "enableNodeAutoRepair",
16113
16174
  "force_update": "forceUpdate",
16114
16175
  "instance_types": "instanceTypes",
16115
16176
  "labels": "labels",
@@ -16135,6 +16196,7 @@ class NodegroupOptions:
16135
16196
  capacity_type: typing.Optional[CapacityType] = None,
16136
16197
  desired_size: typing.Optional[jsii.Number] = None,
16137
16198
  disk_size: typing.Optional[jsii.Number] = None,
16199
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
16138
16200
  force_update: typing.Optional[builtins.bool] = None,
16139
16201
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
16140
16202
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -16157,6 +16219,7 @@ class NodegroupOptions:
16157
16219
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
16158
16220
  :param desired_size: The current number of worker nodes that the managed node group should maintain. If not specified, the nodewgroup will initially create ``minSize`` instances. Default: 2
16159
16221
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
16222
+ :param enable_node_auto_repair: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Default: - disabled
16160
16223
  :param force_update: Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. If an update fails because pods could not be drained, you can force the update after it fails to terminate the old node whether or not any pods are running on the node. Default: true
16161
16224
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
16162
16225
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -16201,6 +16264,7 @@ class NodegroupOptions:
16201
16264
  check_type(argname="argument capacity_type", value=capacity_type, expected_type=type_hints["capacity_type"])
16202
16265
  check_type(argname="argument desired_size", value=desired_size, expected_type=type_hints["desired_size"])
16203
16266
  check_type(argname="argument disk_size", value=disk_size, expected_type=type_hints["disk_size"])
16267
+ check_type(argname="argument enable_node_auto_repair", value=enable_node_auto_repair, expected_type=type_hints["enable_node_auto_repair"])
16204
16268
  check_type(argname="argument force_update", value=force_update, expected_type=type_hints["force_update"])
16205
16269
  check_type(argname="argument instance_types", value=instance_types, expected_type=type_hints["instance_types"])
16206
16270
  check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
@@ -16225,6 +16289,8 @@ class NodegroupOptions:
16225
16289
  self._values["desired_size"] = desired_size
16226
16290
  if disk_size is not None:
16227
16291
  self._values["disk_size"] = disk_size
16292
+ if enable_node_auto_repair is not None:
16293
+ self._values["enable_node_auto_repair"] = enable_node_auto_repair
16228
16294
  if force_update is not None:
16229
16295
  self._values["force_update"] = force_update
16230
16296
  if instance_types is not None:
@@ -16298,6 +16364,19 @@ class NodegroupOptions:
16298
16364
  result = self._values.get("disk_size")
16299
16365
  return typing.cast(typing.Optional[jsii.Number], result)
16300
16366
 
16367
+ @builtins.property
16368
+ def enable_node_auto_repair(self) -> typing.Optional[builtins.bool]:
16369
+ '''Specifies whether to enable node auto repair for the node group.
16370
+
16371
+ Node auto repair is disabled by default.
16372
+
16373
+ :default: - disabled
16374
+
16375
+ :see: https://docs.aws.amazon.com/eks/latest/userguide/node-health.html#node-auto-repair
16376
+ '''
16377
+ result = self._values.get("enable_node_auto_repair")
16378
+ return typing.cast(typing.Optional[builtins.bool], result)
16379
+
16301
16380
  @builtins.property
16302
16381
  def force_update(self) -> typing.Optional[builtins.bool]:
16303
16382
  '''Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
@@ -16495,6 +16574,7 @@ class NodegroupOptions:
16495
16574
  "capacity_type": "capacityType",
16496
16575
  "desired_size": "desiredSize",
16497
16576
  "disk_size": "diskSize",
16577
+ "enable_node_auto_repair": "enableNodeAutoRepair",
16498
16578
  "force_update": "forceUpdate",
16499
16579
  "instance_types": "instanceTypes",
16500
16580
  "labels": "labels",
@@ -16521,6 +16601,7 @@ class NodegroupProps(NodegroupOptions):
16521
16601
  capacity_type: typing.Optional[CapacityType] = None,
16522
16602
  desired_size: typing.Optional[jsii.Number] = None,
16523
16603
  disk_size: typing.Optional[jsii.Number] = None,
16604
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
16524
16605
  force_update: typing.Optional[builtins.bool] = None,
16525
16606
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
16526
16607
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -16544,6 +16625,7 @@ class NodegroupProps(NodegroupOptions):
16544
16625
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
16545
16626
  :param desired_size: The current number of worker nodes that the managed node group should maintain. If not specified, the nodewgroup will initially create ``minSize`` instances. Default: 2
16546
16627
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
16628
+ :param enable_node_auto_repair: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Default: - disabled
16547
16629
  :param force_update: Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. If an update fails because pods could not be drained, you can force the update after it fails to terminate the old node whether or not any pods are running on the node. Default: true
16548
16630
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
16549
16631
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -16586,6 +16668,7 @@ class NodegroupProps(NodegroupOptions):
16586
16668
  capacity_type=eks.CapacityType.SPOT,
16587
16669
  desired_size=123,
16588
16670
  disk_size=123,
16671
+ enable_node_auto_repair=False,
16589
16672
  force_update=False,
16590
16673
  instance_types=[instance_type],
16591
16674
  labels={
@@ -16640,6 +16723,7 @@ class NodegroupProps(NodegroupOptions):
16640
16723
  check_type(argname="argument capacity_type", value=capacity_type, expected_type=type_hints["capacity_type"])
16641
16724
  check_type(argname="argument desired_size", value=desired_size, expected_type=type_hints["desired_size"])
16642
16725
  check_type(argname="argument disk_size", value=disk_size, expected_type=type_hints["disk_size"])
16726
+ check_type(argname="argument enable_node_auto_repair", value=enable_node_auto_repair, expected_type=type_hints["enable_node_auto_repair"])
16643
16727
  check_type(argname="argument force_update", value=force_update, expected_type=type_hints["force_update"])
16644
16728
  check_type(argname="argument instance_types", value=instance_types, expected_type=type_hints["instance_types"])
16645
16729
  check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
@@ -16667,6 +16751,8 @@ class NodegroupProps(NodegroupOptions):
16667
16751
  self._values["desired_size"] = desired_size
16668
16752
  if disk_size is not None:
16669
16753
  self._values["disk_size"] = disk_size
16754
+ if enable_node_auto_repair is not None:
16755
+ self._values["enable_node_auto_repair"] = enable_node_auto_repair
16670
16756
  if force_update is not None:
16671
16757
  self._values["force_update"] = force_update
16672
16758
  if instance_types is not None:
@@ -16740,6 +16826,19 @@ class NodegroupProps(NodegroupOptions):
16740
16826
  result = self._values.get("disk_size")
16741
16827
  return typing.cast(typing.Optional[jsii.Number], result)
16742
16828
 
16829
+ @builtins.property
16830
+ def enable_node_auto_repair(self) -> typing.Optional[builtins.bool]:
16831
+ '''Specifies whether to enable node auto repair for the node group.
16832
+
16833
+ Node auto repair is disabled by default.
16834
+
16835
+ :default: - disabled
16836
+
16837
+ :see: https://docs.aws.amazon.com/eks/latest/userguide/node-health.html#node-auto-repair
16838
+ '''
16839
+ result = self._values.get("enable_node_auto_repair")
16840
+ return typing.cast(typing.Optional[builtins.bool], result)
16841
+
16743
16842
  @builtins.property
16744
16843
  def force_update(self) -> typing.Optional[builtins.bool]:
16745
16844
  '''Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
@@ -18770,6 +18869,7 @@ class Cluster(
18770
18869
  capacity_type: typing.Optional[CapacityType] = None,
18771
18870
  desired_size: typing.Optional[jsii.Number] = None,
18772
18871
  disk_size: typing.Optional[jsii.Number] = None,
18872
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
18773
18873
  force_update: typing.Optional[builtins.bool] = None,
18774
18874
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
18775
18875
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -18795,6 +18895,7 @@ class Cluster(
18795
18895
  :param capacity_type: The capacity type of the nodegroup. Default: - ON_DEMAND
18796
18896
  :param desired_size: The current number of worker nodes that the managed node group should maintain. If not specified, the nodewgroup will initially create ``minSize`` instances. Default: 2
18797
18897
  :param disk_size: The root device disk size (in GiB) for your node group instances. Default: 20
18898
+ :param enable_node_auto_repair: Specifies whether to enable node auto repair for the node group. Node auto repair is disabled by default. Default: - disabled
18798
18899
  :param force_update: Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. If an update fails because pods could not be drained, you can force the update after it fails to terminate the old node whether or not any pods are running on the node. Default: true
18799
18900
  :param instance_types: The instance types to use for your node group. Default: t3.medium will be used according to the cloudformation document.
18800
18901
  :param labels: The Kubernetes labels to be applied to the nodes in the node group when they are created. Default: - None
@@ -18821,6 +18922,7 @@ class Cluster(
18821
18922
  capacity_type=capacity_type,
18822
18923
  desired_size=desired_size,
18823
18924
  disk_size=disk_size,
18925
+ enable_node_auto_repair=enable_node_auto_repair,
18824
18926
  force_update=force_update,
18825
18927
  instance_types=instance_types,
18826
18928
  labels=labels,
@@ -21891,6 +21993,7 @@ def _typecheckingstub__d3e62a858014f3867f3039d1328d57223fb0d16e3fb6d1e2d79279938
21891
21993
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21892
21994
  compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21893
21995
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
21996
+ force: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21894
21997
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21895
21998
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21896
21999
  name: typing.Optional[builtins.str] = None,
@@ -21953,6 +22056,12 @@ def _typecheckingstub__b161fda542258d1cd8a20fecd3943cacecb658f19ab16b918baf49908
21953
22056
  """Type checking stubs"""
21954
22057
  pass
21955
22058
 
22059
+ def _typecheckingstub__ec11778764d939bb12cbec68a418a76be768d7a638339c5189ae6cfe44059ebd(
22060
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
22061
+ ) -> None:
22062
+ """Type checking stubs"""
22063
+ pass
22064
+
21956
22065
  def _typecheckingstub__1a14e543582631e80cb6fc2093270dba17f568b8779b381e3bc7398bfafb6699(
21957
22066
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.KubernetesNetworkConfigProperty]],
21958
22067
  ) -> None:
@@ -22168,6 +22277,7 @@ def _typecheckingstub__270f142a59c249328ab174c5b0484cfdae6e3110ab52578dbe783d6f8
22168
22277
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22169
22278
  compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22170
22279
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
22280
+ force: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22171
22281
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22172
22282
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22173
22283
  name: typing.Optional[builtins.str] = None,
@@ -23029,6 +23139,7 @@ def _typecheckingstub__786fdb6d4c92794281e2a7ea4e6305e651a12884bcdc063cf6fe5a64c
23029
23139
  capacity_type: typing.Optional[CapacityType] = None,
23030
23140
  desired_size: typing.Optional[jsii.Number] = None,
23031
23141
  disk_size: typing.Optional[jsii.Number] = None,
23142
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23032
23143
  force_update: typing.Optional[builtins.bool] = None,
23033
23144
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23034
23145
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -23062,6 +23173,7 @@ def _typecheckingstub__019154b49c40dcdcdd533db7688b958baf443f513473d96721969a0d5
23062
23173
  capacity_type: typing.Optional[CapacityType] = None,
23063
23174
  desired_size: typing.Optional[jsii.Number] = None,
23064
23175
  disk_size: typing.Optional[jsii.Number] = None,
23176
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23065
23177
  force_update: typing.Optional[builtins.bool] = None,
23066
23178
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23067
23179
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -23087,6 +23199,7 @@ def _typecheckingstub__c522b5bc1207d683d19377a7c1fae066520518733e5dc4e1b4952f88c
23087
23199
  capacity_type: typing.Optional[CapacityType] = None,
23088
23200
  desired_size: typing.Optional[jsii.Number] = None,
23089
23201
  disk_size: typing.Optional[jsii.Number] = None,
23202
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23090
23203
  force_update: typing.Optional[builtins.bool] = None,
23091
23204
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23092
23205
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -23451,6 +23564,7 @@ def _typecheckingstub__d3dbc0c0b7cb36fb532d2c452f5cac822b7564b4aa6f4490020610695
23451
23564
  capacity_type: typing.Optional[CapacityType] = None,
23452
23565
  desired_size: typing.Optional[jsii.Number] = None,
23453
23566
  disk_size: typing.Optional[jsii.Number] = None,
23567
+ enable_node_auto_repair: typing.Optional[builtins.bool] = None,
23454
23568
  force_update: typing.Optional[builtins.bool] = None,
23455
23569
  instance_types: typing.Optional[typing.Sequence[_InstanceType_f64915b9]] = None,
23456
23570
  labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -374,6 +374,7 @@ from ..aws_iam import (
374
374
  AddToResourcePolicyResult as _AddToResourcePolicyResult_1d0a53ad,
375
375
  Grant as _Grant_a7ae64f8,
376
376
  IGrantable as _IGrantable_71c4f5de,
377
+ IResourceWithPolicy as _IResourceWithPolicy_720d64fc,
377
378
  IRole as _IRole_235f5d8e,
378
379
  PolicyStatement as _PolicyStatement_0fe33853,
379
380
  )
@@ -9505,10 +9506,15 @@ class IEventBus(_IResource_c80c4260, typing_extensions.Protocol):
9505
9506
  ...
9506
9507
 
9507
9508
  @jsii.member(jsii_name="grantPutEventsTo")
9508
- def grant_put_events_to(self, grantee: _IGrantable_71c4f5de) -> _Grant_a7ae64f8:
9509
+ def grant_put_events_to(
9510
+ self,
9511
+ grantee: _IGrantable_71c4f5de,
9512
+ sid: typing.Optional[builtins.str] = None,
9513
+ ) -> _Grant_a7ae64f8:
9509
9514
  '''Grants an IAM Principal to send custom events to the eventBus so that they can be matched to rules.
9510
9515
 
9511
9516
  :param grantee: The principal (no-op if undefined).
9517
+ :param sid: The Statement ID used if we need to add a trust policy on the event bus.
9512
9518
  '''
9513
9519
  ...
9514
9520
 
@@ -9593,15 +9599,21 @@ class _IEventBusProxy(
9593
9599
  return typing.cast(Archive, jsii.invoke(self, "archive", [id, props]))
9594
9600
 
9595
9601
  @jsii.member(jsii_name="grantPutEventsTo")
9596
- def grant_put_events_to(self, grantee: _IGrantable_71c4f5de) -> _Grant_a7ae64f8:
9602
+ def grant_put_events_to(
9603
+ self,
9604
+ grantee: _IGrantable_71c4f5de,
9605
+ sid: typing.Optional[builtins.str] = None,
9606
+ ) -> _Grant_a7ae64f8:
9597
9607
  '''Grants an IAM Principal to send custom events to the eventBus so that they can be matched to rules.
9598
9608
 
9599
9609
  :param grantee: The principal (no-op if undefined).
9610
+ :param sid: The Statement ID used if we need to add a trust policy on the event bus.
9600
9611
  '''
9601
9612
  if __debug__:
9602
9613
  type_hints = typing.get_type_hints(_typecheckingstub__d2c68164c7bcf711cce4fa768eb0c26c773cd00ae54af79587f28c0ff626481f)
9603
9614
  check_type(argname="argument grantee", value=grantee, expected_type=type_hints["grantee"])
9604
- return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantPutEventsTo", [grantee]))
9615
+ check_type(argname="argument sid", value=sid, expected_type=type_hints["sid"])
9616
+ return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantPutEventsTo", [grantee, sid]))
9605
9617
 
9606
9618
  # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
9607
9619
  typing.cast(typing.Any, IEventBus).__jsii_proxy_class__ = lambda : _IEventBusProxy
@@ -11913,7 +11925,7 @@ class Connection(
11913
11925
  return typing.cast(builtins.str, jsii.get(self, "connectionSecretArn"))
11914
11926
 
11915
11927
 
11916
- @jsii.implements(IEventBus)
11928
+ @jsii.implements(IEventBus, _IResourceWithPolicy_720d64fc)
11917
11929
  class EventBus(
11918
11930
  _Resource_45bc6135,
11919
11931
  metaclass=jsii.JSIIMeta,
@@ -12108,15 +12120,21 @@ class EventBus(
12108
12120
  return typing.cast(Archive, jsii.invoke(self, "archive", [id, props]))
12109
12121
 
12110
12122
  @jsii.member(jsii_name="grantPutEventsTo")
12111
- def grant_put_events_to(self, grantee: _IGrantable_71c4f5de) -> _Grant_a7ae64f8:
12123
+ def grant_put_events_to(
12124
+ self,
12125
+ grantee: _IGrantable_71c4f5de,
12126
+ sid: typing.Optional[builtins.str] = None,
12127
+ ) -> _Grant_a7ae64f8:
12112
12128
  '''Grants an IAM Principal to send custom events to the eventBus so that they can be matched to rules.
12113
12129
 
12114
12130
  :param grantee: -
12131
+ :param sid: -
12115
12132
  '''
12116
12133
  if __debug__:
12117
12134
  type_hints = typing.get_type_hints(_typecheckingstub__f55b55b311ab4cc3f0aabb9339086b97d1f1340dcc28209fe5e78777c8287a4f)
12118
12135
  check_type(argname="argument grantee", value=grantee, expected_type=type_hints["grantee"])
12119
- return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantPutEventsTo", [grantee]))
12136
+ check_type(argname="argument sid", value=sid, expected_type=type_hints["sid"])
12137
+ return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantPutEventsTo", [grantee, sid]))
12120
12138
 
12121
12139
  @builtins.property
12122
12140
  @jsii.member(jsii_name="eventBusArn")
@@ -13272,6 +13290,7 @@ def _typecheckingstub__1ed58495b96f0f8ed0dfb0c65e8400413d45c5c1f372215e535272012
13272
13290
 
13273
13291
  def _typecheckingstub__d2c68164c7bcf711cce4fa768eb0c26c773cd00ae54af79587f28c0ff626481f(
13274
13292
  grantee: _IGrantable_71c4f5de,
13293
+ sid: typing.Optional[builtins.str] = None,
13275
13294
  ) -> None:
13276
13295
  """Type checking stubs"""
13277
13296
  pass
@@ -13697,6 +13716,7 @@ def _typecheckingstub__7330918630167c372966fe4a86452f34a261c80460ae944bcce168d6b
13697
13716
 
13698
13717
  def _typecheckingstub__f55b55b311ab4cc3f0aabb9339086b97d1f1340dcc28209fe5e78777c8287a4f(
13699
13718
  grantee: _IGrantable_71c4f5de,
13719
+ sid: typing.Optional[builtins.str] = None,
13700
13720
  ) -> None:
13701
13721
  """Type checking stubs"""
13702
13722
  pass
@@ -392,7 +392,7 @@ class CfnDataset(
392
392
  ) -> None:
393
393
  '''An AWS Key Management Service (KMS) key and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.
394
394
 
395
- You can specify this optional object in the ``CreateDataset`` and ``CreatePredictor`` requests.
395
+ You can specify this optional object in the `CreateDataset <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDataset.html>`_ and `CreatePredictor <https://docs.aws.amazon.com/forecast/latest/dg/API_CreatePredictor.html>`_ requests.
396
396
 
397
397
  :param kms_key_arn: The Amazon Resource Name (ARN) of the KMS key.
398
398
  :param role_arn: The ARN of the IAM role that Amazon Forecast can assume to access the AWS KMS key. Passing a role across AWS accounts is not allowed. If you pass a role that isn't in your account, you get an ``InvalidInputException`` error.
@@ -5956,7 +5956,7 @@ class CfnVolume(
5956
5956
  '''Specifies the configuration of the Amazon FSx for OpenZFS volume that you are creating.
5957
5957
 
5958
5958
  :param parent_volume_id: The ID of the volume to use as the parent volume of the volume that you are creating.
5959
- :param copy_tags_to_snapshots: A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to ``false`` . If it's set to ``true`` , all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value is ``true`` , and you specify one or more tags, only the specified tags are copied to snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.
5959
+ :param copy_tags_to_snapshots: A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to ``false`` . If this value is set to ``true`` , and you do not specify any tags, all tags for the original volume are copied over to snapshots. If this value is set to ``true`` , and you do specify one or more tags, only the specified tags for the original volume are copied over to snapshots. If you specify one or more tags when creating a new snapshot, no tags are copied over from the original volume, regardless of this value.
5960
5960
  :param data_compression_type: Specifies the method used to compress the data on the volume. The compression type is ``NONE`` by default. - ``NONE`` - Doesn't compress the data on the volume. ``NONE`` is the default. - ``ZSTD`` - Compresses the data in the volume using the Zstandard (ZSTD) compression algorithm. Compared to LZ4, Z-Standard provides a better compression ratio to minimize on-disk storage utilization. - ``LZ4`` - Compresses the data in the volume using the LZ4 compression algorithm. Compared to Z-Standard, LZ4 is less compute-intensive and delivers higher write throughput speeds.
5961
5961
  :param nfs_exports: The configuration object for mounting a Network File System (NFS) file system.
5962
5962
  :param options: To delete the volume's child volumes, snapshots, and clones, use the string ``DELETE_CHILD_VOLUMES_AND_SNAPSHOTS`` .
@@ -6057,7 +6057,7 @@ class CfnVolume(
6057
6057
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6058
6058
  '''A Boolean value indicating whether tags for the volume should be copied to snapshots.
6059
6059
 
6060
- This value defaults to ``false`` . If it's set to ``true`` , all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value is ``true`` , and you specify one or more tags, only the specified tags are copied to snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.
6060
+ This value defaults to ``false`` . If this value is set to ``true`` , and you do not specify any tags, all tags for the original volume are copied over to snapshots. If this value is set to ``true`` , and you do specify one or more tags, only the specified tags for the original volume are copied over to snapshots. If you specify one or more tags when creating a new snapshot, no tags are copied over from the original volume, regardless of this value.
6061
6061
 
6062
6062
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-copytagstosnapshots
6063
6063
  '''