aws-cdk-lib 2.148.1__py3-none-any.whl → 2.149.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 (31) hide show
  1. aws_cdk/_jsii/__init__.py +1 -1
  2. aws_cdk/_jsii/{aws-cdk-lib@2.148.1.jsii.tgz → aws-cdk-lib@2.149.0.jsii.tgz} +0 -0
  3. aws_cdk/aws_applicationautoscaling/__init__.py +16 -12
  4. aws_cdk/aws_bedrock/__init__.py +30 -2
  5. aws_cdk/aws_codebuild/__init__.py +57 -5
  6. aws_cdk/aws_codecommit/__init__.py +103 -0
  7. aws_cdk/aws_codedeploy/__init__.py +251 -5
  8. aws_cdk/aws_codepipeline/__init__.py +69 -0
  9. aws_cdk/aws_codestarnotifications/__init__.py +90 -4
  10. aws_cdk/aws_deadline/__init__.py +9 -15
  11. aws_cdk/aws_dms/__init__.py +10 -10
  12. aws_cdk/aws_ec2/__init__.py +4 -0
  13. aws_cdk/aws_emr/__init__.py +8 -8
  14. aws_cdk/aws_events/__init__.py +1 -13
  15. aws_cdk/aws_kinesisanalytics/__init__.py +11 -11
  16. aws_cdk/aws_kinesisanalyticsv2/__init__.py +11 -11
  17. aws_cdk/aws_rds/__init__.py +3 -3
  18. aws_cdk/aws_rolesanywhere/__init__.py +22 -13
  19. aws_cdk/aws_route53profiles/__init__.py +4 -4
  20. aws_cdk/aws_s3/__init__.py +15 -117
  21. aws_cdk/aws_ses/__init__.py +119 -102
  22. aws_cdk/aws_stepfunctions_tasks/__init__.py +209 -16
  23. aws_cdk/aws_verifiedpermissions/__init__.py +7 -9
  24. aws_cdk/aws_wafv2/__init__.py +10 -16
  25. aws_cdk/aws_workspaces/__init__.py +86 -56
  26. {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.149.0.dist-info}/METADATA +1 -1
  27. {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.149.0.dist-info}/RECORD +31 -31
  28. {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.149.0.dist-info}/LICENSE +0 -0
  29. {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.149.0.dist-info}/NOTICE +0 -0
  30. {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.149.0.dist-info}/WHEEL +0 -0
  31. {aws_cdk_lib-2.148.1.dist-info → aws_cdk_lib-2.149.0.dist-info}/top_level.txt +0 -0
@@ -204,6 +204,25 @@ Or import an existing one:
204
204
  deployment_config = codedeploy.ServerDeploymentConfig.from_server_deployment_config_name(self, "ExistingDeploymentConfiguration", "MyExistingDeploymentConfiguration")
