![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azure.authorization.kotlin.AuthorizationFunctions.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-kotlin Show documentation
Show all versions of pulumi-azure-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.authorization.kotlin
import com.pulumi.azure.authorization.AuthorizationFunctions.getRoleDefinitionPlain
import com.pulumi.azure.authorization.AuthorizationFunctions.getUserAssignedIdentityPlain
import com.pulumi.azure.authorization.kotlin.inputs.GetRoleDefinitionPlainArgs
import com.pulumi.azure.authorization.kotlin.inputs.GetRoleDefinitionPlainArgsBuilder
import com.pulumi.azure.authorization.kotlin.inputs.GetUserAssignedIdentityPlainArgs
import com.pulumi.azure.authorization.kotlin.inputs.GetUserAssignedIdentityPlainArgsBuilder
import com.pulumi.azure.authorization.kotlin.outputs.GetRoleDefinitionResult
import com.pulumi.azure.authorization.kotlin.outputs.GetUserAssignedIdentityResult
import kotlinx.coroutines.future.await
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import com.pulumi.azure.authorization.kotlin.outputs.GetRoleDefinitionResult.Companion.toKotlin as getRoleDefinitionResultToKotlin
import com.pulumi.azure.authorization.kotlin.outputs.GetUserAssignedIdentityResult.Companion.toKotlin as getUserAssignedIdentityResultToKotlin
public object AuthorizationFunctions {
/**
* Use this data source to access information about an existing Role Definition.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
* const primary = azure.core.getSubscription({});
* const customRoleDefinition = new azure.authorization.RoleDefinition("custom", {
* roleDefinitionId: "00000000-0000-0000-0000-000000000000",
* name: "CustomRoleDef",
* scope: primary.then(primary => primary.id),
* });
* const custom = pulumi.all([customRoleDefinition.roleDefinitionId, primary]).apply(([roleDefinitionId, primary]) => azure.authorization.getRoleDefinitionOutput({
* roleDefinitionId: roleDefinitionId,
* scope: primary.id,
* }));
* const custom-byname = pulumi.all([customRoleDefinition.name, primary]).apply(([name, primary]) => azure.authorization.getRoleDefinitionOutput({
* name: name,
* scope: primary.id,
* }));
* const builtin = azure.authorization.getRoleDefinition({
* name: "Contributor",
* });
* export const customRoleDefinitionId = custom.apply(custom => custom.id);
* export const contributorRoleDefinitionId = builtin.then(builtin => builtin.id);
* ```
* ```python
* import pulumi
* import pulumi_azure as azure
* primary = azure.core.get_subscription()
* custom_role_definition = azure.authorization.RoleDefinition("custom",
* role_definition_id="00000000-0000-0000-0000-000000000000",
* name="CustomRoleDef",
* scope=primary.id)
* custom = custom_role_definition.role_definition_id.apply(lambda role_definition_id: azure.authorization.get_role_definition_output(role_definition_id=role_definition_id,
* scope=primary.id))
* custom_byname = custom_role_definition.name.apply(lambda name: azure.authorization.get_role_definition_output(name=name,
* scope=primary.id))
* builtin = azure.authorization.get_role_definition(name="Contributor")
* pulumi.export("customRoleDefinitionId", custom.id)
* pulumi.export("contributorRoleDefinitionId", builtin.id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Azure = Pulumi.Azure;
* return await Deployment.RunAsync(() =>
* {
* var primary = Azure.Core.GetSubscription.Invoke();
* var customRoleDefinition = new Azure.Authorization.RoleDefinition("custom", new()
* {
* RoleDefinitionId = "00000000-0000-0000-0000-000000000000",
* Name = "CustomRoleDef",
* Scope = primary.Apply(getSubscriptionResult => getSubscriptionResult.Id),
* });
* var custom = Azure.Authorization.GetRoleDefinition.Invoke(new()
* {
* RoleDefinitionId = customRoleDefinition.RoleDefinitionId,
* Scope = primary.Apply(getSubscriptionResult => getSubscriptionResult.Id),
* });
* var custom_byname = Azure.Authorization.GetRoleDefinition.Invoke(new()
* {
* Name = customRoleDefinition.Name,
* Scope = primary.Apply(getSubscriptionResult => getSubscriptionResult.Id),
* });
* var builtin = Azure.Authorization.GetRoleDefinition.Invoke(new()
* {
* Name = "Contributor",
* });
* return new Dictionary
* {
* ["customRoleDefinitionId"] = custom.Apply(getRoleDefinitionResult => getRoleDefinitionResult.Id),
* ["contributorRoleDefinitionId"] = builtin.Apply(getRoleDefinitionResult => getRoleDefinitionResult.Id),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* primary, err := core.LookupSubscription(ctx, nil, nil)
* if err != nil {
* return err
* }
* customRoleDefinition, err := authorization.NewRoleDefinition(ctx, "custom", &authorization.RoleDefinitionArgs{
* RoleDefinitionId: pulumi.String("00000000-0000-0000-0000-000000000000"),
* Name: pulumi.String("CustomRoleDef"),
* Scope: pulumi.String(primary.Id),
* })
* if err != nil {
* return err
* }
* custom := customRoleDefinition.RoleDefinitionId.ApplyT(func(roleDefinitionId string) (authorization.GetRoleDefinitionResult, error) {
* return authorization.GetRoleDefinitionResult(interface{}(authorization.LookupRoleDefinitionOutput(ctx, authorization.GetRoleDefinitionOutputArgs{
* RoleDefinitionId: roleDefinitionId,
* Scope: primary.Id,
* }, nil))), nil
* }).(authorization.GetRoleDefinitionResultOutput)
* _ = customRoleDefinition.Name.ApplyT(func(name string) (authorization.GetRoleDefinitionResult, error) {
* return authorization.GetRoleDefinitionResult(interface{}(authorization.LookupRoleDefinitionOutput(ctx, authorization.GetRoleDefinitionOutputArgs{
* Name: name,
* Scope: primary.Id,
* }, nil))), nil
* }).(authorization.GetRoleDefinitionResultOutput)
* builtin, err := authorization.LookupRoleDefinition(ctx, &authorization.LookupRoleDefinitionArgs{
* Name: pulumi.StringRef("Contributor"),
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("customRoleDefinitionId", custom.ApplyT(func(custom authorization.GetRoleDefinitionResult) (*string, error) {
* return &custom.Id, nil
* }).(pulumi.StringPtrOutput))
* ctx.Export("contributorRoleDefinitionId", builtin.Id)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azure.core.CoreFunctions;
* import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
* import com.pulumi.azure.authorization.RoleDefinition;
* import com.pulumi.azure.authorization.RoleDefinitionArgs;
* import com.pulumi.azure.authorization.AuthorizationFunctions;
* import com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;
* 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) {
* final var primary = CoreFunctions.getSubscription();
* var customRoleDefinition = new RoleDefinition("customRoleDefinition", RoleDefinitionArgs.builder()
* .roleDefinitionId("00000000-0000-0000-0000-000000000000")
* .name("CustomRoleDef")
* .scope(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
* .build());
* final var custom = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()
* .roleDefinitionId(customRoleDefinition.roleDefinitionId())
* .scope(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
* .build());
* final var custom-byname = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()
* .name(customRoleDefinition.name())
* .scope(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
* .build());
* final var builtin = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()
* .name("Contributor")
* .build());
* ctx.export("customRoleDefinitionId", custom.applyValue(getRoleDefinitionResult -> getRoleDefinitionResult).applyValue(custom -> custom.applyValue(getRoleDefinitionResult -> getRoleDefinitionResult.id())));
* ctx.export("contributorRoleDefinitionId", builtin.applyValue(getRoleDefinitionResult -> getRoleDefinitionResult.id()));
* }
* }
* ```
* ```yaml
* resources:
* customRoleDefinition:
* type: azure:authorization:RoleDefinition
* name: custom
* properties:
* roleDefinitionId: 00000000-0000-0000-0000-000000000000
* name: CustomRoleDef
* scope: ${primary.id}
* variables:
* primary:
* fn::invoke:
* Function: azure:core:getSubscription
* Arguments: {}
* custom:
* fn::invoke:
* Function: azure:authorization:getRoleDefinition
* Arguments:
* roleDefinitionId: ${customRoleDefinition.roleDefinitionId}
* scope: ${primary.id}
* custom-byname:
* fn::invoke:
* Function: azure:authorization:getRoleDefinition
* Arguments:
* name: ${customRoleDefinition.name}
* scope: ${primary.id}
* builtin:
* fn::invoke:
* Function: azure:authorization:getRoleDefinition
* Arguments:
* name: Contributor
* outputs:
* customRoleDefinitionId: ${custom.id}
* contributorRoleDefinitionId: ${builtin.id}
* ```
*
* @param argument A collection of arguments for invoking getRoleDefinition.
* @return A collection of values returned by getRoleDefinition.
*/
public suspend fun getRoleDefinition(argument: GetRoleDefinitionPlainArgs): GetRoleDefinitionResult =
getRoleDefinitionResultToKotlin(getRoleDefinitionPlain(argument.toJava()).await())
/**
* @see [getRoleDefinition].
* @param name Specifies the Name of either a built-in or custom Role Definition.
* > You can also use this for built-in roles such as `Contributor`, `Owner`, `Reader` and `Virtual Machine Contributor`
* @param roleDefinitionId Specifies the ID of the Role Definition as a UUID/GUID.
* @param scope Specifies the Scope at which the Custom Role Definition exists.
* > **Note:** One of `name` or `role_definition_id` must be specified.
* @return A collection of values returned by getRoleDefinition.
*/
public suspend fun getRoleDefinition(
name: String? = null,
roleDefinitionId: String? = null,
scope: String? = null,
): GetRoleDefinitionResult {
val argument = GetRoleDefinitionPlainArgs(
name = name,
roleDefinitionId = roleDefinitionId,
scope = scope,
)
return getRoleDefinitionResultToKotlin(getRoleDefinitionPlain(argument.toJava()).await())
}
/**
* @see [getRoleDefinition].
* @param argument Builder for [com.pulumi.azure.authorization.kotlin.inputs.GetRoleDefinitionPlainArgs].
* @return A collection of values returned by getRoleDefinition.
*/
public suspend fun getRoleDefinition(argument: suspend GetRoleDefinitionPlainArgsBuilder.() -> Unit): GetRoleDefinitionResult {
val builder = GetRoleDefinitionPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getRoleDefinitionResultToKotlin(getRoleDefinitionPlain(builtArgument.toJava()).await())
}
/**
* Use this data source to access information about an existing User Assigned Identity.
* ## Example Usage
* ### Reference An Existing)
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
* const example = azure.authorization.getUserAssignedIdentity({
* name: "name_of_user_assigned_identity",
* resourceGroupName: "name_of_resource_group",
* });
* export const uaiClientId = example.then(example => example.clientId);
* export const uaiPrincipalId = example.then(example => example.principalId);
* export const uaiTenantId = example.then(example => example.tenantId);
* ```
* ```python
* import pulumi
* import pulumi_azure as azure
* example = azure.authorization.get_user_assigned_identity(name="name_of_user_assigned_identity",
* resource_group_name="name_of_resource_group")
* pulumi.export("uaiClientId", example.client_id)
* pulumi.export("uaiPrincipalId", example.principal_id)
* pulumi.export("uaiTenantId", example.tenant_id)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Azure = Pulumi.Azure;
* return await Deployment.RunAsync(() =>
* {
* var example = Azure.Authorization.GetUserAssignedIdentity.Invoke(new()
* {
* Name = "name_of_user_assigned_identity",
* ResourceGroupName = "name_of_resource_group",
* });
* return new Dictionary
* {
* ["uaiClientId"] = example.Apply(getUserAssignedIdentityResult => getUserAssignedIdentityResult.ClientId),
* ["uaiPrincipalId"] = example.Apply(getUserAssignedIdentityResult => getUserAssignedIdentityResult.PrincipalId),
* ["uaiTenantId"] = example.Apply(getUserAssignedIdentityResult => getUserAssignedIdentityResult.TenantId),
* };
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := authorization.LookupUserAssignedIdentity(ctx, &authorization.LookupUserAssignedIdentityArgs{
* Name: "name_of_user_assigned_identity",
* ResourceGroupName: "name_of_resource_group",
* }, nil)
* if err != nil {
* return err
* }
* ctx.Export("uaiClientId", example.ClientId)
* ctx.Export("uaiPrincipalId", example.PrincipalId)
* ctx.Export("uaiTenantId", example.TenantId)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azure.authorization.AuthorizationFunctions;
* import com.pulumi.azure.authorization.inputs.GetUserAssignedIdentityArgs;
* 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) {
* final var example = AuthorizationFunctions.getUserAssignedIdentity(GetUserAssignedIdentityArgs.builder()
* .name("name_of_user_assigned_identity")
* .resourceGroupName("name_of_resource_group")
* .build());
* ctx.export("uaiClientId", example.applyValue(getUserAssignedIdentityResult -> getUserAssignedIdentityResult.clientId()));
* ctx.export("uaiPrincipalId", example.applyValue(getUserAssignedIdentityResult -> getUserAssignedIdentityResult.principalId()));
* ctx.export("uaiTenantId", example.applyValue(getUserAssignedIdentityResult -> getUserAssignedIdentityResult.tenantId()));
* }
* }
* ```
* ```yaml
* variables:
* example:
* fn::invoke:
* Function: azure:authorization:getUserAssignedIdentity
* Arguments:
* name: name_of_user_assigned_identity
* resourceGroupName: name_of_resource_group
* outputs:
* uaiClientId: ${example.clientId}
* uaiPrincipalId: ${example.principalId}
* uaiTenantId: ${example.tenantId}
* ```
*
* @param argument A collection of arguments for invoking getUserAssignedIdentity.
* @return A collection of values returned by getUserAssignedIdentity.
*/
public suspend fun getUserAssignedIdentity(argument: GetUserAssignedIdentityPlainArgs): GetUserAssignedIdentityResult =
getUserAssignedIdentityResultToKotlin(getUserAssignedIdentityPlain(argument.toJava()).await())
/**
* @see [getUserAssignedIdentity].
* @param name The name of the User Assigned Identity.
* @param resourceGroupName The name of the Resource Group in which the User Assigned Identity exists.
* @return A collection of values returned by getUserAssignedIdentity.
*/
public suspend fun getUserAssignedIdentity(name: String, resourceGroupName: String): GetUserAssignedIdentityResult {
val argument = GetUserAssignedIdentityPlainArgs(
name = name,
resourceGroupName = resourceGroupName,
)
return getUserAssignedIdentityResultToKotlin(getUserAssignedIdentityPlain(argument.toJava()).await())
}
/**
* @see [getUserAssignedIdentity].
* @param argument Builder for [com.pulumi.azure.authorization.kotlin.inputs.GetUserAssignedIdentityPlainArgs].
* @return A collection of values returned by getUserAssignedIdentity.
*/
public suspend fun getUserAssignedIdentity(argument: suspend GetUserAssignedIdentityPlainArgsBuilder.() -> Unit): GetUserAssignedIdentityResult {
val builder = GetUserAssignedIdentityPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getUserAssignedIdentityResultToKotlin(getUserAssignedIdentityPlain(builtArgument.toJava()).await())
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy