cdk-mwaa 0.0.6__tar.gz → 0.0.8__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.6
3
+ Version: 0.0.8
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.6",
8
+ "version": "0.0.8",
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.6.jsii.tgz"
29
+ "cdk-mwaa@0.0.8.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,
@@ -1434,6 +1696,123 @@ class PublicRoutingMWAA(
1434
1696
  jsii.create(self.__class__, self, [scope, id, props])
1435
1697
 
1436
1698
 
1699
+ class PublicRoutingVpc(
1700
+ BaseVpc,
1701
+ metaclass=jsii.JSIIMeta,
1702
+ jsii_type="cdk-mwaa.PublicRoutingVpc",
1703
+ ):
1704
+ '''A VPC with public and private subnets, supporting internet access.'''
1705
+
1706
+ def __init__(
1707
+ self,
1708
+ scope: _constructs_77d1e7e8.Construct,
1709
+ id: builtins.str,
1710
+ *,
1711
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
1712
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
1713
+ nat_gateways: typing.Optional[jsii.Number] = None,
1714
+ vpc_name: typing.Optional[builtins.str] = None,
1715
+ ) -> None:
1716
+ '''
1717
+ :param scope: -
1718
+ :param id: -
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.
1723
+ '''
1724
+ if __debug__:
1725
+ type_hints = typing.get_type_hints(_typecheckingstub__1457f60cd9471b72ac15c6a135c3d32d6e6da4212ded7d4bab5ce7dbc54f545b)
1726
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1727
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1728
+ props = PublicRoutingVpcProps(
1729
+ subnet_cidr_mask=subnet_cidr_mask,
1730
+ ip_addresses=ip_addresses,
1731
+ nat_gateways=nat_gateways,
1732
+ vpc_name=vpc_name,
1733
+ )
1734
+
1735
+ jsii.create(self.__class__, self, [scope, id, props])
1736
+
1737
+
1738
+ @jsii.data_type(
1739
+ jsii_type="cdk-mwaa.PublicRoutingVpcProps",
1740
+ jsii_struct_bases=[CommonVpcProps],
1741
+ name_mapping={
1742
+ "ip_addresses": "ipAddresses",
1743
+ "nat_gateways": "natGateways",
1744
+ "vpc_name": "vpcName",
1745
+ "subnet_cidr_mask": "subnetCidrMask",
1746
+ },
1747
+ )
1748
+ class PublicRoutingVpcProps(CommonVpcProps):
1749
+ def __init__(
1750
+ self,
1751
+ *,
1752
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
1753
+ nat_gateways: typing.Optional[jsii.Number] = None,
1754
+ vpc_name: typing.Optional[builtins.str] = None,
1755
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
1756
+ ) -> None:
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.
1763
+ '''
1764
+ if __debug__:
1765
+ type_hints = typing.get_type_hints(_typecheckingstub__bad12722757576263840116af2af2fd609cfd2cf55cf7c60a41c0f39c43e9ca1)
1766
+ check_type(argname="argument ip_addresses", value=ip_addresses, expected_type=type_hints["ip_addresses"])
1767
+ check_type(argname="argument nat_gateways", value=nat_gateways, expected_type=type_hints["nat_gateways"])
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"])
1770
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1771
+ if ip_addresses is not None:
1772
+ self._values["ip_addresses"] = ip_addresses
1773
+ if nat_gateways is not None:
1774
+ self._values["nat_gateways"] = nat_gateways
1775
+ if vpc_name is not None:
1776
+ self._values["vpc_name"] = vpc_name
1777
+ if subnet_cidr_mask is not None:
1778
+ self._values["subnet_cidr_mask"] = subnet_cidr_mask
1779
+
1780
+ @builtins.property
1781
+ def ip_addresses(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses]:
1782
+ '''IP address allocation strategy for the VPC.'''
1783
+ result = self._values.get("ip_addresses")
1784
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses], result)
1785
+
1786
+ @builtins.property
1787
+ def nat_gateways(self) -> typing.Optional[jsii.Number]:
1788
+ '''Number of NAT gateways to create.'''
1789
+ result = self._values.get("nat_gateways")
1790
+ return typing.cast(typing.Optional[jsii.Number], result)
1791
+
1792
+ @builtins.property
1793
+ def vpc_name(self) -> typing.Optional[builtins.str]:
1794
+ '''Optional name for the VPC.'''
1795
+ result = self._values.get("vpc_name")
1796
+ return typing.cast(typing.Optional[builtins.str], result)
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
+
1804
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1805
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1806
+
1807
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1808
+ return not (rhs == self)
1809
+
1810
+ def __repr__(self) -> str:
1811
+ return "PublicRoutingVpcProps(%s)" % ", ".join(
1812
+ k + "=" + repr(v) for k, v in self._values.items()
1813
+ )
1814
+
1815
+
1437
1816
  @jsii.data_type(
1438
1817
  jsii_type="cdk-mwaa.SecretsBackendOptions",
1439
1818
  jsii_struct_bases=[],
@@ -1909,7 +2288,103 @@ class WebserverAccessMode(enum.Enum):
1909
2288
  PUBLIC_ONLY = "PUBLIC_ONLY"
1910
2289
 
1911
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
+
1912
2384
  __all__ = [
2385
+ "BaseVpc",
2386
+ "BaseVpcProps",
2387
+ "CommonVpcProps",
1913
2388
  "ConfigFile",
1914
2389
  "ConfigsOptions",
1915
2390
  "DagStorage",
@@ -1925,7 +2400,11 @@ __all__ = [
1925
2400
  "LoggingConfiguration",
1926
2401
  "LoggingConfigurationProperty",
1927
2402
  "MWAAProps",
2403
+ "PrivateRoutingVpc",
2404
+ "PrivateRoutingVpcProps",
1928
2405
  "PublicRoutingMWAA",
2406
+ "PublicRoutingVpc",
2407
+ "PublicRoutingVpcProps",
1929
2408
  "SecretsBackendOptions",
1930
2409
  "SecurityGroup",
1931
2410
  "SecurityGroupProps",
@@ -1936,6 +2415,28 @@ __all__ = [
1936
2415
 
1937
2416
  publication.publish()
1938
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
+
1939
2440
  def _typecheckingstub__18fc569fcf933a2b3ce7fe86ffe34609735a142137b7878008714403e6813a46(
1940
2441
  *,
1941
2442
  name: builtins.str,
@@ -2095,6 +2596,28 @@ def _typecheckingstub__e73d818937427f32bb22179ff7d13eb6aa0201131959780924f6ec21b
2095
2596
  """Type checking stubs"""
2096
2597
  pass
2097
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
+
2098
2621
  def _typecheckingstub__5715af45a5664383ddb469b7bffe2c8a7d75c3dfe608847aae4c9fd79f034c9e(
2099
2622
  scope: _constructs_77d1e7e8.Construct,
2100
2623
  id: builtins.str,
@@ -2112,6 +2635,28 @@ def _typecheckingstub__5715af45a5664383ddb469b7bffe2c8a7d75c3dfe608847aae4c9fd79
2112
2635
  """Type checking stubs"""
2113
2636
  pass
2114
2637
 
2638
+ def _typecheckingstub__1457f60cd9471b72ac15c6a135c3d32d6e6da4212ded7d4bab5ce7dbc54f545b(
2639
+ scope: _constructs_77d1e7e8.Construct,
2640
+ id: builtins.str,
2641
+ *,
2642
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
2643
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
2644
+ nat_gateways: typing.Optional[jsii.Number] = None,
2645
+ vpc_name: typing.Optional[builtins.str] = None,
2646
+ ) -> None:
2647
+ """Type checking stubs"""
2648
+ pass
2649
+
2650
+ def _typecheckingstub__bad12722757576263840116af2af2fd609cfd2cf55cf7c60a41c0f39c43e9ca1(
2651
+ *,
2652
+ ip_addresses: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IIpAddresses] = None,
2653
+ nat_gateways: typing.Optional[jsii.Number] = None,
2654
+ vpc_name: typing.Optional[builtins.str] = None,
2655
+ subnet_cidr_mask: typing.Optional[jsii.Number] = None,
2656
+ ) -> None:
2657
+ """Type checking stubs"""
2658
+ pass
2659
+
2115
2660
  def _typecheckingstub__b4a26a4745b2f3c0bf73fea3716d2c2582a993bce95da0be81eb790bf091aa13(
2116
2661
  *,
2117
2662
  connections_lookup_pattern: typing.Optional[builtins.str] = None,
@@ -2159,3 +2704,14 @@ def _typecheckingstub__379e3b2e8fe393bf82766c342457e207198846f531bd3cef817a10a9a
2159
2704
  ) -> None:
2160
2705
  """Type checking stubs"""
2161
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.6", __name__[0:-6], "cdk-mwaa@0.0.6.jsii.tgz"
35
+ "cdk-mwaa", "0.0.8", __name__[0:-6], "cdk-mwaa@0.0.8.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.6
3
+ Version: 0.0.8
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.6.jsii.tgz
14
+ src/cdk_mwaa/_jsii/cdk-mwaa@0.0.8.jsii.tgz
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes