FluxConfiguration

class FluxConfiguration : KotlinCustomResource

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

Link copied to clipboard
val complianceState: Output<String>

Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects.

Link copied to clipboard

Key-value pairs of protected configuration settings for the configuration

Link copied to clipboard
val errorMessage: Output<String>

Error message returned to the user in the case of provisioning failure.

Link copied to clipboard

Parameters to reconcile to the GitRepository source kind type.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.

Link copied to clipboard

Datetime the fluxConfiguration last synced its source on the cluster.

Link copied to clipboard

Branch and SHA of the last source commit synced with the cluster.

Link copied to clipboard
val name: Output<String>

The name of the resource

Link copied to clipboard
val namespace: Output<String>?

The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.

Link copied to clipboard

Status of the creation of the fluxConfiguration.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Public Key associated with this fluxConfiguration (either generated within the cluster or provided by the user).

Link copied to clipboard
val scope: Output<String>?

Scope at which the operator will be installed.

Link copied to clipboard
val sourceKind: Output<String>?

Source Kind to pull the configuration data from.

Link copied to clipboard

Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration.

Link copied to clipboard
val suspend: Output<Boolean>?

Whether this configuration should suspend its reconciliation of its kustomizations and sources.

Link copied to clipboard

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

Link copied to clipboard
val type: Output<String>

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Link copied to clipboard
val urn: Output<String>