Untitled

 avatar
unknown
plain_text
5 months ago
1.2 kB
2
Indexable
from aws_cdk import aws_secretsmanager, aws_kms, RemovalPolicy
from constructs import Construct


class SecretsManagerConstruct:
    @staticmethod
    def create_secrets_manager(
        scope: Construct,
        data_source_config: dict,
        kms_key: aws_kms.IKey = None,
    ) -> aws_secretsmanager.Secret:

        if data_source_config.get("secrets"):
            secrets = aws_secretsmanager.Secret(
                scope=scope,
                description="Malaysia Fund Accounting Secrets Manager.",
                id=data_source_config['name'],
                secret_name=data_source_config['secrets'],
                encryption_key=kms_key,
                removal_policy=RemovalPolicy.DESTROY
            )
        else:
            secrets = SecretsManagerConstruct.get_secret_manager(scope, "prinam-my-fa-secrets")

        return secrets

    @staticmethod
    def get_secret_manager(scope: Construct, name: str) -> aws_secretsmanager.Secret:

        return aws_secretsmanager.Secret.from_secret_name_v2(
            scope=scope,
            id="GetSecret",
            secret_name=name,
        )
Editor is loading...
Leave a Comment