UNPKG

pulumi-fusionauth

Version:

A Pulumi package for managing FusionAuth instances.

201 lines (200 loc) 8.2 kB
import * as pulumi from "@pulumi/pulumi"; /** * ## # Imported Key Resource * * Cryptographic keys are used in signing and verifying JWTs and verifying responses for third party identity providers. It is more likely you will interact with keys using the FusionAuth UI in the Key Master menu. * * [Keys API](https://fusionauth.io/docs/v1/tech/apis/keys) * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fs from "fs"; * import * as fusionauth from "pulumi-fusionauth"; * * const name = new fusionauth.FusionAuthImportedKey("name", { * kid: "8675309", * privateKey: fs.readFileSync("./AuthKey_8675309.p8", "utf8"), * }); * ``` */ export declare class FusionAuthImportedKey extends pulumi.CustomResource { /** * Get an existing FusionAuthImportedKey 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?: FusionAuthImportedKeyState, opts?: pulumi.CustomResourceOptions): FusionAuthImportedKey; /** * Returns true if the given object is an instance of FusionAuthImportedKey. 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 FusionAuthImportedKey; /** * The algorithm used to encrypt the Key. The following values represent algorithms supported by FusionAuth: * * `ES256` - ECDSA using P-256 curve and SHA-256 hash algorithm * * `ES384` - ECDSA using P-384 curve and SHA-384 hash algorithm * * `ES512` - ECDSA using P-521 curve and SHA-512 hash algorithm * * `RS256` - RSA using SHA-256 hash algorithm * * `RS384` - RSA using SHA-384 hash algorithm * * `RS512` - RSA using SHA-512 hash algorithm * * `HS256` - HMAC using SHA-256 hash algorithm * * `HS384` - HMAC using SHA-384 hash algorithm * * `HS512` - HMAC using SHA-512 hash algorithm */ readonly algorithm: pulumi.Output<string>; /** * The certificate to import. The publicKey will be extracted from the certificate. */ readonly certificate: pulumi.Output<string>; /** * The Id to use for the new key. If not specified a secure random UUID will be generated. */ readonly keyId: pulumi.Output<string | undefined>; /** * The Key identifier 'kid'. */ readonly kid: pulumi.Output<string>; /** * The name of the Key. */ readonly name: pulumi.Output<string>; /** * The Key private key. Optional if importing an RSA or EC key. If the key is only to be used for token validation, only a public key is necessary and this field may be omitted. */ readonly privateKey: pulumi.Output<string | undefined>; /** * "The Key public key. Required if importing an RSA or EC key and a certificate is not provided." */ readonly publicKey: pulumi.Output<string>; /** * The Key secret. This field is required if importing an HMAC key type. */ readonly secret: pulumi.Output<string | undefined>; /** * The Key type. This field is required if importing an HMAC key type, or if importing a public key / private key pair. The possible values are: * * `EC` * * `RSA` * * `HMAC` */ readonly type: pulumi.Output<string>; /** * Create a FusionAuthImportedKey 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?: FusionAuthImportedKeyArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FusionAuthImportedKey resources. */ export interface FusionAuthImportedKeyState { /** * The algorithm used to encrypt the Key. The following values represent algorithms supported by FusionAuth: * * `ES256` - ECDSA using P-256 curve and SHA-256 hash algorithm * * `ES384` - ECDSA using P-384 curve and SHA-384 hash algorithm * * `ES512` - ECDSA using P-521 curve and SHA-512 hash algorithm * * `RS256` - RSA using SHA-256 hash algorithm * * `RS384` - RSA using SHA-384 hash algorithm * * `RS512` - RSA using SHA-512 hash algorithm * * `HS256` - HMAC using SHA-256 hash algorithm * * `HS384` - HMAC using SHA-384 hash algorithm * * `HS512` - HMAC using SHA-512 hash algorithm */ algorithm?: pulumi.Input<string>; /** * The certificate to import. The publicKey will be extracted from the certificate. */ certificate?: pulumi.Input<string>; /** * The Id to use for the new key. If not specified a secure random UUID will be generated. */ keyId?: pulumi.Input<string>; /** * The Key identifier 'kid'. */ kid?: pulumi.Input<string>; /** * The name of the Key. */ name?: pulumi.Input<string>; /** * The Key private key. Optional if importing an RSA or EC key. If the key is only to be used for token validation, only a public key is necessary and this field may be omitted. */ privateKey?: pulumi.Input<string>; /** * "The Key public key. Required if importing an RSA or EC key and a certificate is not provided." */ publicKey?: pulumi.Input<string>; /** * The Key secret. This field is required if importing an HMAC key type. */ secret?: pulumi.Input<string>; /** * The Key type. This field is required if importing an HMAC key type, or if importing a public key / private key pair. The possible values are: * * `EC` * * `RSA` * * `HMAC` */ type?: pulumi.Input<string>; } /** * The set of arguments for constructing a FusionAuthImportedKey resource. */ export interface FusionAuthImportedKeyArgs { /** * The algorithm used to encrypt the Key. The following values represent algorithms supported by FusionAuth: * * `ES256` - ECDSA using P-256 curve and SHA-256 hash algorithm * * `ES384` - ECDSA using P-384 curve and SHA-384 hash algorithm * * `ES512` - ECDSA using P-521 curve and SHA-512 hash algorithm * * `RS256` - RSA using SHA-256 hash algorithm * * `RS384` - RSA using SHA-384 hash algorithm * * `RS512` - RSA using SHA-512 hash algorithm * * `HS256` - HMAC using SHA-256 hash algorithm * * `HS384` - HMAC using SHA-384 hash algorithm * * `HS512` - HMAC using SHA-512 hash algorithm */ algorithm?: pulumi.Input<string>; /** * The certificate to import. The publicKey will be extracted from the certificate. */ certificate?: pulumi.Input<string>; /** * The Id to use for the new key. If not specified a secure random UUID will be generated. */ keyId?: pulumi.Input<string>; /** * The Key identifier 'kid'. */ kid?: pulumi.Input<string>; /** * The name of the Key. */ name?: pulumi.Input<string>; /** * The Key private key. Optional if importing an RSA or EC key. If the key is only to be used for token validation, only a public key is necessary and this field may be omitted. */ privateKey?: pulumi.Input<string>; /** * "The Key public key. Required if importing an RSA or EC key and a certificate is not provided." */ publicKey?: pulumi.Input<string>; /** * The Key secret. This field is required if importing an HMAC key type. */ secret?: pulumi.Input<string>; /** * The Key type. This field is required if importing an HMAC key type, or if importing a public key / private key pair. The possible values are: * * `EC` * * `RSA` * * `HMAC` */ type?: pulumi.Input<string>; }