Pull Sync Delete Threshold#

During a data sync where you delete a VOSS Automate resource from the device so that the key is in the VOSS Automate list but not in the ‘device’ list, a pull sync will remove the resource in VOSS Automate.

In order to manage the number of resources that are deleted on VOSS Automate during this process, a named macro should be added to the system, with the following values:

  • name: PULL_SYNC_DELETE_THRESHOLD_<device_type>

  • macro: number

  • hierarchy: the hierarchy where the sync takes place.

Upon a data sync of the device type, a check for the named macro at the hierarchy will take place and local deletes will be restricted to the number defined in the macro.

Note

  • The macro value is a JSON string containing the number, e.g. "macro": "20". This number defines the maximum number of deletes that are allowed to take place during a sync, so that if there are for example more than 20 deletes to process, then the data sync/import will fail.

    If the macro is created on the GUI, simply type in the number as value.

  • The <device_type> value is obtained from the model name component of the connection_parameters_type field of the data/DeviceModelMapping model. Refer to the table below.

In JSON format, the named macro is for example as in the snippets below:

[...]
 "meta": {
   "model_type": "data/Macro",
   "hierarchy": "sys.hcs.CS-P.CS-NB.AAAGlobal",
   "tags": []
 },

 "data": {
   "macro": "20",
   "name": "PULL_SYNC_DELETE_THRESHOLD_AzureADOnline",
   "description": "PULL_SYNC_DELETE_THRESHOLD_AzureADOnline"
 }
[...]
[...]
 "meta": {
   "model_type": "data/Macro",
   "hierarchy": "sys.hcs.CS-P.CS-NB.AAAGlobal",
   "tags": []
 },

 "data": {
   "macro": "20",
   "name": "PULL_SYNC_DELETE_THRESHOLD_MSTeamsOnline",
   "description": "PULL_SYNC_DELETE_THRESHOLD_MSTeamsOnline"
 }
[...]
[...]
 "meta": {
   "model_type": "data/Macro",
   "hierarchy": "sys.hcs.CS-P.CS-NB.AAAGlobal",
   "tags": []
 },

 "data": {
   "macro": "20",
   "name": "PULL_SYNC_DELETE_THRESHOLD_MSGraph",
   "description": "PULL_SYNC_DELETE_THRESHOLD_MSGraph"
 }
[...]
[...]
 "meta": {
   "model_type": "data/Macro",
   "hierarchy": "sys.hcs.CS-P.CS-NB.AAAGlobal",
   "tags": []
 },

 "data": {
   "macro": "20",
   "name": "PULL_SYNC_DELETE_THRESHOLD_Ldap",
   "description": "PULL_SYNC_DELETE_THRESHOLD_Ldap"
 }
[...]

Note

The model name following the data/ model type is inserted into the macro name.

The table below maps the device type names as seen on the Data Sync GUI to the related model in full (remove data/ in the macro) :

Pull Sync Table#

Device Type

Full data model name

Active Directory

data/activedirectory

Active Directory Hybrid

data/activedirectoryhybrid

Assurance Arbitrator

data/AssuranceArbitrator

AzureADOnline

data/AzureADOnline

Cisco Unified CM

data/CallManager

Cisco TelePresence Exchange

data/CiscoTelePresenceExchange

Cisco TelePresence Management Suite

data/CiscoTMS

Call Manager Control Center Services

data/CmCcs

Exchange

data/exchange

Exchange Hybrid

data/exchangehybrid

Exchange Online

data/exchangeonline

Call Manager AXL Generic Driver

data/GenericCucm

Unity Connection GUI

data/GuiCuc

CallManager GUI

data/GuiCucm

IMP GUI

data/GuiImp

Cisco HCM-F

data/Hcmf

HTTP

data/Http

IMAP4

data/Imap

IOS

data/Ios

LDAP

data/Ldap

MSExchangeOnline

data/MSExchangeOnline

MSGraph

data/MSGraph

Microsoft Online

data/msonline

MSTeamsOnline

data/MSTeamsOnline

Notification Service

data/NotificationService

OracleECB

data/OracleECB

OracleSBC

data/OracleSBC

Pexip Infinity Conferencing Platform

data/Pexip

PGW

data/Pgw

PowerShell

data/powershell

PRSCallControl

data/PRSCallControl

sfb2015

data/Sfb2015

SkypeForBusiness

data/skypeforbusiness

SkypeForBusiness Hybrid

data/skypeforbusinesshybrid

SkypeForBusiness Online

data/skypeforbusinessonline

SMTP

data/Smtp

Service Now

data/snow

Spark

data/Spark

Cisco Unified Contact Center Express

data/Uccx

Cisco Unity Connection

data/UnityConnection

Cisco WebEx

data/WebEx

Zoom

data/Zoom

If during a sync the macro is available and the number value in the macro is reached while there are more instances, the sync log will also show an error. If no macro is defined as above, then the pull sync will remove all local instances on VOSS Automate.