Flux Configuration
The Flux Configuration object returned in Get & Put response. API Version: 2021-11-01-preview.
Example Usage
Create Flux Configuration
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var fluxConfiguration = new AzureNative.KubernetesConfiguration.FluxConfiguration("fluxConfiguration", new()
{
ClusterName = "clusterName1",
ClusterResourceName = "connectedClusters",
ClusterRp = "Microsoft.Kubernetes",
FluxConfigurationName = "srs-fluxconfig",
GitRepository = new AzureNative.KubernetesConfiguration.Inputs.GitRepositoryDefinitionArgs
{
HttpsCAFile = "ZXhhbXBsZWNlcnRpZmljYXRl",
RepositoryRef = new AzureNative.KubernetesConfiguration.Inputs.RepositoryRefDefinitionArgs
{
Branch = "master",
},
SyncIntervalInSeconds = 600,
TimeoutInSeconds = 600,
Url = "https://github.com/Azure/arc-k8s-demo",
},
Kustomizations =
{
{ "srs-kustomization1", new AzureNative.KubernetesConfiguration.Inputs.KustomizationDefinitionArgs
{
DependsOn = new[] {},
Path = "./test/path",
SyncIntervalInSeconds = 600,
TimeoutInSeconds = 600,
Validation = "none",
} },
{ "srs-kustomization2", new AzureNative.KubernetesConfiguration.Inputs.KustomizationDefinitionArgs
{
DependsOn = new[]
{
new AzureNative.KubernetesConfiguration.Inputs.DependsOnDefinitionArgs
{
KustomizationName = "srs-kustomization1",
},
},
Path = "./other/test/path",
Prune = false,
RetryIntervalInSeconds = 600,
SyncIntervalInSeconds = 600,
TimeoutInSeconds = 600,
Validation = "none",
} },
},
Namespace = "srs-namespace",
ResourceGroupName = "rg1",
Scope = "cluster",
SourceKind = "GitRepository",
Suspend = false,
});
});
package main
import (
kubernetesconfiguration "github.com/pulumi/pulumi-azure-native-sdk/kubernetesconfiguration"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := kubernetesconfiguration.NewFluxConfiguration(ctx, "fluxConfiguration", &kubernetesconfiguration.FluxConfigurationArgs{
ClusterName: pulumi.String("clusterName1"),
ClusterResourceName: pulumi.String("connectedClusters"),
ClusterRp: pulumi.String("Microsoft.Kubernetes"),
FluxConfigurationName: pulumi.String("srs-fluxconfig"),
GitRepository: kubernetesconfiguration.GitRepositoryDefinitionResponse{
HttpsCAFile: pulumi.String("ZXhhbXBsZWNlcnRpZmljYXRl"),
RepositoryRef: &kubernetesconfiguration.RepositoryRefDefinitionArgs{
Branch: pulumi.String("master"),
},
SyncIntervalInSeconds: pulumi.Float64(600),
TimeoutInSeconds: pulumi.Float64(600),
Url: pulumi.String("https://github.com/Azure/arc-k8s-demo"),
},
Kustomizations: kubernetesconfiguration.KustomizationDefinitionMap{
"srs-kustomization1": &kubernetesconfiguration.KustomizationDefinitionArgs{
DependsOn: kubernetesconfiguration.DependsOnDefinitionArray{},
Path: pulumi.String("./test/path"),
SyncIntervalInSeconds: pulumi.Float64(600),
TimeoutInSeconds: pulumi.Float64(600),
Validation: pulumi.String("none"),
},
"srs-kustomization2": &kubernetesconfiguration.KustomizationDefinitionArgs{
DependsOn: kubernetesconfiguration.DependsOnDefinitionArray{
&kubernetesconfiguration.DependsOnDefinitionArgs{
KustomizationName: pulumi.String("srs-kustomization1"),
},
},
Path: pulumi.String("./other/test/path"),
Prune: pulumi.Bool(false),
RetryIntervalInSeconds: pulumi.Float64(600),
SyncIntervalInSeconds: pulumi.Float64(600),
TimeoutInSeconds: pulumi.Float64(600),
Validation: pulumi.String("none"),
},
},
Namespace: pulumi.String("srs-namespace"),
ResourceGroupName: pulumi.String("rg1"),
Scope: pulumi.String("cluster"),
SourceKind: pulumi.String("GitRepository"),
Suspend: pulumi.Bool(false),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.kubernetesconfiguration.FluxConfiguration;
import com.pulumi.azurenative.kubernetesconfiguration.FluxConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var fluxConfiguration = new FluxConfiguration("fluxConfiguration", FluxConfigurationArgs.builder()
.clusterName("clusterName1")
.clusterResourceName("connectedClusters")
.clusterRp("Microsoft.Kubernetes")
.fluxConfigurationName("srs-fluxconfig")
.gitRepository(Map.ofEntries(
Map.entry("httpsCAFile", "ZXhhbXBsZWNlcnRpZmljYXRl"),
Map.entry("repositoryRef", Map.of("branch", "master")),
Map.entry("syncIntervalInSeconds", 600),
Map.entry("timeoutInSeconds", 600),
Map.entry("url", "https://github.com/Azure/arc-k8s-demo")
))
.kustomizations(Map.ofEntries(
Map.entry("srs-kustomization1", Map.ofEntries(
Map.entry("dependsOn", ),
Map.entry("path", "./test/path"),
Map.entry("syncIntervalInSeconds", 600),
Map.entry("timeoutInSeconds", 600),
Map.entry("validation", "none")
)),
Map.entry("srs-kustomization2", Map.ofEntries(
Map.entry("dependsOn", Map.of("kustomizationName", "srs-kustomization1")),
Map.entry("path", "./other/test/path"),
Map.entry("prune", false),
Map.entry("retryIntervalInSeconds", 600),
Map.entry("syncIntervalInSeconds", 600),
Map.entry("timeoutInSeconds", 600),
Map.entry("validation", "none")
))
))
.namespace("srs-namespace")
.resourceGroupName("rg1")
.scope("cluster")
.sourceKind("GitRepository")
.suspend(false)
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:kubernetesconfiguration:FluxConfiguration srs-fluxconfig /subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig
Properties
Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects.
Key-value pairs of protected configuration settings for the configuration
Error message returned to the user in the case of provisioning failure.
Parameters to reconcile to the GitRepository source kind type.
Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.
Datetime the fluxConfiguration last synced its source on the cluster.
Branch and SHA of the last source commit synced with the cluster.
Status of the creation of the fluxConfiguration.
Public Key associated with this fluxConfiguration (either generated within the cluster or provided by the user).
Source Kind to pull the configuration data from.
Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration.
Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources