AclToken

class AclToken : KotlinCustomResource

Example Usage

Creating a token with limited policies:

import * as pulumi from "@pulumi/pulumi";
import * as nomad from "@pulumi/nomad";
const dakota = new nomad.AclToken("dakota", {
name: "Dakota",
type: "client",
policies: [
"dev",
"qa",
],
});
import pulumi
import pulumi_nomad as nomad
dakota = nomad.AclToken("dakota",
name="Dakota",
type="client",
policies=[
"dev",
"qa",
])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Nomad = Pulumi.Nomad;
return await Deployment.RunAsync(() =>
{
var dakota = new Nomad.AclToken("dakota", new()
{
Name = "Dakota",
Type = "client",
Policies = new[]
{
"dev",
"qa",
},
});
});
package main
import (
"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := nomad.NewAclToken(ctx, "dakota", &nomad.AclTokenArgs{
Name: pulumi.String("Dakota"),
Type: pulumi.String("client"),
Policies: pulumi.StringArray{
pulumi.String("dev"),
pulumi.String("qa"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.nomad.AclToken;
import com.pulumi.nomad.AclTokenArgs;
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 dakota = new AclToken("dakota", AclTokenArgs.builder()
.name("Dakota")
.type("client")
.policies(
"dev",
"qa")
.build());
}
}
resources:
dakota:
type: nomad:AclToken
properties:
name: Dakota
type: client
policies:
- dev
- qa

Creating a global token that will be replicated to all regions:

import * as pulumi from "@pulumi/pulumi";
import * as nomad from "@pulumi/nomad";
const dakota = new nomad.AclToken("dakota", {
name: "Dakota",
type: "client",
policies: [
"dev",
"qa",
],
global: true,
});
import pulumi
import pulumi_nomad as nomad
dakota = nomad.AclToken("dakota",
name="Dakota",
type="client",
policies=[
"dev",
"qa",
],
global_=True)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Nomad = Pulumi.Nomad;
return await Deployment.RunAsync(() =>
{
var dakota = new Nomad.AclToken("dakota", new()
{
Name = "Dakota",
Type = "client",
Policies = new[]
{
"dev",
"qa",
},
Global = true,
});
});
package main
import (
"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := nomad.NewAclToken(ctx, "dakota", &nomad.AclTokenArgs{
Name: pulumi.String("Dakota"),
Type: pulumi.String("client"),
Policies: pulumi.StringArray{
pulumi.String("dev"),
pulumi.String("qa"),
},
Global: pulumi.Bool(true),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.nomad.AclToken;
import com.pulumi.nomad.AclTokenArgs;
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 dakota = new AclToken("dakota", AclTokenArgs.builder()
.name("Dakota")
.type("client")
.policies(
"dev",
"qa")
.global(true)
.build());
}
}
resources:
dakota:
type: nomad:AclToken
properties:
name: Dakota
type: client
policies:
- dev
- qa
global: true

Creating a token with full access to the cluster:

import * as pulumi from "@pulumi/pulumi";
import * as nomad from "@pulumi/nomad";
const iman = new nomad.AclToken("iman", {
name: "Iman",
type: "management",
});
import pulumi
import pulumi_nomad as nomad
iman = nomad.AclToken("iman",
name="Iman",
type="management")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Nomad = Pulumi.Nomad;
return await Deployment.RunAsync(() =>
{
var iman = new Nomad.AclToken("iman", new()
{
Name = "Iman",
Type = "management",
});
});
package main
import (
"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := nomad.NewAclToken(ctx, "iman", &nomad.AclTokenArgs{
Name: pulumi.String("Iman"),
Type: pulumi.String("management"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.nomad.AclToken;
import com.pulumi.nomad.AclTokenArgs;
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 iman = new AclToken("iman", AclTokenArgs.builder()
.name("Iman")
.type("management")
.build());
}
}
resources:
iman:
type: nomad:AclToken
properties:
name: Iman
type: management

Accessing the token:

import * as pulumi from "@pulumi/pulumi";
import * as nomad from "@pulumi/nomad";
const token = new nomad.AclToken("token", {
type: "client",
policies: ["dev"],
});
export const nomadToken = token.secretId;
import pulumi
import pulumi_nomad as nomad
token = nomad.AclToken("token",
type="client",
policies=["dev"])
pulumi.export("nomadToken", token.secret_id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Nomad = Pulumi.Nomad;
return await Deployment.RunAsync(() =>
{
var token = new Nomad.AclToken("token", new()
{
Type = "client",
Policies = new[]
{
"dev",
},
});
return new Dictionary<string, object?>
{
["nomadToken"] = token.SecretId,
};
});
package main
import (
"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
token, err := nomad.NewAclToken(ctx, "token", &nomad.AclTokenArgs{
Type: pulumi.String("client"),
Policies: pulumi.StringArray{
pulumi.String("dev"),
},
})
if err != nil {
return err
}
ctx.Export("nomadToken", token.SecretId)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.nomad.AclToken;
import com.pulumi.nomad.AclTokenArgs;
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 token = new AclToken("token", AclTokenArgs.builder()
.type("client")
.policies("dev")
.build());
ctx.export("nomadToken", token.secretId());
}
}
resources:
token:
type: nomad:AclToken
properties:
type: client
policies:
- dev
outputs:
nomadToken: ${token.secretId}

Properties

Link copied to clipboard
val accessorId: Output<String>

(string) - A non-sensitive identifier for this token that can be logged and shared safely without granting any access to the cluster.

Link copied to clipboard
val createTime: Output<String>

(string) - The timestamp the token was created.

Link copied to clipboard
val expirationTime: Output<String>

(string) - The timestamp after which the token is considered expired and eligible for destruction.

Link copied to clipboard
val expirationTtl: Output<String>?

(string: "") - Provides a TTL for the token in the form of a time duration such as "5m" or "1h". In addition to the above arguments, the following attributes are exported and can be referenced:

Link copied to clipboard
val global: Output<Boolean>?

(bool: false) - Whether the token should be replicated to all regions, or if it will only be used in the region it was created in.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

(string: "") - A human-friendly name for this token.

Link copied to clipboard
val policies: Output<List<String>>?

(set: []) - A set of policy names to associate with this token. Must be set on client-type tokens, must not be set on management-type tokens. Policies do not need to exist before being used here.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val roles: Output<List<AclTokenRole>>?

(set: []) - The list of roles attached to the token. Each entry has name and id attributes. It may be used multiple times.

Link copied to clipboard
val secretId: Output<String>

(string) - The token value itself, which is presented for access to the cluster.

Link copied to clipboard
val type: Output<String>

(string: <required>) - The type of token this is. Use client for tokens that will have policies associated with them. Use management for tokens that can perform any action.

Link copied to clipboard
val urn: Output<String>