import * as pulumi from "@pulumi/pulumi"; /** * Provides a resource to manage [PingID MFA](https://www.vaultproject.io/docs/enterprise/mfa/mfa-pingid). * * **Note** this feature is available only with Vault Enterprise. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const config = new pulumi.Config(); * const settingsFile = config.requireObject("settingsFile"); * const userpass = new vault.AuthBackend("userpass", { * type: "userpass", * path: "userpass", * }); * const myPingid = new vault.MfaPingid("my_pingid", { * name: "my_pingid", * mountAccessor: userpass.accessor, * usernameFormat: "user@example.com", * settingsFileBase64: settingsFile, * }); * ``` * * ## Import * * Mounts can be imported using the `path`, e.g. * * ```sh * $ pulumi import vault:index/mfaPingid:MfaPingid my_pingid my_pingid * ``` */ export declare class MfaPingid extends pulumi.CustomResource { /** * Get an existing MfaPingid 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, state?: MfaPingidState, opts?: pulumi.CustomResourceOptions): MfaPingid; /** * Returns true if the given object is an instance of MfaPingid. 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 MfaPingid; /** * `(string)` – Admin URL computed by Vault */ readonly adminUrl: pulumi.Output; /** * `(string)` – Authenticator URL computed by Vault */ readonly authenticatorUrl: pulumi.Output; /** * `(string)` – IDP URL computed by Vault */ readonly idpUrl: pulumi.Output; /** * `(string: )` - The mount to tie this method to for use in automatic mappings. * The mapping will use the Name field of Aliases associated with this mount as the username in the mapping. */ readonly mountAccessor: pulumi.Output; /** * `(string: )` – Name of the MFA method. */ readonly name: pulumi.Output; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ readonly namespace: pulumi.Output; /** * `(string)` – Namespace ID computed by Vault */ readonly namespaceId: pulumi.Output; /** * `(string)` – Org Alias computed by Vault */ readonly orgAlias: pulumi.Output; /** * `(string: )` - A base64-encoded third-party settings file retrieved * from PingID's configuration page. */ readonly settingsFileBase64: pulumi.Output; /** * `(string)` – Type of configuration computed by Vault */ readonly type: pulumi.Output; /** * `(string)` – If set to true, enables use of PingID signature. Computed by Vault */ readonly useSignature: pulumi.Output; /** * `(string)` - A format string for mapping Identity names to MFA method names. * Values to substitute should be placed in `{{}}`. For example, `"{{alias.name}}@example.com"`. * If blank, the Alias's Name field will be used as-is. Currently-supported mappings: * - alias.name: The name returned by the mount configured via the `mountAccessor` parameter * - entity.name: The name configured for the Entity * - alias.metadata.``: The value of the Alias's metadata parameter * - entity.metadata.``: The value of the Entity's metadata parameter */ readonly usernameFormat: pulumi.Output; /** * Create a MfaPingid 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: MfaPingidArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MfaPingid resources. */ export interface MfaPingidState { /** * `(string)` – Admin URL computed by Vault */ adminUrl?: pulumi.Input; /** * `(string)` – Authenticator URL computed by Vault */ authenticatorUrl?: pulumi.Input; /** * `(string)` – IDP URL computed by Vault */ idpUrl?: pulumi.Input; /** * `(string: )` - The mount to tie this method to for use in automatic mappings. * The mapping will use the Name field of Aliases associated with this mount as the username in the mapping. */ mountAccessor?: pulumi.Input; /** * `(string: )` – Name of the MFA method. */ name?: pulumi.Input; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ namespace?: pulumi.Input; /** * `(string)` – Namespace ID computed by Vault */ namespaceId?: pulumi.Input; /** * `(string)` – Org Alias computed by Vault */ orgAlias?: pulumi.Input; /** * `(string: )` - A base64-encoded third-party settings file retrieved * from PingID's configuration page. */ settingsFileBase64?: pulumi.Input; /** * `(string)` – Type of configuration computed by Vault */ type?: pulumi.Input; /** * `(string)` – If set to true, enables use of PingID signature. Computed by Vault */ useSignature?: pulumi.Input; /** * `(string)` - A format string for mapping Identity names to MFA method names. * Values to substitute should be placed in `{{}}`. For example, `"{{alias.name}}@example.com"`. * If blank, the Alias's Name field will be used as-is. Currently-supported mappings: * - alias.name: The name returned by the mount configured via the `mountAccessor` parameter * - entity.name: The name configured for the Entity * - alias.metadata.``: The value of the Alias's metadata parameter * - entity.metadata.``: The value of the Entity's metadata parameter */ usernameFormat?: pulumi.Input; } /** * The set of arguments for constructing a MfaPingid resource. */ export interface MfaPingidArgs { /** * `(string: )` - The mount to tie this method to for use in automatic mappings. * The mapping will use the Name field of Aliases associated with this mount as the username in the mapping. */ mountAccessor: pulumi.Input; /** * `(string: )` – Name of the MFA method. */ name?: pulumi.Input; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ namespace?: pulumi.Input; /** * `(string: )` - A base64-encoded third-party settings file retrieved * from PingID's configuration page. */ settingsFileBase64: pulumi.Input; /** * `(string)` - A format string for mapping Identity names to MFA method names. * Values to substitute should be placed in `{{}}`. For example, `"{{alias.name}}@example.com"`. * If blank, the Alias's Name field will be used as-is. Currently-supported mappings: * - alias.name: The name returned by the mount configured via the `mountAccessor` parameter * - entity.name: The name configured for the Entity * - alias.metadata.``: The value of the Alias's metadata parameter * - entity.metadata.``: The value of the Entity's metadata parameter */ usernameFormat?: pulumi.Input; }