All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.containerservice.kotlin.ClusterTrustedAccessRoleBinding.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.containerservice.kotlin

import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List

/**
 * Builder for [ClusterTrustedAccessRoleBinding].
 */
@PulumiTagMarker
public class ClusterTrustedAccessRoleBindingResourceBuilder internal constructor() {
    public var name: String? = null

    public var args: ClusterTrustedAccessRoleBindingArgs = ClusterTrustedAccessRoleBindingArgs()

    public var opts: CustomResourceOptions = CustomResourceOptions()

    /**
     * @param name The _unique_ name of the resulting resource.
     */
    public fun name(`value`: String) {
        this.name = value
    }

    /**
     * @param block The arguments to use to populate this resource's properties.
     */
    public suspend fun args(block: suspend ClusterTrustedAccessRoleBindingArgsBuilder.() -> Unit) {
        val builder = ClusterTrustedAccessRoleBindingArgsBuilder()
        block(builder)
        this.args = builder.build()
    }

    /**
     * @param block A bag of options that control this resource's behavior.
     */
    public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
        this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
    }

    internal fun build(): ClusterTrustedAccessRoleBinding {
        val builtJavaResource =
            com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBinding(
                this.name,
                this.args.toJava(),
                this.opts.toJava(),
            )
        return ClusterTrustedAccessRoleBinding(builtJavaResource)
    }
}

