override fun generate()

in engine/src/main/kotlin/io/kotless/gen/factory/aws/apigateway/DomainFactory.kt [22:41]


    override fun generate(entity: Application.API, context: GenerationContext): GenerationFactory.GenerationResult<Output> {
        val zone = context.output.get(context.webapp.dns!!, ZoneFactory)
        val certificate = context.output.get(context.webapp.dns!!, CertificateFactory)
        val api = context.output.get(context.webapp.api, RestAPIFactory)
        val deployment = context.output.get(context.webapp.api.deployment, DeploymentFactory)

        val domain = api_gateway_domain_name(context.names.tf(entity.name)) {
            domain_name = zone.fqdn
            certificate_arn = certificate.cert_arn
        }

        val basePath = api_gateway_base_path_mapping(context.names.tf(entity.name)) {
            api_id = api.rest_api_id
            stage_name = deployment.stage_name

            domain_name = domain.domain_name
        }

        return GenerationFactory.GenerationResult(Output(domain::cloudfront_domain_name.ref, domain::cloudfront_zone_id.ref), domain, basePath)
    }