import * as pulumi from "@pulumi/pulumi"; import * as outputs from "./types/output"; /** * Data source to retrieve all actions that are using a specific Auth0 action module. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as auth0 from "@pulumi/auth0"; * * // Example: Retrieve all actions using a specific action module * // Create and publish an action module * const myModule = new auth0.ActionModule("my_module", { * name: "My Shared Module", * publish: true, * code: `module.exports = { * greet: function(name) { * return \\"Hello, \\" + name + \\"!\\"; * } * }; * `, * }); * // Get the published versions of the module * const myModuleVersions = auth0.getActionModuleVersionsOutput({ * moduleId: myModule.id, * }); * // Create an action that uses the module * const myAction1 = new auth0.Action("my_action_1", { * name: "My Action Using Module 1", * deploy: true, * code: `const myModule = require('my-module'); * exports.onExecutePostLogin = async (event, api) => { * console.log(myModule.greet(event.user.name)); * }; * `, * supportedTriggers: { * id: "post-login", * version: "v3", * }, * modules: [{ * moduleId: myModule.id, * moduleVersionId: myModuleVersions.apply(myModuleVersions => myModuleVersions.versions?.[0]?.id), * }], * }); * // Create another action that uses the same module * const myAction2 = new auth0.Action("my_action_2", { * name: "My Action Using Module 2", * deploy: true, * code: `const myModule = require('my-module'); * exports.onExecutePostLogin = async (event, api) => { * api.idToken.setCustomClaim(\\"greeting\\", myModule.greet(event.user.name)); * }; * `, * supportedTriggers: { * id: "post-login", * version: "v3", * }, * modules: [{ * moduleId: myModule.id, * moduleVersionId: myModuleVersions.apply(myModuleVersions => myModuleVersions.versions?.[0]?.id), * }], * }); * // Retrieve all actions that are using this module * const myModuleActions = auth0.getActionModuleActionsOutput({ * moduleId: myModule.id, * }); * export const actionsUsingModule = myModuleActions.apply(myModuleActions => myModuleActions.total); * export const actionNames = myModuleActions.apply(myModuleActions => .map(action => (action.actionName))); * ``` */ export declare function getActionModuleActions(args: GetActionModuleActionsArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getActionModuleActions. */ export interface GetActionModuleActionsArgs { /** * The ID of the action module. */ moduleId: string; } /** * A collection of values returned by getActionModuleActions. */ export interface GetActionModuleActionsResult { /** * List of actions using this module. */ readonly actions: outputs.GetActionModuleActionsAction[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The ID of the action module. */ readonly moduleId: string; /** * The total number of actions using this module. */ readonly total: number; } /** * Data source to retrieve all actions that are using a specific Auth0 action module. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as auth0 from "@pulumi/auth0"; * * // Example: Retrieve all actions using a specific action module * // Create and publish an action module * const myModule = new auth0.ActionModule("my_module", { * name: "My Shared Module", * publish: true, * code: `module.exports = { * greet: function(name) { * return \\"Hello, \\" + name + \\"!\\"; * } * }; * `, * }); * // Get the published versions of the module * const myModuleVersions = auth0.getActionModuleVersionsOutput({ * moduleId: myModule.id, * }); * // Create an action that uses the module * const myAction1 = new auth0.Action("my_action_1", { * name: "My Action Using Module 1", * deploy: true, * code: `const myModule = require('my-module'); * exports.onExecutePostLogin = async (event, api) => { * console.log(myModule.greet(event.user.name)); * }; * `, * supportedTriggers: { * id: "post-login", * version: "v3", * }, * modules: [{ * moduleId: myModule.id, * moduleVersionId: myModuleVersions.apply(myModuleVersions => myModuleVersions.versions?.[0]?.id), * }], * }); * // Create another action that uses the same module * const myAction2 = new auth0.Action("my_action_2", { * name: "My Action Using Module 2", * deploy: true, * code: `const myModule = require('my-module'); * exports.onExecutePostLogin = async (event, api) => { * api.idToken.setCustomClaim(\\"greeting\\", myModule.greet(event.user.name)); * }; * `, * supportedTriggers: { * id: "post-login", * version: "v3", * }, * modules: [{ * moduleId: myModule.id, * moduleVersionId: myModuleVersions.apply(myModuleVersions => myModuleVersions.versions?.[0]?.id), * }], * }); * // Retrieve all actions that are using this module * const myModuleActions = auth0.getActionModuleActionsOutput({ * moduleId: myModule.id, * }); * export const actionsUsingModule = myModuleActions.apply(myModuleActions => myModuleActions.total); * export const actionNames = myModuleActions.apply(myModuleActions => .map(action => (action.actionName))); * ``` */ export declare function getActionModuleActionsOutput(args: GetActionModuleActionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getActionModuleActions. */ export interface GetActionModuleActionsOutputArgs { /** * The ID of the action module. */ moduleId: pulumi.Input; }