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))
def drs_uri(self, drs_path: str) -> str: netloc = config.drs_domain or config.api_lambda_domain('service') return f'drs://{netloc}/{drs_path}'
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 } },