cdk-factory 0.15.9__py3-none-any.whl → 0.15.10__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.

@@ -138,3 +138,11 @@ class RdsConfig(EnhancedBaseConfig):
138
138
  if "ssm" in self.__config and "imports" in self.__config["ssm"]:
139
139
  return self.__config["ssm"]["imports"]
140
140
  return self.__config.get("ssm_imports", {})
141
+
142
+ @property
143
+ def ssm_exports(self) -> Dict[str, str]:
144
+ """SSM parameter exports for the RDS instance"""
145
+ # Check both nested and flat structures for backwards compatibility
146
+ if "ssm" in self.__config and "exports" in self.__config["ssm"]:
147
+ return self.__config["ssm"]["exports"]
148
+ return self.__config.get("ssm_exports", {})
@@ -82,6 +82,9 @@ class RdsStack(IStack, EnhancedSsmParameterMixin):
82
82
 
83
83
  # Add outputs
84
84
  self._add_outputs(db_name)
85
+
86
+ # Export to SSM Parameter Store
87
+ self._export_ssm_parameters(db_name)
85
88
 
86
89
  def _process_ssm_imports(self) -> None:
87
90
  """Process SSM imports from configuration"""
@@ -296,3 +299,60 @@ class RdsStack(IStack, EnhancedSsmParameterMixin):
296
299
  value=self.db_instance.secret.secret_arn,
297
300
  export_name=f"{self.deployment.build_resource_name(db_name)}-secret-arn",
298
301
  )
302
+
303
+ def _export_ssm_parameters(self, db_name: str) -> None:
304
+ """Export RDS connection info and credentials to SSM Parameter Store"""
305
+ ssm_exports = self.rds_config.ssm_exports
306
+
307
+ if not ssm_exports:
308
+ logger.debug("No SSM exports configured for RDS")
309
+ return
310
+
311
+ logger.info(f"Exporting {len(ssm_exports)} SSM parameters for RDS")
312
+
313
+ # Export database endpoint
314
+ if "db_endpoint" in ssm_exports:
315
+ self.export_ssm_parameter(
316
+ scope=self,
317
+ id="SsmExportDbEndpoint",
318
+ value=self.db_instance.db_instance_endpoint_address,
319
+ parameter_name=ssm_exports["db_endpoint"],
320
+ description=f"RDS endpoint for {db_name}",
321
+ )
322
+ logger.info(f"Exported SSM parameter: {ssm_exports['db_endpoint']}")
323
+
324
+ # Export database port
325
+ if "db_port" in ssm_exports:
326
+ self.export_ssm_parameter(
327
+ scope=self,
328
+ id="SsmExportDbPort",
329
+ value=self.db_instance.db_instance_endpoint_port,
330
+ parameter_name=ssm_exports["db_port"],
331
+ description=f"RDS port for {db_name}",
332
+ )
333
+ logger.info(f"Exported SSM parameter: {ssm_exports['db_port']}")
334
+
335
+ # Export database name
336
+ if "db_name" in ssm_exports and self.rds_config.database_name:
337
+ self.export_ssm_parameter(
338
+ scope=self,
339
+ id="SsmExportDbName",
340
+ value=self.rds_config.database_name,
341
+ parameter_name=ssm_exports["db_name"],
342
+ description=f"RDS database name for {db_name}",
343
+ )
344
+ logger.info(f"Exported SSM parameter: {ssm_exports['db_name']}")
345
+
346
+ # Export secret ARN (contains username and password)
347
+ if "db_secret_arn" in ssm_exports:
348
+ if hasattr(self.db_instance, "secret") and self.db_instance.secret:
349
+ self.export_ssm_parameter(
350
+ scope=self,
351
+ id="SsmExportDbSecretArn",
352
+ value=self.db_instance.secret.secret_arn,
353
+ parameter_name=ssm_exports["db_secret_arn"],
354
+ description=f"Secrets Manager ARN containing RDS credentials for {db_name}",
355
+ )
356
+ logger.info(f"Exported SSM parameter: {ssm_exports['db_secret_arn']}")
357
+ else:
358
+ logger.warning(f"Secret not found for RDS instance {db_name}, skipping secret ARN export")
cdk_factory/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.15.9"
1
+ __version__ = "0.15.10"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cdk_factory
3
- Version: 0.15.9
3
+ Version: 0.15.10
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=k-GJzgMV-c2ATHbR4wgw0IKwlkANiQ4VvTZ6xMxt9UA,23
5
+ cdk_factory/version.py,sha256=bVjzjoCZ4i8ekwD6vYFTiHHb51wVUtF_jW4KJEuwrAk,24
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=JKjhNsy0RCUZy1s8n5D_aXXI-upR9izaLtCTfKYiV9k,9624
@@ -38,7 +38,7 @@ cdk_factory/configurations/resources/lambda_layers.py,sha256=gVeP_-LC3Eq0lkPaG_J
38
38
  cdk_factory/configurations/resources/lambda_triggers.py,sha256=MD7cdMNKEulNBhtMLIFnWJuJ5R-yyIqa0LHUgbSQerA,834
