zm-ruby-client 0.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +58 -0
  3. data/Gemfile +8 -0
  4. data/LICENSE +674 -0
  5. data/README.md +47 -0
  6. data/SECURITY.md +21 -0
  7. data/lib/zm/client/account/account.rb +335 -0
  8. data/lib/zm/client/account/account_dls_membership_collection.rb +22 -0
  9. data/lib/zm/client/account/account_dls_owner_collection.rb +22 -0
  10. data/lib/zm/client/account/accounts_builder.rb +19 -0
  11. data/lib/zm/client/account/accounts_collection.rb +48 -0
  12. data/lib/zm/client/account.rb +7 -0
  13. data/lib/zm/client/ace/ace.rb +32 -0
  14. data/lib/zm/client/ace/aces_builder.rb +25 -0
  15. data/lib/zm/client/ace/aces_collection.rb +36 -0
  16. data/lib/zm/client/ace.rb +5 -0
  17. data/lib/zm/client/appointment/appointment.rb +143 -0
  18. data/lib/zm/client/appointment/appointment_jsns_builder.rb +125 -0
  19. data/lib/zm/client/appointment/appointment_jsns_initializer.rb +129 -0
  20. data/lib/zm/client/appointment/appointments_builder.rb +33 -0
  21. data/lib/zm/client/appointment/appointments_collection.rb +106 -0
  22. data/lib/zm/client/appointment.rb +7 -0
  23. data/lib/zm/client/backup/backup.rb +59 -0
  24. data/lib/zm/client/backup/backups_builder.rb +26 -0
  25. data/lib/zm/client/backup/backups_collection.rb +22 -0
  26. data/lib/zm/client/backup.rb +5 -0
  27. data/lib/zm/client/base/account_object.rb +17 -0
  28. data/lib/zm/client/base/admin_object.rb +45 -0
  29. data/lib/zm/client/base/object.rb +80 -0
  30. data/lib/zm/client/base/objects_builder.rb +31 -0
  31. data/lib/zm/client/base/objects_collection.rb +135 -0
  32. data/lib/zm/client/base.rb +7 -0
  33. data/lib/zm/client/cluster/cluster.rb +117 -0
  34. data/lib/zm/client/cluster/cluster_config.rb +100 -0
  35. data/lib/zm/client/cluster.rb +4 -0
  36. data/lib/zm/client/common/message.rb +10 -0
  37. data/lib/zm/client/common/recipients.rb +67 -0
  38. data/lib/zm/client/common.rb +4 -0
  39. data/lib/zm/client/config.rb +12 -0
  40. data/lib/zm/client/connector/rest_account.rb +74 -0
  41. data/lib/zm/client/connector/soap_account.rb +562 -0
  42. data/lib/zm/client/connector/soap_admin.rb +512 -0
  43. data/lib/zm/client/connector/soap_base.rb +65 -0
  44. data/lib/zm/client/connector/soap_error.rb +26 -0
  45. data/lib/zm/client/connector/soap_xml_builder.rb +68 -0
  46. data/lib/zm/client/constant.rb +217 -0
  47. data/lib/zm/client/contact/contact.rb +124 -0
  48. data/lib/zm/client/contact/contact_member.rb +73 -0
  49. data/lib/zm/client/contact/contacts_builder.rb +24 -0
  50. data/lib/zm/client/contact/contacts_collection.rb +26 -0
  51. data/lib/zm/client/contact/mod_group_contact.rb +74 -0
  52. data/lib/zm/client/contact.rb +7 -0
  53. data/lib/zm/client/cos/cos.rb +59 -0
  54. data/lib/zm/client/cos/coses_builder.rb +29 -0
  55. data/lib/zm/client/cos/coses_collection.rb +33 -0
  56. data/lib/zm/client/cos.rb +5 -0
  57. data/lib/zm/client/data_source.rb +5 -0
  58. data/lib/zm/client/distributionlist/distributionlist.rb +125 -0
  59. data/lib/zm/client/distributionlist/distributionlists_builder.rb +29 -0
  60. data/lib/zm/client/distributionlist/distributionlists_collection.rb +41 -0
  61. data/lib/zm/client/distributionlist.rb +5 -0
  62. data/lib/zm/client/document/document.rb +47 -0
  63. data/lib/zm/client/document/documents_builder.rb +31 -0
  64. data/lib/zm/client/document/documents_collection.rb +93 -0
  65. data/lib/zm/client/document.rb +5 -0
  66. data/lib/zm/client/domain/domain.rb +74 -0
  67. data/lib/zm/client/domain/domains_builder.rb +32 -0
  68. data/lib/zm/client/domain/domains_collection.rb +36 -0
  69. data/lib/zm/client/domain.rb +5 -0
  70. data/lib/zm/client/folder/folder.rb +215 -0
  71. data/lib/zm/client/folder/folder_grant.rb +58 -0
  72. data/lib/zm/client/folder/folder_retention_policy.rb +48 -0
  73. data/lib/zm/client/folder/folders_builder.rb +58 -0
  74. data/lib/zm/client/folder/folders_collection.rb +70 -0
  75. data/lib/zm/client/folder/mod_document_folder.rb +17 -0
  76. data/lib/zm/client/folder.rb +8 -0
  77. data/lib/zm/client/identity/identities_builder.rb +25 -0
  78. data/lib/zm/client/identity/identities_collection.rb +26 -0
  79. data/lib/zm/client/identity/identity.rb +75 -0
  80. data/lib/zm/client/identity.rb +5 -0
  81. data/lib/zm/client/license/license.rb +29 -0
  82. data/lib/zm/client/license/licenses_collection.rb +28 -0
  83. data/lib/zm/client/license.rb +4 -0
  84. data/lib/zm/client/message/message.rb +225 -0
  85. data/lib/zm/client/message/messages_builder.rb +31 -0
  86. data/lib/zm/client/message/messages_collection.rb +111 -0
  87. data/lib/zm/client/message.rb +5 -0
  88. data/lib/zm/client/mountpoint/mountpoint.rb +95 -0
  89. data/lib/zm/client/mountpoint/mountpoints_builder.rb +38 -0
  90. data/lib/zm/client/mountpoint/mountpoints_collection.rb +61 -0
  91. data/lib/zm/client/mountpoint.rb +5 -0
  92. data/lib/zm/client/mta_queue/mta_queue.rb +60 -0
  93. data/lib/zm/client/mta_queue/mta_queues_builder.rb +26 -0
  94. data/lib/zm/client/mta_queue/mta_queues_collection.rb +95 -0
  95. data/lib/zm/client/mta_queue.rb +5 -0
  96. data/lib/zm/client/mta_queue_item/mta_queue_item.rb +51 -0
  97. data/lib/zm/client/mta_queue_item/mta_queue_items_builder.rb +27 -0
  98. data/lib/zm/client/mta_queue_item/mta_queue_items_collection.rb +99 -0
  99. data/lib/zm/client/mta_queue_item.rb +5 -0
  100. data/lib/zm/client/resource/resource.rb +149 -0
  101. data/lib/zm/client/resource/resources_builder.rb +29 -0
  102. data/lib/zm/client/resource/resources_collection.rb +41 -0
  103. data/lib/zm/client/resource.rb +5 -0
  104. data/lib/zm/client/search_folder/search_folder.rb +63 -0
  105. data/lib/zm/client/search_folder/search_folders_builder.rb +26 -0
  106. data/lib/zm/client/search_folder/search_folders_collection.rb +28 -0
  107. data/lib/zm/client/search_folder.rb +5 -0
  108. data/lib/zm/client/server/server.rb +516 -0
  109. data/lib/zm/client/server/servers_builder.rb +26 -0
  110. data/lib/zm/client/server/servers_collection.rb +37 -0
  111. data/lib/zm/client/server.rb +5 -0
  112. data/lib/zm/client/share/share.rb +60 -0
  113. data/lib/zm/client/share/shares_builder.rb +23 -0
  114. data/lib/zm/client/share/shares_collection.rb +48 -0
  115. data/lib/zm/client/share.rb +5 -0
  116. data/lib/zm/client/signature/signature.rb +62 -0
  117. data/lib/zm/client/signature/signature_jsns_builder.rb +29 -0
  118. data/lib/zm/client/signature/signatures_builder.rb +26 -0
  119. data/lib/zm/client/signature/signatures_collection.rb +28 -0
  120. data/lib/zm/client/signature.rb +6 -0
  121. data/lib/zm/client/tag/tag.rb +45 -0
  122. data/lib/zm/client/tag/tags_builder.rb +25 -0
  123. data/lib/zm/client/tag/tags_collection.rb +26 -0
  124. data/lib/zm/client/tag.rb +5 -0
  125. data/lib/zm/client/task/task.rb +74 -0
  126. data/lib/zm/client/task/tasks_builder.rb +31 -0
  127. data/lib/zm/client/task/tasks_collection.rb +100 -0
  128. data/lib/zm/client/task.rb +5 -0
  129. data/lib/zm/client/upload/upload.rb +154 -0
  130. data/lib/zm/client/upload.rb +3 -0
  131. data/lib/zm/client/version.rb +18 -0
  132. data/lib/zm/client.rb +5 -0
  133. data/lib/zm/modules/common/account_common.rb +71 -0
  134. data/lib/zm/modules/common/cos_common.rb +463 -0
  135. data/lib/zm/modules/common/dl_common.rb +33 -0
  136. data/lib/zm/modules/common/identity_common.rb +19 -0
  137. data/lib/zm/modules/common/resource_common.rb +59 -0
  138. data/lib/zm/modules/common/signature_common.rb +16 -0
  139. data/lib/zm/modules/common/zimbra-attrs.json +1 -0
  140. data/lib/zm/utils/thread_pool.rb +72 -0
  141. data/lib/zm-ruby-client.rb +1 -0
  142. data/test/accounts.rb +62 -0
  143. data/test/cluster_config.rb +30 -0
  144. data/test/coses.rb +26 -0
  145. data/test/domains.rb +62 -0
  146. data/zm-ruby-client.gemspec +24 -0
  147. metadata +243 -0
