pulumi-fusionauth
Version:
A Pulumi package for managing FusionAuth instances.
212 lines • 10.5 kB
JavaScript
"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.FusionAuthApplication = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* ## # 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,
* },
* });
* ```
*/
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, id, state, opts) {
return new FusionAuthApplication(name, state, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* 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) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === FusionAuthApplication.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["accessControlConfiguration"] = state ? state.accessControlConfiguration : undefined;
resourceInputs["applicationId"] = state ? state.applicationId : undefined;
resourceInputs["authenticationTokenConfigurationEnabled"] = state ? state.authenticationTokenConfigurationEnabled : undefined;
resourceInputs["cleanSpeakConfiguration"] = state ? state.cleanSpeakConfiguration : undefined;
resourceInputs["data"] = state ? state.data : undefined;
resourceInputs["emailConfiguration"] = state ? state.emailConfiguration : undefined;
resourceInputs["formConfiguration"] = state ? state.formConfiguration : undefined;
resourceInputs["insertInstant"] = state ? state.insertInstant : undefined;
resourceInputs["jwtConfiguration"] = state ? state.jwtConfiguration : undefined;
resourceInputs["lambdaConfiguration"] = state ? state.lambdaConfiguration : undefined;
resourceInputs["lastUpdateInstant"] = state ? state.lastUpdateInstant : undefined;
resourceInputs["loginConfiguration"] = state ? state.loginConfiguration : undefined;
resourceInputs["multiFactorConfiguration"] = state ? state.multiFactorConfiguration : undefined;
resourceInputs["name"] = state ? state.name : undefined;
resourceInputs["oauthConfiguration"] = state ? state.oauthConfiguration : undefined;
resourceInputs["passwordlessConfigurationEnabled"] = state ? state.passwordlessConfigurationEnabled : undefined;
resourceInputs["registrationConfiguration"] = state ? state.registrationConfiguration : undefined;
resourceInputs["registrationDeletePolicy"] = state ? state.registrationDeletePolicy : undefined;
resourceInputs["samlv2Configuration"] = state ? state.samlv2Configuration : undefined;
resourceInputs["tenantId"] = state ? state.tenantId : undefined;
resourceInputs["themeId"] = state ? state.themeId : undefined;
resourceInputs["verificationEmailTemplateId"] = state ? state.verificationEmailTemplateId : undefined;
resourceInputs["verificationStrategy"] = state ? state.verificationStrategy : undefined;
resourceInputs["verifyRegistration"] = state ? state.verifyRegistration : undefined;
resourceInputs["webauthnConfiguration"] = state ? state.webauthnConfiguration : undefined;
}
else {
const args = argsOrState;
if ((!args || args.tenantId === undefined) && !opts.urn) {
throw new Error("Missing required property 'tenantId'");
}
resourceInputs["accessControlConfiguration"] = args ? args.accessControlConfiguration : undefined;
resourceInputs["applicationId"] = args ? args.applicationId : undefined;
resourceInputs["authenticationTokenConfigurationEnabled"] = args ? args.authenticationTokenConfigurationEnabled : undefined;
resourceInputs["cleanSpeakConfiguration"] = args ? args.cleanSpeakConfiguration : undefined;
resourceInputs["data"] = args ? args.data : undefined;
resourceInputs["emailConfiguration"] = args ? args.emailConfiguration : undefined;
resourceInputs["formConfiguration"] = args ? args.formConfiguration : undefined;
resourceInputs["jwtConfiguration"] = args ? args.jwtConfiguration : undefined;
resourceInputs["lambdaConfiguration"] = args ? args.lambdaConfiguration : undefined;
resourceInputs["loginConfiguration"] = args ? args.loginConfiguration : undefined;
resourceInputs["multiFactorConfiguration"] = args ? args.multiFactorConfiguration : undefined;
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["oauthConfiguration"] = args ? args.oauthConfiguration : undefined;
resourceInputs["passwordlessConfigurationEnabled"] = args ? args.passwordlessConfigurationEnabled : undefined;
resourceInputs["registrationConfiguration"] = args ? args.registrationConfiguration : undefined;
resourceInputs["registrationDeletePolicy"] = args ? args.registrationDeletePolicy : undefined;
resourceInputs["samlv2Configuration"] = args ? args.samlv2Configuration : undefined;
resourceInputs["tenantId"] = args ? args.tenantId : undefined;
resourceInputs["themeId"] = args ? args.themeId : undefined;
resourceInputs["verificationEmailTemplateId"] = args ? args.verificationEmailTemplateId : undefined;
resourceInputs["verificationStrategy"] = args ? args.verificationStrategy : undefined;
resourceInputs["verifyRegistration"] = args ? args.verifyRegistration : undefined;
resourceInputs["webauthnConfiguration"] = args ? args.webauthnConfiguration : undefined;
resourceInputs["insertInstant"] = undefined /*out*/;
resourceInputs["lastUpdateInstant"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(FusionAuthApplication.__pulumiType, name, resourceInputs, opts);
}
}
exports.FusionAuthApplication = FusionAuthApplication;
/** @internal */
FusionAuthApplication.__pulumiType = 'fusionauth:index/fusionAuthApplication:FusionAuthApplication';
//# sourceMappingURL=fusionAuthApplication.js.map