dependency/azapi_examples/Microsoft.KubernetesConfiguration_fluxConfigurations@2022-11-01/main.tf (104 lines of code) (raw):

terraform { required_providers { azapi = { source = "Azure/azapi" } } } provider "azapi" { skip_provider_registration = false } variable "resource_name" { type = string default = "acctest0001" } variable "location" { type = string default = "westeurope" } resource "azapi_resource" "resourceGroup" { type = "Microsoft.Resources/resourceGroups@2020-06-01" name = var.resource_name location = var.location } resource "azapi_resource" "managedCluster" { type = "Microsoft.ContainerService/managedClusters@2023-04-02-preview" parent_id = azapi_resource.resourceGroup.id name = var.resource_name location = var.location identity { type = "SystemAssigned" identity_ids = [] } body = { properties = { agentPoolProfiles = [ { count = 1 mode = "System" name = "default" vmSize = "Standard_DS2_v2" }, ] dnsPrefix = var.resource_name } } schema_validation_enabled = false response_export_values = ["*"] } resource "azapi_resource" "extension" { type = "Microsoft.KubernetesConfiguration/extensions@2022-11-01" parent_id = azapi_resource.managedCluster.id name = var.resource_name body = { properties = { autoUpgradeMinorVersion = true extensionType = "microsoft.flux" } } schema_validation_enabled = false response_export_values = ["*"] } resource "azapi_resource" "fluxConfiguration" { type = "Microsoft.KubernetesConfiguration/fluxConfigurations@2022-03-01" name = var.resource_name parent_id = azapi_resource.managedCluster.id body = { properties = { scope = "cluster" namespace = "flux-system" sourceKind = "GitRepository" suspend = false gitRepository = { url = "https://github.com/Azure/arc-k8s-demo" timeoutInSeconds = 120 syncIntervalInSeconds = 120 repositoryRef = { branch = "branch" } } kustomizations = { shared = { path = "cluster-config/shared" timeoutInSeconds = 600 syncIntervalInSeconds = 60 retryIntervalInSeconds = 60 prune = false force = false } applications = { path = "cluster-config/applications" dependsOn = ["shared"] timeoutInSeconds = 600 syncIntervalInSeconds = 60 retryIntervalInSeconds = 60 prune = false force = false } } } } depends_on = [ azapi_resource.extension ] }