UNPKG

@pulumiverse/scaleway

Version:

A Pulumi package for creating and managing Scaleway cloud resources.

128 lines 5.36 kB
"use strict"; // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.ApiKey = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("../utilities"); /** * Creates and manages Scaleway API Keys. For more information, refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#api-keys-3665ae). * * ## Example Usage * * ### With application * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const ciCd = new scaleway.iam.Application("ci_cd", {name: "My application"}); * const main = new scaleway.iam.ApiKey("main", { * applicationId: mainScalewayIamApplication.id, * description: "a description", * }); * ``` * * ### With user * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const main = new scaleway.iam.User("main", {email: "test@test.com"}); * const mainApiKey = new scaleway.iam.ApiKey("main", { * userId: main.id, * description: "a description", * }); * ``` * * ### With expiration * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * import * as time from "@pulumi/time"; * * const rotateAfterAYear = new time.index.Rotating("rotate_after_a_year", {rotationYears: 1}); * const main = new scaleway.iam.ApiKey("main", { * applicationId: mainScalewayIamApplication.id, * expiresAt: rotateAfterAYear.rotationRfc3339, * }); * ``` * * ## Import * * Api keys can be imported using the `{id}`, e.g. * * bash * * ```sh * $ pulumi import scaleway:iam/apiKey:ApiKey main 11111111111111111111 * ``` */ class ApiKey extends pulumi.CustomResource { /** * Get an existing ApiKey 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, id, state, opts) { return new ApiKey(name, state, Object.assign(Object.assign({}, opts), { id: id })); } /** * Returns true if the given object is an instance of ApiKey. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === ApiKey.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["accessKey"] = state ? state.accessKey : undefined; resourceInputs["applicationId"] = state ? state.applicationId : undefined; resourceInputs["createdAt"] = state ? state.createdAt : undefined; resourceInputs["creationIp"] = state ? state.creationIp : undefined; resourceInputs["defaultProjectId"] = state ? state.defaultProjectId : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["editable"] = state ? state.editable : undefined; resourceInputs["expiresAt"] = state ? state.expiresAt : undefined; resourceInputs["secretKey"] = state ? state.secretKey : undefined; resourceInputs["updatedAt"] = state ? state.updatedAt : undefined; resourceInputs["userId"] = state ? state.userId : undefined; } else { const args = argsOrState; resourceInputs["applicationId"] = args ? args.applicationId : undefined; resourceInputs["defaultProjectId"] = args ? args.defaultProjectId : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["expiresAt"] = args ? args.expiresAt : undefined; resourceInputs["userId"] = args ? args.userId : undefined; resourceInputs["accessKey"] = undefined /*out*/; resourceInputs["createdAt"] = undefined /*out*/; resourceInputs["creationIp"] = undefined /*out*/; resourceInputs["editable"] = undefined /*out*/; resourceInputs["secretKey"] = undefined /*out*/; resourceInputs["updatedAt"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "scaleway:index/iamApiKey:IamApiKey" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); const secretOpts = { additionalSecretOutputs: ["secretKey"] }; opts = pulumi.mergeOptions(opts, secretOpts); super(ApiKey.__pulumiType, name, resourceInputs, opts); } } exports.ApiKey = ApiKey; /** @internal */ ApiKey.__pulumiType = 'scaleway:iam/apiKey:ApiKey'; //# sourceMappingURL=apiKey.js.map