override fun generate()

in engine/src/main/kotlin/io/kotless/gen/factory/azure/info/InfoFactory.kt [26:60]


    override fun generate(entity: Application, context: GenerationContext): GenerationFactory.GenerationResult<Output> {
        val azure = context.schema.config.cloud as KotlessConfig.Cloud.Azure
        val prefix = context.schema.config.cloud.prefix
        val resourceGroup = resource_group(context.names.tf(context.schema.config.cloud.prefix, "resource_group")) {
            name = azure.terraform.backend.resourceGroup
        }

        val storageAccount = storage_account(context.names.tf(context.schema.config.azure.storage.container, "storage_account")) {
            name = azure.storage.storageAccount
            resource_group_name = resourceGroup.name
        }

        val azureSubscription = subscription("current") {
        }

        val storageContainer = io.terraformkt.azurerm.data.storage.storage_container("storage_container") {
            name = context.schema.config.azure.storage.container
            storage_account_name = storageAccount.name
        }

        val staticStorageContainer = storage_container("static_storage_container") {
            name = "$prefix-storage-container"
            storage_account_name = storageAccount.name
            container_access_type = "blob"
        }

        return GenerationFactory.GenerationResult(
            Output(resourceGroup, storageAccount, staticStorageContainer, "azure-test-zip", azureSubscription),
            resourceGroup,
            storageAccount,
            storageContainer,
            staticStorageContainer,
            azureSubscription,
        )
    }