UNPKG

pulumi-fusionauth

Version:

A Pulumi package for managing FusionAuth instances.

332 lines (331 loc) 15 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * ## # Application Resource * * [Applications API](https://fusionauth.io/docs/v1/tech/apis/applications) * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fusionauth from "pulumi-fusionauth"; * * const forum = new fusionauth.FusionAuthApplication("forum", { * tenantId: fusionauth_tenant.portal.id, * authenticationTokenConfigurationEnabled: false, * formConfiguration: { * adminRegistrationFormId: fusionauth_form.admin_registration.id, * selfServiceFormId: fusionauth_form.self_service.id, * }, * jwtConfiguration: { * accessTokenId: fusionauth_key.access_token.id, * enabled: true, * idTokenKeyId: fusionauth_key.id_token.id, * refreshTokenTtlMinutes: 43200, * ttlSeconds: 3600, * }, * lambdaConfiguration: { * accessTokenPopulateId: fusionauth_lambda.token_populate.id, * idTokenPopulateId: fusionauth_lambda.id_token_populate.id, * }, * loginConfiguration: { * allowTokenRefresh: false, * generateRefreshTokens: false, * requireAuthentication: true, * }, * multiFactorConfiguration: { * emailTemplateId: "859f394b-22a6-4fa6-ba55-de700df9e950", * smsTemplateId: "17760f96-dca7-448b-9a8f-c49016aa7210", * loginPolicy: "Required", * trustPolicy: "Any", * }, * oauthConfiguration: { * authorizedOriginUrls: ["http://www.example.com/oauth-callback"], * authorizedUrlValidationPolicy: "ExactMatch", * enabledGrants: [ * "authorization_code", * "implicit", * ], * generateRefreshTokens: false, * logoutBehavior: "AllApplications", * logoutUrl: "http://www.example.com/logout", * requireClientAuthentication: false, * providedScopePolicies: [{ * address: { * enabled: false, * required: false, * }, * email: { * enabled: false, * required: false, * }, * phone: { * enabled: false, * required: false, * }, * profile: { * enabled: false, * required: false, * }, * }], * }, * registrationConfiguration: { * birthDate: { * enabled: false, * required: false, * }, * confirmPassword: false, * enabled: false, * firstName: { * enabled: false, * required: false, * }, * fullName: { * enabled: false, * required: false, * }, * lastName: { * enabled: false, * required: false, * }, * loginIdType: "", * middleName: { * enabled: false, * required: false, * }, * mobilePhone: { * enabled: false, * required: false, * }, * preferredLanguages: { * enabled: false, * required: false, * }, * type: "", * }, * passwordlessConfigurationEnabled: false, * registrationDeletePolicy: { * unverifiedEnabled: true, * unverifiedNumberOfDaysToRetain: 30, * }, * }); * ``` */ export declare class FusionAuthApplication extends pulumi.CustomResource { /** * Get an existing FusionAuthApplication 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?: FusionAuthApplicationState, opts?: pulumi.CustomResourceOptions): FusionAuthApplication; /** * Returns true if the given object is an instance of FusionAuthApplication. 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 FusionAuthApplication; readonly accessControlConfiguration: pulumi.Output<outputs.FusionAuthApplicationAccessControlConfiguration>; /** * The Id to use for the new Application. If not specified a secure random UUID will be generated. */ readonly applicationId: pulumi.Output<string | undefined>; /** * Determines if Users can have Authentication Tokens associated with this Application. This feature may not be enabled for the FusionAuth application. */ readonly authenticationTokenConfigurationEnabled: pulumi.Output<boolean | undefined>; readonly cleanSpeakConfiguration: pulumi.Output<outputs.FusionAuthApplicationCleanSpeakConfiguration>; /** * An object that can hold any information about the Application that should be persisted. */ readonly data: pulumi.Output<{ [key: string]: string; } | undefined>; readonly emailConfiguration: pulumi.Output<outputs.FusionAuthApplicationEmailConfiguration>; readonly formConfiguration: pulumi.Output<outputs.FusionAuthApplicationFormConfiguration | undefined>; /** * The instant that the Application was added to the FusionAuth database. */ readonly insertInstant: pulumi.Output<number>; readonly jwtConfiguration: pulumi.Output<outputs.FusionAuthApplicationJwtConfiguration | undefined>; readonly lambdaConfiguration: pulumi.Output<outputs.FusionAuthApplicationLambdaConfiguration>; /** * The instant that the Application was last updated in the FusionAuth database. */ readonly lastUpdateInstant: pulumi.Output<number>; readonly loginConfiguration: pulumi.Output<outputs.FusionAuthApplicationLoginConfiguration>; readonly multiFactorConfiguration: pulumi.Output<outputs.FusionAuthApplicationMultiFactorConfiguration>; /** * The name of the Application. */ readonly name: pulumi.Output<string>; readonly oauthConfiguration: pulumi.Output<outputs.FusionAuthApplicationOauthConfiguration>; /** * Determines if passwordless login is enabled for this application. */ readonly passwordlessConfigurationEnabled: pulumi.Output<boolean | undefined>; readonly registrationConfiguration: pulumi.Output<outputs.FusionAuthApplicationRegistrationConfiguration>; readonly registrationDeletePolicy: pulumi.Output<outputs.FusionAuthApplicationRegistrationDeletePolicy>; readonly samlv2Configuration: pulumi.Output<outputs.FusionAuthApplicationSamlv2Configuration>; /** * The Id of the Tenant that this Application belongs to. */ readonly tenantId: pulumi.Output<string>; /** * The unique Id of the theme to be used to style the login page and other end user templates. */ readonly themeId: pulumi.Output<string | undefined>; /** * The Id of the Email Template that is used to send the Registration Verification emails to users. If the verifyRegistration field is true this field is required. */ readonly verificationEmailTemplateId: pulumi.Output<string | undefined>; /** * The process by which the user will verify their email address. Possible values are `ClickableLink` or `FormField` */ readonly verificationStrategy: pulumi.Output<string | undefined>; /** * Whether or not registrations to this Application may be verified. When this is set to true the verificationEmailTemplateId parameter is also required. */ readonly verifyRegistration: pulumi.Output<boolean | undefined>; readonly webauthnConfiguration: pulumi.Output<outputs.FusionAuthApplicationWebauthnConfiguration | undefined>; /** * Create a FusionAuthApplication 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: FusionAuthApplicationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FusionAuthApplication resources. */ export interface FusionAuthApplicationState { accessControlConfiguration?: pulumi.Input<inputs.FusionAuthApplicationAccessControlConfiguration>; /** * The Id to use for the new Application. If not specified a secure random UUID will be generated. */ applicationId?: pulumi.Input<string>; /** * Determines if Users can have Authentication Tokens associated with this Application. This feature may not be enabled for the FusionAuth application. */ authenticationTokenConfigurationEnabled?: pulumi.Input<boolean>; cleanSpeakConfiguration?: pulumi.Input<inputs.FusionAuthApplicationCleanSpeakConfiguration>; /** * An object that can hold any information about the Application that should be persisted. */ data?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; emailConfiguration?: pulumi.Input<inputs.FusionAuthApplicationEmailConfiguration>; formConfiguration?: pulumi.Input<inputs.FusionAuthApplicationFormConfiguration>; /** * The instant that the Application was added to the FusionAuth database. */ insertInstant?: pulumi.Input<number>; jwtConfiguration?: pulumi.Input<inputs.FusionAuthApplicationJwtConfiguration>; lambdaConfiguration?: pulumi.Input<inputs.FusionAuthApplicationLambdaConfiguration>; /** * The instant that the Application was last updated in the FusionAuth database. */ lastUpdateInstant?: pulumi.Input<number>; loginConfiguration?: pulumi.Input<inputs.FusionAuthApplicationLoginConfiguration>; multiFactorConfiguration?: pulumi.Input<inputs.FusionAuthApplicationMultiFactorConfiguration>; /** * The name of the Application. */ name?: pulumi.Input<string>; oauthConfiguration?: pulumi.Input<inputs.FusionAuthApplicationOauthConfiguration>; /** * Determines if passwordless login is enabled for this application. */ passwordlessConfigurationEnabled?: pulumi.Input<boolean>; registrationConfiguration?: pulumi.Input<inputs.FusionAuthApplicationRegistrationConfiguration>; registrationDeletePolicy?: pulumi.Input<inputs.FusionAuthApplicationRegistrationDeletePolicy>; samlv2Configuration?: pulumi.Input<inputs.FusionAuthApplicationSamlv2Configuration>; /** * The Id of the Tenant that this Application belongs to. */ tenantId?: pulumi.Input<string>; /** * The unique Id of the theme to be used to style the login page and other end user templates. */ themeId?: pulumi.Input<string>; /** * The Id of the Email Template that is used to send the Registration Verification emails to users. If the verifyRegistration field is true this field is required. */ verificationEmailTemplateId?: pulumi.Input<string>; /** * The process by which the user will verify their email address. Possible values are `ClickableLink` or `FormField` */ verificationStrategy?: pulumi.Input<string>; /** * Whether or not registrations to this Application may be verified. When this is set to true the verificationEmailTemplateId parameter is also required. */ verifyRegistration?: pulumi.Input<boolean>; webauthnConfiguration?: pulumi.Input<inputs.FusionAuthApplicationWebauthnConfiguration>; } /** * The set of arguments for constructing a FusionAuthApplication resource. */ export interface FusionAuthApplicationArgs { accessControlConfiguration?: pulumi.Input<inputs.FusionAuthApplicationAccessControlConfiguration>; /** * The Id to use for the new Application. If not specified a secure random UUID will be generated. */ applicationId?: pulumi.Input<string>; /** * Determines if Users can have Authentication Tokens associated with this Application. This feature may not be enabled for the FusionAuth application. */ authenticationTokenConfigurationEnabled?: pulumi.Input<boolean>; cleanSpeakConfiguration?: pulumi.Input<inputs.FusionAuthApplicationCleanSpeakConfiguration>; /** * An object that can hold any information about the Application that should be persisted. */ data?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; emailConfiguration?: pulumi.Input<inputs.FusionAuthApplicationEmailConfiguration>; formConfiguration?: pulumi.Input<inputs.FusionAuthApplicationFormConfiguration>; jwtConfiguration?: pulumi.Input<inputs.FusionAuthApplicationJwtConfiguration>; lambdaConfiguration?: pulumi.Input<inputs.FusionAuthApplicationLambdaConfiguration>; loginConfiguration?: pulumi.Input<inputs.FusionAuthApplicationLoginConfiguration>; multiFactorConfiguration?: pulumi.Input<inputs.FusionAuthApplicationMultiFactorConfiguration>; /** * The name of the Application. */ name?: pulumi.Input<string>; oauthConfiguration?: pulumi.Input<inputs.FusionAuthApplicationOauthConfiguration>; /** * Determines if passwordless login is enabled for this application. */ passwordlessConfigurationEnabled?: pulumi.Input<boolean>; registrationConfiguration?: pulumi.Input<inputs.FusionAuthApplicationRegistrationConfiguration>; registrationDeletePolicy?: pulumi.Input<inputs.FusionAuthApplicationRegistrationDeletePolicy>; samlv2Configuration?: pulumi.Input<inputs.FusionAuthApplicationSamlv2Configuration>; /** * The Id of the Tenant that this Application belongs to. */ tenantId: pulumi.Input<string>; /** * The unique Id of the theme to be used to style the login page and other end user templates. */ themeId?: pulumi.Input<string>; /** * The Id of the Email Template that is used to send the Registration Verification emails to users. If the verifyRegistration field is true this field is required. */ verificationEmailTemplateId?: pulumi.Input<string>; /** * The process by which the user will verify their email address. Possible values are `ClickableLink` or `FormField` */ verificationStrategy?: pulumi.Input<string>; /** * Whether or not registrations to this Application may be verified. When this is set to true the verificationEmailTemplateId parameter is also required. */ verifyRegistration?: pulumi.Input<boolean>; webauthnConfiguration?: pulumi.Input<inputs.FusionAuthApplicationWebauthnConfiguration>; }