diff --git a/AdminInterface.php b/AdminInterface.php index 6189455..697374b 100644 --- a/AdminInterface.php +++ b/AdminInterface.php @@ -11,6 +11,7 @@ namespace Zimbra\Admin; use Zimbra\Admin\Struct\AttachmentIdAttrib as Attachment; +use Zimbra\Admin\Struct\AlwaysOnClusterSelector as ClusterSelector; use Zimbra\Admin\Struct\CalendarResourceSelector as CalendarResource; use Zimbra\Admin\Struct\CacheSelector as Cache; use Zimbra\Admin\Struct\CosSelector as Cos; @@ -48,6 +49,7 @@ use Zimbra\Admin\Struct\XmppComponentSpec as Xmpp; use Zimbra\Admin\Struct\ZimletAclStatusPri as ZimletAcl; +use Zimbra\Struct\AccountNameSelector; use Zimbra\Struct\AccountSelector as Account; use Zimbra\Struct\EntrySearchFilterInfo as SearchFilter; use Zimbra\Struct\GranteeChooser; @@ -71,6 +73,7 @@ use Zimbra\Enum\GalSearchType; use Zimbra\Enum\GetSessionsSortBy; use Zimbra\Enum\IpType; +use Zimbra\Enum\LockoutOperation; use Zimbra\Enum\QuotaSortBy; use Zimbra\Enum\ReIndexAction; use Zimbra\Enum\RightClass; @@ -536,6 +539,15 @@ function countObjects(ObjType $type, Domain $domain = null, UcService $ucservice */ function createAccount($name, $password, array $attrs = []); + /** + * Create a AlwaysOnCluster + * + * @param string $name New server name. + * @param array $attrs Attributes. + * @return mix + */ + function createAlwaysOnCluster($name, array $attrs = []); + /** * Create a calendar resource. * Notes: @@ -726,6 +738,14 @@ function delegateAuth(Account $account, $duration = null); */ function deleteAccount($id); + /** + * Delete a alwaysOnCluster . + * + * @param string $id Zimbra ID. + * @return mix + */ + function deleteAlwaysOnCluster($id); + /** * Deletes the calendar resource with the given id. * Note: this request is by default proxied to the account's home server . @@ -1066,6 +1086,13 @@ function getAllAccountLoggers(); */ function getAllAccounts(Server $server = null, Domain $domain = null); + /** + * Get all active servers. + * + * @return mix + */ + function getAllActiveServers(); + /** * Get all Admin accounts. * @@ -1074,6 +1101,13 @@ function getAllAccounts(Server $server = null, Domain $domain = null); */ function getAllAdminAccounts($applyCos = null); + /** + * Get all alwaysOnClusters. + * + * @return mix + */ + function getAllAlwaysOnClusters(); + /** * Get all calendar resources that match the selection criteria. * Access: domain admin sufficient. @@ -1216,6 +1250,15 @@ function getAllXMPPComponents(); */ function getAllZimlets(ExcludeType $exclude = null); + /** + * Get Server. + * + * @param ClusterSelector $Cluster Specify cluster. + * @param array $attrs A list of attributes. + * @return mix + */ + function getAlwaysOnCluster(ClusterSelector $cluster = null, array $attrs = []); + /** * Get attribute information. * Valid entry types: @@ -1752,6 +1795,15 @@ function grantRight( RightModifier $right ); + /** + * Puts the mailbox of the specified account into maintenance lockout or removes it from maintenance lockout . + * + * @param AccountNameSelector $account Account email address. + * @param string $server op Operation. One of 'start' or 'end' + * @return mix + */ + function lockoutMailbox(AccountNameSelector $account, LockoutOperation $op = null); + /** * Command to act on invidual queue files. * This proxies through to postsuper. @@ -1801,6 +1853,18 @@ function modifyAccount($id, array $attrs = []); */ function modifyAdminSavedSearches(array $searchs = []); + /** + * Modify attributes for a alwaysOnCluster. + * Notes: + * 1. an empty attribute value removes the specified attr. + * 2. his request is by default proxied to the referenced server. + * + * @param string $id Zimbra ID. + * @param array $attrs Attributes. + * @return mix + */ + function modifyAlwaysOnCluster($id, array $attrs = []); + /** * Modify a calendar resource. * Notes: @@ -2021,6 +2085,14 @@ function queryWaitSet($waitSet = null); */ function recalculateMailboxCounts(MailboxId $mbox); + /** + * Deregister authtokens that have been deregistered on the sending server. + * + * @param array $tokens Auth tokens. + * @return mix + */ + function refreshRegisteredAuthTokens(array $tokens); + /** * ReIndex. * Access: domain admin sufficient. @@ -2348,6 +2420,12 @@ function searchGal( */ function setCurrentVolume($id, VolumeType $type); + /** + * Set local server online. + * @return mix + */ + function setLocalServerOnline(); + /** * Set Password. * Access: domain admin sufficient. @@ -2359,6 +2437,15 @@ function setCurrentVolume($id, VolumeType $type); */ function setPassword($id, $newPassword); + /** + * Set server offline. + * + * @param Server $server Specify server. + * @param array $attrs A list of attributes. + * @return mix + */ + function setServerOffline(Server $server = null, array $attrs = []); + /** * Suspend a device or all devices attached to an account from further sync actions. * diff --git a/Base.php b/Base.php index 4258aa1..a7a8dbb 100644 --- a/Base.php +++ b/Base.php @@ -13,6 +13,7 @@ use Zimbra\Soap\API; use Zimbra\Admin\Struct\AttachmentIdAttrib as Attachment; +use Zimbra\Admin\Struct\AlwaysOnClusterSelector as ClusterSelector; use Zimbra\Admin\Struct\CalendarResourceSelector as CalendarResource; use Zimbra\Admin\Struct\CacheSelector as Cache; use Zimbra\Admin\Struct\CosSelector as Cos; @@ -50,6 +51,7 @@ use Zimbra\Admin\Struct\XmppComponentSpec as Xmpp; use Zimbra\Admin\Struct\ZimletAclStatusPri as ZimletAcl; +use Zimbra\Struct\AccountNameSelector; use Zimbra\Struct\AccountSelector as Account; use Zimbra\Struct\EntrySearchFilterInfo as SearchFilter; use Zimbra\Struct\GranteeChooser; @@ -73,6 +75,7 @@ use Zimbra\Enum\GalSearchType; use Zimbra\Enum\GetSessionsSortBy; use Zimbra\Enum\IpType; +use Zimbra\Enum\LockoutOperation; use Zimbra\Enum\QuotaSortBy; use Zimbra\Enum\ReIndexAction; use Zimbra\Enum\RightClass; @@ -547,7 +550,7 @@ public function checkGalConfig( */ public function checkHealth() { - $request = new \Zimbra\Admin\Request\CheckHealth; + $request = new \Zimbra\Admin\Request\CheckHealth(); return $this->getClient()->doRequest($request); } @@ -744,6 +747,21 @@ public function createAccount($name, $password, array $attrs = []) return $this->getClient()->doRequest($request); } + /** + * Create a AlwaysOnCluster + * + * @param string $name New server name. + * @param array $attrs Attributes. + * @return mix + */ + public function createAlwaysOnCluster($name, array $attrs = []) + { + $request = new \Zimbra\Admin\Request\CreateAlwaysOnCluster( + $name, $attrs + ); + return $this->getClient()->doRequest($request); + } + /** * Create a calendar resource. * Notes: @@ -1034,6 +1052,20 @@ public function deleteAccount($id) return $this->getClient()->doRequest($request); } + /** + * Delete a alwaysOnCluster . + * + * @param string $id Zimbra ID. + * @return mix + */ + public function deleteAlwaysOnCluster($id) + { + $request = new \Zimbra\Admin\Request\DeleteAlwaysOnCluster( + $id + ); + return $this->getClient()->doRequest($request); + } + /** * Deletes the calendar resource with the given id. * Note: this request is by default proxied to the account's home server . @@ -1504,7 +1536,7 @@ public function getAdminConsoleUIComp(Account $account = null, DistList $dl = nu */ public function getAdminExtensionZimlets() { - $request = new \Zimbra\Admin\Request\GetAdminExtensionZimlets; + $request = new \Zimbra\Admin\Request\GetAdminExtensionZimlets(); return $this->getClient()->doRequest($request); } @@ -1530,7 +1562,7 @@ public function getAdminSavedSearches(array $searches = []) */ public function getAggregateQuotaUsageOnServer() { - $request = new \Zimbra\Admin\Request\GetAggregateQuotaUsageOnServer; + $request = new \Zimbra\Admin\Request\GetAggregateQuotaUsageOnServer(); return $this->getClient()->doRequest($request); } @@ -1542,7 +1574,7 @@ public function getAggregateQuotaUsageOnServer() */ public function getAllAccountLoggers() { - $request = new \Zimbra\Admin\Request\GetAllAccountLoggers; + $request = new \Zimbra\Admin\Request\GetAllAccountLoggers(); return $this->getClient()->doRequest($request); } @@ -1562,6 +1594,17 @@ public function getAllAccounts(Server $server = null, Domain $domain = null) return $this->getClient()->doRequest($request); } + /** + * Get all active servers. + * + * @return mix + */ + public function getAllActiveServers() + { + $request = new \Zimbra\Admin\Request\GetAllActiveServers(); + return $this->getClient()->doRequest($request); + } + /** * Get all Admin accounts. * @@ -1576,6 +1619,17 @@ public function getAllAdminAccounts($applyCos = null) return $this->getClient()->doRequest($request); } + /** + * Get all alwaysOnClusters. + * + * @return mix + */ + public function getAllAlwaysOnClusters() + { + $request = new \Zimbra\Admin\Request\GetAllAlwaysOnClusters(); + return $this->getClient()->doRequest($request); + } + /** * Get all calendar resources that match the selection criteria. * Access: domain admin sufficient. @@ -1599,7 +1653,7 @@ public function getAllCalendarResources(Server $server = null, Domain $domain = */ public function getAllConfig() { - $request = new \Zimbra\Admin\Request\GetAllConfig; + $request = new \Zimbra\Admin\Request\GetAllConfig(); return $this->getClient()->doRequest($request); } @@ -1610,7 +1664,7 @@ public function getAllConfig() */ public function getAllCos() { - $request = new \Zimbra\Admin\Request\GetAllCos; + $request = new \Zimbra\Admin\Request\GetAllCos(); return $this->getClient()->doRequest($request); } @@ -1665,7 +1719,7 @@ public function getAllEffectiveRights(Grantee $grantee = null, $expandAllAttrs = */ public function getAllFreeBusyProviders() { - $request = new \Zimbra\Admin\Request\GetAllFreeBusyProviders; + $request = new \Zimbra\Admin\Request\GetAllFreeBusyProviders(); return $this->getClient()->doRequest($request); } @@ -1676,7 +1730,7 @@ public function getAllFreeBusyProviders() */ public function getAllLocales() { - $request = new \Zimbra\Admin\Request\GetAllLocales; + $request = new \Zimbra\Admin\Request\GetAllLocales(); return $this->getClient()->doRequest($request); } @@ -1741,7 +1795,7 @@ public function getAllServers($service = null, $applyConfig = null) */ public function getAllSkins() { - $request = new \Zimbra\Admin\Request\GetAllSkins; + $request = new \Zimbra\Admin\Request\GetAllSkins(); return $this->getClient()->doRequest($request); } @@ -1752,7 +1806,7 @@ public function getAllSkins() */ public function getAllUCProviders() { - $request = new \Zimbra\Admin\Request\GetAllUCProviders; + $request = new \Zimbra\Admin\Request\GetAllUCProviders(); return $this->getClient()->doRequest($request); } @@ -1763,7 +1817,7 @@ public function getAllUCProviders() */ public function getAllUCServices() { - $request = new \Zimbra\Admin\Request\GetAllUCServices; + $request = new \Zimbra\Admin\Request\GetAllUCServices(); return $this->getClient()->doRequest($request); } @@ -1774,7 +1828,7 @@ public function getAllUCServices() */ public function getAllVolumes() { - $request = new \Zimbra\Admin\Request\GetAllVolumes; + $request = new \Zimbra\Admin\Request\GetAllVolumes(); return $this->getClient()->doRequest($request); } @@ -1785,7 +1839,7 @@ public function getAllVolumes() */ public function getAllXMPPComponents() { - $request = new \Zimbra\Admin\Request\GetAllXMPPComponents; + $request = new \Zimbra\Admin\Request\GetAllXMPPComponents(); return $this->getClient()->doRequest($request); } @@ -1803,6 +1857,21 @@ public function getAllZimlets(ExcludeType $exclude = null) return $this->getClient()->doRequest($request); } + /** + * Get Server. + * + * @param ClusterSelector $Cluster Specify cluster. + * @param array $attrs A list of attributes. + * @return mix + */ + public function getAlwaysOnCluster(ClusterSelector $cluster = null, array $attrs = []) + { + $request = new \Zimbra\Admin\Request\GetAlwaysOnCluster( + $cluster, $attrs + ); + return $this->getClient()->doRequest($request); + } + /** * Get attribute information. * Valid entry types: @@ -2168,7 +2237,7 @@ public function getLDAPEntries( */ public function getLicenseInfo() { - $request = new \Zimbra\Admin\Request\GetLicenseInfo; + $request = new \Zimbra\Admin\Request\GetLicenseInfo(); return $this->getClient()->doRequest($request); } @@ -2224,7 +2293,7 @@ public function getMailbox(MailboxId $mbox) */ public function getMailboxStats() { - $request = new \Zimbra\Admin\Request\GetMailboxStats; + $request = new \Zimbra\Admin\Request\GetMailboxStats(); return $this->getClient()->doRequest($request); } @@ -2275,7 +2344,7 @@ public function getMailQueueInfo(NamedElement $server) */ public function getMemcachedClientConfig() { - $request = new \Zimbra\Admin\Request\GetMemcachedClientConfig; + $request = new \Zimbra\Admin\Request\GetMemcachedClientConfig(); return $this->getClient()->doRequest($request); } @@ -2393,7 +2462,7 @@ public function getServerStats(array $stats = []) */ public function getServiceStatus() { - $request = new \Zimbra\Admin\Request\GetServiceStatus; + $request = new \Zimbra\Admin\Request\GetServiceStatus(); return $this->getClient()->doRequest($request); } @@ -2478,7 +2547,7 @@ public function getUCService(UcService $ucservice = null, array $attrs = []) */ public function getVersionInfo() { - $request = new \Zimbra\Admin\Request\GetVersionInfo; + $request = new \Zimbra\Admin\Request\GetVersionInfo(); return $this->getClient()->doRequest($request); } @@ -2534,7 +2603,7 @@ public function getZimlet(NamedElement $name, array $attrs = []) */ public function getZimletStatus() { - $request = new \Zimbra\Admin\Request\GetZimletStatus; + $request = new \Zimbra\Admin\Request\GetZimletStatus(); return $this->getClient()->doRequest($request); } @@ -2558,6 +2627,19 @@ public function grantRight( return $this->getClient()->doRequest($request); } + /** + * Puts the mailbox of the specified account into maintenance lockout or removes it from maintenance lockout . + * + * @param AccountNameSelector $account Account email address. + * @param string $server op Operation. One of 'start' or 'end' + * @return mix + */ + public function lockoutMailbox(AccountNameSelector $account, LockoutOperation $op = null) + { + $request = new \Zimbra\Admin\Request\LockoutMailbox($account, $op); + return $this->getClient()->doRequest($request); + } + /** * Command to act on invidual queue files. * This proxies through to postsuper. @@ -2627,6 +2709,22 @@ public function modifyAdminSavedSearches(array $searchs = []) return $this->getClient()->doRequest($request); } + /** + * Modify attributes for a alwaysOnCluster. + * Notes: + * 1. an empty attribute value removes the specified attr. + * 2. his request is by default proxied to the referenced server. + * + * @param string $id Zimbra ID. + * @param array $attrs Attributes. + * @return mix + */ + public function modifyAlwaysOnCluster($id, array $attrs = []) + { + $request = new \Zimbra\Admin\Request\ModifyAlwaysOnCluster($id, $attrs); + return $this->getClient()->doRequest($request); + } + /** * Modify a calendar resource. * Notes: @@ -2848,7 +2946,7 @@ public function modifyZimlet(ZimletAcl $zimlet) */ public function noOp() { - $request = new \Zimbra\Admin\Request\NoOp; + $request = new \Zimbra\Admin\Request\NoOp(); return $this->getClient()->doRequest($request); } @@ -2859,7 +2957,7 @@ public function noOp() */ public function ping() { - $request = new \Zimbra\Admin\Request\Ping; + $request = new \Zimbra\Admin\Request\Ping(); return $this->getClient()->doRequest($request); } @@ -2981,6 +3079,20 @@ public function recalculateMailboxCounts(MailboxId $mbox) return $this->getClient()->doRequest($request); } + /** + * Deregister authtokens that have been deregistered on the sending server. + * + * @param array $tokens Auth tokens. + * @return mix + */ + public function refreshRegisteredAuthTokens(array $tokens) + { + $request = new \Zimbra\Admin\Request\RefreshRegisteredAuthTokens( + $tokens + ); + return $this->getClient()->doRequest($request); + } + /** * Reload LocalConfig. * @@ -3429,6 +3541,16 @@ public function setCurrentVolume($id, VolumeType $type) return $this->getClient()->doRequest($request); } + /** + * Set local server online. + * @return mix + */ + public function setLocalServerOnline() + { + $request = new \Zimbra\Admin\Request\SetLocalServerOnline(); + return $this->getClient()->doRequest($request); + } + /** * Set Password. * Access: domain admin sufficient. @@ -3446,6 +3568,21 @@ public function setPassword($id, $newPassword) return $this->getClient()->doRequest($request); } + /** + * Set server offline. + * + * @param Server $server Specify server. + * @param array $attrs A list of attributes. + * @return mix + */ + public function setServerOffline(Server $server = null, array $attrs = []) + { + $request = new \Zimbra\Admin\Request\SetServerOffline( + $server, $attrs + ); + return $this->getClient()->doRequest($request); + } + /** * Suspend a device or all devices attached to an account from further sync actions. *