getNomadAccessToken

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const config = new vault.NomadSecretBackend("config", {
backend: "nomad",
description: "test description",
defaultLeaseTtlSeconds: 3600,
maxLeaseTtlSeconds: 7200,
address: "https://127.0.0.1:4646",
token: "ae20ceaa-...",
});
const test = new vault.NomadSecretRole("test", {
backend: config.backend,
role: "test",
type: "client",
policies: ["readonly"],
});
const token = pulumi.all([config.backend, test.role]).apply(([backend, role]) => vault.getNomadAccessTokenOutput({
backend: backend,
role: role,
}));
import pulumi
import pulumi_vault as vault
config = vault.NomadSecretBackend("config",
backend="nomad",
description="test description",
default_lease_ttl_seconds=3600,
max_lease_ttl_seconds=7200,
address="https://127.0.0.1:4646",
token="ae20ceaa-...")
test = vault.NomadSecretRole("test",
backend=config.backend,
role="test",
type="client",
policies=["readonly"])
token = pulumi.Output.all(
backend=config.backend,
role=test.role
).apply(lambda resolved_outputs: vault.get_nomad_access_token_output(backend=resolved_outputs['backend'],
role=resolved_outputs['role']))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var config = new Vault.NomadSecretBackend("config", new()
{
Backend = "nomad",
Description = "test description",
DefaultLeaseTtlSeconds = 3600,
MaxLeaseTtlSeconds = 7200,
Address = "https://127.0.0.1:4646",
Token = "ae20ceaa-...",
});
var test = new Vault.NomadSecretRole("test", new()
{
Backend = config.Backend,
Role = "test",
Type = "client",
Policies = new[]
{
"readonly",
},
});
var token = Vault.GetNomadAccessToken.Invoke(new()
{
Backend = config.Backend,
Role = test.Role,
});
});
package main
import (
"github.com/pulumi/pulumi-vault/sdk/v6/go/vault"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
config, err := vault.NewNomadSecretBackend(ctx, "config", &vault.NomadSecretBackendArgs{
Backend: pulumi.String("nomad"),
Description: pulumi.String("test description"),
DefaultLeaseTtlSeconds: pulumi.Int(3600),
MaxLeaseTtlSeconds: pulumi.Int(7200),
Address: pulumi.String("https://127.0.0.1:4646"),
Token: pulumi.String("ae20ceaa-..."),
})
if err != nil {
return err
}
test, err := vault.NewNomadSecretRole(ctx, "test", &vault.NomadSecretRoleArgs{
Backend: config.Backend,
Role: pulumi.String("test"),
Type: pulumi.String("client"),
Policies: pulumi.StringArray{
pulumi.String("readonly"),
},
})
if err != nil {
return err
}
_ = pulumi.All(config.Backend, test.Role).ApplyT(func(_args []interface{}) (vault.GetNomadAccessTokenResult, error) {
backend := _args[0].(*string)
role := _args[1].(string)
return vault.GetNomadAccessTokenResult(interface{}(vault.GetNomadAccessTokenOutput(ctx, vault.GetNomadAccessTokenOutputArgs{
Backend: backend,
Role: role,
}, nil))), nil
}).(vault.GetNomadAccessTokenResultOutput)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.NomadSecretBackend;
import com.pulumi.vault.NomadSecretBackendArgs;
import com.pulumi.vault.NomadSecretRole;
import com.pulumi.vault.NomadSecretRoleArgs;
import com.pulumi.vault.VaultFunctions;
import com.pulumi.vault.inputs.GetNomadAccessTokenArgs;
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 config = new NomadSecretBackend("config", NomadSecretBackendArgs.builder()
.backend("nomad")
.description("test description")
.defaultLeaseTtlSeconds(3600)
.maxLeaseTtlSeconds(7200)
.address("https://127.0.0.1:4646")
.token("ae20ceaa-...")
.build());
var test = new NomadSecretRole("test", NomadSecretRoleArgs.builder()
.backend(config.backend())
.role("test")
.type("client")
.policies("readonly")
.build());
final var token = Output.tuple(config.backend(), test.role()).applyValue(values -> {
var backend = values.t1;
var role = values.t2;
return VaultFunctions.getNomadAccessToken(GetNomadAccessTokenArgs.builder()
.backend(backend)
.role(role)
.build());
});
}
}
resources:
config:
type: vault:NomadSecretBackend
properties:
backend: nomad
description: test description
defaultLeaseTtlSeconds: '3600'
maxLeaseTtlSeconds: '7200'
address: https://127.0.0.1:4646
token: ae20ceaa-...
test:
type: vault:NomadSecretRole
properties:
backend: ${config.backend}
role: test
type: client
policies:
- readonly
variables:
token:
fn::invoke:
function: vault:getNomadAccessToken
arguments:
backend: ${config.backend}
role: ${test.role}

Return

A collection of values returned by getNomadAccessToken.

Parameters

argument

A collection of arguments for invoking getNomadAccessToken.


suspend fun getNomadAccessToken(backend: String, namespace: String? = null, role: String): GetNomadAccessTokenResult

Return

A collection of values returned by getNomadAccessToken.

Parameters

backend

The path to the Nomad secret backend to read credentials from, with no leading or trailing /s.

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. Available only for Vault Enterprise.

role

The name of the Nomad secret backend role to generate a token for, with no leading or trailing /s.

See also


Return

A collection of values returned by getNomadAccessToken.

Parameters

argument

Builder for com.pulumi.vault.kotlin.inputs.GetNomadAccessTokenPlainArgs.

See also