wserver_infra_exports#

This module provides an interface for external code to read cloudformation output. via export name. You can just copy and paste this file into the external codebase.

class acore_server.wserver_infra_exports.StackExports(env_name: str, _outputs: ~typing.Dict[str, str] = <factory>, _exports: ~typing.Dict[str, str] = <factory>)[source]#

Read cloudformation output values from wserver-infra-{self.env_name} stack.

Usage:

>>> import boto3
>>> cf_client = boto3.client("cloudformation")
>>> stack_exports = StackExports(env_name="sbx")
>>> stack_exports.load(cf_client)
>>> stack_exports.get_db_subnet_group_name()
...
>>> stack_exports.get_ssh_sg_id()
...
>>> stack_exports.get_default_sg_id(server_id="sbx-blue")
...
>>> stack_exports.get_ec2_sg_id(server_id="sbx-blue")
...
>>> stack_exports.get_ec2_iam_role_arn()
...
>>> stack_exports.get_ec2_instance_profile_arn()
...
Parameters:
  • env_name – environment name, sbx, tst, prd, etc …

  • _outputs – internal cache, don’t use it directly.

  • _exports – internal cache, don’t use it directly.