cdk-factory 0.17.1__py3-none-any.whl → 0.17.2__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 cdk-factory might be problematic. Click here for more details.

@@ -111,25 +111,7 @@ class VpcStack(IStack, StandardizedSsmMixin):
111
111
  # Configure NAT gateways
112
112
  nat_gateway_count = self.vpc_config.nat_gateways.get("count", 1)
113
113
 
114
- # Get explicit availability zones to avoid dummy AZs in pipeline synthesis
115
- # When CDK synthesizes in a pipeline context, it doesn't have access to real AZs
116
- # So we explicitly specify them based on the deployment region
117
- availability_zones = None
118
- if self.deployment:
119
- region = self.deployment.region or "us-east-1"
120
- # Explicitly list AZs for the region to avoid dummy values
121
- max_azs = self.vpc_config.max_azs or 2
122
- if region == "us-east-1":
123
- availability_zones = [f"us-east-1{chr(97+i)}" for i in range(max_azs)] # us-east-1a, us-east-1b, etc.
124
- elif region == "us-east-2":
125
- availability_zones = [f"us-east-2{chr(97+i)}" for i in range(max_azs)]
126
- elif region == "us-west-1":
127
- availability_zones = [f"us-west-1{chr(97+i)}" for i in range(max_azs)]
128
- elif region == "us-west-2":
129
- availability_zones = [f"us-west-2{chr(97+i)}" for i in range(max_azs)]
130
-
131
114
  # Build VPC properties
