cdk-mwaa 0.0.7__tar.gz → 0.0.9__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cdk-mwaa
3
- Version: 0.0.7
3
+ Version: 0.0.9
4
4
  Summary: cdk-mwaa
5
5
  Home-page: https://github.com/hupe1980/cdk-mwaa.git
6
6
  Author: hupe1980<frankhuebner1980@gmail.com>
@@ -5,7 +5,7 @@ kwargs = json.loads(
5
5
  """
6
6
  {
7
7
  "name": "cdk-mwaa",
8
- "version": "0.0.7",
8
+ "version": "0.0.9",
9
9
  "description": "cdk-mwaa",
10
10
  "license": "MIT",
11
11
  "url": "https://github.com/hupe1980/cdk-mwaa.git",
@@ -26,7 +26,7 @@ kwargs = json.loads(
26
26
  ],
27
27
  "package_data": {
28
28
  "cdk_mwaa._jsii": [
29
- "cdk-mwaa@0.0.7.jsii.tgz"
29
+ "cdk-mwaa@0.0.9.jsii.tgz"
30
30
  ],
31
31
  "cdk_mwaa": [
32
32
  "py.typed"
@@ -128,6 +128,127 @@ import aws_cdk.aws_s3 as _aws_cdk_aws_s3_ceddda9d
128
128
  import constructs as _constructs_77d1e7e8
129
129
 
130
130
 
131
+ class BaseVpc(
132
+ _aws_cdk_aws_ec2_ceddda9d.Vpc,
133
+ metaclass=jsii.JSIIAbstractClass,
134
+ jsii_type="cdk-mwaa.BaseVpc",
135
+ ):
136
+ '''Abstract base class for creating a VPC with common configurations.'''
137
+
138
+ def __init__(
139
+ self,
140
+ scope: _constructs_77d1e7e8.Construct,
141
+ id: builtins.str,
142
+ *,
143
+ create_internet_gateway: builtins.bool,
144
+ subnet_configuration: typing.Sequence[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetConfiguration, typing.Dict[builtins.str, typing.Any]]],
145
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
146
+ nat_gateways: typing.Optional[jsii.Number] = None,
147
+ vpc_name: typing.Optional[builtins.str] = None,
148
+ ) -> None:
149
+ '''
150
+ :param scope: -
151
+ :param id: -
152
+ :param create_internet_gateway: Whether to create an Internet Gateway for public access.
153
+ :param subnet_configuration: Subnet configuration for the VPC.
154
+ :param ip_addresses: IP address allocation strategy for the VPC.
155
+ :param nat_gateways: Number of NAT gateways to create.
156
+ :param vpc_name: Optional name for the VPC.
157
+ '''
158
+ if __debug__:
159
+ type_hints = typing.get_type_hints(_typecheckingstub__36432c6d2bb93b3d16e7983780304847c92cd402d8b9d4a0d6f29506aa732ff5)
160
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
161
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
162
+ props = BaseVpcProps(
163
+ create_internet_gateway=create_internet_gateway,
164
+ subnet_configuration=subnet_configuration,
165
+ ip_addresses=ip_addresses,
166
+ nat_gateways=nat_gateways,
167
+ vpc_name=vpc_name,
168
+ )
169
+
170
+ jsii.create(self.__class__, self, [scope, id, props])
171
+
172
+ @builtins.property
173
+ @jsii.member(jsii_name="s3VpcEndpoint")
174
+ def s3_vpc_endpoint(self) -> _aws_cdk_aws_ec2_ceddda9d.GatewayVpcEndpoint:
175
+ '''S3 Gateway VPC Endpoint.'''
176
+ return typing.cast(_aws_cdk_aws_ec2_ceddda9d.GatewayVpcEndpoint, jsii.get(self, "s3VpcEndpoint"))
177
+
178
+
179
+ class _BaseVpcProxy(BaseVpc):
180
+ pass
181
+
182
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
183
+ typing.cast(typing.Any, BaseVpc).__jsii_proxy_class__ = lambda : _BaseVpcProxy
184
+
185
+
186
+ @jsii.data_type(
187
+ jsii_type="cdk-mwaa.CommonVpcProps",
188
+ jsii_struct_bases=[],
189
+ name_mapping={
190
+ "ip_addresses": "ipAddresses",
191
+ "nat_gateways": "natGateways",
192
+ "vpc_name": "vpcName",
193
+ },
194
+ )
195
+ class CommonVpcProps:
196
+ def __init__(
197
+ self,
198
+ *,
199
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
200
+ nat_gateways: typing.Optional[jsii.Number] = None,
201
+ vpc_name: typing.Optional[builtins.str] = None,
202
+ ) -> None:
203
+ '''Common properties shared across different VPC constructs.
204
+
205
+ :param ip_addresses: IP address allocation strategy for the VPC.
206
+ :param nat_gateways: Number of NAT gateways to create.
207
+ :param vpc_name: Optional name for the VPC.
208
+ '''
209
+ if __debug__:
210
+ type_hints = typing.get_type_hints(_typecheckingstub__60109e2a88eeebcaea010b7e40b7c342ff04bb32117665b005b7c01620dafa51)
211
+ check_type(argname="argument ip_addresses", value=ip_addresses, expected_type=type_hints["ip_addresses"])
212
+ check_type(argname="argument nat_gateways", value=nat_gateways, expected_type=type_hints["nat_gateways"])
213
+ check_type(argname="argument vpc_name", value=vpc_name, expected_type=type_hints["vpc_name"])
214
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
215
+ if ip_addresses is not None:
216
+ self._values["ip_addresses"] = ip_addresses
217
+ if nat_gateways is not None:
218
+ self._values["nat_gateways"] = nat_gateways
219
+ if vpc_name is not None:
220
+ self._values["vpc_name"] = vpc_name
221
+
222
+ @builtins.property
223
+ def ip_addresses(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses]:
224
+ '''IP address allocation strategy for the VPC.'''
225
+ result = self._values.get("ip_addresses")
226
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses], result)
227
+
228
+ @builtins.property
229
+ def nat_gateways(self) -> typing.Optional[jsii.Number]:
230
+ '''Number of NAT gateways to create.'''
231
+ result = self._values.get("nat_gateways")
232
+ return typing.cast(typing.Optional[jsii.Number], result)
233
+
234
+ @builtins.property
235
+ def vpc_name(self) -> typing.Optional[builtins.str]:
236
+ '''Optional name for the VPC.'''
237
+ result = self._values.get("vpc_name")
238
+ return typing.cast(typing.Optional[builtins.str], result)
239
+
240
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
241
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
242
+
243
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
244
+ return not (rhs == self)
245
+
246
+ def __repr__(self) -> str:
247
+ return "CommonVpcProps(%s)" % ", ".join(
248
+ k + "=" + repr(v) for k, v in self._values.items()
249
+ )
250
+
251
+
131
252
  @jsii.data_type(
132
253
  jsii_type="cdk-mwaa.ConfigFile",
133
254
  jsii_struct_bases=[],
@@ -1377,6 +1498,147 @@ class MWAAProps:
1377
1498
  )
1378
1499
 
1379
1500
 
1501
+ class PrivateRoutingVpc(
1502
+ BaseVpc,
1503
+ metaclass=jsii.JSIIMeta,
1504
+ jsii_type="cdk-mwaa.PrivateRoutingVpc",
1505
+ ):
1506
+ '''A VPC with only private isolated subnets, intended for internal workloads.'''
1507
+
1508
+ def __init__(
1509
+ self,
1510
+ scope: _constructs_77d1e7e8.Construct,
1511
+ id: builtins.str,
1512
+ *,
1513
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
1514
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
1515
+ nat_gateways: typing.Optional[jsii.Number] = None,
1516
+ vpc_name: typing.Optional[builtins.str] = None,
1517
+ ) -> None:
1518
+ '''
1519
+ :param scope: -
1520
+ :param id: -
1521
+ :param subnet_cidr_mask: CIDR mask size for subnets.
1522
+ :param ip_addresses: IP address allocation strategy for the VPC.
1523
+ :param nat_gateways: Number of NAT gateways to create.
1524
+ :param vpc_name: Optional name for the VPC.
1525
+ '''
1526
+ if __debug__:
1527
+ type_hints = typing.get_type_hints(_typecheckingstub__c73ed3944fc6b46a3f86d85ff5f840bb8271f57e5ac4500ccb58913c1f2a4fe5)
1528
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1529
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1530
+ props = PrivateRoutingVpcProps(
1531
+ subnet_cidr_mask=subnet_cidr_mask,
1532
+ ip_addresses=ip_addresses,
1533
+ nat_gateways=nat_gateways,
1534
+ vpc_name=vpc_name,
1535
+ )
1536
+
1537
+ jsii.create(self.__class__, self, [scope, id, props])
1538
+
1539
+ @builtins.property
1540
+ @jsii.member(jsii_name="kmsVpcEndpoint")
1541
+ def kms_vpc_endpoint(self) -> _aws_cdk_aws_ec2_ceddda9d.InterfaceVpcEndpoint:
1542
+ '''Interface VPC Endpoint for KMS.'''
1543
+ return typing.cast(_aws_cdk_aws_ec2_ceddda9d.InterfaceVpcEndpoint, jsii.get(self, "kmsVpcEndpoint"))
1544
+
1545
+ @builtins.property
1546
+ @jsii.member(jsii_name="logsVpcEndpoint")
1547
+ def logs_vpc_endpoint(self) -> _aws_cdk_aws_ec2_ceddda9d.InterfaceVpcEndpoint:
1548
+ '''Interface VPC Endpoint for CloudWatch Logs.'''
1549
+ return typing.cast(_aws_cdk_aws_ec2_ceddda9d.InterfaceVpcEndpoint, jsii.get(self, "logsVpcEndpoint"))
1550
+
1551
+ @builtins.property
1552
+ @jsii.member(jsii_name="monitoringVpcEndpoint")
1553
+ def monitoring_vpc_endpoint(self) -> _aws_cdk_aws_ec2_ceddda9d.InterfaceVpcEndpoint:
1554
+ '''Interface VPC Endpoint for CloudWatch Monitoring.'''
1555
+ return typing.cast(_aws_cdk_aws_ec2_ceddda9d.InterfaceVpcEndpoint, jsii.get(self, "monitoringVpcEndpoint"))
1556
+
1557
+ @builtins.property
1558
+ @jsii.member(jsii_name="sqsVpcEndpoint")
1559
+ def sqs_vpc_endpoint(self) -> _aws_cdk_aws_ec2_ceddda9d.InterfaceVpcEndpoint:
1560
+ '''Interface VPC Endpoint for SQS.'''
1561
+ return typing.cast(_aws_cdk_aws_ec2_ceddda9d.InterfaceVpcEndpoint, jsii.get(self, "sqsVpcEndpoint"))
1562
+
1563
+
1564
+ @jsii.data_type(
1565
+ jsii_type="cdk-mwaa.PrivateRoutingVpcProps",
1566
+ jsii_struct_bases=[CommonVpcProps],
1567
+ name_mapping={
1568
+ "ip_addresses": "ipAddresses",
1569
+ "nat_gateways": "natGateways",
1570
+ "vpc_name": "vpcName",
1571
+ "subnet_cidr_mask": "subnetCidrMask",
1572
+ },
1573
+ )
1574
+ class PrivateRoutingVpcProps(CommonVpcProps):
1575
+ def __init__(
1576
+ self,
1577
+ *,
1578
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
1579
+ nat_gateways: typing.Optional[jsii.Number] = None,
1580
+ vpc_name: typing.Optional[builtins.str] = None,
1581
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
1582
+ ) -> None:
1583
+ '''Properties for a private-routing VPC.
1584
+
1585
+ :param ip_addresses: IP address allocation strategy for the VPC.
1586
+ :param nat_gateways: Number of NAT gateways to create.
1587
+ :param vpc_name: Optional name for the VPC.
1588
+ :param subnet_cidr_mask: CIDR mask size for subnets.
1589
+ '''
1590
+ if __debug__:
1591
+ type_hints = typing.get_type_hints(_typecheckingstub__abb7d9fedfeb8de5ea1c1fe17c4e16a596ae22d34807b9aebb1945cd6b11871e)
1592
+ check_type(argname="argument ip_addresses", value=ip_addresses, expected_type=type_hints["ip_addresses"])
1593
+ check_type(argname="argument nat_gateways", value=nat_gateways, expected_type=type_hints["nat_gateways"])
1594
+ check_type(argname="argument vpc_name", value=vpc_name, expected_type=type_hints["vpc_name"])
1595
+ check_type(argname="argument subnet_cidr_mask", value=subnet_cidr_mask, expected_type=type_hints["subnet_cidr_mask"])
1596
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1597
+ if ip_addresses is not None:
1598
+ self._values["ip_addresses"] = ip_addresses
1599
+ if nat_gateways is not None:
1600
+ self._values["nat_gateways"] = nat_gateways
1601
+ if vpc_name is not None:
1602
+ self._values["vpc_name"] = vpc_name
1603
+ if subnet_cidr_mask is not None:
1604
+ self._values["subnet_cidr_mask"] = subnet_cidr_mask
1605
+
1606
+ @builtins.property
1607
+ def ip_addresses(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses]:
1608
+ '''IP address allocation strategy for the VPC.'''
1609
+ result = self._values.get("ip_addresses")
1610
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses], result)
1611
+
1612
+ @builtins.property
1613
+ def nat_gateways(self) -> typing.Optional[jsii.Number]:
1614
+ '''Number of NAT gateways to create.'''
1615
+ result = self._values.get("nat_gateways")
1616
+ return typing.cast(typing.Optional[jsii.Number], result)
1617
+
1618
+ @builtins.property
1619
+ def vpc_name(self) -> typing.Optional[builtins.str]:
1620
+ '''Optional name for the VPC.'''
1621
+ result = self._values.get("vpc_name")
1622
+ return typing.cast(typing.Optional[builtins.str], result)
1623
+
1624
+ @builtins.property
1625
+ def subnet_cidr_mask(self) -> typing.Optional[jsii.Number]:
1626
+ '''CIDR mask size for subnets.'''
1627
+ result = self._values.get("subnet_cidr_mask")
1628
+ return typing.cast(typing.Optional[jsii.Number], result)
1629
+
1630
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1631
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1632
+
1633
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1634
+ return not (rhs == self)
1635
+
1636
+ def __repr__(self) -> str:
1637
+ return "PrivateRoutingVpcProps(%s)" % ", ".join(
1638
+ k + "=" + repr(v) for k, v in self._values.items()
1639
+ )
1640
+
1641
+
1380
1642
  class PublicRoutingMWAA(
1381
1643
  _constructs_77d1e7e8.Construct,
1382
1644
  metaclass=jsii.JSIIMeta,
@@ -1435,36 +1697,38 @@ class PublicRoutingMWAA(
1435
1697
 
1436
1698
 
1437
1699
  class PublicRoutingVpc(
1438
- _aws_cdk_aws_ec2_ceddda9d.Vpc,
1700
+ BaseVpc,
1439
1701
  metaclass=jsii.JSIIMeta,
1440
1702
  jsii_type="cdk-mwaa.PublicRoutingVpc",
1441
1703
  ):
1704
+ '''A VPC with public and private subnets, supporting internet access.'''
1705
+
1442
1706
  def __init__(
1443
1707
  self,
1444
1708
  scope: _constructs_77d1e7e8.Construct,
1445
1709
  id: builtins.str,
1446
1710
  *,
1711
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
1447
1712
  ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
1448
1713
  nat_gateways: typing.Optional[jsii.Number] = None,
1449
- subnet_cidr_mask: typing.Optional[jsii.Number] = None,
1450
1714
  vpc_name: typing.Optional[builtins.str] = None,
1451
1715
  ) -> None:
1452
1716
  '''
1453
1717
  :param scope: -
1454
1718
  :param id: -
1455
- :param ip_addresses:
1456
- :param nat_gateways:
1457
- :param subnet_cidr_mask:
1458
- :param vpc_name:
1719
+ :param subnet_cidr_mask: CIDR mask size for subnets.
1720
+ :param ip_addresses: IP address allocation strategy for the VPC.
1721
+ :param nat_gateways: Number of NAT gateways to create.
1722
+ :param vpc_name: Optional name for the VPC.
1459
1723
  '''
1460
1724
  if __debug__:
1461
1725
  type_hints = typing.get_type_hints(_typecheckingstub__1457f60cd9471b72ac15c6a135c3d32d6e6da4212ded7d4bab5ce7dbc54f545b)
1462
1726
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1463
1727
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1464
1728
  props = PublicRoutingVpcProps(
1729
+ subnet_cidr_mask=subnet_cidr_mask,
1465
1730
  ip_addresses=ip_addresses,
1466
1731
  nat_gateways=nat_gateways,
1467
- subnet_cidr_mask=subnet_cidr_mask,
1468
1732
  vpc_name=vpc_name,
1469
1733
  )
1470
1734
 
@@ -1473,65 +1737,70 @@ class PublicRoutingVpc(
1473
1737
 
1474
1738
  @jsii.data_type(
1475
1739
  jsii_type="cdk-mwaa.PublicRoutingVpcProps",
1476
- jsii_struct_bases=[],
1740
+ jsii_struct_bases=[CommonVpcProps],
1477
1741
  name_mapping={
1478
1742
  "ip_addresses": "ipAddresses",
1479
1743
  "nat_gateways": "natGateways",
1480
- "subnet_cidr_mask": "subnetCidrMask",
1481
1744
  "vpc_name": "vpcName",
1745
+ "subnet_cidr_mask": "subnetCidrMask",
1482
1746
  },
1483
1747
  )
1484
- class PublicRoutingVpcProps:
1748
+ class PublicRoutingVpcProps(CommonVpcProps):
1485
1749
  def __init__(
1486
1750
  self,
1487
1751
  *,
1488
1752
  ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
1489
1753
  nat_gateways: typing.Optional[jsii.Number] = None,
1490
- subnet_cidr_mask: typing.Optional[jsii.Number] = None,
1491
1754
  vpc_name: typing.Optional[builtins.str] = None,
1755
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
1492
1756
  ) -> None:
1493
- '''
1494
- :param ip_addresses:
1495
- :param nat_gateways:
1496
- :param subnet_cidr_mask:
1497
- :param vpc_name:
1757
+ '''Properties for a public-routing VPC.
1758
+
1759
+ :param ip_addresses: IP address allocation strategy for the VPC.
1760
+ :param nat_gateways: Number of NAT gateways to create.
1761
+ :param vpc_name: Optional name for the VPC.
1762
+ :param subnet_cidr_mask: CIDR mask size for subnets.
1498
1763
  '''
1499
1764
  if __debug__:
1500
1765
  type_hints = typing.get_type_hints(_typecheckingstub__bad12722757576263840116af2af2fd609cfd2cf55cf7c60a41c0f39c43e9ca1)
1501
1766
  check_type(argname="argument ip_addresses", value=ip_addresses, expected_type=type_hints["ip_addresses"])
1502
1767
  check_type(argname="argument nat_gateways", value=nat_gateways, expected_type=type_hints["nat_gateways"])
1503
- check_type(argname="argument subnet_cidr_mask", value=subnet_cidr_mask, expected_type=type_hints["subnet_cidr_mask"])
1504
1768
  check_type(argname="argument vpc_name", value=vpc_name, expected_type=type_hints["vpc_name"])
1769
+ check_type(argname="argument subnet_cidr_mask", value=subnet_cidr_mask, expected_type=type_hints["subnet_cidr_mask"])
1505
1770
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1506
1771
  if ip_addresses is not None:
1507
1772
  self._values["ip_addresses"] = ip_addresses
1508
1773
  if nat_gateways is not None:
1509
1774
  self._values["nat_gateways"] = nat_gateways
1510
- if subnet_cidr_mask is not None:
1511
- self._values["subnet_cidr_mask"] = subnet_cidr_mask
1512
1775
  if vpc_name is not None:
1513
1776
  self._values["vpc_name"] = vpc_name
1777
+ if subnet_cidr_mask is not None:
1778
+ self._values["subnet_cidr_mask"] = subnet_cidr_mask
1514
1779
 
1515
1780
  @builtins.property
1516
1781
  def ip_addresses(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses]:
1782
+ '''IP address allocation strategy for the VPC.'''
1517
1783
  result = self._values.get("ip_addresses")
1518
1784
  return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses], result)
1519
1785
 
1520
1786
  @builtins.property
1521
1787
  def nat_gateways(self) -> typing.Optional[jsii.Number]:
1788
+ '''Number of NAT gateways to create.'''
1522
1789
  result = self._values.get("nat_gateways")
1523
1790
  return typing.cast(typing.Optional[jsii.Number], result)
1524
1791
 
1525
- @builtins.property
1526
- def subnet_cidr_mask(self) -> typing.Optional[jsii.Number]:
1527
- result = self._values.get("subnet_cidr_mask")
1528
- return typing.cast(typing.Optional[jsii.Number], result)
1529
-
1530
1792
  @builtins.property
1531
1793
  def vpc_name(self) -> typing.Optional[builtins.str]:
1794
+ '''Optional name for the VPC.'''
1532
1795
  result = self._values.get("vpc_name")
1533
1796
  return typing.cast(typing.Optional[builtins.str], result)
1534
1797
 
1798
+ @builtins.property
1799
+ def subnet_cidr_mask(self) -> typing.Optional[jsii.Number]:
1800
+ '''CIDR mask size for subnets.'''
1801
+ result = self._values.get("subnet_cidr_mask")
1802
+ return typing.cast(typing.Optional[jsii.Number], result)
1803
+
1535
1804
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1536
1805
  return isinstance(rhs, self.__class__) and rhs._values == self._values
1537
1806
 
@@ -2019,7 +2288,103 @@ class WebserverAccessMode(enum.Enum):
2019
2288
  PUBLIC_ONLY = "PUBLIC_ONLY"
2020
2289
 
2021
2290
 
2291
+ @jsii.data_type(
2292
+ jsii_type="cdk-mwaa.BaseVpcProps",
2293
+ jsii_struct_bases=[CommonVpcProps],
2294
+ name_mapping={
2295
+ "ip_addresses": "ipAddresses",
2296
+ "nat_gateways": "natGateways",
2297
+ "vpc_name": "vpcName",
2298
+ "create_internet_gateway": "createInternetGateway",
2299
+ "subnet_configuration": "subnetConfiguration",
2300
+ },
2301
+ )
2302
+ class BaseVpcProps(CommonVpcProps):
2303
+ def __init__(
2304
+ self,
2305
+ *,
2306
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
2307
+ nat_gateways: typing.Optional[jsii.Number] = None,
2308
+ vpc_name: typing.Optional[builtins.str] = None,
2309
+ create_internet_gateway: builtins.bool,
2310
+ subnet_configuration: typing.Sequence[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetConfiguration, typing.Dict[builtins.str, typing.Any]]],
2311
+ ) -> None:
2312
+ '''Properties for creating a base VPC.
2313
+
2314
+ :param ip_addresses: IP address allocation strategy for the VPC.
2315
+ :param nat_gateways: Number of NAT gateways to create.
2316
+ :param vpc_name: Optional name for the VPC.
2317
+ :param create_internet_gateway: Whether to create an Internet Gateway for public access.
2318
+ :param subnet_configuration: Subnet configuration for the VPC.
2319
+ '''
2320
+ if __debug__:
2321
+ type_hints = typing.get_type_hints(_typecheckingstub__37b318e855026c52b2d51a58b8910511f891b4cb049f49619d4309af57a3e4f4)
2322
+ check_type(argname="argument ip_addresses", value=ip_addresses, expected_type=type_hints["ip_addresses"])
2323
+ check_type(argname="argument nat_gateways", value=nat_gateways, expected_type=type_hints["nat_gateways"])
2324
+ check_type(argname="argument vpc_name", value=vpc_name, expected_type=type_hints["vpc_name"])
2325
+ check_type(argname="argument create_internet_gateway", value=create_internet_gateway, expected_type=type_hints["create_internet_gateway"])
2326
+ check_type(argname="argument subnet_configuration", value=subnet_configuration, expected_type=type_hints["subnet_configuration"])
2327
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2328
+ "create_internet_gateway": create_internet_gateway,
2329
+ "subnet_configuration": subnet_configuration,
2330
+ }
2331
+ if ip_addresses is not None:
2332
+ self._values["ip_addresses"] = ip_addresses
2333
+ if nat_gateways is not None:
2334
+ self._values["nat_gateways"] = nat_gateways
2335
+ if vpc_name is not None:
2336
+ self._values["vpc_name"] = vpc_name
2337
+
2338
+ @builtins.property
2339
+ def ip_addresses(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses]:
2340
+ '''IP address allocation strategy for the VPC.'''
2341
+ result = self._values.get("ip_addresses")
2342
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses], result)
2343
+
2344
+ @builtins.property
2345
+ def nat_gateways(self) -> typing.Optional[jsii.Number]:
2346
+ '''Number of NAT gateways to create.'''
2347
+ result = self._values.get("nat_gateways")
2348
+ return typing.cast(typing.Optional[jsii.Number], result)
2349
+
2350
+ @builtins.property
2351
+ def vpc_name(self) -> typing.Optional[builtins.str]:
2352
+ '''Optional name for the VPC.'''
2353
+ result = self._values.get("vpc_name")
2354
+ return typing.cast(typing.Optional[builtins.str], result)
2355
+
2356
+ @builtins.property
2357
+ def create_internet_gateway(self) -> builtins.bool:
2358
+ '''Whether to create an Internet Gateway for public access.'''
2359
+ result = self._values.get("create_internet_gateway")
2360
+ assert result is not None, "Required property 'create_internet_gateway' is missing"
2361
+ return typing.cast(builtins.bool, result)
2362
+
2363
+ @builtins.property
2364
+ def subnet_configuration(
2365
+ self,
2366
+ ) -> typing.List[_aws_cdk_aws_ec2_ceddda9d.SubnetConfiguration]:
2367
+ '''Subnet configuration for the VPC.'''
2368
+ result = self._values.get("subnet_configuration")
2369
+ assert result is not None, "Required property 'subnet_configuration' is missing"
2370
+ return typing.cast(typing.List[_aws_cdk_aws_ec2_ceddda9d.SubnetConfiguration], result)
2371
+
2372
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2373
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2374
+
2375
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2376
+ return not (rhs == self)
2377
+
2378
+ def __repr__(self) -> str:
2379
+ return "BaseVpcProps(%s)" % ", ".join(
2380
+ k + "=" + repr(v) for k, v in self._values.items()
2381
+ )
2382
+
2383
+
2022
2384
  __all__ = [
2385
+ "BaseVpc",
2386
+ "BaseVpcProps",
2387
+ "CommonVpcProps",
2023
2388
  "ConfigFile",
2024
2389
  "ConfigsOptions",
2025
2390
  "DagStorage",
@@ -2035,6 +2400,8 @@ __all__ = [
2035
2400
  "LoggingConfiguration",
2036
2401
  "LoggingConfigurationProperty",
2037
2402
  "MWAAProps",
2403
+ "PrivateRoutingVpc",
2404
+ "PrivateRoutingVpcProps",
2038
2405
  "PublicRoutingMWAA",
2039
2406
  "PublicRoutingVpc",
2040
2407
  "PublicRoutingVpcProps",
@@ -2048,6 +2415,28 @@ __all__ = [
2048
2415
 
2049
2416
  publication.publish()
2050
2417
 
2418
+ def _typecheckingstub__36432c6d2bb93b3d16e7983780304847c92cd402d8b9d4a0d6f29506aa732ff5(
2419
+ scope: _constructs_77d1e7e8.Construct,
2420
+ id: builtins.str,
2421
+ *,
2422
+ create_internet_gateway: builtins.bool,
2423
+ subnet_configuration: typing.Sequence[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetConfiguration, typing.Dict[builtins.str, typing.Any]]],
2424
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
2425
+ nat_gateways: typing.Optional[jsii.Number] = None,
2426
+ vpc_name: typing.Optional[builtins.str] = None,
2427
+ ) -> None:
2428
+ """Type checking stubs"""
2429
+ pass
2430
+
2431
+ def _typecheckingstub__60109e2a88eeebcaea010b7e40b7c342ff04bb32117665b005b7c01620dafa51(
2432
+ *,
2433
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
2434
+ nat_gateways: typing.Optional[jsii.Number] = None,
2435
+ vpc_name: typing.Optional[builtins.str] = None,
2436
+ ) -> None:
2437
+ """Type checking stubs"""
2438
+ pass
2439
+
2051
2440
  def _typecheckingstub__18fc569fcf933a2b3ce7fe86ffe34609735a142137b7878008714403e6813a46(
2052
2441
  *,
2053
2442
  name: builtins.str,
@@ -2207,6 +2596,28 @@ def _typecheckingstub__e73d818937427f32bb22179ff7d13eb6aa0201131959780924f6ec21b
2207
2596
  """Type checking stubs"""
2208
2597
  pass
2209
2598
 
2599
+ def _typecheckingstub__c73ed3944fc6b46a3f86d85ff5f840bb8271f57e5ac4500ccb58913c1f2a4fe5(
2600
+ scope: _constructs_77d1e7e8.Construct,
2601
+ id: builtins.str,
2602
+ *,
2603
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
2604
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
2605
+ nat_gateways: typing.Optional[jsii.Number] = None,
2606
+ vpc_name: typing.Optional[builtins.str] = None,
2607
+ ) -> None:
2608
+ """Type checking stubs"""
2609
+ pass
2610
+
2611
+ def _typecheckingstub__abb7d9fedfeb8de5ea1c1fe17c4e16a596ae22d34807b9aebb1945cd6b11871e(
2612
+ *,
2613
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
2614
+ nat_gateways: typing.Optional[jsii.Number] = None,
2615
+ vpc_name: typing.Optional[builtins.str] = None,
2616
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
2617
+ ) -> None:
2618
+ """Type checking stubs"""
2619
+ pass
2620
+
2210
2621
  def _typecheckingstub__5715af45a5664383ddb469b7bffe2c8a7d75c3dfe608847aae4c9fd79f034c9e(
2211
2622
  scope: _constructs_77d1e7e8.Construct,
2212
2623
  id: builtins.str,
@@ -2228,9 +2639,9 @@ def _typecheckingstub__1457f60cd9471b72ac15c6a135c3d32d6e6da4212ded7d4bab5ce7dbc
2228
2639
  scope: _constructs_77d1e7e8.Construct,
2229
2640
  id: builtins.str,
2230
2641
  *,
2642
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
2231
2643
  ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
2232
2644
  nat_gateways: typing.Optional[jsii.Number] = None,
2233
- subnet_cidr_mask: typing.Optional[jsii.Number] = None,
2234
2645
  vpc_name: typing.Optional[builtins.str] = None,
2235
2646
  ) -> None:
2236
2647
  """Type checking stubs"""
@@ -2240,8 +2651,8 @@ def _typecheckingstub__bad12722757576263840116af2af2fd609cfd2cf55cf7c60a41c0f39c
2240
2651
  *,
2241
2652
  ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
2242
2653
  nat_gateways: typing.Optional[jsii.Number] = None,
2243
- subnet_cidr_mask: typing.Optional[jsii.Number] = None,
2244
2654
  vpc_name: typing.Optional[builtins.str] = None,
2655
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
2245
2656
  ) -> None:
2246
2657
  """Type checking stubs"""
2247
2658
  pass
@@ -2293,3 +2704,14 @@ def _typecheckingstub__379e3b2e8fe393bf82766c342457e207198846f531bd3cef817a10a9a
2293
2704
  ) -> None:
2294
2705
  """Type checking stubs"""
2295
2706
  pass
2707
+
2708
+ def _typecheckingstub__37b318e855026c52b2d51a58b8910511f891b4cb049f49619d4309af57a3e4f4(
2709
+ *,
2710
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
2711
+ nat_gateways: typing.Optional[jsii.Number] = None,
2712
+ vpc_name: typing.Optional[builtins.str] = None,
2713
+ create_internet_gateway: builtins.bool,
2714
+ subnet_configuration: typing.Sequence[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetConfiguration, typing.Dict[builtins.str, typing.Any]]],
2715
+ ) -> None:
2716
+ """Type checking stubs"""
2717
+ pass
@@ -32,7 +32,7 @@ import aws_cdk._jsii
32
32
  import constructs._jsii
33
33
 
34
34
  __jsii_assembly__ = jsii.JSIIAssembly.load(
35
- "cdk-mwaa", "0.0.7", __name__[0:-6], "cdk-mwaa@0.0.7.jsii.tgz"
35
+ "cdk-mwaa", "0.0.9", __name__[0:-6], "cdk-mwaa@0.0.9.jsii.tgz"
36
36
  )
37
37
 
38
38
  __all__ = [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cdk-mwaa
3
- Version: 0.0.7
3
+ Version: 0.0.9
4
4
  Summary: cdk-mwaa
5
5
  Home-page: https://github.com/hupe1980/cdk-mwaa.git
6
6
  Author: hupe1980<frankhuebner1980@gmail.com>
@@ -11,4 +11,4 @@ src/cdk_mwaa.egg-info/dependency_links.txt
11
11
  src/cdk_mwaa.egg-info/requires.txt
12
12
  src/cdk_mwaa.egg-info/top_level.txt
13
13
  src/cdk_mwaa/_jsii/__init__.py
14
- src/cdk_mwaa/_jsii/cdk-mwaa@0.0.7.jsii.tgz
14
+ src/cdk_mwaa/_jsii/cdk-mwaa@0.0.9.jsii.tgz
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes