scaleway.observability.Token
Explore with Pulumi AI
The scaleway.observability.Token resource allows you to create and manage your Cockpit tokens.
Refer to Cockpit’s product documentation and API documentation for more information.
Example Usage
Use a Cockpit token
The following commands allow you to:
- create a Scaleway Project named my-project
- create a Cockpit token named my-awesome-tokeninside the Project
- assign readpermissions to the token for metrics and logs
- disable writepermissions for metrics and logs
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const project = new scaleway.account.Project("project", {name: "my-project"});
const main = new scaleway.observability.Token("main", {
    projectId: project.id,
    name: "my-awesome-token",
});
import pulumi
import pulumiverse_scaleway as scaleway
project = scaleway.account.Project("project", name="my-project")
main = scaleway.observability.Token("main",
    project_id=project.id,
    name="my-awesome-token")
package main
import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/account"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/observability"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := account.NewProject(ctx, "project", &account.ProjectArgs{
			Name: pulumi.String("my-project"),
		})
		if err != nil {
			return err
		}
		_, err = observability.NewToken(ctx, "main", &observability.TokenArgs{
			ProjectId: project.ID(),
			Name:      pulumi.String("my-awesome-token"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() => 
{
    var project = new Scaleway.Account.Project("project", new()
    {
        Name = "my-project",
    });
    var main = new Scaleway.Observability.Token("main", new()
    {
        ProjectId = project.Id,
        Name = "my-awesome-token",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.account.Project;
import com.pulumi.scaleway.account.ProjectArgs;
import com.pulumi.scaleway.observability.Token;
import com.pulumi.scaleway.observability.TokenArgs;
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 project = new Project("project", ProjectArgs.builder()
            .name("my-project")
            .build());
        var main = new Token("main", TokenArgs.builder()
            .projectId(project.id())
            .name("my-awesome-token")
            .build());
    }
}
resources:
  project:
    type: scaleway:account:Project
    properties:
      name: my-project
  main:
    type: scaleway:observability:Token
    properties:
      projectId: ${project.id}
      name: my-awesome-token
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const project = new scaleway.account.Project("project", {name: "my-project"});
// Create a token that can read metrics and logs but not write
const main = new scaleway.observability.Token("main", {
    projectId: project.id,
    name: "my-awesome-token",
    scopes: {
        queryMetrics: true,
        writeMetrics: false,
        queryLogs: true,
        writeLogs: false,
    },
});
import pulumi
import pulumiverse_scaleway as scaleway
project = scaleway.account.Project("project", name="my-project")
# Create a token that can read metrics and logs but not write
main = scaleway.observability.Token("main",
    project_id=project.id,
    name="my-awesome-token",
    scopes={
        "query_metrics": True,
        "write_metrics": False,
        "query_logs": True,
        "write_logs": False,
    })
package main
import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/account"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/observability"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := account.NewProject(ctx, "project", &account.ProjectArgs{
			Name: pulumi.String("my-project"),
		})
		if err != nil {
			return err
		}
		// Create a token that can read metrics and logs but not write
		_, err = observability.NewToken(ctx, "main", &observability.TokenArgs{
			ProjectId: project.ID(),
			Name:      pulumi.String("my-awesome-token"),
			Scopes: &observability.TokenScopesArgs{
				QueryMetrics: pulumi.Bool(true),
				WriteMetrics: pulumi.Bool(false),
				QueryLogs:    pulumi.Bool(true),
				WriteLogs:    pulumi.Bool(false),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() => 
{
    var project = new Scaleway.Account.Project("project", new()
    {
        Name = "my-project",
    });
    // Create a token that can read metrics and logs but not write
    var main = new Scaleway.Observability.Token("main", new()
    {
        ProjectId = project.Id,
        Name = "my-awesome-token",
        Scopes = new Scaleway.Observability.Inputs.TokenScopesArgs
        {
            QueryMetrics = true,
            WriteMetrics = false,
            QueryLogs = true,
            WriteLogs = false,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.account.Project;
import com.pulumi.scaleway.account.ProjectArgs;
import com.pulumi.scaleway.observability.Token;
import com.pulumi.scaleway.observability.TokenArgs;
import com.pulumi.scaleway.observability.inputs.TokenScopesArgs;
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 project = new Project("project", ProjectArgs.builder()
            .name("my-project")
            .build());
        // Create a token that can read metrics and logs but not write
        var main = new Token("main", TokenArgs.builder()
            .projectId(project.id())
            .name("my-awesome-token")
            .scopes(TokenScopesArgs.builder()
                .queryMetrics(true)
                .writeMetrics(false)
                .queryLogs(true)
                .writeLogs(false)
                .build())
            .build());
    }
}
resources:
  project:
    type: scaleway:account:Project
    properties:
      name: my-project
  # Create a token that can read metrics and logs but not write
  main:
    type: scaleway:observability:Token
    properties:
      projectId: ${project.id}
      name: my-awesome-token
      scopes:
        queryMetrics: true
        writeMetrics: false
        queryLogs: true
        writeLogs: false
Create Token Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Token(name: string, args?: TokenArgs, opts?: CustomResourceOptions);@overload
def Token(resource_name: str,
          args: Optional[TokenArgs] = None,
          opts: Optional[ResourceOptions] = None)
@overload
def Token(resource_name: str,
          opts: Optional[ResourceOptions] = None,
          name: Optional[str] = None,
          project_id: Optional[str] = None,
          region: Optional[str] = None,
          scopes: Optional[TokenScopesArgs] = None)func NewToken(ctx *Context, name string, args *TokenArgs, opts ...ResourceOption) (*Token, error)public Token(string name, TokenArgs? args = null, CustomResourceOptions? opts = null)type: scaleway:observability:Token
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args TokenArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args TokenArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args TokenArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args TokenArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args TokenArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var exampletokenResourceResourceFromObservabilitytoken = new Scaleway.Observability.Token("exampletokenResourceResourceFromObservabilitytoken", new()
{
    Name = "string",
    ProjectId = "string",
    Region = "string",
    Scopes = new Scaleway.Observability.Inputs.TokenScopesArgs
    {
        QueryLogs = false,
        QueryMetrics = false,
        QueryTraces = false,
        SetupAlerts = false,
        SetupLogsRules = false,
        SetupMetricsRules = false,
        WriteLogs = false,
        WriteMetrics = false,
        WriteTraces = false,
    },
});
example, err := observability.NewToken(ctx, "exampletokenResourceResourceFromObservabilitytoken", &observability.TokenArgs{
	Name:      pulumi.String("string"),
	ProjectId: pulumi.String("string"),
	Region:    pulumi.String("string"),
	Scopes: &observability.TokenScopesArgs{
		QueryLogs:         pulumi.Bool(false),
		QueryMetrics:      pulumi.Bool(false),
		QueryTraces:       pulumi.Bool(false),
		SetupAlerts:       pulumi.Bool(false),
		SetupLogsRules:    pulumi.Bool(false),
		SetupMetricsRules: pulumi.Bool(false),
		WriteLogs:         pulumi.Bool(false),
		WriteMetrics:      pulumi.Bool(false),
		WriteTraces:       pulumi.Bool(false),
	},
})
var exampletokenResourceResourceFromObservabilitytoken = new Token("exampletokenResourceResourceFromObservabilitytoken", TokenArgs.builder()
    .name("string")
    .projectId("string")
    .region("string")
    .scopes(TokenScopesArgs.builder()
        .queryLogs(false)
        .queryMetrics(false)
        .queryTraces(false)
        .setupAlerts(false)
        .setupLogsRules(false)
        .setupMetricsRules(false)
        .writeLogs(false)
        .writeMetrics(false)
        .writeTraces(false)
        .build())
    .build());
exampletoken_resource_resource_from_observabilitytoken = scaleway.observability.Token("exampletokenResourceResourceFromObservabilitytoken",
    name="string",
    project_id="string",
    region="string",
    scopes={
        "query_logs": False,
        "query_metrics": False,
        "query_traces": False,
        "setup_alerts": False,
        "setup_logs_rules": False,
        "setup_metrics_rules": False,
        "write_logs": False,
        "write_metrics": False,
        "write_traces": False,
    })
const exampletokenResourceResourceFromObservabilitytoken = new scaleway.observability.Token("exampletokenResourceResourceFromObservabilitytoken", {
    name: "string",
    projectId: "string",
    region: "string",
    scopes: {
        queryLogs: false,
        queryMetrics: false,
        queryTraces: false,
        setupAlerts: false,
        setupLogsRules: false,
        setupMetricsRules: false,
        writeLogs: false,
        writeMetrics: false,
        writeTraces: false,
    },
});
type: scaleway:observability:Token
properties:
    name: string
    projectId: string
    region: string
    scopes:
        queryLogs: false
        queryMetrics: false
        queryTraces: false
        setupAlerts: false
        setupLogsRules: false
        setupMetricsRules: false
        writeLogs: false
        writeMetrics: false
        writeTraces: false
Token Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Token resource accepts the following input properties:
- Name string
- The name of the token.
- ProjectId string
- ) The ID of the Project the Cockpit is associated with.
- Region string
- ) The region where the Cockpit token is located.
- Scopes
Pulumiverse.Scaleway. Observability. Inputs. Token Scopes 
- Scopes allowed, each with default values:
- Name string
- The name of the token.
- ProjectId string
- ) The ID of the Project the Cockpit is associated with.
- Region string
- ) The region where the Cockpit token is located.
- Scopes
TokenScopes Args 
- Scopes allowed, each with default values:
- name String
- The name of the token.
- projectId String
- ) The ID of the Project the Cockpit is associated with.
- region String
- ) The region where the Cockpit token is located.
- scopes
TokenScopes 
- Scopes allowed, each with default values:
- name string
- The name of the token.
- projectId string
- ) The ID of the Project the Cockpit is associated with.
- region string
- ) The region where the Cockpit token is located.
- scopes
TokenScopes 
- Scopes allowed, each with default values:
- name str
- The name of the token.
- project_id str
- ) The ID of the Project the Cockpit is associated with.
- region str
- ) The region where the Cockpit token is located.
- scopes
TokenScopes Args 
- Scopes allowed, each with default values:
- name String
- The name of the token.
- projectId String
- ) The ID of the Project the Cockpit is associated with.
- region String
- ) The region where the Cockpit token is located.
- scopes Property Map
- Scopes allowed, each with default values:
Outputs
All input properties are implicitly available as output properties. Additionally, the Token resource produces the following output properties:
- created_at str
- The date and time of the creation of the Cockpit Token (Format ISO 8601)
- id str
- The provider-assigned unique ID for this managed resource.
- secret_key str
- The secret key of the token.
- updated_at str
- The date and time of the last update of the Cockpit Token (Format ISO 8601)
Look up Existing Token Resource
Get an existing Token resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: TokenState, opts?: CustomResourceOptions): Token@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        created_at: Optional[str] = None,
        name: Optional[str] = None,
        project_id: Optional[str] = None,
        region: Optional[str] = None,
        scopes: Optional[TokenScopesArgs] = None,
        secret_key: Optional[str] = None,
        updated_at: Optional[str] = None) -> Tokenfunc GetToken(ctx *Context, name string, id IDInput, state *TokenState, opts ...ResourceOption) (*Token, error)public static Token Get(string name, Input<string> id, TokenState? state, CustomResourceOptions? opts = null)public static Token get(String name, Output<String> id, TokenState state, CustomResourceOptions options)resources:  _:    type: scaleway:observability:Token    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- CreatedAt string
