1. Packages
  2. Scaleway
  3. API Docs
  4. KeyManagerKey
Scaleway v1.35.0 published on Tuesday, Oct 21, 2025 by pulumiverse

scaleway.KeyManagerKey

Get Started
scaleway logo
Scaleway v1.35.0 published on Tuesday, Oct 21, 2025 by pulumiverse

    Provides a Scaleway Key Manager Key resource.
    This resource allows you to create and manage cryptographic keys in Scaleway Key Manager (KMS).

    Example Usage

    Symmetric Encryption Key

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const symmetric = new scaleway.KeyManagerKey("symmetric", {
        name: "my-kms-key",
        region: "fr-par",
        projectId: "your-project-id",
        usage: "symmetric_encryption",
        algorithm: "aes_256_gcm",
        description: "Key for encrypting secrets",
        tags: [
            "env:prod",
            "kms",
        ],
        unprotected: true,
        rotationPolicy: {
            rotationPeriod: "720h",
        },
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    symmetric = scaleway.KeyManagerKey("symmetric",
        name="my-kms-key",
        region="fr-par",
        project_id="your-project-id",
        usage="symmetric_encryption",
        algorithm="aes_256_gcm",
        description="Key for encrypting secrets",
        tags=[
            "env:prod",
            "kms",
        ],
        unprotected=True,
        rotation_policy={
            "rotation_period": "720h",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := scaleway.NewKeyManagerKey(ctx, "symmetric", &scaleway.KeyManagerKeyArgs{
    			Name:        pulumi.String("my-kms-key"),
    			Region:      pulumi.String("fr-par"),
    			ProjectId:   pulumi.String("your-project-id"),
    			Usage:       pulumi.String("symmetric_encryption"),
    			Algorithm:   pulumi.String("aes_256_gcm"),
    			Description: pulumi.String("Key for encrypting secrets"),
    			Tags: pulumi.StringArray{
    				pulumi.String("env:prod"),
    				pulumi.String("kms"),
    			},
    			Unprotected: pulumi.Bool(true),
    			RotationPolicy: &scaleway.KeyManagerKeyRotationPolicyArgs{
    				RotationPeriod: pulumi.String("720h"),
    			},
    		})
    		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 symmetric = new Scaleway.KeyManagerKey("symmetric", new()
        {
            Name = "my-kms-key",
            Region = "fr-par",
            ProjectId = "your-project-id",
            Usage = "symmetric_encryption",
            Algorithm = "aes_256_gcm",
            Description = "Key for encrypting secrets",
            Tags = new[]
            {
                "env:prod",
                "kms",
            },
            Unprotected = true,
            RotationPolicy = new Scaleway.Inputs.KeyManagerKeyRotationPolicyArgs
            {
                RotationPeriod = "720h",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.KeyManagerKey;
    import com.pulumi.scaleway.KeyManagerKeyArgs;
    import com.pulumi.scaleway.inputs.KeyManagerKeyRotationPolicyArgs;
    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 symmetric = new KeyManagerKey("symmetric", KeyManagerKeyArgs.builder()
                .name("my-kms-key")
                .region("fr-par")
                .projectId("your-project-id")
                .usage("symmetric_encryption")
                .algorithm("aes_256_gcm")
                .description("Key for encrypting secrets")
                .tags(            
                    "env:prod",
                    "kms")
                .unprotected(true)
                .rotationPolicy(KeyManagerKeyRotationPolicyArgs.builder()
                    .rotationPeriod("720h")
                    .build())
                .build());
    
        }
    }
    
    resources:
      symmetric:
        type: scaleway:KeyManagerKey
        properties:
          name: my-kms-key
          region: fr-par
          projectId: your-project-id
          usage: symmetric_encryption
          algorithm: aes_256_gcm
          description: Key for encrypting secrets
          tags:
            - env:prod
            - kms
          unprotected: true
          rotationPolicy:
            rotationPeriod: 720h
    

    Asymmetric Encryption Key with RSA-4096

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const rsa4096 = new scaleway.KeyManagerKey("rsa_4096", {
        name: "rsa-4096-key",
        region: "fr-par",
        usage: "asymmetric_encryption",
        algorithm: "rsa_oaep_4096_sha256",
        description: "Key for encrypting large files with RSA-4096",
        unprotected: true,
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    rsa4096 = scaleway.KeyManagerKey("rsa_4096",
        name="rsa-4096-key",
        region="fr-par",
        usage="asymmetric_encryption",
        algorithm="rsa_oaep_4096_sha256",
        description="Key for encrypting large files with RSA-4096",
        unprotected=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := scaleway.NewKeyManagerKey(ctx, "rsa_4096", &scaleway.KeyManagerKeyArgs{
    			Name:        pulumi.String("rsa-4096-key"),
    			Region:      pulumi.String("fr-par"),
    			Usage:       pulumi.String("asymmetric_encryption"),
    			Algorithm:   pulumi.String("rsa_oaep_4096_sha256"),
    			Description: pulumi.String("Key for encrypting large files with RSA-4096"),
    			Unprotected: pulumi.Bool(true),
    		})
    		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 rsa4096 = new Scaleway.KeyManagerKey("rsa_4096", new()
        {
            Name = "rsa-4096-key",
            Region = "fr-par",
            Usage = "asymmetric_encryption",
            Algorithm = "rsa_oaep_4096_sha256",
            Description = "Key for encrypting large files with RSA-4096",
            Unprotected = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.KeyManagerKey;
    import com.pulumi.scaleway.KeyManagerKeyArgs;
    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 rsa4096 = new KeyManagerKey("rsa4096", KeyManagerKeyArgs.builder()
                .name("rsa-4096-key")
                .region("fr-par")
                .usage("asymmetric_encryption")
                .algorithm("rsa_oaep_4096_sha256")
                .description("Key for encrypting large files with RSA-4096")
                .unprotected(true)
                .build());
    
        }
    }
    
    resources:
      rsa4096:
        type: scaleway:KeyManagerKey
        name: rsa_4096
        properties:
          name: rsa-4096-key
          region: fr-par
          usage: asymmetric_encryption
          algorithm: rsa_oaep_4096_sha256
          description: Key for encrypting large files with RSA-4096
          unprotected: true
    

    Asymmetric Signing Key

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const signing = new scaleway.KeyManagerKey("signing", {
        name: "signing-key",
        region: "fr-par",
        usage: "asymmetric_signing",
        algorithm: "rsa_pss_2048_sha256",
        description: "Key for signing documents",
        unprotected: true,
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    signing = scaleway.KeyManagerKey("signing",
        name="signing-key",
        region="fr-par",
        usage="asymmetric_signing",
        algorithm="rsa_pss_2048_sha256",
        description="Key for signing documents",
        unprotected=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := scaleway.NewKeyManagerKey(ctx, "signing", &scaleway.KeyManagerKeyArgs{
    			Name:        pulumi.String("signing-key"),
    			Region:      pulumi.String("fr-par"),
    			Usage:       pulumi.String("asymmetric_signing"),
    			Algorithm:   pulumi.String("rsa_pss_2048_sha256"),
    			Description: pulumi.String("Key for signing documents"),
    			Unprotected: pulumi.Bool(true),
    		})
    		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 signing = new Scaleway.KeyManagerKey("signing", new()
        {
            Name = "signing-key",
            Region = "fr-par",
            Usage = "asymmetric_signing",
            Algorithm = "rsa_pss_2048_sha256",
            Description = "Key for signing documents",
            Unprotected = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.KeyManagerKey;
    import com.pulumi.scaleway.KeyManagerKeyArgs;
    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 signing = new KeyManagerKey("signing", KeyManagerKeyArgs.builder()
                .name("signing-key")
                .region("fr-par")
                .usage("asymmetric_signing")
                .algorithm("rsa_pss_2048_sha256")
                .description("Key for signing documents")
                .unprotected(true)
                .build());
    
        }
    }
    
    resources:
      signing:
        type: scaleway:KeyManagerKey
        properties:
          name: signing-key
          region: fr-par
          usage: asymmetric_signing
          algorithm: rsa_pss_2048_sha256
          description: Key for signing documents
          unprotected: true
    

    Notes

    • Protection: By default, keys are protected and cannot be deleted. To allow deletion, set unprotected = true when creating the key.
    • Rotation Policy: The rotation_policy block allows you to set automatic rotation for your key.
    • Origin: The origin argument is optional and defaults to scaleway_kms. Use external if you want to import an external key (see Scaleway documentation for details).
    • Project and Region: If not specified, project_id and region will default to the provider configuration.
    • Algorithm Validation: The provider validates that the specified algorithm is compatible with the usage type at plan time, providing early feedback on configuration errors.

    Create KeyManagerKey Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new KeyManagerKey(name: string, args: KeyManagerKeyArgs, opts?: CustomResourceOptions);
    @overload
    def KeyManagerKey(resource_name: str,
                      args: KeyManagerKeyArgs,
                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def KeyManagerKey(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      algorithm: Optional[str] = None,
                      usage: Optional[str] = None,
                      description: Optional[str] = None,
                      name: Optional[str] = None,
                      origin: Optional[str] = None,
                      project_id: Optional[str] = None,
                      region: Optional[str] = None,
                      rotation_policy: Optional[KeyManagerKeyRotationPolicyArgs] = None,
                      tags: Optional[Sequence[str]] = None,
                      unprotected: Optional[bool] = None)
    func NewKeyManagerKey(ctx *Context, name string, args KeyManagerKeyArgs, opts ...ResourceOption) (*KeyManagerKey, error)
    public KeyManagerKey(string name, KeyManagerKeyArgs args, CustomResourceOptions? opts = null)
    public KeyManagerKey(String name, KeyManagerKeyArgs args)
    public KeyManagerKey(String name, KeyManagerKeyArgs args, CustomResourceOptions options)
    
    type: scaleway:KeyManagerKey
    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 KeyManagerKeyArgs
    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 KeyManagerKeyArgs
    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 KeyManagerKeyArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args KeyManagerKeyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args KeyManagerKeyArgs
    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 keyManagerKeyResource = new Scaleway.KeyManagerKey("keyManagerKeyResource", new()
    {
        Algorithm = "string",
        Usage = "string",
        Description = "string",
        Name = "string",
        Origin = "string",
        ProjectId = "string",
        Region = "string",
        RotationPolicy = new Scaleway.Inputs.KeyManagerKeyRotationPolicyArgs
        {
            RotationPeriod = "string",
            NextRotationAt = "string",
        },
        Tags = new[]
        {
            "string",
        },
        Unprotected = false,
    });
    
    example, err := scaleway.NewKeyManagerKey(ctx, "keyManagerKeyResource", &scaleway.KeyManagerKeyArgs{
    	Algorithm:   pulumi.String("string"),
    	Usage:       pulumi.String("string"),
    	Description: pulumi.String("string"),
    	Name:        pulumi.String("string"),
    	Origin:      pulumi.String("string"),
    	ProjectId:   pulumi.String("string"),
    	Region:      pulumi.String("string"),
    	RotationPolicy: &scaleway.KeyManagerKeyRotationPolicyArgs{
    		RotationPeriod: pulumi.String("string"),
    		NextRotationAt: pulumi.String("string"),
    	},
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Unprotected: pulumi.Bool(false),
    })
    
    var keyManagerKeyResource = new KeyManagerKey("keyManagerKeyResource", KeyManagerKeyArgs.builder()
        .algorithm("string")
        .usage("string")
        .description("string")
        .name("string")
        .origin("string")
        .projectId("string")
        .region("string")
        .rotationPolicy(KeyManagerKeyRotationPolicyArgs.builder()
            .rotationPeriod("string")
            .nextRotationAt("string")
            .build())
        .tags("string")
        .unprotected(false)
        .build());
    
    key_manager_key_resource = scaleway.KeyManagerKey("keyManagerKeyResource",
        algorithm="string",
        usage="string",
        description="string",
        name="string",
        origin="string",
        project_id="string",
        region="string",
        rotation_policy={
            "rotation_period": "string",
            "next_rotation_at": "string",
        },
        tags=["string"],
        unprotected=False)
    
    const keyManagerKeyResource = new scaleway.KeyManagerKey("keyManagerKeyResource", {
        algorithm: "string",
        usage: "string",
        description: "string",
        name: "string",
        origin: "string",
        projectId: "string",
        region: "string",
        rotationPolicy: {
            rotationPeriod: "string",
            nextRotationAt: "string",
        },
        tags: ["string"],
        unprotected: false,
    });
    
    type: scaleway:KeyManagerKey
    properties:
        algorithm: string
        description: string
        name: string
        origin: string
        projectId: string
        region: string
        rotationPolicy:
            nextRotationAt: string
            rotationPeriod: string
        tags:
            - string
        unprotected: false
        usage: string
    

    KeyManagerKey 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 KeyManagerKey resource accepts the following input properties:

    Algorithm string
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    Usage string
    – The usage type of the key. Valid values:
    Description string
    – A description for the key.
    Name string
    The name of the key.
    Origin string
    – The origin of the key. Valid values are:
    ProjectId string

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    Region string
    The region in which to create the key (e.g., fr-par).
    RotationPolicy Pulumiverse.Scaleway.Inputs.KeyManagerKeyRotationPolicy
    – Rotation policy for the key:
    Tags List<string>
    – A list of tags to assign to the key.
    Unprotected bool
    – If true, the key can be deleted. Defaults to false (protected).
    Algorithm string
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    Usage string
    – The usage type of the key. Valid values:
    Description string
    – A description for the key.
    Name string
    The name of the key.
    Origin string
    – The origin of the key. Valid values are:
    ProjectId string

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    Region string
    The region in which to create the key (e.g., fr-par).
    RotationPolicy KeyManagerKeyRotationPolicyArgs
    – Rotation policy for the key:
    Tags []string
    – A list of tags to assign to the key.
    Unprotected bool
    – If true, the key can be deleted. Defaults to false (protected).
    algorithm String
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    usage String
    – The usage type of the key. Valid values:
    description String
    – A description for the key.
    name String
    The name of the key.
    origin String
    – The origin of the key. Valid values are:
    projectId String

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    region String
    The region in which to create the key (e.g., fr-par).
    rotationPolicy KeyManagerKeyRotationPolicy
    – Rotation policy for the key:
    tags List<String>
    – A list of tags to assign to the key.
    unprotected Boolean
    – If true, the key can be deleted. Defaults to false (protected).
    algorithm string
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    usage string
    – The usage type of the key. Valid values:
    description string
    – A description for the key.
    name string
    The name of the key.
    origin string
    – The origin of the key. Valid values are:
    projectId string

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    region string
    The region in which to create the key (e.g., fr-par).
    rotationPolicy KeyManagerKeyRotationPolicy
    – Rotation policy for the key:
    tags string[]
    – A list of tags to assign to the key.
    unprotected boolean
    – If true, the key can be deleted. Defaults to false (protected).
    algorithm str
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    usage str
    – The usage type of the key. Valid values:
    description str
    – A description for the key.
    name str
    The name of the key.
    origin str
    – The origin of the key. Valid values are:
    project_id str

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    region str
    The region in which to create the key (e.g., fr-par).
    rotation_policy KeyManagerKeyRotationPolicyArgs
    – Rotation policy for the key:
    tags Sequence[str]
    – A list of tags to assign to the key.
    unprotected bool
    – If true, the key can be deleted. Defaults to false (protected).
    algorithm String
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    usage String
    – The usage type of the key. Valid values:
    description String
    – A description for the key.
    name String
    The name of the key.
    origin String
    – The origin of the key. Valid values are:
    projectId String

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    region String
    The region in which to create the key (e.g., fr-par).
    rotationPolicy Property Map
    – Rotation policy for the key:
    tags List<String>
    – A list of tags to assign to the key.
    unprotected Boolean
    – If true, the key can be deleted. Defaults to false (protected).

    Outputs

    All input properties are implicitly available as output properties. Additionally, the KeyManagerKey resource produces the following output properties:

    CreatedAt string
    The date and time when the key was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    Locked bool
    Whether the key is locked.
    Protected bool
    Whether the key is protected from deletion.
    RotatedAt string
    The date and time when the key was last rotated.
    RotationCount int
    The number of times the key has been rotated.
    State string
    The state of the key (e.g., enabled).
    UpdatedAt string
    The date and time when the key was last updated.
    CreatedAt string
    The date and time when the key was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    Locked bool
    Whether the key is locked.
    Protected bool
    Whether the key is protected from deletion.
    RotatedAt string
    The date and time when the key was last rotated.
    RotationCount int
    The number of times the key has been rotated.
    State string
    The state of the key (e.g., enabled).
    UpdatedAt string
    The date and time when the key was last updated.
    createdAt String
    The date and time when the key was created.
    id String
    The provider-assigned unique ID for this managed resource.
    locked Boolean
    Whether the key is locked.
    protected_ Boolean
    Whether the key is protected from deletion.
    rotatedAt String
    The date and time when the key was last rotated.
    rotationCount Integer
    The number of times the key has been rotated.
    state String
    The state of the key (e.g., enabled).
    updatedAt String
    The date and time when the key was last updated.
    createdAt string
    The date and time when the key was created.
    id string
    The provider-assigned unique ID for this managed resource.
    locked boolean
    Whether the key is locked.
    protected boolean
    Whether the key is protected from deletion.
    rotatedAt string
    The date and time when the key was last rotated.
    rotationCount number
    The number of times the key has been rotated.
    state string
    The state of the key (e.g., enabled).
    updatedAt string
    The date and time when the key was last updated.
    created_at str
    The date and time when the key was created.
    id str
    The provider-assigned unique ID for this managed resource.
    locked bool
    Whether the key is locked.
    protected bool
    Whether the key is protected from deletion.
    rotated_at str
    The date and time when the key was last rotated.
    rotation_count int
    The number of times the key has been rotated.
    state str
    The state of the key (e.g., enabled).
    updated_at str
    The date and time when the key was last updated.
    createdAt String
    The date and time when the key was created.
    id String
    The provider-assigned unique ID for this managed resource.
    locked Boolean
    Whether the key is locked.
    protected Boolean
    Whether the key is protected from deletion.
    rotatedAt String
    The date and time when the key was last rotated.
    rotationCount Number
    The number of times the key has been rotated.
    state String
    The state of the key (e.g., enabled).
    updatedAt String
    The date and time when the key was last updated.

    Look up Existing KeyManagerKey Resource

    Get an existing KeyManagerKey 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?: KeyManagerKeyState, opts?: CustomResourceOptions): KeyManagerKey
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            algorithm: Optional[str] = None,
            created_at: Optional[str] = None,
            description: Optional[str] = None,
            locked: Optional[bool] = None,
            name: Optional[str] = None,
            origin: Optional[str] = None,
            project_id: Optional[str] = None,
            protected: Optional[bool] = None,
            region: Optional[str] = None,
            rotated_at: Optional[str] = None,
            rotation_count: Optional[int] = None,
            rotation_policy: Optional[KeyManagerKeyRotationPolicyArgs] = None,
            state: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            unprotected: Optional[bool] = None,
            updated_at: Optional[str] = None,
            usage: Optional[str] = None) -> KeyManagerKey
    func GetKeyManagerKey(ctx *Context, name string, id IDInput, state *KeyManagerKeyState, opts ...ResourceOption) (*KeyManagerKey, error)
    public static KeyManagerKey Get(string name, Input<string> id, KeyManagerKeyState? state, CustomResourceOptions? opts = null)
    public static KeyManagerKey get(String name, Output<String> id, KeyManagerKeyState state, CustomResourceOptions options)
    resources:  _:    type: scaleway:KeyManagerKey    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.
    The following state arguments are supported:
    Algorithm string
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    CreatedAt string
    The date and time when the key was created.
    Description string
    – A description for the key.
    Locked bool
    Whether the key is locked.
    Name string
    The name of the key.
    Origin string
    – The origin of the key. Valid values are:
    ProjectId string

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    Protected bool
    Whether the key is protected from deletion.
    Region string
    The region in which to create the key (e.g., fr-par).
    RotatedAt string
    The date and time when the key was last rotated.
    RotationCount int
    The number of times the key has been rotated.
    RotationPolicy Pulumiverse.Scaleway.Inputs.KeyManagerKeyRotationPolicy
    – Rotation policy for the key:
    State string
    The state of the key (e.g., enabled).
    Tags List<string>
    – A list of tags to assign to the key.
    Unprotected bool
    – If true, the key can be deleted. Defaults to false (protected).
    UpdatedAt string
    The date and time when the key was last updated.
    Usage string
    – The usage type of the key. Valid values:
    Algorithm string
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    CreatedAt string
    The date and time when the key was created.
    Description string
    – A description for the key.
    Locked bool
    Whether the key is locked.
    Name string
    The name of the key.
    Origin string
    – The origin of the key. Valid values are:
    ProjectId string

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    Protected bool
    Whether the key is protected from deletion.
    Region string
    The region in which to create the key (e.g., fr-par).
    RotatedAt string
    The date and time when the key was last rotated.
    RotationCount int
    The number of times the key has been rotated.
    RotationPolicy KeyManagerKeyRotationPolicyArgs
    – Rotation policy for the key:
    State string
    The state of the key (e.g., enabled).
    Tags []string
    – A list of tags to assign to the key.
    Unprotected bool
    – If true, the key can be deleted. Defaults to false (protected).
    UpdatedAt string
    The date and time when the key was last updated.
    Usage string
    – The usage type of the key. Valid values:
    algorithm String
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    createdAt String
    The date and time when the key was created.
    description String
    – A description for the key.
    locked Boolean
    Whether the key is locked.
    name String
    The name of the key.
    origin String
    – The origin of the key. Valid values are:
    projectId String

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    protected_ Boolean
    Whether the key is protected from deletion.
    region String
    The region in which to create the key (e.g., fr-par).
    rotatedAt String
    The date and time when the key was last rotated.
    rotationCount Integer
    The number of times the key has been rotated.
    rotationPolicy KeyManagerKeyRotationPolicy
    – Rotation policy for the key:
    state String
    The state of the key (e.g., enabled).
    tags List<String>
    – A list of tags to assign to the key.
    unprotected Boolean
    – If true, the key can be deleted. Defaults to false (protected).
    updatedAt String
    The date and time when the key was last updated.
    usage String
    – The usage type of the key. Valid values:
    algorithm string
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    createdAt string
    The date and time when the key was created.
    description string
    – A description for the key.
    locked boolean
    Whether the key is locked.
    name string
    The name of the key.
    origin string
    – The origin of the key. Valid values are:
    projectId string

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    protected boolean
    Whether the key is protected from deletion.
    region string
    The region in which to create the key (e.g., fr-par).
    rotatedAt string
    The date and time when the key was last rotated.
    rotationCount number
    The number of times the key has been rotated.
    rotationPolicy KeyManagerKeyRotationPolicy
    – Rotation policy for the key:
    state string
    The state of the key (e.g., enabled).
    tags string[]
    – A list of tags to assign to the key.
    unprotected boolean
    – If true, the key can be deleted. Defaults to false (protected).
    updatedAt string
    The date and time when the key was last updated.
    usage string
    – The usage type of the key. Valid values:
    algorithm str
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    created_at str
    The date and time when the key was created.
    description str
    – A description for the key.
    locked bool
    Whether the key is locked.
    name str
    The name of the key.
    origin str
    – The origin of the key. Valid values are:
    project_id str

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    protected bool
    Whether the key is protected from deletion.
    region str
    The region in which to create the key (e.g., fr-par).
    rotated_at str
    The date and time when the key was last rotated.
    rotation_count int
    The number of times the key has been rotated.
    rotation_policy KeyManagerKeyRotationPolicyArgs
    – Rotation policy for the key:
    state str
    The state of the key (e.g., enabled).
    tags Sequence[str]
    – A list of tags to assign to the key.
    unprotected bool
    – If true, the key can be deleted. Defaults to false (protected).
    updated_at str
    The date and time when the key was last updated.
    usage str
    – The usage type of the key. Valid values:
    algorithm String
    – The cryptographic algorithm to use. Valid values depend on the usage:

    • For symmetric_encryption:
    createdAt String
    The date and time when the key was created.
    description String
    – A description for the key.
    locked Boolean
    Whether the key is locked.
    name String
    The name of the key.
    origin String
    – The origin of the key. Valid values are:
    projectId String

    – The ID of the project the key belongs to.

    Key Usage and Algorithm (both required):

    protected Boolean
    Whether the key is protected from deletion.
    region String
    The region in which to create the key (e.g., fr-par).
    rotatedAt String
    The date and time when the key was last rotated.
    rotationCount Number
    The number of times the key has been rotated.
    rotationPolicy Property Map
    – Rotation policy for the key:
    state String
    The state of the key (e.g., enabled).
    tags List<String>
    – A list of tags to assign to the key.
    unprotected Boolean
    – If true, the key can be deleted. Defaults to false (protected).
    updatedAt String
    The date and time when the key was last updated.
    usage String
    – The usage type of the key. Valid values:

    Supporting Types

    KeyManagerKeyRotationPolicy, KeyManagerKeyRotationPolicyArgs

    RotationPeriod string
    – The period between key rotations (e.g., "720h" for 30 days).
    NextRotationAt string
    The date and time of the next scheduled rotation.
    RotationPeriod string
    – The period between key rotations (e.g., "720h" for 30 days).
    NextRotationAt string
    The date and time of the next scheduled rotation.
    rotationPeriod String
    – The period between key rotations (e.g., "720h" for 30 days).
    nextRotationAt String
    The date and time of the next scheduled rotation.
    rotationPeriod string
    – The period between key rotations (e.g., "720h" for 30 days).
    nextRotationAt string
    The date and time of the next scheduled rotation.
    rotation_period str
    – The period between key rotations (e.g., "720h" for 30 days).
    next_rotation_at str
    The date and time of the next scheduled rotation.
    rotationPeriod String
    – The period between key rotations (e.g., "720h" for 30 days).
    nextRotationAt String
    The date and time of the next scheduled rotation.

    Import

    You can import a key using its ID and region:

    $ pulumi import scaleway:index/keyManagerKey:KeyManagerKey main fr-par/11111111-2222-3333-4444-555555555555
    

    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 scaleway Terraform Provider.
    scaleway logo
    Scaleway v1.35.0 published on Tuesday, Oct 21, 2025 by pulumiverse
      Meet Neo: Your AI Platform Teammate