import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * With this resource, you can configure directory provisioning (directory sync) for `Google Workspace` Enterprise connections. This enables automatic user provisioning from the identity provider to Auth0. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as auth0 from "@pulumi/auth0"; * * const googleWorkspace = new auth0.Connection("google_workspace", { * name: "google-workspace-connection", * displayName: "Google Workspace", * strategy: "google-apps", * options: { * clientId: "your-google-client-id", * clientSecret: "your-google-client-secret", * domain: "example.com", * apiEnableUsers: true, * }, * }); * // Configure directory provisioning with default settings * const _default = new auth0.ConnectionDirectory("default", {connectionId: googleWorkspace.id}); * // Configure directory provisioning with custom mapping and auto-sync enabled * const custom = new auth0.ConnectionDirectory("custom", { * connectionId: googleWorkspace.id, * synchronizeAutomatically: true, * mappings: [ * { * auth0: "email", * idp: "primaryEmail", * }, * { * auth0: "family_name", * idp: "name.familyName", * }, * { * auth0: "given_name", * idp: "name.givenName", * }, * { * auth0: "external_id", * idp: "id", * }, * ], * }); * ``` * * ## Import * * ```sh * $ pulumi import auth0:index/connectionDirectory:ConnectionDirectory custom "con_XXXXXXXXXXXXXX" * ``` */ export declare class ConnectionDirectory extends pulumi.CustomResource { /** * Get an existing ConnectionDirectory 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?: ConnectionDirectoryState, opts?: pulumi.CustomResourceOptions): ConnectionDirectory; /** * Returns true if the given object is an instance of ConnectionDirectory. 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 ConnectionDirectory; /** * ID of the connection for this directory provisioning configuration. */ readonly connectionId: pulumi.Output; /** * Name of the connection for this directory provisioning configuration. */ readonly connectionName: pulumi.Output; /** * The timestamp at which the directory provisioning configuration was created. */ readonly createdAt: pulumi.Output; /** * The timestamp at which the connection was last synchronized. */ readonly lastSynchronizationAt: pulumi.Output; /** * The error message of the last synchronization, if any. */ readonly lastSynchronizationError: pulumi.Output; /** * The status of the last synchronization. */ readonly lastSynchronizationStatus: pulumi.Output; /** * Mapping between Auth0 attributes and IDP user attributes. Defaults to default mapping for the connection type if not specified. */ readonly mappings: pulumi.Output; /** * Strategy of the connection for this directory provisioning configuration. */ readonly strategy: pulumi.Output; /** * Whether periodic automatic synchronization is enabled. Defaults to false. */ readonly synchronizeAutomatically: pulumi.Output; /** * The timestamp at which the directory provisioning configuration was last updated. */ readonly updatedAt: pulumi.Output; /** * Create a ConnectionDirectory 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: ConnectionDirectoryArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ConnectionDirectory resources. */ export interface ConnectionDirectoryState { /** * ID of the connection for this directory provisioning configuration. */ connectionId?: pulumi.Input; /** * Name of the connection for this directory provisioning configuration. */ connectionName?: pulumi.Input; /** * The timestamp at which the directory provisioning configuration was created. */ createdAt?: pulumi.Input; /** * The timestamp at which the connection was last synchronized. */ lastSynchronizationAt?: pulumi.Input; /** * The error message of the last synchronization, if any. */ lastSynchronizationError?: pulumi.Input; /** * The status of the last synchronization. */ lastSynchronizationStatus?: pulumi.Input; /** * Mapping between Auth0 attributes and IDP user attributes. Defaults to default mapping for the connection type if not specified. */ mappings?: pulumi.Input[]>; /** * Strategy of the connection for this directory provisioning configuration. */ strategy?: pulumi.Input; /** * Whether periodic automatic synchronization is enabled. Defaults to false. */ synchronizeAutomatically?: pulumi.Input; /** * The timestamp at which the directory provisioning configuration was last updated. */ updatedAt?: pulumi.Input; } /** * The set of arguments for constructing a ConnectionDirectory resource. */ export interface ConnectionDirectoryArgs { /** * ID of the connection for this directory provisioning configuration. */ connectionId: pulumi.Input; /** * Mapping between Auth0 attributes and IDP user attributes. Defaults to default mapping for the connection type if not specified. */ mappings?: pulumi.Input[]>; /** * Whether periodic automatic synchronization is enabled. Defaults to false. */ synchronizeAutomatically?: pulumi.Input; }