/**
 * 
 * Manages a Kubernetes Cluster Trusted Access Role Binding
 * > **Note:** This Resource is in **Preview** to use this you must be opted into the Preview. You can do this by running `az feature register --namespace Microsoft.ContainerService --name TrustedAccessPreview` and then `az provider register -n Microsoft.ContainerService`
 * .
 * ## Example Usage
 * 
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 * const exampleResourceGroup = new azure.core.ResourceGroup("example", {
 *     name: "example-resources",
 *     location: "West Europe",
 * });
 * const example = new azure.appinsights.Insights("example", {
 *     name: "example",
 *     location: exampleResourceGroup.location,
 *     resourceGroupName: exampleResourceGroup.name,
 *     applicationType: "example-value",
 * });
 * const test = azure.core.getClientConfig({});
 * const exampleKeyVault = new azure.keyvault.KeyVault("example", {
 *     name: "example",
 *     location: exampleResourceGroup.location,
 *     resourceGroupName: exampleResourceGroup.name,
 *     tenantId: exampleAzurermClientConfig.tenantId,
 *     skuName: "example-value",
 *     softDeleteRetentionDays: "example-value",
 * });
 * const exampleAccessPolicy = new azure.keyvault.AccessPolicy("example", {
 *     keyVaultId: exampleKeyVault.id,
 *     tenantId: exampleAzurermClientConfig.tenantId,
 *     objectId: exampleAzurermClientConfig.objectId,
 *     keyPermissions: "example-value",
 * });
 * const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", {
 *     name: "example",
 *     location: exampleResourceGroup.location,
 *     resourceGroupName: exampleResourceGroup.name,
 *     dnsPrefix: "acctestaksexample",
 *     defaultNodePool: {
 *         name: "example-value",
 *         nodeCount: "example-value",
 *         vmSize: "example-value",
 *         upgradeSettings: {
 *             maxSurge: "example-value",
 *         },
 *     },
 *     identity: {
 *         type: "example-value",
 *     },
 * });
 * const exampleAccount = new azure.storage.Account("example", {
 *     name: "example",
 *     location: exampleResourceGroup.location,
 *     resourceGroupName: exampleResourceGroup.name,
 *     accountTier: "example-value",
 *     accountReplicationType: "example-value",
 * });
 * const exampleWorkspace = new azure.machinelearning.Workspace("example", {
 *     name: "example",
 *     location: exampleResourceGroup.location,
 *     resourceGroupName: exampleResourceGroup.name,
 *     keyVaultId: exampleKeyVault.id,
 *     storageAccountId: exampleAccount.id,
 *     applicationInsightsId: example.id,
 *     identity: {
 *         type: "example-value",
 *     },
 * });
 * const exampleClusterTrustedAccessRoleBinding = new azure.containerservice.ClusterTrustedAccessRoleBinding("example", {
 *     kubernetesClusterId: exampleKubernetesCluster.id,
 *     name: "example",
 *     roles: "example-value",
 *     sourceResourceId: exampleWorkspace.id,
 * });
 * ```
 * ```python
 * import pulumi
 * import pulumi_azure as azure
 * example_resource_group = azure.core.ResourceGroup("example",
 *     name="example-resources",
 *     location="West Europe")
 * example = azure.appinsights.Insights("example",
 *     name="example",
 *     location=example_resource_group.location,
 *     resource_group_name=example_resource_group.name,
 *     application_type="example-value")
 * test = azure.core.get_client_config()
 * example_key_vault = azure.keyvault.KeyVault("example",
 *     name="example",
 *     location=example_resource_group.location,
 *     resource_group_name=example_resource_group.name,
 *     tenant_id=example_azurerm_client_config["tenantId"],
 *     sku_name="example-value",
 *     soft_delete_retention_days="example-value")
 * example_access_policy = azure.keyvault.AccessPolicy("example",
 *     key_vault_id=example_key_vault.id,
 *     tenant_id=example_azurerm_client_config["tenantId"],
 *     object_id=example_azurerm_client_config["objectId"],
 *     key_permissions="example-value")
 * example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example",
 *     name="example",
 *     location=example_resource_group.location,
 *     resource_group_name=example_resource_group.name,
 *     dns_prefix="acctestaksexample",
 *     default_node_pool={
 *         "name": "example-value",
 *         "node_count": "example-value",
 *         "vm_size": "example-value",
 *         "upgrade_settings": {
 *             "max_surge": "example-value",
 *         },
 *     },
 *     identity={
 *         "type": "example-value",
 *     })
 * example_account = azure.storage.Account("example",
 *     name="example",
 *     location=example_resource_group.location,
 *     resource_group_name=example_resource_group.name,
 *     account_tier="example-value",
 *     account_replication_type="example-value")
 * example_workspace = azure.machinelearning.Workspace("example",
 *     name="example",
 *     location=example_resource_group.location,
 *     resource_group_name=example_resource_group.name,
 *     key_vault_id=example_key_vault.id,
 *     storage_account_id=example_account.id,
 *     application_insights_id=example.id,
 *     identity={
 *         "type": "example-value",
 *     })
 * example_cluster_trusted_access_role_binding = azure.containerservice.ClusterTrustedAccessRoleBinding("example",
 *     kubernetes_cluster_id=example_kubernetes_cluster.id,
 *     name="example",
 *     roles="example-value",
 *     source_resource_id=example_workspace.id)
 * ```
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using Azure = Pulumi.Azure;
 * return await Deployment.RunAsync(() =>
 * {
 *     var exampleResourceGroup = new Azure.Core.ResourceGroup("example", new()
 *     {
 *         Name = "example-resources",
 *         Location = "West Europe",
 *     });
 *     var example = new Azure.AppInsights.Insights("example", new()
 *     {
 *         Name = "example",
 *         Location = exampleResourceGroup.Location,
 *         ResourceGroupName = exampleResourceGroup.Name,
 *         ApplicationType = "example-value",
 *     });
 *     var test = Azure.Core.GetClientConfig.Invoke();
 *     var exampleKeyVault = new Azure.KeyVault.KeyVault("example", new()
 *     {
 *         Name = "example",
 *         Location = exampleResourceGroup.Location,
 *         ResourceGroupName = exampleResourceGroup.Name,
 *         TenantId = exampleAzurermClientConfig.TenantId,
 *         SkuName = "example-value",
 *         SoftDeleteRetentionDays = "example-value",
 *     });
 *     var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy("example", new()
 *     {
 *         KeyVaultId = exampleKeyVault.Id,
 *         TenantId = exampleAzurermClientConfig.TenantId,
 *         ObjectId = exampleAzurermClientConfig.ObjectId,
 *         KeyPermissions = "example-value",
 *     });
 *     var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new()
 *     {
 *         Name = "example",
 *         Location = exampleResourceGroup.Location,
 *         ResourceGroupName = exampleResourceGroup.Name,
 *         DnsPrefix = "acctestaksexample",
 *         DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs
 *         {
 *             Name = "example-value",
 *             NodeCount = "example-value",
 *             VmSize = "example-value",
 *             UpgradeSettings = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs
 *             {
 *                 MaxSurge = "example-value",
 *             },
 *         },
 *         Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs
 *         {
 *             Type = "example-value",
 *         },
 *     });
 *     var exampleAccount = new Azure.Storage.Account("example", new()
 *     {
 *         Name = "example",
 *         Location = exampleResourceGroup.Location,
 *         ResourceGroupName = exampleResourceGroup.Name,
 *         AccountTier = "example-value",
 *         AccountReplicationType = "example-value",
 *     });
 *     var exampleWorkspace = new Azure.MachineLearning.Workspace("example", new()
 *     {
 *         Name = "example",
 *         Location = exampleResourceGroup.Location,
 *         ResourceGroupName = exampleResourceGroup.Name,
 *         KeyVaultId = exampleKeyVault.Id,
 *         StorageAccountId = exampleAccount.Id,
 *         ApplicationInsightsId = example.Id,
 *         Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs
 *         {
 *             Type = "example-value",
 *         },
 *     });
 *     var exampleClusterTrustedAccessRoleBinding = new Azure.ContainerService.ClusterTrustedAccessRoleBinding("example", new()
 *     {
 *         KubernetesClusterId = exampleKubernetesCluster.Id,
 *         Name = "example",
 *         Roles = "example-value",
 *         SourceResourceId = exampleWorkspace.Id,
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appinsights"
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerservice"
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault"
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/machinelearning"
 * 	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
 * 			Name:     pulumi.String("example-resources"),
 * 			Location: pulumi.String("West Europe"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		example, err := appinsights.NewInsights(ctx, "example", &appinsights.InsightsArgs{
 * 			Name:              pulumi.String("example"),
 * 			Location:          exampleResourceGroup.Location,
 * 			ResourceGroupName: exampleResourceGroup.Name,
 * 			ApplicationType:   pulumi.String("example-value"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		_, err = core.GetClientConfig(ctx, nil, nil)
 * 		if err != nil {
 * 			return err
 * 		}
 * 		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "example", &keyvault.KeyVaultArgs{
 * 			Name:                    pulumi.String("example"),
 * 			Location:                exampleResourceGroup.Location,
 * 			ResourceGroupName:       exampleResourceGroup.Name,
 * 			TenantId:                pulumi.Any(exampleAzurermClientConfig.TenantId),
 * 			SkuName:                 pulumi.String("example-value"),
 * 			SoftDeleteRetentionDays: pulumi.Int("example-value"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		_, err = keyvault.NewAccessPolicy(ctx, "example", &keyvault.AccessPolicyArgs{
 * 			KeyVaultId:     exampleKeyVault.ID(),
 * 			TenantId:       pulumi.Any(exampleAzurermClientConfig.TenantId),
 * 			ObjectId:       pulumi.Any(exampleAzurermClientConfig.ObjectId),
 * 			KeyPermissions: pulumi.StringArray("example-value"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		exampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{
 * 			Name:              pulumi.String("example"),
 * 			Location:          exampleResourceGroup.Location,
 * 			ResourceGroupName: exampleResourceGroup.Name,
 * 			DnsPrefix:         pulumi.String("acctestaksexample"),
 * 			DefaultNodePool: &containerservice.KubernetesClusterDefaultNodePoolArgs{
 * 				Name:      pulumi.String("example-value"),
 * 				NodeCount: pulumi.Int("example-value"),
 * 				VmSize:    pulumi.String("example-value"),
 * 				UpgradeSettings: &containerservice.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs{
 * 					MaxSurge: pulumi.String("example-value"),
 * 				},
 * 			},
 * 			Identity: &containerservice.KubernetesClusterIdentityArgs{
 * 				Type: pulumi.String("example-value"),
 * 			},
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
 * 			Name:                   pulumi.String("example"),
 * 			Location:               exampleResourceGroup.Location,
 * 			ResourceGroupName:      exampleResourceGroup.Name,
 * 			AccountTier:            pulumi.String("example-value"),
 * 			AccountReplicationType: pulumi.String("example-value"),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		exampleWorkspace, err := machinelearning.NewWorkspace(ctx, "example", &machinelearning.WorkspaceArgs{
 * 			Name:                  pulumi.String("example"),
 * 			Location:              exampleResourceGroup.Location,
 * 			ResourceGroupName:     exampleResourceGroup.Name,
 * 			KeyVaultId:            exampleKeyVault.ID(),
 * 			StorageAccountId:      exampleAccount.ID(),
 * 			ApplicationInsightsId: example.ID(),
 * 			Identity: &machinelearning.WorkspaceIdentityArgs{
 * 				Type: pulumi.String("example-value"),
 * 			},
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		_, err = containerservice.NewClusterTrustedAccessRoleBinding(ctx, "example", &containerservice.ClusterTrustedAccessRoleBindingArgs{
 * 			KubernetesClusterId: exampleKubernetesCluster.ID(),
 * 			Name:                pulumi.String("example"),
 * 			Roles:               pulumi.StringArray("example-value"),
 * 			SourceResourceId:    exampleWorkspace.ID(),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * 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.appinsights.Insights;
 * import com.pulumi.azure.appinsights.InsightsArgs;
 * import com.pulumi.azure.core.CoreFunctions;
 * import com.pulumi.azure.keyvault.KeyVault;
 * import com.pulumi.azure.keyvault.KeyVaultArgs;
 * import com.pulumi.azure.keyvault.AccessPolicy;
 * import com.pulumi.azure.keyvault.AccessPolicyArgs;
 * import com.pulumi.azure.containerservice.KubernetesCluster;
 * import com.pulumi.azure.containerservice.KubernetesClusterArgs;
 * import com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;
 * import com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolUpgradeSettingsArgs;
 * import com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;
 * import com.pulumi.azure.storage.Account;
 * import com.pulumi.azure.storage.AccountArgs;
 * import com.pulumi.azure.machinelearning.Workspace;
 * import com.pulumi.azure.machinelearning.WorkspaceArgs;
 * import com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs;
 * import com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBinding;
 * import com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBindingArgs;
 * 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()
 *             .name("example-resources")
 *             .location("West Europe")
 *             .build());
 *         var example = new Insights("example", InsightsArgs.builder()
 *             .name("example")
 *             .location(exampleResourceGroup.location())
 *             .resourceGroupName(exampleResourceGroup.name())
 *             .applicationType("example-value")
 *             .build());
 *         final var test = CoreFunctions.getClientConfig();
 *         var exampleKeyVault = new KeyVault("exampleKeyVault", KeyVaultArgs.builder()
 *             .name("example")
 *             .location(exampleResourceGroup.location())
 *             .resourceGroupName(exampleResourceGroup.name())
 *             .tenantId(exampleAzurermClientConfig.tenantId())
 *             .skuName("example-value")
 *             .softDeleteRetentionDays("example-value")
 *             .build());
 *         var exampleAccessPolicy = new AccessPolicy("exampleAccessPolicy", AccessPolicyArgs.builder()
 *             .keyVaultId(exampleKeyVault.id())
 *             .tenantId(exampleAzurermClientConfig.tenantId())
 *             .objectId(exampleAzurermClientConfig.objectId())
 *             .keyPermissions("example-value")
 *             .build());
 *         var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder()
 *             .name("example")
 *             .location(exampleResourceGroup.location())
 *             .resourceGroupName(exampleResourceGroup.name())
 *             .dnsPrefix("acctestaksexample")
 *             .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()
 *                 .name("example-value")
 *                 .nodeCount("example-value")
 *                 .vmSize("example-value")
 *                 .upgradeSettings(KubernetesClusterDefaultNodePoolUpgradeSettingsArgs.builder()
 *                     .maxSurge("example-value")
 *                     .build())
 *                 .build())
 *             .identity(KubernetesClusterIdentityArgs.builder()
 *                 .type("example-value")
 *                 .build())
 *             .build());
 *         var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
 *             .name("example")
 *             .location(exampleResourceGroup.location())
 *             .resourceGroupName(exampleResourceGroup.name())
 *             .accountTier("example-value")
 *             .accountReplicationType("example-value")
 *             .build());
 *         var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder()
 *             .name("example")
 *             .location(exampleResourceGroup.location())
 *             .resourceGroupName(exampleResourceGroup.name())
 *             .keyVaultId(exampleKeyVault.id())
 *             .storageAccountId(exampleAccount.id())
 *             .applicationInsightsId(example.id())
 *             .identity(WorkspaceIdentityArgs.builder()
 *                 .type("example-value")
 *                 .build())
 *             .build());
 *         var exampleClusterTrustedAccessRoleBinding = new ClusterTrustedAccessRoleBinding("exampleClusterTrustedAccessRoleBinding", ClusterTrustedAccessRoleBindingArgs.builder()
 *             .kubernetesClusterId(exampleKubernetesCluster.id())
 *             .name("example")
 *             .roles("example-value")
 *             .sourceResourceId(exampleWorkspace.id())
 *             .build());
 *     }
 * }
 * ```
 * ```yaml
 * resources:
 *   example:
 *     type: azure:appinsights:Insights
 *     properties:
 *       name: example
 *       location: ${exampleResourceGroup.location}
 *       resourceGroupName: ${exampleResourceGroup.name}
 *       applicationType: example-value
 *   exampleKeyVault:
 *     type: azure:keyvault:KeyVault
 *     name: example
 *     properties:
 *       name: example
 *       location: ${exampleResourceGroup.location}
 *       resourceGroupName: ${exampleResourceGroup.name}
 *       tenantId: ${exampleAzurermClientConfig.tenantId}
 *       skuName: example-value
 *       softDeleteRetentionDays: example-value
 *   exampleAccessPolicy:
 *     type: azure:keyvault:AccessPolicy
 *     name: example
 *     properties:
 *       keyVaultId: ${exampleKeyVault.id}
 *       tenantId: ${exampleAzurermClientConfig.tenantId}
 *       objectId: ${exampleAzurermClientConfig.objectId}
 *       keyPermissions: example-value
 *   exampleKubernetesCluster:
 *     type: azure:containerservice:KubernetesCluster
 *     name: example
 *     properties:
 *       name: example
 *       location: ${exampleResourceGroup.location}
 *       resourceGroupName: ${exampleResourceGroup.name}
 *       dnsPrefix: acctestaksexample
 *       defaultNodePool:
 *         name: example-value
 *         nodeCount: example-value
 *         vmSize: example-value
 *         upgradeSettings:
 *           maxSurge: example-value
 *       identity:
 *         type: example-value
 *   exampleWorkspace:
 *     type: azure:machinelearning:Workspace
 *     name: example
 *     properties:
 *       name: example
 *       location: ${exampleResourceGroup.location}
 *       resourceGroupName: ${exampleResourceGroup.name}
 *       keyVaultId: ${exampleKeyVault.id}
 *       storageAccountId: ${exampleAccount.id}
 *       applicationInsightsId: ${example.id}
 *       identity:
 *         type: example-value
 *   exampleResourceGroup:
 *     type: azure:core:ResourceGroup
 *     name: example
 *     properties:
 *       name: example-resources
 *       location: West Europe
 *   exampleAccount:
 *     type: azure:storage:Account
 *     name: example
 *     properties:
 *       name: example
 *       location: ${exampleResourceGroup.location}
 *       resourceGroupName: ${exampleResourceGroup.name}
 *       accountTier: example-value
 *       accountReplicationType: example-value
 *   exampleClusterTrustedAccessRoleBinding:
 *     type: azure:containerservice:ClusterTrustedAccessRoleBinding
 *     name: example
 *     properties:
 *       kubernetesClusterId: ${exampleKubernetesCluster.id}
 *       name: example
 *       roles: example-value
 *       sourceResourceId: ${exampleWorkspace.id}
 * variables:
 *   test:
 *     fn::invoke:
 *       Function: azure:core:getClientConfig
 *       Arguments: {}
 * ```
 * 
 * ## Import
 * An existing Kubernetes Cluster Trusted Access Role Binding can be imported into Terraform using the `resource id`, e.g.
 * ```sh
 * $ pulumi import azure:containerservice/clusterTrustedAccessRoleBinding:ClusterTrustedAccessRoleBinding example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{managedClusterName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}
 * ```
 * * Where `{subscriptionId}` is the ID of the Azure Subscription where the Kubernetes Cluster Trusted Access Role Binding exists. For example `12345678-1234-9876-4563-123456789012`.
 * * Where `{resourceGroupName}` is the name of Resource Group where this Kubernetes Cluster Trusted Access Role Binding exists. For example `example-resource-group`.
 * * Where `{managedClusterName}` is the name of the Managed Cluster. For example `managedClusterValue`.
 * * Where `{trustedAccessRoleBindingName}` is the name of the Trusted Access Role Binding. For example `trustedAccessRoleBindingValue`.
 */
