UNPKG

@lbrlabs/pulumi-scaleway

Version:

A Pulumi package for creating and managing scaleway cloud resources.

239 lines (238 loc) 8.98 kB
import * as pulumi from "@pulumi/pulumi"; /** * Creates and manages Scaleway Messaging and queuing SQS Queues. * For further information please check * our [documentation](https://www.scaleway.com/en/docs/serverless/messaging/how-to/create-manage-queues/) * * ## Examples * * ### Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@lbrlabs/pulumi-scaleway"; * * const mainMnqSqs = new scaleway.MnqSqs("mainMnqSqs", {}); * const mainMnqSqsCredentials = new scaleway.MnqSqsCredentials("mainMnqSqsCredentials", { * projectId: mainMnqSqs.projectId, * permissions: { * canManage: false, * canReceive: true, * canPublish: false, * }, * }); * const mainMnqSqsQueue = new scaleway.MnqSqsQueue("mainMnqSqsQueue", { * projectId: mainMnqSqs.projectId, * endpoint: mainMnqSqs.endpoint, * accessKey: mainMnqSqsCredentials.accessKey, * secretKey: mainMnqSqsCredentials.secretKey, * }); * ``` * * ## Import * * SQS queues can be imported using the `{region}/{project-id}/{queue-name}`, e.g. bash * * ```sh * $ pulumi import scaleway:index/mnqSqsQueue:MnqSqsQueue main fr-par/11111111111111111111111111111111/my-queue * ``` */ export declare class MnqSqsQueue extends pulumi.CustomResource { /** * Get an existing MnqSqsQueue resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MnqSqsQueueState, opts?: pulumi.CustomResourceOptions): MnqSqsQueue; /** * Returns true if the given object is an instance of MnqSqsQueue. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is MnqSqsQueue; /** * The access key of the SQS queue. */ readonly accessKey: pulumi.Output<string>; /** * Specifies whether to enable content-based deduplication. Defaults to `false`. */ readonly contentBasedDeduplication: pulumi.Output<boolean>; /** * The endpoint of the SQS queue. Can contain a {region} placeholder. Defaults to `http://sqs-sns.mnq.{region}.scw.cloud`. */ readonly endpoint: pulumi.Output<string | undefined>; /** * Whether the queue is a FIFO queue. If true, the queue name must end with .fifo. Defaults to `false`. */ readonly fifoQueue: pulumi.Output<boolean>; /** * The number of seconds the queue retains a message. Must be between 60 and 1_209_600. Defaults to 345_600. */ readonly messageMaxAge: pulumi.Output<number | undefined>; /** * The maximum size of a message. Should be in bytes. Must be between 1024 and 262_144. Defaults to 262_144. */ readonly messageMaxSize: pulumi.Output<number | undefined>; /** * The unique name of the sqs queue. Either `name` or `namePrefix` is required. Conflicts with `namePrefix`. */ readonly name: pulumi.Output<string>; /** * Creates a unique name beginning with the specified prefix. Conflicts with `name`. */ readonly namePrefix: pulumi.Output<string>; /** * `projectId`) The ID of the project the sqs is enabled for. */ readonly projectId: pulumi.Output<string>; /** * The number of seconds to wait for a message to arrive in the queue before returning. Must be between 0 and 20. Defaults to 0. */ readonly receiveWaitTimeSeconds: pulumi.Output<number | undefined>; /** * `region`). The region in which sqs is enabled. */ readonly region: pulumi.Output<string>; /** * The secret key of the SQS queue. */ readonly secretKey: pulumi.Output<string>; /** * The URL of the queue. */ readonly url: pulumi.Output<string>; /** * The number of seconds a message is hidden from other consumers. Must be between 0 and 43_200. Defaults to 30. */ readonly visibilityTimeoutSeconds: pulumi.Output<number | undefined>; /** * Create a MnqSqsQueue resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: MnqSqsQueueArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MnqSqsQueue resources. */ export interface MnqSqsQueueState { /** * The access key of the SQS queue. */ accessKey?: pulumi.Input<string>; /** * Specifies whether to enable content-based deduplication. Defaults to `false`. */ contentBasedDeduplication?: pulumi.Input<boolean>; /** * The endpoint of the SQS queue. Can contain a {region} placeholder. Defaults to `http://sqs-sns.mnq.{region}.scw.cloud`. */ endpoint?: pulumi.Input<string>; /** * Whether the queue is a FIFO queue. If true, the queue name must end with .fifo. Defaults to `false`. */ fifoQueue?: pulumi.Input<boolean>; /** * The number of seconds the queue retains a message. Must be between 60 and 1_209_600. Defaults to 345_600. */ messageMaxAge?: pulumi.Input<number>; /** * The maximum size of a message. Should be in bytes. Must be between 1024 and 262_144. Defaults to 262_144. */ messageMaxSize?: pulumi.Input<number>; /** * The unique name of the sqs queue. Either `name` or `namePrefix` is required. Conflicts with `namePrefix`. */ name?: pulumi.Input<string>; /** * Creates a unique name beginning with the specified prefix. Conflicts with `name`. */ namePrefix?: pulumi.Input<string>; /** * `projectId`) The ID of the project the sqs is enabled for. */ projectId?: pulumi.Input<string>; /** * The number of seconds to wait for a message to arrive in the queue before returning. Must be between 0 and 20. Defaults to 0. */ receiveWaitTimeSeconds?: pulumi.Input<number>; /** * `region`). The region in which sqs is enabled. */ region?: pulumi.Input<string>; /** * The secret key of the SQS queue. */ secretKey?: pulumi.Input<string>; /** * The URL of the queue. */ url?: pulumi.Input<string>; /** * The number of seconds a message is hidden from other consumers. Must be between 0 and 43_200. Defaults to 30. */ visibilityTimeoutSeconds?: pulumi.Input<number>; } /** * The set of arguments for constructing a MnqSqsQueue resource. */ export interface MnqSqsQueueArgs { /** * The access key of the SQS queue. */ accessKey: pulumi.Input<string>; /** * Specifies whether to enable content-based deduplication. Defaults to `false`. */ contentBasedDeduplication?: pulumi.Input<boolean>; /** * The endpoint of the SQS queue. Can contain a {region} placeholder. Defaults to `http://sqs-sns.mnq.{region}.scw.cloud`. */ endpoint?: pulumi.Input<string>; /** * Whether the queue is a FIFO queue. If true, the queue name must end with .fifo. Defaults to `false`. */ fifoQueue?: pulumi.Input<boolean>; /** * The number of seconds the queue retains a message. Must be between 60 and 1_209_600. Defaults to 345_600. */ messageMaxAge?: pulumi.Input<number>; /** * The maximum size of a message. Should be in bytes. Must be between 1024 and 262_144. Defaults to 262_144. */ messageMaxSize?: pulumi.Input<number>; /** * The unique name of the sqs queue. Either `name` or `namePrefix` is required. Conflicts with `namePrefix`. */ name?: pulumi.Input<string>; /** * Creates a unique name beginning with the specified prefix. Conflicts with `name`. */ namePrefix?: pulumi.Input<string>; /** * `projectId`) The ID of the project the sqs is enabled for. */ projectId?: pulumi.Input<string>; /** * The number of seconds to wait for a message to arrive in the queue before returning. Must be between 0 and 20. Defaults to 0. */ receiveWaitTimeSeconds?: pulumi.Input<number>; /** * `region`). The region in which sqs is enabled. */ region?: pulumi.Input<string>; /** * The secret key of the SQS queue. */ secretKey: pulumi.Input<string>; /** * The number of seconds a message is hidden from other consumers. Must be between 0 and 43_200. Defaults to 30. */ visibilityTimeoutSeconds?: pulumi.Input<number>; }