@@ -0,0 +1,516 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'zm/client/backup'
4
+ require 'zm/client/mta_queue'
5
+
6
+ module Zm
7
+ module Client
8
+ # objectClass: zimbraServer
9
+ class Server < Base::AdminObject
10
+
11
+ INSTANCE_VARIABLE_KEYS = %i[
12
+ zimbraActiveSyncEhcacheExpiration
13
+ zimbraActiveSyncEhcacheHeapSize
14
+ zimbraActiveSyncEhcacheMaxDiskSize
15
+ zimbraAdminImapImportNumThreads
16
+ zimbraAdminPort
17
+ zimbraAdminProxyPort
18
+ zimbraAdminSieveFeatureVariablesEnabled
19
+ zimbraAdminURL
20
+ zimbraAmavisDSPAMEnabled
21
+ zimbraAmavisEnableDKIMVerification
22
+ zimbraAmavisFinalSpamDestiny
23
+ zimbraAmavisLogLevel
24
+ zimbraAmavisMaxServers
25
+ zimbraAmavisOriginatingBypassSA
26
+ zimbraAmavisSALogLevel
27
+ zimbraAntispamExtractionBatchDelay
28
+ zimbraAntispamExtractionBatchSize
29
+ zimbraAttachmentsIndexedTextLimit
30
+ zimbraAuthTokenNotificationInterval
31
+ zimbraAutoProvPollingInterval
32
+ zimbraBackupAutoGroupedInterval
33
+ zimbraBackupAutoGroupedNumGroups
34
+ zimbraBackupAutoGroupedThrottled
35
+ zimbraBackupMinFreeSpace
36
+ zimbraBackupMode
37
+ zimbraBackupReportEmailRecipients
38
+ zimbraBackupReportEmailSender
39
+ zimbraBackupReportEmailSubjectPrefix
40
+ zimbraBackupSkipBlobs
41
+ zimbraBackupSkipHsmBlobs
42
+ zimbraBackupSkipSearchIndex
43
+ zimbraBackupTarget
44
+ zimbraCBPolicydAccessControlEnabled
45
+ zimbraCBPolicydAccountingEnabled
46
+ zimbraCBPolicydAmavisEnabled
47
+ zimbraCBPolicydBindPort
48
+ zimbraCBPolicydBypassMode
49
+ zimbraCBPolicydBypassTimeout
50
+ zimbraCBPolicydCheckHeloEnabled
51
+ zimbraCBPolicydCheckSPFEnabled
52
+ zimbraCBPolicydGreylistingBlacklistMsg
53
+ zimbraCBPolicydGreylistingDeferMsg
54
+ zimbraCBPolicydGreylistingEnabled
55
+ zimbraCBPolicydGreylistingTrainingEnabled
56
+ zimbraCBPolicydLogLevel
57
+ zimbraCBPolicydMaxRequests
58
+ zimbraCBPolicydMaxServers
59
+ zimbraCBPolicydMaxSpareServers
60
+ zimbraCBPolicydMinServers
61
+ zimbraCBPolicydMinSpareServers
62
+ zimbraCBPolicydQuotasEnabled
63
+ zimbraCBPolicydTimeoutBusy
64
+ zimbraCBPolicydTimeoutIdle
65
+ zimbraCalendarCalDavClearTextPasswordEnabled
66
+ zimbraCalendarCalDavDefaultCalendarId
67
+ zimbraCalendarRecurrenceDailyMaxDays
68
+ zimbraCalendarRecurrenceMaxInstances
69
+ zimbraCalendarRecurrenceMonthlyMaxMonths
70
+ zimbraCalendarRecurrenceOtherFrequencyMaxYears
71
+ zimbraCalendarRecurrenceWeeklyMaxWeeks
72
+ zimbraCalendarRecurrenceYearlyMaxYears
73
+ zimbraChatAllowUnencryptedPassword
74
+ zimbraChatServiceEnabled
75
+ zimbraChatXmppPort
76
+ zimbraChatXmppSslPort
77
+ zimbraChatXmppSslPortEnabled
78
+ zimbraClamAVBindAddress
79
+ zimbraClamAVDatabaseMirror
80
+ zimbraClamAVListenPort
81
+ zimbraClamAVMaxThreads
82
+ zimbraClamAVSafeBrowsing
83
+ zimbraClusterType
84
+ zimbraConfiguredServerIDForBlobDirEnabled
85
+ zimbraContactHiddenAttributes
86
+ zimbraContactRankingTableRefreshInterval
87
+ zimbraContactSearchDecomposition
88
+ zimbraConvertPoolTimeout
89
+ zimbraConvertdURL
90
+ zimbraCreateTimestamp
91
+ zimbraDNSTCPUpstream
92
+ zimbraDNSUseTCP
93
+ zimbraDNSUseUDP
94
+ zimbraDatabaseSlowSqlThreshold
95
+ zimbraEmptyFolderOpTimeout
96
+ zimbraExtensionBindPort
97
+ zimbraExternalAccountStatusCheckInterval
98
+ zimbraFeatureContactBackupFrequency
99
+ zimbraFeatureContactBackupLifeTime
100
+ zimbraFileUploadMaxSize
101
+ zimbraFreebusyPropagationRetryInterval
102
+ zimbraHsmAge
103
+ zimbraHsmBatchSize
104
+ zimbraHsmMovePreviousRevisions
105
+ zimbraHsmPolicy
106
+ zimbraHttpCompressionEnabled
107
+ zimbraHttpConnectorMaxIdleTimeMillis
108
+ zimbraHttpContextPathBasedThreadPoolBalancingFilterRules
109
+ zimbraHttpDebugHandlerEnabled
110
+ zimbraHttpDosFilterDelayMillis
111
+ zimbraHttpDosFilterMaxRequestsPerSec
112
+ zimbraHttpHeaderCacheSize
113
+ zimbraHttpMaxFormContentSize
114
+ zimbraHttpNumThreads
115
+ zimbraHttpOutputBufferSize
116
+ zimbraHttpRequestHeaderSize
117
+ zimbraHttpResponseHeaderSize
118
+ zimbraHttpSSLNumThreads
119
+ zimbraHttpThreadPoolMaxIdleTimeMillis
120
+ zimbraHttpThrottleSafeIPs
121
+ zimbraIPMode
122
+ zimbraId
123
+ zimbraImapActiveSessionEhcacheMaxDiskSize
124
+ zimbraImapBindOnStartup
125
+ zimbraImapBindPort
126
+ zimbraImapCleartextLoginEnabled
127
+ zimbraImapDisplayMailFoldersOnly
128
+ zimbraImapExposeVersionOnBanner
129
+ zimbraImapInactiveSessionCacheMaxDiskSize
130
+ zimbraImapInactiveSessionEhcacheMaxDiskSize
131
+ zimbraImapInactiveSessionEhcacheSize
132
+ zimbraImapLoadBalancingAlgorithm
133
+ zimbraImapMaxConnections
134
+ zimbraImapMaxRequestSize
135
+ zimbraImapNumThreads
136
+ zimbraImapProxyBindPort
137
+ zimbraImapSSLBindOnStartup
138
+ zimbraImapSSLBindPort
139
+ zimbraImapSSLProxyBindPort
140
+ zimbraImapSSLServerEnabled
141
+ zimbraImapSaslGssapiEnabled
142
+ zimbraImapServerEnabled
143
+ zimbraImapShutdownGraceSeconds
144
+ zimbraInvalidLoginFilterDelayInMinBetwnReqBeforeReinstating
145
+ zimbraInvalidLoginFilterMaxFailedLogin
146
+ zimbraInvalidLoginFilterMaxSizeOfFailedIpDb
147
+ zimbraInvalidLoginFilterReinstateIpTaskIntervalInMin
148
+ zimbraItemActionBatchSize
149
+ zimbraLastPurgeMaxDuration
150
+ zimbraLdapGentimeFractionalSecondsEnabled
151
+ zimbraLmtpBindOnStartup
152
+ zimbraLmtpBindPort
153
+ zimbraLmtpExposeVersionOnBanner
154
+ zimbraLmtpLHLORequired
155
+ zimbraLmtpNumThreads
156
+ zimbraLmtpPermanentFailureWhenOverQuota
157
+ zimbraLmtpServerEnabled
158
+ zimbraLmtpShutdownGraceSeconds
159
+ zimbraLogToSyslog
160
+ zimbraLowestSupportedAuthVersion
161
+ zimbraMailClearTextPasswordEnabled
162
+ zimbraMailContentMaxSize
163
+ zimbraMailDiskStreamingThreshold
164
+ zimbraMailEmptyFolderBatchSize
165
+ zimbraMailEmptyFolderBatchThreshold
166
+ zimbraMailFileDescriptorBufferSize
167
+ zimbraMailFileDescriptorCacheSize
168
+ zimbraMailKeepOutWebCrawlers
169
+ zimbraMailLocalBind
170
+ zimbraMailMode
171
+ zimbraMailPort
172
+ zimbraMailProxyMaxFails
173
+ zimbraMailProxyPort
174
+ zimbraMailProxyReconnectTimeout
175
+ zimbraMailPurgeBatchSize
176
+ zimbraMailPurgeSleepInterval
177
+ zimbraMailRedirectSetEnvelopeSender
178
+ zimbraMailReferMode
179
+ zimbraMailSSLClientCertMode
180
+ zimbraMailSSLClientCertOCSPEnabled
181
+ zimbraMailSSLClientCertPort
182
+ zimbraMailSSLPort
183
+ zimbraMailSSLProxyClientCertPort
184
+ zimbraMailSSLProxyPort
185
+ zimbraMailTrustedIP
186
+ zimbraMailURL
187
+ zimbraMailUncompressedCacheMaxBytes
188
+ zimbraMailUncompressedCacheMaxFiles
189
+ zimbraMailUseDirectBuffers
190
+ zimbraMailboxMoveFailedCleanupTaskInterval
191
+ zimbraMailboxMoveSkipBlobs
192
+ zimbraMailboxMoveSkipHsmBlobs
193
+ zimbraMailboxMoveSkipSearchIndex
194
+ zimbraMailboxMoveTempDir
195
+ zimbraMailboxThrottleReapInterval
196
+ zimbraMailboxdSSLProtocols
197
+ zimbraMailboxdSSLRenegotiationAllowed
198
+ zimbraMemcachedBindPort
199
+ zimbraMemcachedClientBinaryProtocolEnabled
200
+ zimbraMemcachedClientExpirySeconds
201
+ zimbraMemcachedClientHashAlgorithm
202
+ zimbraMemcachedClientTimeoutMillis
203
+ zimbraMessageCacheSize
204
+ zimbraMessageChannelEnabled
205
+ zimbraMessageChannelPort
206
+ zimbraMilterBindPort
207
+ zimbraMilterMaxConnections
208
+ zimbraMilterNumThreads
209
+ zimbraMilterServerEnabled
210
+ zimbraMobileMaxMessageSize
211
+ zimbraMobileMetadataRetentionPolicy
212
+ zimbraMtaAddressVerifyNegativeRefreshTime
213
+ zimbraMtaAddressVerifyPollCount
214
+ zimbraMtaAddressVerifyPollDelay
215
+ zimbraMtaAddressVerifyPositiveRefreshTime
216
+ zimbraMtaAliasMaps
217
+ zimbraMtaAlwaysAddMissingHeaders
218
+ zimbraMtaAntiSpamLockMethod
219
+ zimbraMtaAuthEnabled
220
+ zimbraMtaAuthPort
221
+ zimbraMtaAuthTarget
222
+ zimbraMtaBounceNoticeRecipient
223
+ zimbraMtaBounceQueueLifetime
224
+ zimbraMtaBrokenSaslAuthClients
225
+ zimbraMtaCanonicalMaps
226
+ zimbraMtaCommandDirectory
227
+ zimbraMtaDaemonDirectory
228
+ zimbraMtaDefaultProcessLimit
229
+ zimbraMtaDelayWarningTime
230
+ zimbraMtaDnsLookupsEnabled
231
+ zimbraMtaEnableSmtpdPolicyd
232
+ zimbraMtaHeaderChecks
233
+ zimbraMtaHopcountLimit
234
+ zimbraMtaInFlowDelay
235
+ zimbraMtaLmdbMapSize
236
+ zimbraMtaLmtpConnectionCacheTimeLimit
237
+ zimbraMtaLmtpHostLookup
238
+ zimbraMtaLmtpTlsCiphers
239
+ zimbraMtaLmtpTlsLoglevel
240
+ zimbraMtaLmtpTlsMandatoryCiphers
241
+ zimbraMtaLmtpTlsMandatoryProtocols
242
+ zimbraMtaLmtpTlsProtocols
243
+ zimbraMtaLmtpTlsSecurityLevel
244
+ zimbraMtaMailqPath
245
+ zimbraMtaManpageDirectory
246
+ zimbraMtaMaxUse
247
+ zimbraMtaMaximalBackoffTime
248
+ zimbraMtaMaximalQueueLifetime
249
+ zimbraMtaMilterCommandTimeout
250
+ zimbraMtaMilterConnectTimeout
251
+ zimbraMtaMilterContentTimeout
252
+ zimbraMtaMilterDefaultAction
253
+ zimbraMtaMinimalBackoffTime
254
+ zimbraMtaMyDestination
255
+ zimbraMtaMyNetworks
256
+ zimbraMtaNewaliasesPath
257
+ zimbraMtaNotifyClasses
258
+ zimbraMtaPolicyTimeLimit
259
+ zimbraMtaPostscreenAccessList
260
+ zimbraMtaPostscreenBareNewlineAction
261
+ zimbraMtaPostscreenBareNewlineEnable
262
+ zimbraMtaPostscreenBareNewlineTTL
263
+ zimbraMtaPostscreenBlacklistAction
264
+ zimbraMtaPostscreenCacheCleanupInterval
265
+ zimbraMtaPostscreenCacheRetentionTime
266
+ zimbraMtaPostscreenCommandCountLimit
267
+ zimbraMtaPostscreenDnsblAction
268
+ zimbraMtaPostscreenDnsblMaxTTL
269
+ zimbraMtaPostscreenDnsblMinTTL
270
+ zimbraMtaPostscreenDnsblTTL
271
+ zimbraMtaPostscreenDnsblThreshold
272
+ zimbraMtaPostscreenDnsblTimeout
273
+ zimbraMtaPostscreenDnsblWhitelistThreshold
274
+ zimbraMtaPostscreenGreetAction
275
+ zimbraMtaPostscreenGreetTTL
276
+ zimbraMtaPostscreenNonSmtpCommandAction
277
+ zimbraMtaPostscreenNonSmtpCommandEnable
278
+ zimbraMtaPostscreenNonSmtpCommandTTL
279
+ zimbraMtaPostscreenPipeliningAction
280
+ zimbraMtaPostscreenPipeliningEnable
281
+ zimbraMtaPostscreenPipeliningTTL
282
+ zimbraMtaPostscreenWatchdogTimeout
283
+ zimbraMtaPostscreenWhitelistInterfaces
284
+ zimbraMtaPropagateUnmatchedExtensions
285
+ zimbraMtaQueueDirectory
286
+ zimbraMtaQueueRunDelay
287
+ zimbraMtaRestriction
288
+ zimbraMtaSaslAuthEnable
289
+ zimbraMtaSaslSmtpdMechList
290
+ zimbraMtaSendmailPath
291
+ zimbraMtaSmtpCnameOverridesServername
292
+ zimbraMtaSmtpDnsSupportLevel
293
+ zimbraMtaSmtpHeloName
294
+ zimbraMtaSmtpSaslAuthEnable
295
+ zimbraMtaSmtpSaslSecurityOptions
296
+ zimbraMtaSmtpTlsCiphers
297
+ zimbraMtaSmtpTlsDaneInsecureMXPolicy
298
+ zimbraMtaSmtpTlsLoglevel
299
+ zimbraMtaSmtpTlsMandatoryCiphers
300
+ zimbraMtaSmtpTlsMandatoryProtocols
301
+ zimbraMtaSmtpTlsProtocols
302
+ zimbraMtaSmtpTlsSecurityLevel
303
+ zimbraMtaSmtpTransportRateDelay
304
+ zimbraMtaSmtpdBanner
305
+ zimbraMtaSmtpdClientAuthRateLimit
306
+ zimbraMtaSmtpdClientPortLogging
307
+ zimbraMtaSmtpdClientRestrictions
308
+ zimbraMtaSmtpdDataRestrictions
309
+ zimbraMtaSmtpdErrorSleepTime
310
+ zimbraMtaSmtpdHardErrorLimit
311
+ zimbraMtaSmtpdHeloRequired
312
+ zimbraMtaSmtpdProxyTimeout
313
+ zimbraMtaSmtpdRejectUnlistedRecipient
314
+ zimbraMtaSmtpdRejectUnlistedSender
315
+ zimbraMtaSmtpdSaslAuthenticatedHeader
316
+ zimbraMtaSmtpdSaslSecurityOptions
317
+ zimbraMtaSmtpdSaslTlsSecurityOptions
318
+ zimbraMtaSmtpdSoftErrorLimit
319
+ zimbraMtaSmtpdTlsAskCcert
320
+ zimbraMtaSmtpdTlsCcertVerifydepth
321
+ zimbraMtaSmtpdTlsCiphers
322
+ zimbraMtaSmtpdTlsLoglevel
323
+ zimbraMtaSmtpdTlsMandatoryCiphers
324
+ zimbraMtaSmtpdTlsMandatoryProtocols
325
+ zimbraMtaSmtpdTlsProtocols
326
+ zimbraMtaSmtpdTlsReceivedHeader
327
+ zimbraMtaSmtpdVirtualTransport
328
+ zimbraMtaStpdSoftErrorLimit
329
+ zimbraMtaTlsAppendDefaultCA
330
+ zimbraMtaTlsAuthOnly
331
+ zimbraMtaTlsSecurityLevel
332
+ zimbraMtaTransportMaps
333
+ zimbraMtaUnverifiedRecipientDeferCode
334
+ zimbraMtaVirtualAliasDomains
335
+ zimbraMtaVirtualAliasExpansionLimit
336
+ zimbraMtaVirtualAliasMaps
337
+ zimbraMtaVirtualMailboxDomains
338
+ zimbraMtaVirtualMailboxMaps
339
+ zimbraNetworkAdminEnabled
340
+ zimbraNetworkAdminNGEnabled
341
+ zimbraNetworkMobileNGEnabled
342
+ zimbraNetworkModulesNGEnabled
343
+ zimbraNotebookFolderCacheSize
344
+ zimbraNotebookMaxCachedTemplatesPerFolder
345
+ zimbraNotebookPageCacheSize
346
+ zimbraNotifyBindPort
347
+ zimbraNotifySSLBindPort
348
+ zimbraNotifySSLServerEnabled
349
+ zimbraNotifyServerEnabled
350
+ zimbraOpenImapFolderRequestChunkSize
351
+ zimbraOpenidConsumerStatelessModeEnabled
352
+ zimbraPop3BindOnStartup
353
+ zimbraPop3BindPort
354
+ zimbraPop3CleartextLoginEnabled
355
+ zimbraPop3ExposeVersionOnBanner
356
+ zimbraPop3MaxConnections
357
+ zimbraPop3NumThreads
358
+ zimbraPop3ProxyBindPort
359
+ zimbraPop3SSLBindOnStartup
360
+ zimbraPop3SSLBindPort
361
+ zimbraPop3SSLProxyBindPort
362
+ zimbraPop3SSLServerEnabled
363
+ zimbraPop3SaslGssapiEnabled
364
+ zimbraPop3ServerEnabled
365
+ zimbraPop3ShutdownGraceSeconds
366
+ zimbraPrevFoldersToTrackMax
367
+ zimbraRedoLogArchiveDir
368
+ zimbraRedoLogCrashRecoveryLookbackSec
369
+ zimbraRedoLogDeleteOnRollover
370
+ zimbraRedoLogEnabled
371
+ zimbraRedoLogFsyncIntervalMS
372
+ zimbraRedoLogLogPath
373
+ zimbraRedoLogRolloverFileSizeKB
374
+ zimbraRedoLogRolloverHardMaxFileSizeKB
375
+ zimbraRedoLogRolloverMinFileAge
376
+ zimbraRemoteImapBindPort
377
+ zimbraRemoteImapSSLBindPort
378
+ zimbraRemoteImapSSLServerEnabled
379
+ zimbraRemoteImapServerEnabled
380
+ zimbraRemoteManagementCommand
381
+ zimbraRemoteManagementPort
382
+ zimbraRemoteManagementPrivateKeyPath
383
+ zimbraRemoteManagementUser
384
+ zimbraReverseProxyAcceptMutex
385
+ zimbraReverseProxyAdminEnabled
386
+ zimbraReverseProxyAvailableLookupTargets
387
+ zimbraReverseProxyClientCertMode
388
+ zimbraReverseProxyConnectTimeout
389
+ zimbraReverseProxyDnsLookupInServerEnabled
390
+ zimbraReverseProxyExactServerVersionCheck
391
+ zimbraReverseProxyGenConfigPerVirtualHostname
392
+ zimbraReverseProxyHttpEnabled
393
+ zimbraReverseProxyIPThrottleWhitelistTime
394
+ zimbraReverseProxyImapEnabledCapability
395
+ zimbraReverseProxyImapExposeVersionOnBanner
396
+ zimbraReverseProxyImapSaslGssapiEnabled
397
+ zimbraReverseProxyImapSaslPlainEnabled
398
+ zimbraReverseProxyImapStartTlsMode
399
+ zimbraReverseProxyInactivityTimeout
400
+ zimbraReverseProxyLogLevel
401
+ zimbraReverseProxyLookupTarget
402
+ zimbraReverseProxyMailEnabled
403
+ zimbraReverseProxyMailImapEnabled
404
+ zimbraReverseProxyMailImapsEnabled
405
+ zimbraReverseProxyMailPop3Enabled
406
+ zimbraReverseProxyMailPop3sEnabled
407
+ zimbraReverseProxyPassErrors
408
+ zimbraReverseProxyPop3EnabledCapability
409
+ zimbraReverseProxyPop3ExposeVersionOnBanner
410
+ zimbraReverseProxyPop3SaslGssapiEnabled
411
+ zimbraReverseProxyPop3SaslPlainEnabled
412
+ zimbraReverseProxyPop3StartTlsMode
413
+ zimbraReverseProxyRouteLookupTimeout
414
+ zimbraReverseProxyRouteLookupTimeoutCache
415
+ zimbraReverseProxySNIEnabled
416
+ zimbraReverseProxySSLCiphers
417
+ zimbraReverseProxySSLProtocols
418
+ zimbraReverseProxySSLSessionCacheSize
419
+ zimbraReverseProxySSLSessionTimeout
420
+ zimbraReverseProxySSLToUpstreamEnabled
421
+ zimbraReverseProxyStrictServerNameEnabled
422
+ zimbraReverseProxyUpstreamConnectTimeout
423
+ zimbraReverseProxyUpstreamEwsServers
424
+ zimbraReverseProxyUpstreamFairShmSize
425
+ zimbraReverseProxyUpstreamLoginServers
426
+ zimbraReverseProxyUpstreamPollingTimeout
427
+ zimbraReverseProxyUpstreamReadTimeout
428
+ zimbraReverseProxyUpstreamSendTimeout
429
+ zimbraReverseProxyWorkerConnections
430
+ zimbraReverseProxyWorkerProcesses
431
+ zimbraReverseProxyXmppBoshEnabled
432
+ zimbraReverseProxyXmppBoshLocalHttpBindURL
433
+ zimbraReverseProxyXmppBoshSSL
434
+ zimbraReverseProxyXmppBoshTimeout
435
+ zimbraReverseProxyZmlookupCachingEnabled
436
+ zimbraSSLCertificate
437
+ zimbraSSLExcludeCipherSuites
438
+ zimbraSSLPrivateKey
439
+ zimbraSaslGssapiRequiresTls
440
+ zimbraScheduledTaskNumThreads
441
+ zimbraServerVersion
442
+ zimbraServerVersionBuild
443
+ zimbraServerVersionMajor
444
+ zimbraServerVersionMicro
445
+ zimbraServerVersionMinor
446
+ zimbraServerVersionType
447
+ zimbraServiceEnabled
448
+ zimbraServiceHostname
449
+ zimbraServiceInstalled
450
+ zimbraShareNotificationMtaAuthRequired
451
+ zimbraShareNotificationMtaConnectionType
452
+ zimbraShareNotificationMtaEnabled
453
+ zimbraSharingUpdatePublishInterval
454
+ zimbraShortTermAllEffectiveRightsCacheExpiration
455
+ zimbraShortTermAllEffectiveRightsCacheSize
456
+ zimbraShortTermGranteeCacheExpiration
457
+ zimbraShortTermGranteeCacheSize
458
+ zimbraSieveFeatureVariablesEnabled
459
+ zimbraSieveRejectEnabled
460
+ zimbraSmimeOCSPEnabled
461
+ zimbraSmtpHostname
462
+ zimbraSmtpPort
463
+ zimbraSmtpSendPartial
464
+ zimbraSmtpTimeout
465
+ zimbraSoapExposeVersion
466
+ zimbraSoapRequestMaxSize
467
+ zimbraSpellAvailableDictionary
468
+ zimbraSpellCheckURL
469
+ zimbraSshPublicKey
470
+ zimbraStatThreadNamePrefix
471
+ zimbraTableMaintenanceGrowthFactor
472
+ zimbraTableMaintenanceMaxRows
473
+ zimbraTableMaintenanceMinRows
474
+ zimbraTableMaintenanceOperation
475
+ zimbraThreadMonitorEnabled
476
+ zimbraVirusDefinitionsUpdateFrequency
477
+ zimbraWebGzipEnabled
478
+ zimbraXMPPEnabled
479
+ zimbraZimletJspEnabled
480
+ ]
481
+ attr_accessor *INSTANCE_VARIABLE_KEYS
482
+ attr_accessor :name, :id
483
+
484
+ def mta_queues
485
+ @mta_queues ||= mta_queues!
486
+ end
487
+
488
+ def mta_queues!
489
+ MtaQueuesCollection.new self
490
+ end
491
+
492
+ def backups
493
+ @backups ||= backups!
494
+ end
495
+
496
+ def backups!
497
+ BackupsCollection.new self
498
+ end
499
+
500
+ # def accounts
501
+ # @accounts ||= AccountsCollection.new @soap_admin_connector
502
+ # end
503
+
504
+ # def quotas
505
+ # # todo
506
+ # rep = @soap_admin_connector.get_quota_usage(name, 1)
507
+ # AccountsBuilder.new(@soap_admin_connector, rep).make
508
+ # end
509
+
510
+ # def quotas!
511
+ # @accounts = quotas
512
+ # # todo il faudrait merger quotas dans @accounts
513
+ # end
514
+ end
515
+ end
516
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zm
4
+ module Client
5
+ # class factory [servers]
6
+ class ServersBuilder < Base::ObjectsBuilder
7
+ def make
8
+ return [] if json_items.nil?
9
+
10
+ servers = json_items.map do |entry|
11
+ server = Server.new(@parent)
12
+ server.init_from_json(entry)
13
+ server
14
+ end
15
+
16
+ servers
17
+ end
18
+
19
+ private
20
+
21
+ def json_items
22
+ @json_items ||= @json[:Body][json_key][:server]
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zm
4
+ module Client
5
+ # Collection servers
6
+ class ServersCollection < Base::ObjectsCollection
7
+ def initialize(parent)
8
+ @parent = parent
9
+ # @service = ServerServices::MAILBOX
10
+ @service = nil
11
+ end
12
+
13
+ def find_by(hash)
14
+ rep = sac.get_server(hash.values.first, hash.keys.first)
15
+ entry = rep[:Body][:GetServerResponse][:server].first
16
+ server = Server.new(@parent)
17
+ server.init_from_json(entry)
18
+ server
19
+ end
20
+
21
+ def where(service)
22
+ @service = service
23
+ self
24
+ end
25
+
26
+ private
27
+
28
+ def build_response
29
+ ServersBuilder.new(@parent, make_query).make
30
+ end
31
+
32
+ def make_query
33
+ sac.get_all_servers(@service)
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'zm/client/server/server'
4
+ require 'zm/client/server/servers_builder'
5
+ require 'zm/client/server/servers_collection'
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zm
4
+ module Client
5
+ # class for account share
6
+ class Share < Base::AccountObject
7
+ INSTANCE_VARIABLE_KEYS = %i[
8
+ ownerId ownerEmail ownerName folderId folderUuid folderPath
9
+ view rights granteeType granteeId granteeName mid
10
+ ].freeze
11
+
12
+ attr_accessor(*INSTANCE_VARIABLE_KEYS)
13
+
14
+ def initialize(parent, json = nil)
15
+ @parent = parent
16
+ init_from_json(json) if json.is_a?(Hash)
17
+ yield(self) if block_given?
18
+ end
19
+
20
+ def concat
21
+ INSTANCE_VARIABLE_KEYS.map { |key| instance_variable_get(arrow_name(key)) }
22
+ end
23
+
24
+ def create!
25
+ options = { grant: { gt: granteeType, d: granteeName, perm: rights } }
26
+ @parent.sacc.folder_action(
27
+ @parent.token,
28
+ :grant,
29
+ folderId,
30
+ options
31
+ )
32
+ end
33
+
34
+ def create_mountpoint!(name = nil)
35
+ name ||= default_mountpoint_name
36
+ @parent.sacc.create_mountpoint(
37
+ @parent.token,
38
+ FolderDefault::ROOT[:id],
39
+ name,
40
+ @view,
41
+ @ownerId,
42
+ @folderId
43
+ )
44
+ end
45
+
46
+ def default_mountpoint_name
47
+ folder_name = @folderPath[1..-1].split('/').last
48
+ owner_name = (@ownerName || @ownerEmail).tr('/', '-')
49
+ "#{folder_name} (#{owner_name})"
50
+ end
51
+
52
+ def init_from_json(json)
53
+ INSTANCE_VARIABLE_KEYS.each do |key|
54
+ var_name = "@#{key}"
55
+ instance_variable_set(var_name, json[key])
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zm
4
+ module Client
5
+ # class factory [shares]
6
+ class ShareBuilder < Base::ObjectsBuilder
7
+ def initialize(parent, json)
8
+ @parent = parent
9
+ @json = json
10
+ end
11
+
12
+ def make
13
+ root = @json[:Body][:GetShareInfoResponse][:share]
14
+ return [] if root.nil?
15
+
16
+ root = [root] unless root.is_a?(Array)
17
+ root.map do |s|
18
+ Share.new(@parent, s)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end