def for_name(cls, name):
     policy_module = importlib.import_module(
         f'azul.{name}.lambda_iam_policy')
     return cls(name=name,
                domains=[
                    config.api_lambda_domain(name),
                    *config.api_lambda_domain_aliases(name)
                ],
                policy=json.dumps(getattr(policy_module, 'policy')))
 def for_name(cls, name):
     return cls(name=name,
                domains=[
                    config.api_lambda_domain(name),
                    *config.api_lambda_domain_aliases(name)
                ],
                policy=json.dumps(
                    importlib.import_module(
                        f'azul.{name}.lambda_iam_policy').policy))
Example #3
0
 def drs_uri(self, drs_path: str) -> str:
     netloc = config.drs_domain or config.api_lambda_domain('service')
     return f'drs://{netloc}/{drs_path}'
Example #4
0
from azul import (
    config, )
from azul.deployment import (
    aws,
    emit_tf,
)

emit_tf(
    None if config.disable_monitoring else {
        "resource": [
            *[
                {
                    "aws_route53_health_check": {
                        name: {
                            "fqdn": config.api_lambda_domain(name),
                            "port": 443,
                            "type": "HTTPS",
                            "resource_path": "/health/cached",
                            "failure_threshold": "3",
                            "request_interval": "30",
                            "tags": {
                                "Name": full_name
                            },
                            "regions": ['us-west-2', 'us-east-1', 'eu-west-1'],
                            "measure_latency": True,
                            # This is necessary only because of a Terraform bug:
                            # https://github.com/hashicorp/terraform/issues/22171
                            "lifecycle": {
                                "create_before_destroy": True
                            }
                        },