1. Packages
  2. Proxmox Virtual Environment (Proxmox VE)
  3. API Docs
  4. realm
  5. SyncLegacy
Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.0.0
published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski
proxmoxve logo
Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.0.0
published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski

    Deprecated: Use proxmoxve.realm.Sync instead. This resource will be removed in v1.0.

    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.LdapLegacy.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
    
    const example = new proxmoxve.realm.LdapLegacy("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 exampleSyncLegacy = new proxmoxve.realm.SyncLegacy("example", {
        realm: example.realm,
        scope: "both",
        removeVanished: "acl;entry;properties",
        enableNew: true,
    });
    
    import pulumi
    import pulumi_proxmoxve as proxmoxve
    
    example = proxmoxve.realm.LdapLegacy("example",
        realm="example-ldap",
        server1="ldap.example.com",
        port=389,
        base_dn="ou=people,dc=example,dc=com",
        user_attr="uid",
        group_dn="ou=groups,dc=example,dc=com",
        group_filter="(objectClass=groupOfNames)")
    example_sync_legacy = proxmoxve.realm.SyncLegacy("example",
        realm=example.realm,
        scope="both",
        remove_vanished="acl;entry;properties",
        enable_new=True)
    
    package main
    
    import (
    	"github.com/muhlba91/pulumi-proxmoxve/sdk/v8/go/proxmoxve/realm"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := realm.NewLdapLegacy(ctx, "example", &realm.LdapLegacyArgs{
    			Realm:       pulumi.String("example-ldap"),
    			Server1:     pulumi.String("ldap.example.com"),
    			Port:        pulumi.Int(389),
    			BaseDn:      pulumi.String("ou=people,dc=example,dc=com"),
    			UserAttr:    pulumi.String("uid"),
    			GroupDn:     pulumi.String("ou=groups,dc=example,dc=com"),
    			GroupFilter: pulumi.String("(objectClass=groupOfNames)"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = realm.NewSyncLegacy(ctx, "example", &realm.SyncLegacyArgs{
    			Realm:          example.Realm,
    			Scope:          pulumi.String("both"),
    			RemoveVanished: pulumi.String("acl;entry;properties"),
    			EnableNew:      pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using ProxmoxVE = Pulumi.ProxmoxVE;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new ProxmoxVE.Realm.LdapLegacy("example", new()
        {
            Realm = "example-ldap",
            Server1 = "ldap.example.com",
            Port = %!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(389) (example.pp:3,17-20)),
            BaseDn = "ou=people,dc=example,dc=com",
            UserAttr = "uid",
            GroupDn = "ou=groups,dc=example,dc=com",
            GroupFilter = "(objectClass=groupOfNames)",
        });
    
        var exampleSyncLegacy = new ProxmoxVE.Realm.SyncLegacy("example", new()
        {
            Realm = example.Realm,
            Scope = "both",
            RemoveVanished = "acl;entry;properties",
            EnableNew = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import io.muehlbachler.pulumi.proxmoxve.realm.LdapLegacy;
    import io.muehlbachler.pulumi.proxmoxve.realm.LdapLegacyArgs;
    import io.muehlbachler.pulumi.proxmoxve.realm.SyncLegacy;
    import io.muehlbachler.pulumi.proxmoxve.realm.SyncLegacyArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new LdapLegacy("example", LdapLegacyArgs.builder()
                .realm("example-ldap")
                .server1("ldap.example.com")
                .port(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(389) (example.pp:3,17-20)))
                .baseDn("ou=people,dc=example,dc=com")
                .userAttr("uid")
                .groupDn("ou=groups,dc=example,dc=com")
                .groupFilter("(objectClass=groupOfNames)")
                .build());
    
            var exampleSyncLegacy = new SyncLegacy("exampleSyncLegacy", SyncLegacyArgs.builder()
                .realm(example.realm())
                .scope("both")
                .removeVanished("acl;entry;properties")
                .enableNew(true)
                .build());
    
        }
    }
    
    resources:
      example:
        type: proxmoxve:realm:LdapLegacy
        properties:
          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)
      exampleSyncLegacy:
        type: proxmoxve:realm:SyncLegacy
        name: example
        properties:
          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.

    Create SyncLegacy Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new SyncLegacy(name: string, args: SyncLegacyArgs, opts?: CustomResourceOptions);
    @overload
    def SyncLegacy(resource_name: str,
                   args: SyncLegacyArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def SyncLegacy(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   realm: Optional[str] = None,
                   dry_run: Optional[bool] = None,
                   enable_new: Optional[bool] = None,
                   full: Optional[bool] = None,
                   purge: Optional[bool] = None,
                   remove_vanished: Optional[str] = None,
                   scope: Optional[str] = None)
    func NewSyncLegacy(ctx *Context, name string, args SyncLegacyArgs, opts ...ResourceOption) (*SyncLegacy, error)
    public SyncLegacy(string name, SyncLegacyArgs args, CustomResourceOptions? opts = null)
    public SyncLegacy(String name, SyncLegacyArgs args)
    public SyncLegacy(String name, SyncLegacyArgs args, CustomResourceOptions options)
    
    type: proxmoxve:realm:SyncLegacy
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args SyncLegacyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args SyncLegacyArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args SyncLegacyArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args SyncLegacyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args SyncLegacyArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var syncLegacyResource = new ProxmoxVE.Realm.SyncLegacy("syncLegacyResource", new()
    {
        Realm = "string",
        DryRun = false,
        EnableNew = false,
        RemoveVanished = "string",
        Scope = "string",
    });
    
    example, err := realm.NewSyncLegacy(ctx, "syncLegacyResource", &realm.SyncLegacyArgs{
    	Realm:          pulumi.String("string"),
    	DryRun:         pulumi.Bool(false),
    	EnableNew:      pulumi.Bool(false),
    	RemoveVanished: pulumi.String("string"),
    	Scope:          pulumi.String("string"),
    })
    
    var syncLegacyResource = new SyncLegacy("syncLegacyResource", SyncLegacyArgs.builder()
        .realm("string")
        .dryRun(false)
        .enableNew(false)
        .removeVanished("string")
        .scope("string")
        .build());
    
    sync_legacy_resource = proxmoxve.realm.SyncLegacy("syncLegacyResource",
        realm="string",
        dry_run=False,
        enable_new=False,
        remove_vanished="string",
        scope="string")
    
    const syncLegacyResource = new proxmoxve.realm.SyncLegacy("syncLegacyResource", {
        realm: "string",
        dryRun: false,
        enableNew: false,
        removeVanished: "string",
        scope: "string",
    });
    
    type: proxmoxve:realm:SyncLegacy
    properties:
        dryRun: false
        enableNew: false
        realm: string
        removeVanished: string
        scope: string
    

    SyncLegacy Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The SyncLegacy resource accepts the following input properties:

    Realm string
    Name of the realm to synchronize.
    DryRun bool
    Only simulate the sync without applying changes.
    EnableNew bool
    Enable newly synced users.
    Full bool
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    Purge bool
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    RemoveVanished string
    How to handle vanished entries (e.g. acl;properties;entry or none).
    Scope string
    Sync scope: users, groups, or both.
    Realm string
    Name of the realm to synchronize.
    DryRun bool
    Only simulate the sync without applying changes.
    EnableNew bool
    Enable newly synced users.
    Full bool
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    Purge bool
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    RemoveVanished string
    How to handle vanished entries (e.g. acl;properties;entry or none).
    Scope string
    Sync scope: users, groups, or both.
    realm String
    Name of the realm to synchronize.
    dryRun Boolean
    Only simulate the sync without applying changes.
    enableNew Boolean
    Enable newly synced users.
    full Boolean
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    purge Boolean
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    removeVanished String
    How to handle vanished entries (e.g. acl;properties;entry or none).
    scope String
    Sync scope: users, groups, or both.
    realm string
    Name of the realm to synchronize.
    dryRun boolean
    Only simulate the sync without applying changes.
    enableNew boolean
    Enable newly synced users.
    full boolean
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    purge boolean
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    removeVanished string
    How to handle vanished entries (e.g. acl;properties;entry or none).
    scope string
    Sync scope: users, groups, or both.
    realm str
    Name of the realm to synchronize.
    dry_run bool
    Only simulate the sync without applying changes.
    enable_new bool
    Enable newly synced users.
    full bool
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    purge bool
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    remove_vanished str
    How to handle vanished entries (e.g. acl;properties;entry or none).
    scope str
    Sync scope: users, groups, or both.
    realm String
    Name of the realm to synchronize.
    dryRun Boolean
    Only simulate the sync without applying changes.
    enableNew Boolean
    Enable newly synced users.
    full Boolean
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    purge Boolean
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    removeVanished String
    How to handle vanished entries (e.g. acl;properties;entry or none).
    scope String
    Sync scope: users, groups, or both.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the SyncLegacy resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing SyncLegacy Resource

    Get an existing SyncLegacy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: SyncLegacyState, opts?: CustomResourceOptions): SyncLegacy
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            dry_run: Optional[bool] = None,
            enable_new: Optional[bool] = None,
            full: Optional[bool] = None,
            purge: Optional[bool] = None,
            realm: Optional[str] = None,
            remove_vanished: Optional[str] = None,
            scope: Optional[str] = None) -> SyncLegacy
    func GetSyncLegacy(ctx *Context, name string, id IDInput, state *SyncLegacyState, opts ...ResourceOption) (*SyncLegacy, error)
    public static SyncLegacy Get(string name, Input<string> id, SyncLegacyState? state, CustomResourceOptions? opts = null)
    public static SyncLegacy get(String name, Output<String> id, SyncLegacyState state, CustomResourceOptions options)
    resources:  _:    type: proxmoxve:realm:SyncLegacy    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    DryRun bool
    Only simulate the sync without applying changes.
    EnableNew bool
    Enable newly synced users.
    Full bool
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    Purge bool
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    Realm string
    Name of the realm to synchronize.
    RemoveVanished string
    How to handle vanished entries (e.g. acl;properties;entry or none).
    Scope string
    Sync scope: users, groups, or both.
    DryRun bool
    Only simulate the sync without applying changes.
    EnableNew bool
    Enable newly synced users.
    Full bool
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    Purge bool
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    Realm string
    Name of the realm to synchronize.
    RemoveVanished string
    How to handle vanished entries (e.g. acl;properties;entry or none).
    Scope string
    Sync scope: users, groups, or both.
    dryRun Boolean
    Only simulate the sync without applying changes.
    enableNew Boolean
    Enable newly synced users.
    full Boolean
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    purge Boolean
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    realm String
    Name of the realm to synchronize.
    removeVanished String
    How to handle vanished entries (e.g. acl;properties;entry or none).
    scope String
    Sync scope: users, groups, or both.
    dryRun boolean
    Only simulate the sync without applying changes.
    enableNew boolean
    Enable newly synced users.
    full boolean
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    purge boolean
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    realm string
    Name of the realm to synchronize.
    removeVanished string
    How to handle vanished entries (e.g. acl;properties;entry or none).
    scope string
    Sync scope: users, groups, or both.
    dry_run bool
    Only simulate the sync without applying changes.
    enable_new bool
    Enable newly synced users.
    full bool
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    purge bool
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    realm str
    Name of the realm to synchronize.
    remove_vanished str
    How to handle vanished entries (e.g. acl;properties;entry or none).
    scope str
    Sync scope: users, groups, or both.
    dryRun Boolean
    Only simulate the sync without applying changes.
    enableNew Boolean
    Enable newly synced users.
    full Boolean
    Perform a full sync.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    purge Boolean
    Purge removed entries.

    Deprecated: Deprecated by Proxmox: use removeVanished instead.

    realm String
    Name of the realm to synchronize.
    removeVanished String
    How to handle vanished entries (e.g. acl;properties;entry or none).
    scope String
    Sync scope: users, groups, or both.

    Import

    !/usr/bin/env sh Realm sync resources can be imported by realm name, e.g.:

    $ pulumi import proxmoxve:realm/syncLegacy:SyncLegacy example example.com
    

    Importing only populates the realm and id attributes; other fields must be set in configuration.

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    proxmoxve muhlba91/pulumi-proxmoxve
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the proxmox Terraform Provider.
    proxmoxve logo
    Viewing docs for Proxmox Virtual Environment (Proxmox VE) v8.0.0
    published on Sunday, Apr 5, 2026 by Daniel Muehlbachler-Pietrzykowski
      Try Pulumi Cloud free. Your team will thank you.