Acl Token
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
(string)
- A non-sensitive identifier for this token that can be logged and shared safely without granting any access to the cluster.
(string)
- The timestamp the token was created.
(string)
- The timestamp after which the token is considered expired and eligible for destruction.
(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:
(set: [])
- The list of roles attached to the token. Each entry has name
and id
attributes. It may be used multiple times.