import * as pulumi from "@pulumi/pulumi"; /** * Triggers synchronization of an existing authentication realm using `/access/domains/{realm}/sync`. This resource represents the last requested sync configuration; deleting it does not undo the sync. * * This resource wraps the `/access/domains/{realm}/sync` API and is intended to be * used alongside realm configuration resources such as * `proxmoxve.realm.Ldap`. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve"; * * const example = new proxmoxve.realm.Ldap("example", { * realm: "example-ldap", * server1: "ldap.example.com", * port: 389, * baseDn: "ou=people,dc=example,dc=com", * userAttr: "uid", * groupDn: "ou=groups,dc=example,dc=com", * groupFilter: "(objectClass=groupOfNames)", * }); * const exampleSync = new proxmoxve.realm.Sync("example", { * realm: example.realm, * scope: "both", * removeVanished: "acl;entry;properties", * enableNew: true, * }); * ``` * * ## Behavior Notes * * - The sync operation is **one-shot**: applying the resource runs the sync * with the specified options. Proxmox does not expose a persistent sync * object, so this resource only records the last requested sync * configuration in Terraform state. * - Destroying the resource does **not** undo any previously performed sync; * it simply removes the resource from Terraform state. * * ## Import * * !/usr/bin/env sh * Realm sync resources can be imported by realm name, e.g.: * * ```sh * $ pulumi import proxmoxve:realm/sync:Sync example example.com * ``` * * Importing only populates the `realm` and `id` attributes; other fields must * be set in configuration. */ export declare class Sync extends pulumi.CustomResource { /** * Get an existing Sync 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?: SyncState, opts?: pulumi.CustomResourceOptions): Sync; /** * Returns true if the given object is an instance of Sync. 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 Sync; /** * Only simulate the sync without applying changes. */ readonly dryRun: pulumi.Output; /** * Enable newly synced users. */ readonly enableNew: pulumi.Output; /** * Perform a full sync. * * @deprecated Deprecated by Proxmox: use removeVanished instead. */ readonly full: pulumi.Output; /** * Purge removed entries. * * @deprecated Deprecated by Proxmox: use removeVanished instead. */ readonly purge: pulumi.Output; /** * Name of the realm to synchronize. */ readonly realm: pulumi.Output; /** * How to handle vanished entries (e.g. `acl;properties;entry` or `none`). */ readonly removeVanished: pulumi.Output; /** * Sync scope: users, groups, or both. */ readonly scope: pulumi.Output; /** * Create a Sync 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: SyncArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Sync resources. */ export interface SyncState { /** * Only simulate the sync without applying changes. */ dryRun?: pulumi.Input; /** * Enable newly synced users. */ enableNew?: pulumi.Input; /** * Perform a full sync. * * @deprecated Deprecated by Proxmox: use removeVanished instead. */ full?: pulumi.Input; /** * Purge removed entries. * * @deprecated Deprecated by Proxmox: use removeVanished instead. */ purge?: pulumi.Input; /** * Name of the realm to synchronize. */ realm?: pulumi.Input; /** * How to handle vanished entries (e.g. `acl;properties;entry` or `none`). */ removeVanished?: pulumi.Input; /** * Sync scope: users, groups, or both. */ scope?: pulumi.Input; } /** * The set of arguments for constructing a Sync resource. */ export interface SyncArgs { /** * Only simulate the sync without applying changes. */ dryRun?: pulumi.Input; /** * Enable newly synced users. */ enableNew?: pulumi.Input; /** * Perform a full sync. * * @deprecated Deprecated by Proxmox: use removeVanished instead. */ full?: pulumi.Input; /** * Purge removed entries. * * @deprecated Deprecated by Proxmox: use removeVanished instead. */ purge?: pulumi.Input; /** * Name of the realm to synchronize. */ realm: pulumi.Input; /** * How to handle vanished entries (e.g. `acl;properties;entry` or `none`). */ removeVanished?: pulumi.Input; /** * Sync scope: users, groups, or both. */ scope?: pulumi.Input; } //# sourceMappingURL=sync.d.ts.map