001 /*
002 * CDDL HEADER START
003 *
004 * The contents of this file are subject to the terms of the
005 * Common Development and Distribution License, Version 1.0 only
006 * (the "License"). You may not use this file except in compliance
007 * with the License.
008 *
009 * You can obtain a copy of the license at
010 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
011 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
012 * See the License for the specific language governing permissions
013 * and limitations under the License.
014 *
015 * When distributing Covered Code, include this CDDL HEADER in each
016 * file and include the License file at
017 * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
018 * add the following below this CDDL HEADER, with the fields enclosed
019 * by brackets "[]" replaced with your own identifying information:
020 * Portions Copyright [yyyy] [name of copyright owner]
021 *
022 * CDDL HEADER END
023 *
024 *
025 * Copyright 2008 Sun Microsystems, Inc.
026 */
027 package org.opends.server.admin.std.client;
028
029
030
031 import java.util.Collection;
032 import java.util.SortedSet;
033 import org.opends.server.admin.IllegalPropertyValueException;
034 import org.opends.server.admin.ManagedObjectDefinition;
035 import org.opends.server.admin.std.meta.SNMPConnectionHandlerCfgDefn.SecurityLevel;
036 import org.opends.server.admin.std.server.SNMPConnectionHandlerCfg;
037
038
039
040 /**
041 * A client-side interface for reading and modifying SNMP Connection
042 * Handler settings.
043 * <p>
044 * The SNMP Connection Handler can be used to process SNMP requests to
045 * retrieve monitoring information described by the MIB 2605. Supported
046 * protocol are SNMP V1, V2c and V3.
047 */
048 public interface SNMPConnectionHandlerCfgClient extends ConnectionHandlerCfgClient {
049
050 /**
051 * Get the configuration definition associated with this SNMP Connection Handler.
052 *
053 * @return Returns the configuration definition associated with this SNMP Connection Handler.
054 */
055 ManagedObjectDefinition<? extends SNMPConnectionHandlerCfgClient, ? extends SNMPConnectionHandlerCfg> definition();
056
057
058
059 /**
060 * Gets the "allowed-manager" property.
061 * <p>
062 * Specifies the hosts of the managers to be granted the access
063 * rights. This property is required for SNMP v1 and v2 security
064 * configuration. An asterik (*) opens access to all managers.
065 *
066 * @return Returns the values of the "allowed-manager" property.
067 */
068 SortedSet<String> getAllowedManager();
069
070
071
072 /**
073 * Sets the "allowed-manager" property.
074 * <p>
075 * Specifies the hosts of the managers to be granted the access
076 * rights. This property is required for SNMP v1 and v2 security
077 * configuration. An asterik (*) opens access to all managers.
078 *
079 * @param values The values of the "allowed-manager" property.
080 * @throws IllegalPropertyValueException
081 * If one or more of the new values are invalid.
082 */
083 void setAllowedManager(Collection<String> values) throws IllegalPropertyValueException;
084
085
086
087 /**
088 * Gets the "allowed-user" property.
089 * <p>
090 * Specifies the users to be granted the access rights. This
091 * property is required for SNMP v3 security configuration. An
092 * asterik (*) opens access to all users.
093 *
094 * @return Returns the values of the "allowed-user" property.
095 */
096 SortedSet<String> getAllowedUser();
097
098
099
100 /**
101 * Sets the "allowed-user" property.
102 * <p>
103 * Specifies the users to be granted the access rights. This
104 * property is required for SNMP v3 security configuration. An
105 * asterik (*) opens access to all users.
106 *
107 * @param values The values of the "allowed-user" property.
108 * @throws IllegalPropertyValueException
109 * If one or more of the new values are invalid.
110 */
111 void setAllowedUser(Collection<String> values) throws IllegalPropertyValueException;
112
113
114
115 /**
116 * Gets the "community" property.
117 * <p>
118 * Specifies the v1,v2 community or the v3 context name allowed to
119 * access the MIB 2605 monitoring information or the USM MIB. The
120 * mapping between "community" and "context name" is set.
121 *
122 * @return Returns the value of the "community" property.
123 */
124 String getCommunity();
125
126
127
128 /**
129 * Sets the "community" property.
130 * <p>
131 * Specifies the v1,v2 community or the v3 context name allowed to
132 * access the MIB 2605 monitoring information or the USM MIB. The
133 * mapping between "community" and "context name" is set.
134 *
135 * @param value The value of the "community" property.
136 * @throws IllegalPropertyValueException
137 * If the new value is invalid.
138 */
139 void setCommunity(String value) throws IllegalPropertyValueException;
140
141
142
143 /**
144 * Gets the "java-class" property.
145 * <p>
146 * Specifies the fully-qualified name of the Java class that
147 * provides the SNMP Connection Handler implementation.
148 *
149 * @return Returns the value of the "java-class" property.
150 */
151 String getJavaClass();
152
153
154
155 /**
156 * Sets the "java-class" property.
157 * <p>
158 * Specifies the fully-qualified name of the Java class that
159 * provides the SNMP Connection Handler implementation.
160 *
161 * @param value The value of the "java-class" property.
162 * @throws IllegalPropertyValueException
163 * If the new value is invalid.
164 */
165 void setJavaClass(String value) throws IllegalPropertyValueException;
166
167
168
169 /**
170 * Gets the "listen-port" property.
171 * <p>
172 * Specifies the port number on which the SNMP Connection Handler
173 * will listen for connections from clients.
174 * <p>
175 * Only a single port number may be provided.
176 *
177 * @return Returns the value of the "listen-port" property.
178 */
179 Integer getListenPort();
180
181
182
183 /**
184 * Sets the "listen-port" property.
185 * <p>
186 * Specifies the port number on which the SNMP Connection Handler
187 * will listen for connections from clients.
188 * <p>
189 * Only a single port number may be provided.
190 *
191 * @param value The value of the "listen-port" property.
192 * @throws IllegalPropertyValueException
193 * If the new value is invalid.
194 */
195 void setListenPort(int value) throws IllegalPropertyValueException;
196
197
198
199 /**
200 * Gets the "opendmk-jarfile" property.
201 * <p>
202 * Indicates the OpenDMK runtime jar file location
203 *
204 * @return Returns the value of the "opendmk-jarfile" property.
205 */
206 String getOpendmkJarfile();
207
208
209
210 /**
211 * Sets the "opendmk-jarfile" property.
212 * <p>
213 * Indicates the OpenDMK runtime jar file location
214 *
215 * @param value The value of the "opendmk-jarfile" property.
216 * @throws IllegalPropertyValueException
217 * If the new value is invalid.
218 */
219 void setOpendmkJarfile(String value) throws IllegalPropertyValueException;
220
221
222
223 /**
224 * Gets the "registered-mbean" property.
225 * <p>
226 * Indicates whether the SNMP objects have to be registered in the
227 * Directory Server MBeanServer or not allowing to access SNMP
228 * Objects with RMI connector if enabled.
229 *
230 * @return Returns the value of the "registered-mbean" property.
231 */
232 boolean isRegisteredMbean();
233
234
235
236 /**
237 * Sets the "registered-mbean" property.
238 * <p>
239 * Indicates whether the SNMP objects have to be registered in the
240 * Directory Server MBeanServer or not allowing to access SNMP
241 * Objects with RMI connector if enabled.
242 *
243 * @param value The value of the "registered-mbean" property.
244 * @throws IllegalPropertyValueException
245 * If the new value is invalid.
246 */
247 void setRegisteredMbean(Boolean value) throws IllegalPropertyValueException;
248
249
250
251 /**
252 * Gets the "security-agent-file" property.
253 * <p>
254 * Specifies the USM security configuration to receive authenticated
255 * only SNMP requests.
256 *
257 * @return Returns the value of the "security-agent-file" property.
258 */
259 String getSecurityAgentFile();
260
261
262
263 /**
264 * Sets the "security-agent-file" property.
265 * <p>
266 * Specifies the USM security configuration to receive authenticated
267 * only SNMP requests.
268 *
269 * @param value The value of the "security-agent-file" property.
270 * @throws IllegalPropertyValueException
271 * If the new value is invalid.
272 */
273 void setSecurityAgentFile(String value) throws IllegalPropertyValueException;
274
275
276
277 /**
278 * Gets the "security-level" property.
279 * <p>
280 * Specifies the type of security level : NoAuthNoPriv : No security
281 * mechanisms activated, AuthNoPriv : Authentication activated with
282 * no privacy, AuthPriv : Authentication with privacy activated. This
283 * property id required for SNMP V3 security configuration.
284 *
285 * @return Returns the value of the "security-level" property.
286 */
287 SecurityLevel getSecurityLevel();
288
289
290
291 /**
292 * Sets the "security-level" property.
293 * <p>
294 * Specifies the type of security level : NoAuthNoPriv : No security
295 * mechanisms activated, AuthNoPriv : Authentication activated with
296 * no privacy, AuthPriv : Authentication with privacy activated. This
297 * property id required for SNMP V3 security configuration.
298 *
299 * @param value The value of the "security-level" property.
300 * @throws IllegalPropertyValueException
301 * If the new value is invalid.
302 */
303 void setSecurityLevel(SecurityLevel value) throws IllegalPropertyValueException;
304
305
306
307 /**
308 * Gets the "trap-port" property.
309 * <p>
310 * Specifies the port to use to send SNMP Traps.
311 *
312 * @return Returns the value of the "trap-port" property.
313 */
314 Integer getTrapPort();
315
316
317
318 /**
319 * Sets the "trap-port" property.
320 * <p>
321 * Specifies the port to use to send SNMP Traps.
322 *
323 * @param value The value of the "trap-port" property.
324 * @throws IllegalPropertyValueException
325 * If the new value is invalid.
326 */
327 void setTrapPort(int value) throws IllegalPropertyValueException;
328
329
330
331 /**
332 * Gets the "traps-community" property.
333 * <p>
334 * Specifies the community string that must be include in the traps
335 * sent to define managers (trap-destinations). This property is used
336 * in the context of SNMP v1, v2 and v3.
337 *
338 * @return Returns the value of the "traps-community" property.
339 */
340 String getTrapsCommunity();
341
342
343
344 /**
345 * Sets the "traps-community" property.
346 * <p>
347 * Specifies the community string that must be include in the traps
348 * sent to define managers (trap-destinations). This property is used
349 * in the context of SNMP v1, v2 and v3.
350 *
351 * @param value The value of the "traps-community" property.
352 * @throws IllegalPropertyValueException
353 * If the new value is invalid.
354 */
355 void setTrapsCommunity(String value) throws IllegalPropertyValueException;
356
357
358
359 /**
360 * Gets the "traps-destination" property.
361 * <p>
362 * Specifies the hosts to which V1 traps will be sent. V1 Traps are
363 * sent to every host listed.
364 * <p>
365 * If this list is empty, V1 traps are sent to "localhost". Each
366 * host in the list must be identifed by its name or complete IP
367 * Addess.
368 *
369 * @return Returns the values of the "traps-destination" property.
370 */
371 SortedSet<String> getTrapsDestination();
372
373
374
375 /**
376 * Sets the "traps-destination" property.
377 * <p>
378 * Specifies the hosts to which V1 traps will be sent. V1 Traps are
379 * sent to every host listed.
380 * <p>
381 * If this list is empty, V1 traps are sent to "localhost". Each
382 * host in the list must be identifed by its name or complete IP
383 * Addess.
384 *
385 * @param values The values of the "traps-destination" property.
386 * @throws IllegalPropertyValueException
387 * If one or more of the new values are invalid.
388 */
389 void setTrapsDestination(Collection<String> values) throws IllegalPropertyValueException;
390
391 }