39
39
  cdk_factory/configurations/resources/load_balancer.py,sha256=idpKdvkkCM7J9J2pNjMBOY1DNaFR1tk1tFjTg76bvrY,5267
40
40
  cdk_factory/configurations/resources/monitoring.py,sha256=zsfDMa7yph33Ql8iP7lIqqLAyixh-Mesi0imtZJFdcE,2310
41
- cdk_factory/configurations/resources/rds.py,sha256=fYyS9qlsdHCdGQ5jS3f-edQUvbNYX30T96gxEwlz9tM,4828
41
+ cdk_factory/configurations/resources/rds.py,sha256=is_odfCoe3kyiz8DpDxDayt1aVICJoNWuhuaHZ98qQo,5197
42
42
  cdk_factory/configurations/resources/resource_mapping.py,sha256=cwv3n63RJ6E59ErsmSTdkW4i-g8huhHtKI0ExbRhJxA,2182
43
43
  cdk_factory/configurations/resources/resource_naming.py,sha256=VE9S2cpzp11qqPL2z1sX79wXH0o1SntO2OG74nEmWC8,5508
44
44
  cdk_factory/configurations/resources/resource_types.py,sha256=1WQHyDoErb-M-tETZZzyLDtbq_jdC85-I403dM48pgE,2317
@@ -101,7 +101,7 @@ cdk_factory/stack_library/load_balancer/load_balancer_stack.py,sha256=SBB-Cknon7
101
101
  cdk_factory/stack_library/monitoring/__init__.py,sha256=k1G_KDx47Aw0UugaL99PN_TKlyLK4nkJVApCaAK7GJg,153
102
102
  cdk_factory/stack_library/monitoring/monitoring_stack.py,sha256=N_1YvEXE7fboH_S3kv_dSKZsufxMuPdFMjGzlNFpuSo,19283
103
103
  cdk_factory/stack_library/rds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
- cdk_factory/stack_library/rds/rds_stack.py,sha256=jvG3mcz5CQHv2NV-KwjGX8XgxtPiixRQTdBtaLb6sw4,12161
104
+ cdk_factory/stack_library/rds/rds_stack.py,sha256=wlKPRCvioz9e6mzMuUDGUBw0gcnCDBnTI0ZN2NVatUo,14822
105
105
  cdk_factory/stack_library/route53/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
106
  cdk_factory/stack_library/route53/route53_stack.py,sha256=R-6DW7gIjeg25uBT5ZMLNDiQUOSZMipc-Tw6f8POVvI,8081
107
107
  cdk_factory/stack_library/rum/__init__.py,sha256=gUrWQdzd4rZ2J0YzAQC8PsEGAS7QgyYjB2ZCUKWasy4,90
@@ -129,8 +129,8 @@ cdk_factory/utilities/lambda_function_utilities.py,sha256=S1GvBsY_q2cyUiaud3HORJ
129
129
  cdk_factory/utilities/os_execute.py,sha256=5Op0LY_8Y-pUm04y1k8MTpNrmQvcLmQHPQITEP7EuSU,1019
130
130
  cdk_factory/utils/api_gateway_utilities.py,sha256=If7Xu5s_UxmuV-kL3JkXxPLBdSVUKoLtohm0IUFoiV8,4378
131
131
  cdk_factory/workload/workload_factory.py,sha256=mM8GU_5mKq_0OyK060T3JrUSUiGAcKf0eqNlT9mfaws,6028
132
- cdk_factory-0.15.9.dist-info/METADATA,sha256=3kgTXVxsXzMHhVRR_MSHhTriF9lhRLywzqssUwiThP4,2451
133
- cdk_factory-0.15.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
134
- cdk_factory-0.15.9.dist-info/entry_points.txt,sha256=S1DPe0ORcdiwEALMN_WIo3UQrW_g4YdQCLEsc_b0Swg,53
135
- cdk_factory-0.15.9.dist-info/licenses/LICENSE,sha256=NOtdOeLwg2il_XBJdXUPFPX8JlV4dqTdDGAd2-khxT8,1066
136
- cdk_factory-0.15.9.dist-info/RECORD,,
132
+ cdk_factory-0.15.10.dist-info/METADATA,sha256=9N2bg9PHi8myWMfxSoxxXA40AuuFbQl10ouIscuHBMQ,2452
133
+ cdk_factory-0.15.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
134
+ cdk_factory-0.15.10.dist-info/entry_points.txt,sha256=S1DPe0ORcdiwEALMN_WIo3UQrW_g4YdQCLEsc_b0Swg,53
135
+ cdk_factory-0.15.10.dist-info/licenses/LICENSE,sha256=NOtdOeLwg2il_XBJdXUPFPX8JlV4dqTdDGAd2-khxT8,1066
136
+ cdk_factory-0.15.10.dist-info/RECORD,,