pulumi-fusionauth
Version:
A Pulumi package for managing FusionAuth instances.
151 lines (150 loc) • 6.62 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* ## # 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 fusionauth from "pulumi-fusionauth";
*
* const adminId = new fusionauth.FusionAuthKey("adminId", {
* algorithm: "RS256",
* length: 2048,
* });
* ```
*/
export declare class FusionAuthKey extends pulumi.CustomResource {
/**
* Get an existing FusionAuthKey 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?: FusionAuthKeyState, opts?: pulumi.CustomResourceOptions): FusionAuthKey;
/**
* Returns true if the given object is an instance of FusionAuthKey. 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 FusionAuthKey;
/**
* 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 issuer of the RSA or EC certificate. If omitted, this value will default to the value of tenant issuer on the default tenant. For HMAC keys, this field does not apply and will be ignored if specified, and no default value will be set.
*/
readonly issuer: 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>;
/**
* The id used in the JWT header to identify the key used to generate the signature
*/
readonly kid: pulumi.Output<string>;
/**
* The length of the RSA or EC certificate. This field is required when generating RSA key types.
*/
readonly length: pulumi.Output<number | undefined>;
/**
* The name of the Key.
*/
readonly name: pulumi.Output<string>;
/**
* Create a FusionAuthKey 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: FusionAuthKeyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering FusionAuthKey resources.
*/
export interface FusionAuthKeyState {
/**
* 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 issuer of the RSA or EC certificate. If omitted, this value will default to the value of tenant issuer on the default tenant. For HMAC keys, this field does not apply and will be ignored if specified, and no default value will be set.
*/
issuer?: 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 id used in the JWT header to identify the key used to generate the signature
*/
kid?: pulumi.Input<string>;
/**
* The length of the RSA or EC certificate. This field is required when generating RSA key types.
*/
length?: pulumi.Input<number>;
/**
* The name of the Key.
*/
name?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a FusionAuthKey resource.
*/
export interface FusionAuthKeyArgs {
/**
* 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 issuer of the RSA or EC certificate. If omitted, this value will default to the value of tenant issuer on the default tenant. For HMAC keys, this field does not apply and will be ignored if specified, and no default value will be set.
*/
issuer?: 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 length of the RSA or EC certificate. This field is required when generating RSA key types.
*/
length?: pulumi.Input<number>;
/**
* The name of the Key.
*/
name?: pulumi.Input<string>;
}