132
- # Note: CDK doesn't allow both 'availability_zones' and 'max_azs' - use one or the other
133
115
  vpc_props = {
134
116
  "vpc_name": vpc_name,
135
117
  "cidr": self.vpc_config.cidr,
@@ -137,6 +119,7 @@ class VpcStack(IStack, StandardizedSsmMixin):
137
119
  "subnet_configuration": subnet_configuration,
138
120
  "enable_dns_hostnames": self.vpc_config.enable_dns_hostnames,
139
121
  "enable_dns_support": self.vpc_config.enable_dns_support,
122
+ "max_azs": self.vpc_config.max_azs, # Use max_azs instead of explicit availability_zones
140
123
  "gateway_endpoints": (
141
124
  {
142
125
  "S3": ec2.GatewayVpcEndpointOptions(
@@ -148,12 +131,6 @@ class VpcStack(IStack, StandardizedSsmMixin):
148
131
  ),
149
132
  }
150
133
 
151
- # Use either availability_zones or max_azs, not both
152
- if availability_zones:
153
- vpc_props["availability_zones"] = availability_zones
154
- else:
155
- vpc_props["max_azs"] = self.vpc_config.max_azs
156
-
157
134
  # Create the VPC
158
135
  vpc = ec2.Vpc(self, vpc_name, **vpc_props)
159
136
 
@@ -350,9 +327,9 @@ class VpcStack(IStack, StandardizedSsmMixin):
350
327
  # Prepare resource values for export
351
328
  resource_values = {
352
329
  "vpc_id": self.vpc.vpc_id,
353
- "public_subnet_ids": [subnet.subnet_id for subnet in self.vpc.public_subnets],
354
- "private_subnet_ids": [subnet.subnet_id for subnet in self.vpc.private_subnets],
355
- "isolated_subnet_ids": [subnet.subnet_id for subnet in self.vpc.isolated_subnets],
330
+ "public_subnet_ids": ",".join([subnet.subnet_id for subnet in self.vpc.public_subnets]) if self.vpc.public_subnets else "",
331
+ "private_subnet_ids": ",".join([subnet.subnet_id for subnet in self.vpc.private_subnets]) if self.vpc.private_subnets else "",
332
+ "isolated_subnet_ids": ",".join([subnet.subnet_id for subnet in self.vpc.isolated_subnets]) if self.vpc.isolated_subnets else "",
356
333
  }
357
334
 
358
335
  # Add route table IDs if available - commented out due to CDK API issues
@@ -386,7 +363,7 @@ class VpcStack(IStack, StandardizedSsmMixin):
386
363
  if hasattr(child, 'nat_gateway_id') and child.nat_gateway_id:
387
364
  nat_gateway_ids.append(child.nat_gateway_id)
388
365
  if nat_gateway_ids:
389
- resource_values["nat_gateway_ids"] = nat_gateway_ids
366
+ resource_values["nat_gateway_ids"] = ",".join(nat_gateway_ids)
390
367
 
391
368
  # Add Internet Gateway ID if available
392
369
  if hasattr(self.vpc, 'internet_gateway_id') and self.vpc.internet_gateway_id:
cdk_factory/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.17.1"
1
+ __version__ = "0.17.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cdk_factory
3
- Version: 0.17.1
3
+ Version: 0.17.2
4
4
  Summary: CDK Factory. A QuickStarter and best practices setup for CDK projects
5
5
  Author-email: Eric Wilson <eric.wilson@geekcafe.com>
6
6
  License: MIT License
@@ -2,7 +2,7 @@ cdk_factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  cdk_factory/app.py,sha256=RnX0-pwdTAPAdKJK_j13Zl8anf9zYKBwboR0KA8K8xM,10346
3
3
  cdk_factory/cdk.json,sha256=SKZKhJ2PBpFH78j-F8S3VDYW-lf76--Q2I3ON-ZIQfw,3106
4
4
  cdk_factory/cli.py,sha256=FGbCTS5dYCNsfp-etshzvFlGDCjC28r6rtzYbe7KoHI,6407
5
- cdk_factory/version.py,sha256=mrwBkyZNcMowMG4-KslRvuWjlT2xdlnWDSWDZEK270s,23
5
+ cdk_factory/version.py,sha256=I5u6uLh7NsbyGkKLvVteW175Afe6HJt5UsjBZ28EGks,23
6
6
  cdk_factory/builds/README.md,sha256=9BBWd7bXpyKdMU_g2UljhQwrC9i5O_Tvkb6oPvndoZk,90
7
7
  cdk_factory/commands/command_loader.py,sha256=QbLquuP_AdxtlxlDy-2IWCQ6D-7qa58aphnDPtp_uTs,3744
8
8
  cdk_factory/configurations/base_config.py,sha256=eJ3Pl3GWk1jVr_bYQaaWlw4_-ZiFGaiXllI_fOOX1i0,9323
@@ -117,7 +117,7 @@ cdk_factory/stack_library/security_group/security_group_full_stack.py,sha256=yvZ
117
117
  cdk_factory/stack_library/security_group/security_group_stack.py,sha256=Zv9FCEHvSBT1cM9bXOtyIUFwhRHKCSTgvaqOyhGj0wg,14456
118
118
  cdk_factory/stack_library/simple_queue_service/sqs_stack.py,sha256=jJksWrvrvgZUMM01RZ317DOIxqIJbkYYSYu38w0jHpc,6039
119
119
  cdk_factory/stack_library/vpc/__init__.py,sha256=7pIqP97Gf2AJbv9Ebp1WbQGHYhgEbWJ52L1MzeXBybA,42
120
- cdk_factory/stack_library/vpc/vpc_stack_standardized.py,sha256=yF6tz7GdkvpLeQFGa2Gt5WP-PKjj_yr2hu7Z1TGBQfM,17562
120
+ cdk_factory/stack_library/vpc/vpc_stack_standardized.py,sha256=yUmmAugFl0jhQYHZy93ZKjBqtwgnqXEY7oHLfNQzxvo,16443
121
121
  cdk_factory/stack_library/websites/static_website_stack.py,sha256=A292BlKDof0JnVewkK_3JiRB04rX7J9Na0a-iz3JWzw,11243
122
122
  cdk_factory/stages/websites/static_website_stage.py,sha256=X4fpKXkhb0zIbSHx3QyddBhVSLBryb1vf1Cg2fMTqog,755
123
123
  cdk_factory/templates/README.md,sha256=ATBEjG6beYvbEAdLtZ_8xnxgFD5X0cgZoI_6pToqH90,2679
@@ -136,8 +136,8 @@ cdk_factory/utilities/os_execute.py,sha256=5Op0LY_8Y-pUm04y1k8MTpNrmQvcLmQHPQITE
136
136
  cdk_factory/utils/api_gateway_utilities.py,sha256=If7Xu5s_UxmuV-kL3JkXxPLBdSVUKoLtohm0IUFoiV8,4378
137
137
  cdk_factory/validation/config_validator.py,sha256=Pb0TkLiPFzUplBOgMorhRCVm08vEzZhRU5xXCDTa5CA,17602
138
138
  cdk_factory/workload/workload_factory.py,sha256=yDI3cRhVI5ELNDcJPLpk9UY54Uind1xQoV3spzT4z7E,6068
139
- cdk_factory-0.17.1.dist-info/METADATA,sha256=QsfBZYH1eNv5dbrtrnO_easMFgIPTn1qHdzE4v7cpXQ,2451
140
- cdk_factory-0.17.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
141
- cdk_factory-0.17.1.dist-info/entry_points.txt,sha256=S1DPe0ORcdiwEALMN_WIo3UQrW_g4YdQCLEsc_b0Swg,53
142
- cdk_factory-0.17.1.dist-info/licenses/LICENSE,sha256=NOtdOeLwg2il_XBJdXUPFPX8JlV4dqTdDGAd2-khxT8,1066
143
- cdk_factory-0.17.1.dist-info/RECORD,,
139
+ cdk_factory-0.17.2.dist-info/METADATA,sha256=xmiyleHsFEcn_VXTYKBNrDH8sgLyuAXRGxR2-RyvtRU,2451
140
+ cdk_factory-0.17.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
141
+ cdk_factory-0.17.2.dist-info/entry_points.txt,sha256=S1DPe0ORcdiwEALMN_WIo3UQrW_g4YdQCLEsc_b0Swg,53
142
+ cdk_factory-0.17.2.dist-info/licenses/LICENSE,sha256=NOtdOeLwg2il_XBJdXUPFPX8JlV4dqTdDGAd2-khxT8,1066
143
+ cdk_factory-0.17.2.dist-info/RECORD,,