- The date and time of the creation of the Cockpit Token (Format ISO 8601)
- Name string
- The name of the token.
- ProjectId string
- ) The ID of the Project the Cockpit is associated with.
- Region string
- ) The region where the Cockpit token is located.
- Scopes
Pulumiverse.Scaleway. Observability. Inputs. Token Scopes 
- Scopes allowed, each with default values:
- SecretKey string
- The secret key of the token.
- UpdatedAt string
- The date and time of the last update of the Cockpit Token (Format ISO 8601)
- CreatedAt string
- The date and time of the creation of the Cockpit Token (Format ISO 8601)
- Name string
- The name of the token.
- ProjectId string
- ) The ID of the Project the Cockpit is associated with.
- Region string
- ) The region where the Cockpit token is located.
- Scopes
TokenScopes Args 
- Scopes allowed, each with default values:
- SecretKey string
- The secret key of the token.
- UpdatedAt string
- The date and time of the last update of the Cockpit Token (Format ISO 8601)
- createdAt String
- The date and time of the creation of the Cockpit Token (Format ISO 8601)
- name String
- The name of the token.
- projectId String
- ) The ID of the Project the Cockpit is associated with.
- region String
- ) The region where the Cockpit token is located.
- scopes
TokenScopes 
- Scopes allowed, each with default values:
- secretKey String
- The secret key of the token.
- updatedAt String
- The date and time of the last update of the Cockpit Token (Format ISO 8601)
- createdAt string
- The date and time of the creation of the Cockpit Token (Format ISO 8601)
- name string
- The name of the token.
- projectId string
- ) The ID of the Project the Cockpit is associated with.
- region string
- ) The region where the Cockpit token is located.
- scopes
TokenScopes 
- Scopes allowed, each with default values:
- secretKey string
- The secret key of the token.
- updatedAt string
- The date and time of the last update of the Cockpit Token (Format ISO 8601)
- created_at str
- The date and time of the creation of the Cockpit Token (Format ISO 8601)
- name str
- The name of the token.
- project_id str
- ) The ID of the Project the Cockpit is associated with.
- region str
- ) The region where the Cockpit token is located.
- scopes
TokenScopes Args 
- Scopes allowed, each with default values:
- secret_key str
- The secret key of the token.
- updated_at str
- The date and time of the last update of the Cockpit Token (Format ISO 8601)
- createdAt String
- The date and time of the creation of the Cockpit Token (Format ISO 8601)
- name String
- The name of the token.
- projectId String
- ) The ID of the Project the Cockpit is associated with.
- region String
- ) The region where the Cockpit token is located.
- scopes Property Map
- Scopes allowed, each with default values:
- secretKey String
- The secret key of the token.
- updatedAt String
- The date and time of the last update of the Cockpit Token (Format ISO 8601)
Supporting Types
TokenScopes, TokenScopesArgs    
- QueryLogs bool
- Permission to query logs.
- QueryMetrics bool
- Permission to query metrics.
- QueryTraces bool
- Permission to query traces.
- SetupAlerts bool
- Permission to set up alerts.
- SetupLogs boolRules 
- Permission to set up logs rules.
- SetupMetrics boolRules 
- Permission to set up metrics rules.
- WriteLogs bool
- Permission to write logs.
- WriteMetrics bool
- Permission to write metrics.
- WriteTraces bool
- Permission to write traces.
- QueryLogs bool
- Permission to query logs.
- QueryMetrics bool
- Permission to query metrics.
- QueryTraces bool
- Permission to query traces.
- SetupAlerts bool
- Permission to set up alerts.
- SetupLogs boolRules 
- Permission to set up logs rules.
- SetupMetrics boolRules 
- Permission to set up metrics rules.
- WriteLogs bool
- Permission to write logs.
- WriteMetrics bool
- Permission to write metrics.
- WriteTraces bool
- Permission to write traces.
- queryLogs Boolean
- Permission to query logs.
- queryMetrics Boolean
- Permission to query metrics.
- queryTraces Boolean
- Permission to query traces.
- setupAlerts Boolean
- Permission to set up alerts.
- setupLogs BooleanRules 
- Permission to set up logs rules.
- setupMetrics BooleanRules 
- Permission to set up metrics rules.
- writeLogs Boolean
- Permission to write logs.
- writeMetrics Boolean
- Permission to write metrics.
- writeTraces Boolean
- Permission to write traces.
- queryLogs boolean
- Permission to query logs.
- queryMetrics boolean
- Permission to query metrics.
- queryTraces boolean
- Permission to query traces.
- setupAlerts boolean
- Permission to set up alerts.
- setupLogs booleanRules 
- Permission to set up logs rules.
- setupMetrics booleanRules 
- Permission to set up metrics rules.
- writeLogs boolean
- Permission to write logs.
- writeMetrics boolean
- Permission to write metrics.
- writeTraces boolean
- Permission to write traces.
- query_logs bool
- Permission to query logs.
- query_metrics bool
- Permission to query metrics.
- query_traces bool
- Permission to query traces.
- setup_alerts bool
- Permission to set up alerts.
- setup_logs_ boolrules 
- Permission to set up logs rules.
- setup_metrics_ boolrules 
- Permission to set up metrics rules.
- write_logs bool
- Permission to write logs.
- write_metrics bool
- Permission to write metrics.
- write_traces bool
- Permission to write traces.
- queryLogs Boolean
- Permission to query logs.
- queryMetrics Boolean
- Permission to query metrics.
- queryTraces Boolean
- Permission to query traces.
- setupAlerts Boolean
- Permission to set up alerts.
- setupLogs BooleanRules 
- Permission to set up logs rules.
- setupMetrics BooleanRules 
- Permission to set up metrics rules.
- writeLogs Boolean
- Permission to write logs.
- writeMetrics Boolean
- Permission to write metrics.
- writeTraces Boolean
- Permission to write traces.
Import
This section explains how to import a Cockpit token using the {region}/{id} format.
bash
$ pulumi import scaleway:observability/token:Token main fr-par/11111111-1111-1111-1111-111111111111
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- scaleway pulumiverse/pulumi-scaleway
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the scalewayTerraform Provider.
