
com.pulumi.vault.identity.kotlin.IdentityFunctions.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.vault.identity.kotlin
import com.pulumi.vault.identity.IdentityFunctions.getEntityPlain
import com.pulumi.vault.identity.IdentityFunctions.getGroupPlain
import com.pulumi.vault.identity.IdentityFunctions.getOidcClientCredsPlain
import com.pulumi.vault.identity.IdentityFunctions.getOidcOpenidConfigPlain
import com.pulumi.vault.identity.IdentityFunctions.getOidcPublicKeysPlain
import com.pulumi.vault.identity.kotlin.inputs.GetEntityPlainArgs
import com.pulumi.vault.identity.kotlin.inputs.GetEntityPlainArgsBuilder
import com.pulumi.vault.identity.kotlin.inputs.GetGroupPlainArgs
import com.pulumi.vault.identity.kotlin.inputs.GetGroupPlainArgsBuilder
import com.pulumi.vault.identity.kotlin.inputs.GetOidcClientCredsPlainArgs
import com.pulumi.vault.identity.kotlin.inputs.GetOidcClientCredsPlainArgsBuilder
import com.pulumi.vault.identity.kotlin.inputs.GetOidcOpenidConfigPlainArgs
import com.pulumi.vault.identity.kotlin.inputs.GetOidcOpenidConfigPlainArgsBuilder
import com.pulumi.vault.identity.kotlin.inputs.GetOidcPublicKeysPlainArgs
import com.pulumi.vault.identity.kotlin.inputs.GetOidcPublicKeysPlainArgsBuilder
import com.pulumi.vault.identity.kotlin.outputs.GetEntityResult
import com.pulumi.vault.identity.kotlin.outputs.GetGroupResult
import com.pulumi.vault.identity.kotlin.outputs.GetOidcClientCredsResult
import com.pulumi.vault.identity.kotlin.outputs.GetOidcOpenidConfigResult
import com.pulumi.vault.identity.kotlin.outputs.GetOidcPublicKeysResult
import kotlinx.coroutines.future.await
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import com.pulumi.vault.identity.kotlin.outputs.GetEntityResult.Companion.toKotlin as getEntityResultToKotlin
import com.pulumi.vault.identity.kotlin.outputs.GetGroupResult.Companion.toKotlin as getGroupResultToKotlin
import com.pulumi.vault.identity.kotlin.outputs.GetOidcClientCredsResult.Companion.toKotlin as getOidcClientCredsResultToKotlin
import com.pulumi.vault.identity.kotlin.outputs.GetOidcOpenidConfigResult.Companion.toKotlin as getOidcOpenidConfigResultToKotlin
import com.pulumi.vault.identity.kotlin.outputs.GetOidcPublicKeysResult.Companion.toKotlin as getOidcPublicKeysResultToKotlin
public object IdentityFunctions {
/**
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vault from "@pulumi/vault";
* const entity = vault.identity.getEntity({
* entityName: "entity_12345",
* });
* ```
* ```python
* import pulumi
* import pulumi_vault as vault
* entity = vault.identity.get_entity(entity_name="entity_12345")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Vault = Pulumi.Vault;
* return await Deployment.RunAsync(() =>
* {
* var entity = Vault.Identity.GetEntity.Invoke(new()
* {
* EntityName = "entity_12345",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-vault/sdk/v6/go/vault/identity"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := identity.LookupEntity(ctx, &identity.LookupEntityArgs{
* EntityName: pulumi.StringRef("entity_12345"),
* }, nil)
* 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.vault.identity.IdentityFunctions;
* import com.pulumi.vault.identity.inputs.GetEntityArgs;
* 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 entity = IdentityFunctions.getEntity(GetEntityArgs.builder()
* .entityName("entity_12345")
* .build());
* }
* }
* ```
* ```yaml
* variables:
* entity:
* fn::invoke:
* Function: vault:identity:getEntity
* Arguments:
* entityName: entity_12345
* ```
*
* ## Required Vault Capabilities
* Use of this resource requires the `update` capability on `/identity/lookup/entity`.
* @param argument A collection of arguments for invoking getEntity.
* @return A collection of values returned by getEntity.
*/
public suspend fun getEntity(argument: GetEntityPlainArgs): GetEntityResult =
getEntityResultToKotlin(getEntityPlain(argument.toJava()).await())
/**
* @see [getEntity].
* @param aliasId ID of the alias.
* @param aliasMountAccessor Accessor of the mount to which the alias belongs to.
* This should be supplied in conjunction with `alias_name`.
* The lookup criteria can be `entity_name`, `entity_id`, `alias_id`, or a combination of
* `alias_name` and `alias_mount_accessor`.
* @param aliasName Name of the alias. This should be supplied in conjunction with
* `alias_mount_accessor`.
* @param entityId ID of the entity.
* @param entityName Name of the entity.
* @param namespace The namespace of the target resource.
* The value should not contain leading or trailing forward slashes.
* The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
* *Available only for Vault Enterprise*.
* @return A collection of values returned by getEntity.
*/
public suspend fun getEntity(
aliasId: String? = null,
aliasMountAccessor: String? = null,
aliasName: String? = null,
entityId: String? = null,
entityName: String? = null,
namespace: String? = null,
): GetEntityResult {
val argument = GetEntityPlainArgs(
aliasId = aliasId,
aliasMountAccessor = aliasMountAccessor,
aliasName = aliasName,
entityId = entityId,
entityName = entityName,
namespace = namespace,
)
return getEntityResultToKotlin(getEntityPlain(argument.toJava()).await())
}
/**
* @see [getEntity].
* @param argument Builder for [com.pulumi.vault.identity.kotlin.inputs.GetEntityPlainArgs].
* @return A collection of values returned by getEntity.
*/
public suspend fun getEntity(argument: suspend GetEntityPlainArgsBuilder.() -> Unit): GetEntityResult {
val builder = GetEntityPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getEntityResultToKotlin(getEntityPlain(builtArgument.toJava()).await())
}
/**
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vault from "@pulumi/vault";
* const group = vault.identity.getGroup({
* groupName: "user",
* });
* ```
* ```python
* import pulumi
* import pulumi_vault as vault
* group = vault.identity.get_group(group_name="user")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Vault = Pulumi.Vault;
* return await Deployment.RunAsync(() =>
* {
* var @group = Vault.Identity.GetGroup.Invoke(new()
* {
* GroupName = "user",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-vault/sdk/v6/go/vault/identity"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := identity.LookupGroup(ctx, &identity.LookupGroupArgs{
* GroupName: pulumi.StringRef("user"),
* }, nil)
* 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.vault.identity.IdentityFunctions;
* import com.pulumi.vault.identity.inputs.GetGroupArgs;
* 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 group = IdentityFunctions.getGroup(GetGroupArgs.builder()
* .groupName("user")
* .build());
* }
* }
* ```
* ```yaml
* variables:
* group:
* fn::invoke:
* Function: vault:identity:getGroup
* Arguments:
* groupName: user
* ```
*
* ## Required Vault Capabilities
* Use of this resource requires the `create` capability on `/identity/lookup/group`.
* @param argument A collection of arguments for invoking getGroup.
* @return A collection of values returned by getGroup.
*/
public suspend fun getGroup(argument: GetGroupPlainArgs): GetGroupResult =
getGroupResultToKotlin(getGroupPlain(argument.toJava()).await())
/**
* @see [getGroup].
* @param aliasId ID of the alias.
* @param aliasMountAccessor Accessor of the mount to which the alias belongs to.
* This should be supplied in conjunction with `alias_name`.
* The lookup criteria can be `group_name`, `group_id`, `alias_id`, or a combination of
* `alias_name` and `alias_mount_accessor`.
* @param aliasName Name of the alias. This should be supplied in conjunction with
* `alias_mount_accessor`.
* @param groupId ID of the group.
* @param groupName Name of the group.
* @param namespace The namespace of the target resource.
* The value should not contain leading or trailing forward slashes.
* The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
* *Available only for Vault Enterprise*.
* @return A collection of values returned by getGroup.
*/
public suspend fun getGroup(
aliasId: String? = null,
aliasMountAccessor: String? = null,
aliasName: String? = null,
groupId: String? = null,
groupName: String? = null,
namespace: String? = null,
): GetGroupResult {
val argument = GetGroupPlainArgs(
aliasId = aliasId,
aliasMountAccessor = aliasMountAccessor,
aliasName = aliasName,
groupId = groupId,
groupName = groupName,
namespace = namespace,
)
return getGroupResultToKotlin(getGroupPlain(argument.toJava()).await())
}
/**
* @see [getGroup].
* @param argument Builder for [com.pulumi.vault.identity.kotlin.inputs.GetGroupPlainArgs].
* @return A collection of values returned by getGroup.
*/
public suspend fun getGroup(argument: suspend GetGroupPlainArgsBuilder.() -> Unit): GetGroupResult {
val builder = GetGroupPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getGroupResultToKotlin(getGroupPlain(builtArgument.toJava()).await())
}
/**
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vault from "@pulumi/vault";
* const app = new vault.identity.OidcClient("app", {
* name: "application",
* redirectUris: [
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback",
* ],
* idTokenTtl: 2400,
* accessTokenTtl: 7200,
* });
* const creds = vault.identity.getOidcClientCredsOutput({
* name: app.name,
* });
* ```
* ```python
* import pulumi
* import pulumi_vault as vault
* app = vault.identity.OidcClient("app",
* name="application",
* redirect_uris=[
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback",
* ],
* id_token_ttl=2400,
* access_token_ttl=7200)
* creds = vault.identity.get_oidc_client_creds_output(name=app.name)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Vault = Pulumi.Vault;
* return await Deployment.RunAsync(() =>
* {
* var app = new Vault.Identity.OidcClient("app", new()
* {
* Name = "application",
* RedirectUris = new[]
* {
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback",
* },
* IdTokenTtl = 2400,
* AccessTokenTtl = 7200,
* });
* var creds = Vault.Identity.GetOidcClientCreds.Invoke(new()
* {
* Name = app.Name,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-vault/sdk/v6/go/vault/identity"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* app, err := identity.NewOidcClient(ctx, "app", &identity.OidcClientArgs{
* Name: pulumi.String("application"),
* RedirectUris: pulumi.StringArray{
* pulumi.String("http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback"),
* pulumi.String("http://127.0.0.1:8251/callback"),
* pulumi.String("http://127.0.0.1:8080/callback"),
* },
* IdTokenTtl: pulumi.Int(2400),
* AccessTokenTtl: pulumi.Int(7200),
* })
* if err != nil {
* return err
* }
* _ = identity.GetOidcClientCredsOutput(ctx, identity.GetOidcClientCredsOutputArgs{
* Name: app.Name,
* }, nil)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.vault.identity.OidcClient;
* import com.pulumi.vault.identity.OidcClientArgs;
* import com.pulumi.vault.identity.IdentityFunctions;
* import com.pulumi.vault.identity.inputs.GetOidcClientCredsArgs;
* 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 app = new OidcClient("app", OidcClientArgs.builder()
* .name("application")
* .redirectUris(
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback")
* .idTokenTtl(2400)
* .accessTokenTtl(7200)
* .build());
* final var creds = IdentityFunctions.getOidcClientCreds(GetOidcClientCredsArgs.builder()
* .name(app.name())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* app:
* type: vault:identity:OidcClient
* properties:
* name: application
* redirectUris:
* - http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback
* - http://127.0.0.1:8251/callback
* - http://127.0.0.1:8080/callback
* idTokenTtl: 2400
* accessTokenTtl: 7200
* variables:
* creds:
* fn::invoke:
* Function: vault:identity:getOidcClientCreds
* Arguments:
* name: ${app.name}
* ```
*
* @param argument A collection of arguments for invoking getOidcClientCreds.
* @return A collection of values returned by getOidcClientCreds.
*/
public suspend fun getOidcClientCreds(argument: GetOidcClientCredsPlainArgs): GetOidcClientCredsResult =
getOidcClientCredsResultToKotlin(getOidcClientCredsPlain(argument.toJava()).await())
/**
* @see [getOidcClientCreds].
* @param name The name of the OIDC Client in Vault.
* @param namespace The namespace of the target resource.
* The value should not contain leading or trailing forward slashes.
* The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
* *Available only for Vault Enterprise*.
* @return A collection of values returned by getOidcClientCreds.
*/
public suspend fun getOidcClientCreds(name: String, namespace: String? = null): GetOidcClientCredsResult {
val argument = GetOidcClientCredsPlainArgs(
name = name,
namespace = namespace,
)
return getOidcClientCredsResultToKotlin(getOidcClientCredsPlain(argument.toJava()).await())
}
/**
* @see [getOidcClientCreds].
* @param argument Builder for [com.pulumi.vault.identity.kotlin.inputs.GetOidcClientCredsPlainArgs].
* @return A collection of values returned by getOidcClientCreds.
*/
public suspend fun getOidcClientCreds(argument: suspend GetOidcClientCredsPlainArgsBuilder.() -> Unit): GetOidcClientCredsResult {
val builder = GetOidcClientCredsPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getOidcClientCredsResultToKotlin(getOidcClientCredsPlain(builtArgument.toJava()).await())
}
/**
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vault from "@pulumi/vault";
* const key = new vault.identity.OidcKey("key", {
* name: "key",
* allowedClientIds: ["*"],
* rotationPeriod: 3600,
* verificationTtl: 3600,
* });
* const app = new vault.identity.OidcClient("app", {
* name: "application",
* key: key.name,
* redirectUris: [
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback",
* ],
* idTokenTtl: 2400,
* accessTokenTtl: 7200,
* });
* const provider = new vault.identity.OidcProvider("provider", {
* name: "provider",
* allowedClientIds: [test.clientId],
* });
* const config = vault.identity.getOidcOpenidConfigOutput({
* name: provider.name,
* });
* ```
* ```python
* import pulumi
* import pulumi_vault as vault
* key = vault.identity.OidcKey("key",
* name="key",
* allowed_client_ids=["*"],
* rotation_period=3600,
* verification_ttl=3600)
* app = vault.identity.OidcClient("app",
* name="application",
* key=key.name,
* redirect_uris=[
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback",
* ],
* id_token_ttl=2400,
* access_token_ttl=7200)
* provider = vault.identity.OidcProvider("provider",
* name="provider",
* allowed_client_ids=[test["clientId"]])
* config = vault.identity.get_oidc_openid_config_output(name=provider.name)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Vault = Pulumi.Vault;
* return await Deployment.RunAsync(() =>
* {
* var key = new Vault.Identity.OidcKey("key", new()
* {
* Name = "key",
* AllowedClientIds = new[]
* {
* "*",
* },
* RotationPeriod = 3600,
* VerificationTtl = 3600,
* });
* var app = new Vault.Identity.OidcClient("app", new()
* {
* Name = "application",
* Key = key.Name,
* RedirectUris = new[]
* {
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback",
* },
* IdTokenTtl = 2400,
* AccessTokenTtl = 7200,
* });
* var provider = new Vault.Identity.OidcProvider("provider", new()
* {
* Name = "provider",
* AllowedClientIds = new[]
* {
* test.ClientId,
* },
* });
* var config = Vault.Identity.GetOidcOpenidConfig.Invoke(new()
* {
* Name = provider.Name,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-vault/sdk/v6/go/vault/identity"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* key, err := identity.NewOidcKey(ctx, "key", &identity.OidcKeyArgs{
* Name: pulumi.String("key"),
* AllowedClientIds: pulumi.StringArray{
* pulumi.String("*"),
* },
* RotationPeriod: pulumi.Int(3600),
* VerificationTtl: pulumi.Int(3600),
* })
* if err != nil {
* return err
* }
* _, err = identity.NewOidcClient(ctx, "app", &identity.OidcClientArgs{
* Name: pulumi.String("application"),
* Key: key.Name,
* RedirectUris: pulumi.StringArray{
* pulumi.String("http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback"),
* pulumi.String("http://127.0.0.1:8251/callback"),
* pulumi.String("http://127.0.0.1:8080/callback"),
* },
* IdTokenTtl: pulumi.Int(2400),
* AccessTokenTtl: pulumi.Int(7200),
* })
* if err != nil {
* return err
* }
* provider, err := identity.NewOidcProvider(ctx, "provider", &identity.OidcProviderArgs{
* Name: pulumi.String("provider"),
* AllowedClientIds: pulumi.StringArray{
* test.ClientId,
* },
* })
* if err != nil {
* return err
* }
* _ = identity.GetOidcOpenidConfigOutput(ctx, identity.GetOidcOpenidConfigOutputArgs{
* Name: provider.Name,
* }, nil)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.vault.identity.OidcKey;
* import com.pulumi.vault.identity.OidcKeyArgs;
* import com.pulumi.vault.identity.OidcClient;
* import com.pulumi.vault.identity.OidcClientArgs;
* import com.pulumi.vault.identity.OidcProvider;
* import com.pulumi.vault.identity.OidcProviderArgs;
* import com.pulumi.vault.identity.IdentityFunctions;
* import com.pulumi.vault.identity.inputs.GetOidcOpenidConfigArgs;
* 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 key = new OidcKey("key", OidcKeyArgs.builder()
* .name("key")
* .allowedClientIds("*")
* .rotationPeriod(3600)
* .verificationTtl(3600)
* .build());
* var app = new OidcClient("app", OidcClientArgs.builder()
* .name("application")
* .key(key.name())
* .redirectUris(
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback")
* .idTokenTtl(2400)
* .accessTokenTtl(7200)
* .build());
* var provider = new OidcProvider("provider", OidcProviderArgs.builder()
* .name("provider")
* .allowedClientIds(test.clientId())
* .build());
* final var config = IdentityFunctions.getOidcOpenidConfig(GetOidcOpenidConfigArgs.builder()
* .name(provider.name())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* key:
* type: vault:identity:OidcKey
* properties:
* name: key
* allowedClientIds:
* - '*'
* rotationPeriod: 3600
* verificationTtl: 3600
* app:
* type: vault:identity:OidcClient
* properties:
* name: application
* key: ${key.name}
* redirectUris:
* - http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback
* - http://127.0.0.1:8251/callback
* - http://127.0.0.1:8080/callback
* idTokenTtl: 2400
* accessTokenTtl: 7200
* provider:
* type: vault:identity:OidcProvider
* properties:
* name: provider
* allowedClientIds:
* - ${test.clientId}
* variables:
* config:
* fn::invoke:
* Function: vault:identity:getOidcOpenidConfig
* Arguments:
* name: ${provider.name}
* ```
*
* @param argument A collection of arguments for invoking getOidcOpenidConfig.
* @return A collection of values returned by getOidcOpenidConfig.
*/
public suspend fun getOidcOpenidConfig(argument: GetOidcOpenidConfigPlainArgs): GetOidcOpenidConfigResult =
getOidcOpenidConfigResultToKotlin(getOidcOpenidConfigPlain(argument.toJava()).await())
/**
* @see [getOidcOpenidConfig].
* @param name The name of the OIDC Provider in Vault.
* @param namespace The namespace of the target resource.
* The value should not contain leading or trailing forward slashes.
* The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
* *Available only for Vault Enterprise*.
* @return A collection of values returned by getOidcOpenidConfig.
*/
public suspend fun getOidcOpenidConfig(name: String, namespace: String? = null): GetOidcOpenidConfigResult {
val argument = GetOidcOpenidConfigPlainArgs(
name = name,
namespace = namespace,
)
return getOidcOpenidConfigResultToKotlin(getOidcOpenidConfigPlain(argument.toJava()).await())
}
/**
* @see [getOidcOpenidConfig].
* @param argument Builder for [com.pulumi.vault.identity.kotlin.inputs.GetOidcOpenidConfigPlainArgs].
* @return A collection of values returned by getOidcOpenidConfig.
*/
public suspend fun getOidcOpenidConfig(argument: suspend GetOidcOpenidConfigPlainArgsBuilder.() -> Unit): GetOidcOpenidConfigResult {
val builder = GetOidcOpenidConfigPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getOidcOpenidConfigResultToKotlin(getOidcOpenidConfigPlain(builtArgument.toJava()).await())
}
/**
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vault from "@pulumi/vault";
* const key = new vault.identity.OidcKey("key", {
* name: "key",
* allowedClientIds: ["*"],
* rotationPeriod: 3600,
* verificationTtl: 3600,
* });
* const app = new vault.identity.OidcClient("app", {
* name: "application",
* key: key.name,
* redirectUris: [
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback",
* ],
* idTokenTtl: 2400,
* accessTokenTtl: 7200,
* });
* const provider = new vault.identity.OidcProvider("provider", {
* name: "provider",
* allowedClientIds: [test.clientId],
* });
* const publicKeys = vault.identity.getOidcPublicKeysOutput({
* name: provider.name,
* });
* ```
* ```python
* import pulumi
* import pulumi_vault as vault
* key = vault.identity.OidcKey("key",
* name="key",
* allowed_client_ids=["*"],
* rotation_period=3600,
* verification_ttl=3600)
* app = vault.identity.OidcClient("app",
* name="application",
* key=key.name,
* redirect_uris=[
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback",
* ],
* id_token_ttl=2400,
* access_token_ttl=7200)
* provider = vault.identity.OidcProvider("provider",
* name="provider",
* allowed_client_ids=[test["clientId"]])
* public_keys = vault.identity.get_oidc_public_keys_output(name=provider.name)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Vault = Pulumi.Vault;
* return await Deployment.RunAsync(() =>
* {
* var key = new Vault.Identity.OidcKey("key", new()
* {
* Name = "key",
* AllowedClientIds = new[]
* {
* "*",
* },
* RotationPeriod = 3600,
* VerificationTtl = 3600,
* });
* var app = new Vault.Identity.OidcClient("app", new()
* {
* Name = "application",
* Key = key.Name,
* RedirectUris = new[]
* {
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback",
* },
* IdTokenTtl = 2400,
* AccessTokenTtl = 7200,
* });
* var provider = new Vault.Identity.OidcProvider("provider", new()
* {
* Name = "provider",
* AllowedClientIds = new[]
* {
* test.ClientId,
* },
* });
* var publicKeys = Vault.Identity.GetOidcPublicKeys.Invoke(new()
* {
* Name = provider.Name,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-vault/sdk/v6/go/vault/identity"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* key, err := identity.NewOidcKey(ctx, "key", &identity.OidcKeyArgs{
* Name: pulumi.String("key"),
* AllowedClientIds: pulumi.StringArray{
* pulumi.String("*"),
* },
* RotationPeriod: pulumi.Int(3600),
* VerificationTtl: pulumi.Int(3600),
* })
* if err != nil {
* return err
* }
* _, err = identity.NewOidcClient(ctx, "app", &identity.OidcClientArgs{
* Name: pulumi.String("application"),
* Key: key.Name,
* RedirectUris: pulumi.StringArray{
* pulumi.String("http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback"),
* pulumi.String("http://127.0.0.1:8251/callback"),
* pulumi.String("http://127.0.0.1:8080/callback"),
* },
* IdTokenTtl: pulumi.Int(2400),
* AccessTokenTtl: pulumi.Int(7200),
* })
* if err != nil {
* return err
* }
* provider, err := identity.NewOidcProvider(ctx, "provider", &identity.OidcProviderArgs{
* Name: pulumi.String("provider"),
* AllowedClientIds: pulumi.StringArray{
* test.ClientId,
* },
* })
* if err != nil {
* return err
* }
* _ = identity.GetOidcPublicKeysOutput(ctx, identity.GetOidcPublicKeysOutputArgs{
* Name: provider.Name,
* }, nil)
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.vault.identity.OidcKey;
* import com.pulumi.vault.identity.OidcKeyArgs;
* import com.pulumi.vault.identity.OidcClient;
* import com.pulumi.vault.identity.OidcClientArgs;
* import com.pulumi.vault.identity.OidcProvider;
* import com.pulumi.vault.identity.OidcProviderArgs;
* import com.pulumi.vault.identity.IdentityFunctions;
* import com.pulumi.vault.identity.inputs.GetOidcPublicKeysArgs;
* 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 key = new OidcKey("key", OidcKeyArgs.builder()
* .name("key")
* .allowedClientIds("*")
* .rotationPeriod(3600)
* .verificationTtl(3600)
* .build());
* var app = new OidcClient("app", OidcClientArgs.builder()
* .name("application")
* .key(key.name())
* .redirectUris(
* "http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback",
* "http://127.0.0.1:8251/callback",
* "http://127.0.0.1:8080/callback")
* .idTokenTtl(2400)
* .accessTokenTtl(7200)
* .build());
* var provider = new OidcProvider("provider", OidcProviderArgs.builder()
* .name("provider")
* .allowedClientIds(test.clientId())
* .build());
* final var publicKeys = IdentityFunctions.getOidcPublicKeys(GetOidcPublicKeysArgs.builder()
* .name(provider.name())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* key:
* type: vault:identity:OidcKey
* properties:
* name: key
* allowedClientIds:
* - '*'
* rotationPeriod: 3600
* verificationTtl: 3600
* app:
* type: vault:identity:OidcClient
* properties:
* name: application
* key: ${key.name}
* redirectUris:
* - http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback
* - http://127.0.0.1:8251/callback
* - http://127.0.0.1:8080/callback
* idTokenTtl: 2400
* accessTokenTtl: 7200
* provider:
* type: vault:identity:OidcProvider
* properties:
* name: provider
* allowedClientIds:
* - ${test.clientId}
* variables:
* publicKeys:
* fn::invoke:
* Function: vault:identity:getOidcPublicKeys
* Arguments:
* name: ${provider.name}
* ```
*
* @param argument A collection of arguments for invoking getOidcPublicKeys.
* @return A collection of values returned by getOidcPublicKeys.
*/
public suspend fun getOidcPublicKeys(argument: GetOidcPublicKeysPlainArgs): GetOidcPublicKeysResult =
getOidcPublicKeysResultToKotlin(getOidcPublicKeysPlain(argument.toJava()).await())
/**
* @see [getOidcPublicKeys].
* @param name The name of the OIDC Provider in Vault.
* @param namespace The namespace of the target resource.
* The value should not contain leading or trailing forward slashes.
* The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
* *Available only for Vault Enterprise*.
* @return A collection of values returned by getOidcPublicKeys.
*/
public suspend fun getOidcPublicKeys(name: String, namespace: String? = null): GetOidcPublicKeysResult {
val argument = GetOidcPublicKeysPlainArgs(
name = name,
namespace = namespace,
)
return getOidcPublicKeysResultToKotlin(getOidcPublicKeysPlain(argument.toJava()).await())
}
/**
* @see [getOidcPublicKeys].
* @param argument Builder for [com.pulumi.vault.identity.kotlin.inputs.GetOidcPublicKeysPlainArgs].
* @return A collection of values returned by getOidcPublicKeys.
*/
public suspend fun getOidcPublicKeys(argument: suspend GetOidcPublicKeysPlainArgsBuilder.() -> Unit): GetOidcPublicKeysResult {
val builder = GetOidcPublicKeysPlainArgsBuilder()
builder.argument()
val builtArgument = builder.build()
return getOidcPublicKeysResultToKotlin(getOidcPublicKeysPlain(builtArgument.toJava()).await())
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy