ClusterExtensionArgs

data class ClusterExtensionArgs(val clusterId: Output<String>? = null, val configurationProtectedSettings: Output<Map<String, String>>? = null, val configurationSettings: Output<Map<String, String>>? = null, val extensionType: Output<String>? = null, val identity: Output<ClusterExtensionIdentityArgs>? = null, val name: Output<String>? = null, val releaseNamespace: Output<String>? = null, val releaseTrain: Output<String>? = null, val targetNamespace: Output<String>? = null, val version: Output<String>? = null) : ConvertibleToJava<ClusterExtensionArgs>

Manages an Arc Kubernetes Cluster Extension.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.arckubernetes.Cluster;
import com.pulumi.azure.arckubernetes.ClusterArgs;
import com.pulumi.azure.arckubernetes.inputs.ClusterIdentityArgs;
import com.pulumi.azure.arckubernetes.ClusterExtension;
import com.pulumi.azure.arckubernetes.ClusterExtensionArgs;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location("West Europe")
.agentPublicKeyCertificate(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get("testdata/public.cer"))))
.identity(ClusterIdentityArgs.builder()
.type("SystemAssigned")
.build())
.tags(Map.of("ENV", "Test"))
.build());
var exampleClusterExtension = new ClusterExtension("exampleClusterExtension", ClusterExtensionArgs.builder()
.clusterId(exampleCluster.id())
.extensionType("microsoft.flux")
.build());
}
}

Import

Arc Kubernetes Cluster Extension can be imported using the resource id for different cluster_resource_name, e.g.

$ pulumi import azure:arckubernetes/clusterExtension:ClusterExtension example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Kubernetes/connectedClusters/cluster1/providers/Microsoft.KubernetesConfiguration/extensions/extension1

Constructors

Link copied to clipboard
fun ClusterExtensionArgs(clusterId: Output<String>? = null, configurationProtectedSettings: Output<Map<String, String>>? = null, configurationSettings: Output<Map<String, String>>? = null, extensionType: Output<String>? = null, identity: Output<ClusterExtensionIdentityArgs>? = null, name: Output<String>? = null, releaseNamespace: Output<String>? = null, releaseTrain: Output<String>? = null, targetNamespace: Output<String>? = null, version: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): ClusterExtensionArgs

Properties

Link copied to clipboard
val clusterId: Output<String>? = null

Specifies the Cluster ID. Changing this forces a new Arc Kubernetes Cluster Extension to be created.

Link copied to clipboard

Configuration settings that are sensitive, as name-value pairs for configuring this extension.

Link copied to clipboard
val configurationSettings: Output<Map<String, String>>? = null

Configuration settings, as name-value pairs for configuring this extension.

Link copied to clipboard
val extensionType: Output<String>? = null

Specifies the type of extension. It must be one of the extension types registered with Microsoft.KubernetesConfiguration by the Extension publisher. For more information, please refer to Available Extensions for Arc-enabled Kubernetes clusters. Changing this forces a new Arc Kubernetes Cluster Extension to be created.

Link copied to clipboard

An identity block as defined below. Changing this forces a new Arc Kubernetes Cluster Extension to be created.

Link copied to clipboard
val name: Output<String>? = null

Specifies the name which should be used for this Arc Kubernetes Cluster Extension. Changing this forces a new Arc Kubernetes Cluster Extension to be created.

Link copied to clipboard
val releaseNamespace: Output<String>? = null

Namespace where the extension release must be placed for a cluster scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Arc Kubernetes Cluster Extension to be created.

Link copied to clipboard
val releaseTrain: Output<String>? = null

The release train used by this extension. Possible values include but are not limited to Stable, Preview. Changing this forces a new Arc Kubernetes Cluster Extension to be created.

Link copied to clipboard
val targetNamespace: Output<String>? = null

Namespace where the extension will be created for a namespace scoped extension. If this namespace does not exist, it will be created. Changing this forces a new Arc Kubernetes Cluster Extension to be created.

Link copied to clipboard
val version: Output<String>? = null

User-specified version that the extension should pin to. If it is not set, Azure will use the latest version and auto upgrade it. Changing this forces a new Arc Kubernetes Cluster Extension to be created.