Flux Configuration Args
data class FluxConfigurationArgs(val clusterName: Output<String>? = null, val clusterResourceName: Output<String>? = null, val clusterRp: Output<String>? = null, val configurationProtectedSettings: Output<Map<String, String>>? = null, val fluxConfigurationName: Output<String>? = null, val gitRepository: Output<GitRepositoryDefinitionArgs>? = null, val kustomizations: Output<Map<String, KustomizationDefinitionArgs>>? = null, val namespace: Output<String>? = null, val resourceGroupName: Output<String>? = null, val scope: Output<Either<String, ScopeType>>? = null, val sourceKind: Output<Either<String, SourceKindType>>? = null, val suspend: Output<Boolean>? = null) : ConvertibleToJava<FluxConfigurationArgs>
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,
});
});
Content copied to clipboard
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
})
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
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
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(clusterName: Output<String>? = null, clusterResourceName: Output<String>? = null, clusterRp: Output<String>? = null, configurationProtectedSettings: Output<Map<String, String>>? = null, fluxConfigurationName: Output<String>? = null, gitRepository: Output<GitRepositoryDefinitionArgs>? = null, kustomizations: Output<Map<String, KustomizationDefinitionArgs>>? = null, namespace: Output<String>? = null, resourceGroupName: Output<String>? = null, scope: Output<Either<String, ScopeType>>? = null, sourceKind: Output<Either<String, SourceKindType>>? = null, suspend: Output<Boolean>? = null)
Properties
Link copied to clipboard
The name of the kubernetes cluster.
Link copied to clipboard
The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters).
Link copied to clipboard
Key-value pairs of protected configuration settings for the configuration
Link copied to clipboard
Name of the Flux Configuration.
Link copied to clipboard
Parameters to reconcile to the GitRepository source kind type.
Link copied to clipboard
Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.
Link copied to clipboard
The name of the resource group. The name is case insensitive.
Link copied to clipboard
Source Kind to pull the configuration data from.