public class ClusterTrustedAccessRoleBinding internal constructor(
    override val javaResource: com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBinding,
) : KotlinCustomResource(javaResource, ClusterTrustedAccessRoleBindingMapper) {
    /**
     * Specifies the Kubernetes Cluster Id within which this Kubernetes Cluster Trusted Access Role Binding should exist. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.
     */
    public val kubernetesClusterId: Output
        get() = javaResource.kubernetesClusterId().applyValue({ args0 -> args0 })

    /**
     * Specifies the name of this Kubernetes Cluster Trusted Access Role Binding. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.
     */
    public val name: Output
        get() = javaResource.name().applyValue({ args0 -> args0 })

    /**
     * A list of roles to bind, each item is a resource type qualified role name.
     */
    public val roles: Output>
        get() = javaResource.roles().applyValue({ args0 -> args0.map({ args0 -> args0 }) })

    /**
     * The ARM resource ID of source resource that trusted access is configured for. Changing this forces a new Kubernetes Cluster Trusted Access Role Binding to be created.
     */
    public val sourceResourceId: Output
        get() = javaResource.sourceResourceId().applyValue({ args0 -> args0 })
}

public object ClusterTrustedAccessRoleBindingMapper :
    ResourceMapper {
    override fun supportsMappingOfType(javaResource: Resource): Boolean =
        com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBinding::class == javaResource::class

    override fun map(javaResource: Resource): ClusterTrustedAccessRoleBinding =
        ClusterTrustedAccessRoleBinding(
            javaResource as
                com.pulumi.azure.containerservice.ClusterTrustedAccessRoleBinding,
        )
}

/**
 * @see [ClusterTrustedAccessRoleBinding].
 * @param name The _unique_ name of the resulting resource.
 * @param block Builder for [ClusterTrustedAccessRoleBinding].
 */
public suspend fun clusterTrustedAccessRoleBinding(
    name: String,
    block: suspend ClusterTrustedAccessRoleBindingResourceBuilder.() -> Unit,
): ClusterTrustedAccessRoleBinding {
    val builder = ClusterTrustedAccessRoleBindingResourceBuilder()
    builder.name(name)
    block(builder)
    return builder.build()
}

/**
 * @see [ClusterTrustedAccessRoleBinding].
 * @param name The _unique_ name of the resulting resource.
 */
public fun clusterTrustedAccessRoleBinding(name: String): ClusterTrustedAccessRoleBinding {
    val builder = ClusterTrustedAccessRoleBindingResourceBuilder()
    builder.name(name)
    return builder.build()
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy