Extension
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}
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 Azure API version of the resource.
Configuration settings that are sensitive, as name-value pairs for configuring this extension.
Configuration settings, as name-value pairs for configuring this extension.
Currently installed version of the extension.
Custom Location settings properties.
Error information from the Agent - e.g. errors during installation.
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
Flag to note if this extension is a system extension
Uri of the Helm package
The plan information.
Status of installation of this extension.
ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.
Scope at which the extension is installed.
Status from this extension.
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