UNPKG

@pulumiverse/scaleway

Version:

A Pulumi package for creating and managing Scaleway cloud resources.

144 lines (143 loc) 4.91 kB
import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * The `scaleway.account.getProjects` data source is used to list all Scaleway projects in an Organization. * * Refer to the Organizations and Projects [documentation](https://www.scaleway.com/en/docs/organizations-and-projects/) and [API documentation](https://www.scaleway.com/en/developers/api/account/project-api/) for more information. * * ## Retrieve a Scaleway Projects * * The following commands allow you to: * * - retrieve all Projects in an Organization * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * * // Get all Projects in an Organization * const all = scaleway.account.getProjects({ * organizationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", * }); * ``` * * ## Example Usage * * ### Deploy an SSH key in all your organization's projects * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * import * as scaleway from "@pulumiverse/scaleway"; * * export = async () => { * const all = await scaleway.account.getProjects({}); * const main: scaleway.account.SshKey[] = []; * for (const range = {value: 0}; range.value < all.projects.length; range.value++) { * main.push(new scaleway.account.SshKey(`main-${range.value}`, { * name: "main", * publicKey: publicKey, * projectId: all.projects[range.value].id, * })); * } * } * ``` */ export declare function getProjects(args?: GetProjectsArgs, opts?: pulumi.InvokeOptions): Promise<GetProjectsResult>; /** * A collection of arguments for invoking getProjects. */ export interface GetProjectsArgs { /** * The unique identifier of the Organization with which the Projects are associated. * If no default `organizationId` is set, one must be set explicitly in this datasource */ organizationId?: string; } /** * A collection of values returned by getProjects. */ export interface GetProjectsResult { /** * (Computed) The date and time when the project was created. */ readonly createdAt: string; /** * (Computed) The description of the project. */ readonly description: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * (Computed) The name of the project. */ readonly name: string; /** * (Computed) The unique identifier of the organization with which the project is associated. */ readonly organizationId: string; /** * (Computed) A list of projects. Each project has the following attributes: */ readonly projects: outputs.account.GetProjectsProject[]; /** * (Computed) The date and time when the project was updated. */ readonly updatedAt: string; } /** * The `scaleway.account.getProjects` data source is used to list all Scaleway projects in an Organization. * * Refer to the Organizations and Projects [documentation](https://www.scaleway.com/en/docs/organizations-and-projects/) and [API documentation](https://www.scaleway.com/en/developers/api/account/project-api/) for more information. * * ## Retrieve a Scaleway Projects * * The following commands allow you to: * * - retrieve all Projects in an Organization * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * * // Get all Projects in an Organization * const all = scaleway.account.getProjects({ * organizationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", * }); * ``` * * ## Example Usage * * ### Deploy an SSH key in all your organization's projects * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumi/scaleway"; * import * as scaleway from "@pulumiverse/scaleway"; * * export = async () => { * const all = await scaleway.account.getProjects({}); * const main: scaleway.account.SshKey[] = []; * for (const range = {value: 0}; range.value < all.projects.length; range.value++) { * main.push(new scaleway.account.SshKey(`main-${range.value}`, { * name: "main", * publicKey: publicKey, * projectId: all.projects[range.value].id, * })); * } * } * ``` */ export declare function getProjectsOutput(args?: GetProjectsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetProjectsResult>; /** * A collection of arguments for invoking getProjects. */ export interface GetProjectsOutputArgs { /** * The unique identifier of the Organization with which the Projects are associated. * If no default `organizationId` is set, one must be set explicitly in this datasource */ organizationId?: pulumi.Input<string>; }