205
205
  ```
206
206
 
207
+ ### Zonal Configuration
208
+
209
+ CodeDeploy can deploy your application to one Availability Zone at a time, within an AWS Region by configuring [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config).
210
+
211
+ To create a new deployment configuration with zonal configuration:
212
+
213
+ ```python
214
+ deployment_config = codedeploy.ServerDeploymentConfig(self, "DeploymentConfiguration",
215
+ minimum_healthy_hosts=codedeploy.MinimumHealthyHosts.count(2),
216
+ zonal_config=codedeploy.ZonalConfig(
217
+ monitor_duration=Duration.minutes(30),
218
+ first_zone_monitor_duration=Duration.minutes(60),
219
+ minimum_healthy_hosts_per_zone=codedeploy.MinimumHealthyHostsPerZone.count(1)
220
+ )
221
+ )
222
+ ```
223
+
224
+ **Note**: Zonal configuration is only configurable for EC2/on-premise deployments.
225
+
207
226
  ## Lambda Applications
208
227
 
209
228
  To create a new CodeDeploy Application that deploys to a Lambda function:
@@ -982,6 +1001,7 @@ class BaseDeploymentConfigOptions:
982
1001
  "compute_platform": "computePlatform",
983
1002
  "minimum_healthy_hosts": "minimumHealthyHosts",
984
1003
  "traffic_routing": "trafficRouting",
1004
+ "zonal_config": "zonalConfig",
985
1005
  },
986
1006
  )
987
1007
  class BaseDeploymentConfigProps(BaseDeploymentConfigOptions):
@@ -992,6 +1012,7 @@ class BaseDeploymentConfigProps(BaseDeploymentConfigOptions):
992
1012
  compute_platform: typing.Optional["ComputePlatform"] = None,
993
1013
  minimum_healthy_hosts: typing.Optional["MinimumHealthyHosts"] = None,
994
1014
  traffic_routing: typing.Optional["TrafficRouting"] = None,
1015
+ zonal_config: typing.Optional[typing.Union["ZonalConfig", typing.Dict[builtins.str, typing.Any]]] = None,
995
1016
  ) -> None:
996
1017
  '''Complete base deployment config properties that are required to be supplied by the implementation of the BaseDeploymentConfig class.
997
1018
 
@@ -999,6 +1020,7 @@ class BaseDeploymentConfigProps(BaseDeploymentConfigOptions):
999
1020
  :param compute_platform: The destination compute platform for the deployment. Default: ComputePlatform.Server
1000
1021
  :param minimum_healthy_hosts: Minimum number of healthy hosts. Default: None
1001
1022
  :param traffic_routing: The configuration that specifies how traffic is shifted during a deployment. Only applicable to ECS and Lambda deployments, and must not be specified for Server deployments. Default: None
1023
+ :param zonal_config: Configure CodeDeploy to deploy your application to one Availability Zone at a time within an AWS Region. Default: - deploy your application to a random selection of hosts across a Region
1002
1024
 
1003
1025
  :exampleMetadata: fixture=_generated
1004
1026
 
@@ -1006,24 +1028,34 @@ class BaseDeploymentConfigProps(BaseDeploymentConfigOptions):
1006
1028
 
1007
1029
  # The code below shows an example of how to instantiate this type.
1008
1030
  # The values are placeholders you should change.
1031
+ import aws_cdk as cdk
1009
1032
  from aws_cdk import aws_codedeploy as codedeploy
1010
1033
 
1011
1034
  # minimum_healthy_hosts: codedeploy.MinimumHealthyHosts
1035
+ # minimum_healthy_hosts_per_zone: codedeploy.MinimumHealthyHostsPerZone
1012
1036
  # traffic_routing: codedeploy.TrafficRouting
1013
1037
 
1014
1038
  base_deployment_config_props = codedeploy.BaseDeploymentConfigProps(
1015
1039
  compute_platform=codedeploy.ComputePlatform.SERVER,
1016
1040
  deployment_config_name="deploymentConfigName",
1017
1041
  minimum_healthy_hosts=minimum_healthy_hosts,
1018
- traffic_routing=traffic_routing
1042
+ traffic_routing=traffic_routing,
1043
+ zonal_config=codedeploy.ZonalConfig(
1044
+ first_zone_monitor_duration=cdk.Duration.minutes(30),
1045
+ minimum_healthy_hosts_per_zone=minimum_healthy_hosts_per_zone,
1046
+ monitor_duration=cdk.Duration.minutes(30)
1047
+ )
1019
1048
  )
1020
1049
  '''
1050
+ if isinstance(zonal_config, dict):
1051
+ zonal_config = ZonalConfig(**zonal_config)
1021
1052
  if __debug__:
1022
1053
  type_hints = typing.get_type_hints(_typecheckingstub__d482592e3c5f65fb9559b3e230fe81eab72a36fdd6c5a5b3cad1b4206b327f9f)
1023
1054
  check_type(argname="argument deployment_config_name", value=deployment_config_name, expected_type=type_hints["deployment_config_name"])
1024
1055
  check_type(argname="argument compute_platform", value=compute_platform, expected_type=type_hints["compute_platform"])
1025
1056
  check_type(argname="argument minimum_healthy_hosts", value=minimum_healthy_hosts, expected_type=type_hints["minimum_healthy_hosts"])
1026
1057
  check_type(argname="argument traffic_routing", value=traffic_routing, expected_type=type_hints["traffic_routing"])
1058
+ check_type(argname="argument zonal_config", value=zonal_config, expected_type=type_hints["zonal_config"])
1027
1059
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1028
1060
  if deployment_config_name is not None:
1029
1061
  self._values["deployment_config_name"] = deployment_config_name
@@ -1033,6 +1065,8 @@ class BaseDeploymentConfigProps(BaseDeploymentConfigOptions):
1033
1065
  self._values["minimum_healthy_hosts"] = minimum_healthy_hosts
1034
1066
  if traffic_routing is not None:
1035
1067
  self._values["traffic_routing"] = traffic_routing
1068
+ if zonal_config is not None:
1069
+ self._values["zonal_config"] = zonal_config
1036
1070
 
1037
1071
  @builtins.property
1038
1072
  def deployment_config_name(self) -> typing.Optional[builtins.str]:
@@ -1072,6 +1106,17 @@ class BaseDeploymentConfigProps(BaseDeploymentConfigOptions):
1072
1106
  result = self._values.get("traffic_routing")
1073
1107
  return typing.cast(typing.Optional["TrafficRouting"], result)
1074
1108
 
1109
+ @builtins.property
1110
+ def zonal_config(self) -> typing.Optional["ZonalConfig"]:
1111
+ '''Configure CodeDeploy to deploy your application to one Availability Zone at a time within an AWS Region.
1112
+
1113
+ :default: - deploy your application to a random selection of hosts across a Region
1114
+
1115
+ :see: https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config
1116
+ '''
1117
+ result = self._values.get("zonal_config")
1118
+ return typing.cast(typing.Optional["ZonalConfig"], result)
1119
+
1075
1120
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1076
1121
  return isinstance(rhs, self.__class__) and rhs._values == self._values
1077
1122
 
@@ -7990,7 +8035,7 @@ class MinimumHealthyHosts(
7990
8035
  @jsii.member(jsii_name="count")
7991
8036
  @builtins.classmethod
7992
8037
  def count(cls, value: jsii.Number) -> "MinimumHealthyHosts":
7993
- '''The minimum healhty hosts threshold expressed as an absolute number.
8038
+ '''The minimum healthy hosts threshold expressed as an absolute number.
7994
8039
 
7995
8040
  :param value: -
7996
8041
  '''
@@ -8002,7 +8047,7 @@ class MinimumHealthyHosts(
8002
8047
  @jsii.member(jsii_name="percentage")
8003
8048
  @builtins.classmethod
8004
8049
  def percentage(cls, value: jsii.Number) -> "MinimumHealthyHosts":
8005
- '''The minmum healhty hosts threshold expressed as a percentage of the fleet.
8050
+ '''The minimum healthy hosts threshold expressed as a percentage of the fleet.
8006
8051
 
8007
8052
  :param value: -
8008
8053
  '''
@@ -8012,6 +8057,51 @@ class MinimumHealthyHosts(
8012
8057
  return typing.cast("MinimumHealthyHosts", jsii.sinvoke(cls, "percentage", [value]))
8013
8058
 
8014
8059
 
8060
+ class MinimumHealthyHostsPerZone(
8061
+ metaclass=jsii.JSIIMeta,
8062
+ jsii_type="aws-cdk-lib.aws_codedeploy.MinimumHealthyHostsPerZone",
8063
+ ):
8064
+ '''Minimum number of healthy hosts per availability zone for a server deployment.
8065
+
8066
+ :exampleMetadata: infused
8067
+
8068
+ Example::
8069
+
8070
+ deployment_config = codedeploy.ServerDeploymentConfig(self, "DeploymentConfiguration",
8071
+ minimum_healthy_hosts=codedeploy.MinimumHealthyHosts.count(2),
8072
+ zonal_config=codedeploy.ZonalConfig(
8073
+ monitor_duration=Duration.minutes(30),
8074
+ first_zone_monitor_duration=Duration.minutes(60),
8075
+ minimum_healthy_hosts_per_zone=codedeploy.MinimumHealthyHostsPerZone.count(1)
8076
+ )
8077
+ )
8078
+ '''
8079
+
8080
+ @jsii.member(jsii_name="count")
8081
+ @builtins.classmethod
8082
+ def count(cls, value: jsii.Number) -> "MinimumHealthyHostsPerZone":
8083
+ '''The minimum healthy hosts threshold expressed as an absolute number.
8084
+
8085
+ :param value: -
8086
+ '''
8087
+ if __debug__:
8088
+ type_hints = typing.get_type_hints(_typecheckingstub__eccc54cbc4cc48bc8d4e0d61ba6ab67a555a3dd8c67ba3c554298b4550ec6f59)
8089
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8090
+ return typing.cast("MinimumHealthyHostsPerZone", jsii.sinvoke(cls, "count", [value]))
8091
+
8092
+ @jsii.member(jsii_name="percentage")
8093
+ @builtins.classmethod
8094
+ def percentage(cls, value: jsii.Number) -> "MinimumHealthyHostsPerZone":
8095
+ '''The minimum healthy hosts threshold expressed as a percentage of the fleet.
8096
+
8097
+ :param value: -
8098
+ '''
8099
+ if __debug__:
8100
+ type_hints = typing.get_type_hints(_typecheckingstub__75bdd06c1ec9d52232bc0151dd7dbfd975c0fe0a98b66121298028c191aae9e1)
8101
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8102
+ return typing.cast("MinimumHealthyHostsPerZone", jsii.sinvoke(cls, "percentage", [value]))
8103
+
8104
+
8015
8105
  @jsii.implements(IServerApplication)
8016
8106
  class ServerApplication(
8017
8107
  _Resource_45bc6135,
@@ -8167,6 +8257,7 @@ class ServerApplicationProps:
8167
8257
  name_mapping={
8168
8258
  "deployment_config_name": "deploymentConfigName",
8169
8259
  "minimum_healthy_hosts": "minimumHealthyHosts",
8260
+ "zonal_config": "zonalConfig",
8170
8261
  },
8171
8262
  )
8172
8263
  class ServerDeploymentConfigProps(BaseDeploymentConfigOptions):
@@ -8175,11 +8266,13 @@ class ServerDeploymentConfigProps(BaseDeploymentConfigOptions):
8175
8266
  *,
8176
8267
  deployment_config_name: typing.Optional[builtins.str] = None,
8177
8268
  minimum_healthy_hosts: MinimumHealthyHosts,
8269
+ zonal_config: typing.Optional[typing.Union["ZonalConfig", typing.Dict[builtins.str, typing.Any]]] = None,
8178
8270
  ) -> None:
8179
8271
  '''Construction properties of ``ServerDeploymentConfig``.
8180
8272
 
8181
8273
  :param deployment_config_name: The physical, human-readable name of the Deployment Configuration. Default: - automatically generated name
8182
8274
  :param minimum_healthy_hosts: Minimum number of healthy hosts.
8275
+ :param zonal_config: Configure CodeDeploy to deploy your application to one Availability Zone at a time within an AWS Region. Default: - deploy your application to a random selection of hosts across a Region
8183
8276
 
8184
8277
  :exampleMetadata: infused
8185
8278
 
@@ -8191,15 +8284,20 @@ class ServerDeploymentConfigProps(BaseDeploymentConfigOptions):
8191
8284
  minimum_healthy_hosts=codedeploy.MinimumHealthyHosts.count(2)
8192
8285
  )
8193
8286
  '''
8287
+ if isinstance(zonal_config, dict):
8288
+ zonal_config = ZonalConfig(**zonal_config)
8194
8289
  if __debug__:
8195
8290
  type_hints = typing.get_type_hints(_typecheckingstub__46be421d00313823efbbb0072b871dc311f7d9fca8dee4c13562ddd078f8cd37)
8196
8291
  check_type(argname="argument deployment_config_name", value=deployment_config_name, expected_type=type_hints["deployment_config_name"])
8197
8292
  check_type(argname="argument minimum_healthy_hosts", value=minimum_healthy_hosts, expected_type=type_hints["minimum_healthy_hosts"])
8293
+ check_type(argname="argument zonal_config", value=zonal_config, expected_type=type_hints["zonal_config"])
8198
8294
  self._values: typing.Dict[builtins.str, typing.Any] = {
8199
8295
  "minimum_healthy_hosts": minimum_healthy_hosts,
8200
8296
  }
8201
8297
  if deployment_config_name is not None:
8202
8298
  self._values["deployment_config_name"] = deployment_config_name
8299
+ if zonal_config is not None:
8300
+ self._values["zonal_config"] = zonal_config
8203
8301
 
8204
8302
  @builtins.property
8205
8303
  def deployment_config_name(self) -> typing.Optional[builtins.str]:
@@ -8217,6 +8315,15 @@ class ServerDeploymentConfigProps(BaseDeploymentConfigOptions):
8217
8315
  assert result is not None, "Required property 'minimum_healthy_hosts' is missing"
8218
8316
  return typing.cast(MinimumHealthyHosts, result)
8219
8317
 
8318
+ @builtins.property
8319
+ def zonal_config(self) -> typing.Optional["ZonalConfig"]:
8320
+ '''Configure CodeDeploy to deploy your application to one Availability Zone at a time within an AWS Region.
8321
+
8322
+ :default: - deploy your application to a random selection of hosts across a Region
8323
+ '''
8324
+ result = self._values.get("zonal_config")
8325
+ return typing.cast(typing.Optional["ZonalConfig"], result)
8326
+
8220
8327
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
8221
8328
  return isinstance(rhs, self.__class__) and rhs._values == self._values
8222
8329
 
@@ -9109,6 +9216,110 @@ class TrafficRoutingConfig:
9109
9216
  )
9110
9217
 
9111
9218
 
9219
+ @jsii.data_type(
9220
+ jsii_type="aws-cdk-lib.aws_codedeploy.ZonalConfig",
9221
+ jsii_struct_bases=[],
9222
+ name_mapping={
9223
+ "first_zone_monitor_duration": "firstZoneMonitorDuration",
9224
+ "minimum_healthy_hosts_per_zone": "minimumHealthyHostsPerZone",
9225
+ "monitor_duration": "monitorDuration",
9226
+ },
9227
+ )
9228
+ class ZonalConfig:
9229
+ def __init__(
9230
+ self,
9231
+ *,
9232
+ first_zone_monitor_duration: typing.Optional[_Duration_4839e8c3] = None,
9233
+ minimum_healthy_hosts_per_zone: typing.Optional[MinimumHealthyHostsPerZone] = None,
9234
+ monitor_duration: typing.Optional[_Duration_4839e8c3] = None,
9235
+ ) -> None:
9236
+ '''Configuration for CodeDeploy to deploy your application to one Availability Zone at a time within an AWS Region.
9237
+
9238
+ :param first_zone_monitor_duration: The period of time that CodeDeploy must wait after completing a deployment to the first Availability Zone. Accepted Values: - 0 - Greater than or equal to 1 Default: - the same value as ``monitorDuration``
9239
+ :param minimum_healthy_hosts_per_zone: The number or percentage of instances that must remain available per Availability Zone during a deployment. This option works in conjunction with the ``minimumHealthyHosts`` option. Default: - 0 percent
9240
+ :param monitor_duration: The period of time that CodeDeploy must wait after completing a deployment to an Availability Zone. Accepted Values: - 0 - Greater than or equal to 1 Default: - CodeDeploy starts deploying to the next Availability Zone immediately
9241
+
9242
+ :exampleMetadata: infused
9243
+
9244
+ Example::
9245
+
9246
+ deployment_config = codedeploy.ServerDeploymentConfig(self, "DeploymentConfiguration",
9247
+ minimum_healthy_hosts=codedeploy.MinimumHealthyHosts.count(2),
9248
+ zonal_config=codedeploy.ZonalConfig(
9249
+ monitor_duration=Duration.minutes(30),
9250
+ first_zone_monitor_duration=Duration.minutes(60),
9251
+ minimum_healthy_hosts_per_zone=codedeploy.MinimumHealthyHostsPerZone.count(1)
9252
+ )
9253
+ )
9254
+ '''
9255
+ if __debug__:
9256
+ type_hints = typing.get_type_hints(_typecheckingstub__4e3b953d8872e36c383f9e09cfb712143f81f7357675dc0a7a44b700b05d5168)
9257
+ check_type(argname="argument first_zone_monitor_duration", value=first_zone_monitor_duration, expected_type=type_hints["first_zone_monitor_duration"])
9258
+ check_type(argname="argument minimum_healthy_hosts_per_zone", value=minimum_healthy_hosts_per_zone, expected_type=type_hints["minimum_healthy_hosts_per_zone"])
9259
+ check_type(argname="argument monitor_duration", value=monitor_duration, expected_type=type_hints["monitor_duration"])
9260
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9261
+ if first_zone_monitor_duration is not None:
9262
+ self._values["first_zone_monitor_duration"] = first_zone_monitor_duration
9263
+ if minimum_healthy_hosts_per_zone is not None:
9264
+ self._values["minimum_healthy_hosts_per_zone"] = minimum_healthy_hosts_per_zone
9265
+ if monitor_duration is not None:
9266
+ self._values["monitor_duration"] = monitor_duration
9267
+
9268
+ @builtins.property
9269
+ def first_zone_monitor_duration(self) -> typing.Optional[_Duration_4839e8c3]:
9270
+ '''The period of time that CodeDeploy must wait after completing a deployment to the first Availability Zone.
9271
+
9272
+ Accepted Values:
9273
+
9274
+ - 0
9275
+ - Greater than or equal to 1
9276
+
9277
+ :default: - the same value as ``monitorDuration``
9278
+ '''
9279
+ result = self._values.get("first_zone_monitor_duration")
9280
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
9281
+
9282
+ @builtins.property
9283
+ def minimum_healthy_hosts_per_zone(
9284
+ self,
9285
+ ) -> typing.Optional[MinimumHealthyHostsPerZone]:
9286
+ '''The number or percentage of instances that must remain available per Availability Zone during a deployment.
9287
+
9288
+ This option works in conjunction with the ``minimumHealthyHosts`` option.
9289
+
9290
+ :default: - 0 percent
9291
+
9292
+ :see: https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az
9293
+ '''
9294
+ result = self._values.get("minimum_healthy_hosts_per_zone")
9295
+ return typing.cast(typing.Optional[MinimumHealthyHostsPerZone], result)
9296
+
9297
+ @builtins.property
9298
+ def monitor_duration(self) -> typing.Optional[_Duration_4839e8c3]:
9299
+ '''The period of time that CodeDeploy must wait after completing a deployment to an Availability Zone.
9300
+
9301
+ Accepted Values:
9302
+
9303
+ - 0
9304
+ - Greater than or equal to 1
9305
+
9306
+ :default: - CodeDeploy starts deploying to the next Availability Zone immediately
9307
+ '''
9308
+ result = self._values.get("monitor_duration")
9309
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
9310
+
9311
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9312
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9313
+
9314
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9315
+ return not (rhs == self)
9316
+
9317
+ def __repr__(self) -> str:
9318
+ return "ZonalConfig(%s)" % ", ".join(
9319
+ k + "=" + repr(v) for k, v in self._values.items()
9320
+ )
9321
+
9322
+
9112
9323
  class AllAtOnceTrafficRouting(
9113
9324
  TrafficRouting,
9114
9325
  metaclass=jsii.JSIIMeta,
@@ -9161,6 +9372,7 @@ class BaseDeploymentConfig(
9161
9372
  compute_platform: typing.Optional[ComputePlatform] = None,
9162
9373
  minimum_healthy_hosts: typing.Optional[MinimumHealthyHosts] = None,
9163
9374
  traffic_routing: typing.Optional[TrafficRouting] = None,
9375
+ zonal_config: typing.Optional[typing.Union[ZonalConfig, typing.Dict[builtins.str, typing.Any]]] = None,
9164
9376
  deployment_config_name: typing.Optional[builtins.str] = None,
9165
9377
  ) -> None:
9166
9378
  '''
@@ -9169,6 +9381,7 @@ class BaseDeploymentConfig(
9169
9381
  :param compute_platform: The destination compute platform for the deployment. Default: ComputePlatform.Server
9170
9382
  :param minimum_healthy_hosts: Minimum number of healthy hosts. Default: None
9171
9383
  :param traffic_routing: The configuration that specifies how traffic is shifted during a deployment. Only applicable to ECS and Lambda deployments, and must not be specified for Server deployments. Default: None
9384
+ :param zonal_config: Configure CodeDeploy to deploy your application to one Availability Zone at a time within an AWS Region. Default: - deploy your application to a random selection of hosts across a Region
9172
9385
  :param deployment_config_name: The physical, human-readable name of the Deployment Configuration. Default: - automatically generated name
9173
9386
  '''
9174
9387
  if __debug__:
@@ -9179,6 +9392,7 @@ class BaseDeploymentConfig(
9179
9392
  compute_platform=compute_platform,
9180
9393
  minimum_healthy_hosts=minimum_healthy_hosts,
9181
9394
  traffic_routing=traffic_routing,
9395
+ zonal_config=zonal_config,
9182
9396
  deployment_config_name=deployment_config_name,
9183
9397
  )
9184
9398
 
@@ -9899,8 +10113,10 @@ class ServerDeploymentConfig(
9899
10113
 
9900
10114
  Example::
9901
10115
 
9902
- deployment_group = codedeploy.ServerDeploymentGroup(self, "CodeDeployDeploymentGroup",
9903
- deployment_config=codedeploy.ServerDeploymentConfig.ALL_AT_ONCE
10116
+ deployment_config = codedeploy.ServerDeploymentConfig(self, "DeploymentConfiguration",
10117
+ deployment_config_name="MyDeploymentConfiguration", # optional property
10118
+ # one of these is required, but both cannot be specified at the same time
10119
+ minimum_healthy_hosts=codedeploy.MinimumHealthyHosts.count(2)
9904
10120
  )
9905
10121
  '''
9906
10122
 
@@ -9910,12 +10126,14 @@ class ServerDeploymentConfig(
9910
10126
  id: builtins.str,
9911
10127
  *,
9912
10128
  minimum_healthy_hosts: MinimumHealthyHosts,
10129
+ zonal_config: typing.Optional[typing.Union[ZonalConfig, typing.Dict[builtins.str, typing.Any]]] = None,
9913
10130
  deployment_config_name: typing.Optional[builtins.str] = None,
9914
10131
  ) -> None:
9915
10132
  '''
9916
10133
  :param scope: -
9917
10134
  :param id: -
9918
10135
  :param minimum_healthy_hosts: Minimum number of healthy hosts.
10136
+ :param zonal_config: Configure CodeDeploy to deploy your application to one Availability Zone at a time within an AWS Region. Default: - deploy your application to a random selection of hosts across a Region
9919
10137
  :param deployment_config_name: The physical, human-readable name of the Deployment Configuration. Default: - automatically generated name
9920
10138
  '''
9921
10139
  if __debug__:
@@ -9924,6 +10142,7 @@ class ServerDeploymentConfig(
9924
10142
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
9925
10143
  props = ServerDeploymentConfigProps(
9926
10144
  minimum_healthy_hosts=minimum_healthy_hosts,
10145
+ zonal_config=zonal_config,
9927
10146
  deployment_config_name=deployment_config_name,
9928
10147
  )
9929
10148
 
@@ -10147,6 +10366,7 @@ __all__ = [
10147
10366
  "LoadBalancer",
10148
10367
  "LoadBalancerGeneration",
10149
10368
  "MinimumHealthyHosts",
10369
+ "MinimumHealthyHostsPerZone",
10150
10370
  "ServerApplication",
10151
10371
  "ServerApplicationProps",
10152
10372
  "ServerDeploymentConfig",
@@ -10160,6 +10380,7 @@ __all__ = [
10160
10380
  "TimeBasedLinearTrafficRoutingProps",
10161
10381
  "TrafficRouting",
10162
10382
  "TrafficRoutingConfig",
10383
+ "ZonalConfig",
10163
10384
  ]
10164
10385
 
10165
10386
  publication.publish()
@@ -10186,6 +10407,7 @@ def _typecheckingstub__d482592e3c5f65fb9559b3e230fe81eab72a36fdd6c5a5b3cad1b4206
10186
10407
  compute_platform: typing.Optional[ComputePlatform] = None,
10187
10408
  minimum_healthy_hosts: typing.Optional[MinimumHealthyHosts] = None,
10188
10409
  traffic_routing: typing.Optional[TrafficRouting] = None,
10410
+ zonal_config: typing.Optional[typing.Union[ZonalConfig, typing.Dict[builtins.str, typing.Any]]] = None,
10189
10411
  ) -> None:
10190
10412
  """Type checking stubs"""
10191
10413
  pass
@@ -10994,6 +11216,18 @@ def _typecheckingstub__6c2a97036f753857be857236ee3fb97ddf235514bd9c31466fb2e5691
10994
11216
  """Type checking stubs"""
10995
11217
  pass
10996
11218
 
11219
+ def _typecheckingstub__eccc54cbc4cc48bc8d4e0d61ba6ab67a555a3dd8c67ba3c554298b4550ec6f59(
11220
+ value: jsii.Number,
11221
+ ) -> None:
11222
+ """Type checking stubs"""
11223
+ pass
11224
+
11225
+ def _typecheckingstub__75bdd06c1ec9d52232bc0151dd7dbfd975c0fe0a98b66121298028c191aae9e1(
11226
+ value: jsii.Number,
11227
+ ) -> None:
11228
+ """Type checking stubs"""
11229
+ pass
11230
+
10997
11231
  def _typecheckingstub__ff491d45a3da21d4d70991ac332ef8f240b72138a59519fcf6c3da3a3a9cb970(
10998
11232
  scope: _constructs_77d1e7e8.Construct,
10999
11233
  id: builtins.str,
@@ -11030,6 +11264,7 @@ def _typecheckingstub__46be421d00313823efbbb0072b871dc311f7d9fca8dee4c13562ddd07
11030
11264
  *,
11031
11265
  deployment_config_name: typing.Optional[builtins.str] = None,
11032
11266
  minimum_healthy_hosts: MinimumHealthyHosts,
11267
+ zonal_config: typing.Optional[typing.Union[ZonalConfig, typing.Dict[builtins.str, typing.Any]]] = None,
11033
11268
  ) -> None:
11034
11269
  """Type checking stubs"""
11035
11270
  pass
@@ -11141,6 +11376,15 @@ def _typecheckingstub__b845a8828051dc720d79c0332ea3470f754dd765be05c704a97b65823
11141
11376
  """Type checking stubs"""
11142
11377
  pass
11143
11378
 
11379
+ def _typecheckingstub__4e3b953d8872e36c383f9e09cfb712143f81f7357675dc0a7a44b700b05d5168(
11380
+ *,
11381
+ first_zone_monitor_duration: typing.Optional[_Duration_4839e8c3] = None,
11382
+ minimum_healthy_hosts_per_zone: typing.Optional[MinimumHealthyHostsPerZone] = None,
11383
+ monitor_duration: typing.Optional[_Duration_4839e8c3] = None,
11384
+ ) -> None:
11385
+ """Type checking stubs"""
11386
+ pass
11387
+
11144
11388
  def _typecheckingstub__f05ebc00e48366a13e2ad293e1822da6d979a050647a74d9f563aab403921d0d(
11145
11389
  _scope: _constructs_77d1e7e8.Construct,
11146
11390
  ) -> None:
@@ -11154,6 +11398,7 @@ def _typecheckingstub__f7be4ac008b1dbe1f91bb986ac7bb32dd779f4962b7a7696d9064b17f
11154
11398
  compute_platform: typing.Optional[ComputePlatform] = None,
11155
11399
  minimum_healthy_hosts: typing.Optional[MinimumHealthyHosts] = None,
11156
11400
  traffic_routing: typing.Optional[TrafficRouting] = None,
11401
+ zonal_config: typing.Optional[typing.Union[ZonalConfig, typing.Dict[builtins.str, typing.Any]]] = None,
11157
11402
  deployment_config_name: typing.Optional[builtins.str] = None,
11158
11403
  ) -> None:
11159
11404
  """Type checking stubs"""
@@ -11289,6 +11534,7 @@ def _typecheckingstub__0188bedb6550f8f8ec5175aae5830d1c200a93e114c45fc9d6b3942b7
11289
11534
  id: builtins.str,
11290
11535
  *,
11291
11536
  minimum_healthy_hosts: MinimumHealthyHosts,
11537
+ zonal_config: typing.Optional[typing.Union[ZonalConfig, typing.Dict[builtins.str, typing.Any]]] = None,
11292
11538
  deployment_config_name: typing.Optional[builtins.str] = None,
11293
11539
  ) -> None:
11294
11540
  """Type checking stubs"""