get Nomad Access Token
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,
}));
Content copied to clipboard
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']))
Content copied to clipboard
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,
});
});
Content copied to clipboard
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
})
}
Content copied to clipboard
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());
});
}
}
Content copied to clipboard
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}
Content copied to clipboard
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
suspend fun getNomadAccessToken(argument: suspend GetNomadAccessTokenPlainArgsBuilder.() -> Unit): GetNomadAccessTokenResult
Return
A collection of values returned by getNomadAccessToken.
Parameters
argument
Builder for com.pulumi.vault.kotlin.inputs.GetNomadAccessTokenPlainArgs.