CustomLocationArgs

data class CustomLocationArgs(val authentication: Output<CustomLocationPropertiesAuthenticationArgs>? = null, val clusterExtensionIds: Output<List<String>>? = null, val displayName: Output<String>? = null, val hostResourceId: Output<String>? = null, val hostType: Output<Either<String, HostType>>? = null, val identity: Output<IdentityArgs>? = null, val location: Output<String>? = null, val namespace: Output<String>? = null, val provisioningState: Output<String>? = null, val resourceGroupName: Output<String>? = null, val resourceName: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<CustomLocationArgs>

Custom Locations definition. Uses Azure REST API version 2021-08-31-preview. In version 2.x of the Azure Native provider, it used API version 2021-08-15. Other available API versions: 2021-08-15. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native extendedlocation [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

Create/Update Custom Location

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var customLocation = new AzureNative.ExtendedLocation.CustomLocation("customLocation", new()
{
Authentication = new AzureNative.ExtendedLocation.Inputs.CustomLocationPropertiesAuthenticationArgs
{
Type = "KubeConfig",
Value = "<base64 KubeConfig>",
},
ClusterExtensionIds = new[]
{
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedCluster/someCluster/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension",
},
DisplayName = "customLocationLocation01",
HostResourceId = "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01",
Identity = new AzureNative.ExtendedLocation.Inputs.IdentityArgs
{
Type = AzureNative.ExtendedLocation.ResourceIdentityType.SystemAssigned,
},
Location = "West US",
Namespace = "namespace01",
ResourceGroupName = "testresourcegroup",
ResourceName = "customLocation01",
});
});
package main
import (
extendedlocation "github.com/pulumi/pulumi-azure-native-sdk/extendedlocation/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := extendedlocation.NewCustomLocation(ctx, "customLocation", &extendedlocation.CustomLocationArgs{
Authentication: &extendedlocation.CustomLocationPropertiesAuthenticationArgs{
Type: pulumi.String("KubeConfig"),
Value: pulumi.String("<base64 KubeConfig>"),
},
ClusterExtensionIds: pulumi.StringArray{
pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedCluster/someCluster/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension"),
},
DisplayName: pulumi.String("customLocationLocation01"),
HostResourceId: pulumi.String("/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01"),
Identity: &extendedlocation.IdentityArgs{
Type: pulumi.String(extendedlocation.ResourceIdentityTypeSystemAssigned),
},
Location: pulumi.String("West US"),
Namespace: pulumi.String("namespace01"),
ResourceGroupName: pulumi.String("testresourcegroup"),
ResourceName: pulumi.String("customLocation01"),
})
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.extendedlocation.CustomLocation;
import com.pulumi.azurenative.extendedlocation.CustomLocationArgs;
import com.pulumi.azurenative.extendedlocation.inputs.CustomLocationPropertiesAuthenticationArgs;
import com.pulumi.azurenative.extendedlocation.inputs.IdentityArgs;
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 customLocation = new CustomLocation("customLocation", CustomLocationArgs.builder()
.authentication(CustomLocationPropertiesAuthenticationArgs.builder()
.type("KubeConfig")
.value("<base64 KubeConfig>")
.build())
.clusterExtensionIds("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedCluster/someCluster/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension")
.displayName("customLocationLocation01")
.hostResourceId("/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01")
.identity(IdentityArgs.builder()
.type("SystemAssigned")
.build())
.location("West US")
.namespace("namespace01")
.resourceGroupName("testresourcegroup")
.resourceName("customLocation01")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:extendedlocation:CustomLocation customLocation01 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations/{resourceName}

Constructors

Link copied to clipboard
constructor(authentication: Output<CustomLocationPropertiesAuthenticationArgs>? = null, clusterExtensionIds: Output<List<String>>? = null, displayName: Output<String>? = null, hostResourceId: Output<String>? = null, hostType: Output<Either<String, HostType>>? = null, identity: Output<IdentityArgs>? = null, location: Output<String>? = null, namespace: Output<String>? = null, provisioningState: Output<String>? = null, resourceGroupName: Output<String>? = null, resourceName: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard

This is optional input that contains the authentication that should be used to generate the namespace.

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

Contains the reference to the add-on that contains charts to deploy CRDs and operators.

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

Display name for the Custom Locations location.

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

Connected Cluster or AKS Cluster. The Custom Locations RP will perform a checkAccess API for listAdminCredentials permissions.

Link copied to clipboard
val hostType: Output<Either<String, HostType>>? = null

Type of host the Custom Locations is referencing (Kubernetes, etc...).

Link copied to clipboard
val identity: Output<IdentityArgs>? = null

Identity for the resource.

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

The geo-location where the resource lives

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

Kubernetes namespace that will be created on the specified cluster.

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

Provisioning State for the Custom Location.

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

The name of the resource group. The name is case insensitive.

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

Custom Locations name.

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

Resource tags.

Functions

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