Extension Args
The Extension object. Uses Azure REST API version 2023-05-01. In version 2.x of the Azure Native provider, it used API version 2023-05-01. Other available API versions: 2022-04-02-preview, 2022-07-01, 2022-11-01, 2024-11-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native kubernetesconfiguration [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
Create Extension
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var extension = new AzureNative.KubernetesConfiguration.Extension("extension", new()
{
AutoUpgradeMinorVersion = true,
ClusterName = "clusterName1",
ClusterResourceName = "connectedClusters",
ClusterRp = "Microsoft.Kubernetes",
ConfigurationProtectedSettings =
{
{ "omsagent.secret.key", "secretKeyValue01" },
},
ConfigurationSettings =
{
{ "omsagent.env.clusterName", "clusterName1" },
{ "omsagent.secret.wsid", "fakeTokenPlaceholder" },
},
ExtensionName = "ClusterMonitor",
ExtensionType = "azuremonitor-containers",
ReleaseTrain = "Preview",
ResourceGroupName = "rg1",
Scope = new AzureNative.KubernetesConfiguration.Inputs.ScopeArgs
{
Cluster = new AzureNative.KubernetesConfiguration.Inputs.ScopeClusterArgs
{
ReleaseNamespace = "kube-system",
},
},
});
});
package main
import (
kubernetesconfiguration "github.com/pulumi/pulumi-azure-native-sdk/kubernetesconfiguration/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := kubernetesconfiguration.NewExtension(ctx, "extension", &kubernetesconfiguration.ExtensionArgs{
AutoUpgradeMinorVersion: pulumi.Bool(true),
ClusterName: pulumi.String("clusterName1"),
ClusterResourceName: pulumi.String("connectedClusters"),
ClusterRp: pulumi.String("Microsoft.Kubernetes"),
ConfigurationProtectedSettings: pulumi.StringMap{
"omsagent.secret.key": pulumi.String("secretKeyValue01"),
},
ConfigurationSettings: pulumi.StringMap{
"omsagent.env.clusterName": pulumi.String("clusterName1"),
"omsagent.secret.wsid": pulumi.String("fakeTokenPlaceholder"),
},
ExtensionName: pulumi.String("ClusterMonitor"),
ExtensionType: pulumi.String("azuremonitor-containers"),
ReleaseTrain: pulumi.String("Preview"),
ResourceGroupName: pulumi.String("rg1"),
Scope: &kubernetesconfiguration.ScopeArgs{
Cluster: &kubernetesconfiguration.ScopeClusterArgs{
ReleaseNamespace: pulumi.String("kube-system"),
},
},
})
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.Extension;
import com.pulumi.azurenative.kubernetesconfiguration.ExtensionArgs;
import com.pulumi.azurenative.kubernetesconfiguration.inputs.ScopeArgs;
import com.pulumi.azurenative.kubernetesconfiguration.inputs.ScopeClusterArgs;
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 extension = new Extension("extension", ExtensionArgs.builder()
.autoUpgradeMinorVersion(true)
.clusterName("clusterName1")
.clusterResourceName("connectedClusters")
.clusterRp("Microsoft.Kubernetes")
.configurationProtectedSettings(Map.of("omsagent.secret.key", "secretKeyValue01"))
.configurationSettings(Map.ofEntries(
Map.entry("omsagent.env.clusterName", "clusterName1"),
Map.entry("omsagent.secret.wsid", "fakeTokenPlaceholder")
))
.extensionName("ClusterMonitor")
.extensionType("azuremonitor-containers")
.releaseTrain("Preview")
.resourceGroupName("rg1")
.scope(ScopeArgs.builder()
.cluster(ScopeClusterArgs.builder()
.releaseNamespace("kube-system")
.build())
.build())
.build());
}
}
Create Extension with Plan
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var extension = new AzureNative.KubernetesConfiguration.Extension("extension", new()
{
AutoUpgradeMinorVersion = true,
ClusterName = "clusterName1",
ClusterResourceName = "connectedClusters",
ClusterRp = "Microsoft.Kubernetes",
ExtensionName = "azureVote",
ExtensionType = "azure-vote",
Plan = new AzureNative.KubernetesConfiguration.Inputs.PlanArgs
{
Name = "azure-vote-standard",
Product = "azure-vote-standard-offer-id",
Publisher = "Microsoft",
},
ReleaseTrain = "Preview",
ResourceGroupName = "rg1",
});
});
package main
import (
kubernetesconfiguration "github.com/pulumi/pulumi-azure-native-sdk/kubernetesconfiguration/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := kubernetesconfiguration.NewExtension(ctx, "extension", &kubernetesconfiguration.ExtensionArgs{
AutoUpgradeMinorVersion: pulumi.Bool(true),
ClusterName: pulumi.String("clusterName1"),
ClusterResourceName: pulumi.String("connectedClusters"),
ClusterRp: pulumi.String("Microsoft.Kubernetes"),
ExtensionName: pulumi.String("azureVote"),
ExtensionType: pulumi.String("azure-vote"),
Plan: &kubernetesconfiguration.PlanArgs{
Name: pulumi.String("azure-vote-standard"),
Product: pulumi.String("azure-vote-standard-offer-id"),
Publisher: pulumi.String("Microsoft"),
},
ReleaseTrain: pulumi.String("Preview"),
ResourceGroupName: pulumi.String("rg1"),
})
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.Extension;
import com.pulumi.azurenative.kubernetesconfiguration.ExtensionArgs;
import com.pulumi.azurenative.kubernetesconfiguration.inputs.PlanArgs;
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 extension = new Extension("extension", ExtensionArgs.builder()
.autoUpgradeMinorVersion(true)
.clusterName("clusterName1")
.clusterResourceName("connectedClusters")
.clusterRp("Microsoft.Kubernetes")
.extensionName("azureVote")
.extensionType("azure-vote")
.plan(PlanArgs.builder()
.name("azure-vote-standard")
.product("azure-vote-standard-offer-id")
.publisher("Microsoft")
.build())
.releaseTrain("Preview")
.resourceGroupName("rg1")
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:kubernetesconfiguration:Extension azureVote /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}
Constructors
Properties
Identity of the Extension resource in an AKS cluster
Flag to note if this extension participates in auto upgrade of minor version, or not.
The name of the kubernetes cluster.
The Kubernetes cluster resource name - i.e. managedClusters, connectedClusters, provisionedClusters.
Configuration settings that are sensitive, as name-value pairs for configuring this extension.
Configuration settings, as name-value pairs for configuring this extension.
Name of the Extension.
Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.
Identity of the Extension resource
ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.
The name of the resource group. The name is case insensitive.
Status from this extension.