001/*
002 * The contents of this file are subject to the terms of the Common Development and
003 * Distribution License (the License). You may not use this file except in compliance with the
004 * License.
005 *
006 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
007 * specific language governing permission and limitations under the License.
008 *
009 * When distributing Covered Software, include this CDDL Header Notice in each file and include
010 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
011 * Header, with the fields enclosed by brackets [] replaced by your own identifying
012 * information: "Portions Copyright [year] [name of copyright owner]".
013 *
014 * Copyright 2008 Sun Microsystems, Inc.
015 */
016package org.opends.server.admin.std.client;
017
018
019
020import java.net.InetAddress;
021import java.util.Collection;
022import java.util.SortedSet;
023import org.opends.server.admin.ConfigurationClient;
024import org.opends.server.admin.ManagedObjectDefinition;
025import org.opends.server.admin.PropertyException;
026import org.opends.server.admin.std.server.AdministrationConnectorCfg;
027
028
029
030/**
031 * A client-side interface for reading and modifying Administration
032 * Connector settings.
033 * <p>
034 * The Administration Connector is used to interact with
035 * administration tools using LDAP.
036 */
037public interface AdministrationConnectorCfgClient extends ConfigurationClient {
038
039  /**
040   * Get the configuration definition associated with this Administration Connector.
041   *
042   * @return Returns the configuration definition associated with this Administration Connector.
043   */
044  ManagedObjectDefinition<? extends AdministrationConnectorCfgClient, ? extends AdministrationConnectorCfg> definition();
045
046
047
048  /**
049   * Gets the "key-manager-provider" property.
050   * <p>
051   * Specifies the name of the key manager that is used with the
052   * Administration Connector .
053   *
054   * @return Returns the value of the "key-manager-provider" property.
055   */
056  String getKeyManagerProvider();
057
058
059
060  /**
061   * Sets the "key-manager-provider" property.
062   * <p>
063   * Specifies the name of the key manager that is used with the
064   * Administration Connector .
065   *
066   * @param value The value of the "key-manager-provider" property.
067   * @throws PropertyException
068   *           If the new value is invalid.
069   */
070  void setKeyManagerProvider(String value) throws PropertyException;
071
072
073
074  /**
075   * Gets the "listen-address" property.
076   * <p>
077   * Specifies the address or set of addresses on which this
078   * Administration Connector should listen for connections from LDAP
079   * clients.
080   * <p>
081   * Multiple addresses may be provided as separate values for this
082   * attribute. If no values are provided, then the Administration
083   * Connector listens on all interfaces.
084   *
085   * @return Returns the values of the "listen-address" property.
086   */
087  SortedSet<InetAddress> getListenAddress();
088
089
090
091  /**
092   * Sets the "listen-address" property.
093   * <p>
094   * Specifies the address or set of addresses on which this
095   * Administration Connector should listen for connections from LDAP
096   * clients.
097   * <p>
098   * Multiple addresses may be provided as separate values for this
099   * attribute. If no values are provided, then the Administration
100   * Connector listens on all interfaces.
101   *
102   * @param values The values of the "listen-address" property.
103   * @throws PropertyException
104   *           If one or more of the new values are invalid.
105   */
106  void setListenAddress(Collection<InetAddress> values) throws PropertyException;
107
108
109
110  /**
111   * Gets the "listen-port" property.
112   * <p>
113   * Specifies the port number on which the Administration Connector
114   * will listen for connections from clients.
115   * <p>
116   * Only a single port number may be provided.
117   *
118   * @return Returns the value of the "listen-port" property.
119   */
120  Integer getListenPort();
121
122
123
124  /**
125   * Sets the "listen-port" property.
126   * <p>
127   * Specifies the port number on which the Administration Connector
128   * will listen for connections from clients.
129   * <p>
130   * Only a single port number may be provided.
131   *
132   * @param value The value of the "listen-port" property.
133   * @throws PropertyException
134   *           If the new value is invalid.
135   */
136  void setListenPort(int value) throws PropertyException;
137
138
139
140  /**
141   * Gets the "ssl-cert-nickname" property.
142   * <p>
143   * Specifies the nicknames (also called the aliases) of the
144   * certificates that the Administration Connector should use when
145   * performing SSL communication. The property can be used multiple
146   * times (referencing different nicknames) when an RSA, a DSA, and an
147   * ECC based server certificate is used in parallel.
148   *
149   * @return Returns the values of the "ssl-cert-nickname" property.
150   */
151  SortedSet<String> getSSLCertNickname();
152
153
154
155  /**
156   * Sets the "ssl-cert-nickname" property.
157   * <p>
158   * Specifies the nicknames (also called the aliases) of the
159   * certificates that the Administration Connector should use when
160   * performing SSL communication. The property can be used multiple
161   * times (referencing different nicknames) when an RSA, a DSA, and an
162   * ECC based server certificate is used in parallel.
163   *
164   * @param values The values of the "ssl-cert-nickname" property.
165   * @throws PropertyException
166   *           If one or more of the new values are invalid.
167   */
168  void setSSLCertNickname(Collection<String> values) throws PropertyException;
169
170
171
172  /**
173   * Gets the "ssl-cipher-suite" property.
174   * <p>
175   * Specifies the names of the SSL cipher suites that are allowed for
176   * use in SSL communication.
177   *
178   * @return Returns the values of the "ssl-cipher-suite" property.
179   */
180  SortedSet<String> getSSLCipherSuite();
181
182
183
184  /**
185   * Sets the "ssl-cipher-suite" property.
186   * <p>
187   * Specifies the names of the SSL cipher suites that are allowed for
188   * use in SSL communication.
189   *
190   * @param values The values of the "ssl-cipher-suite" property.
191   * @throws PropertyException
192   *           If one or more of the new values are invalid.
193   */
194  void setSSLCipherSuite(Collection<String> values) throws PropertyException;
195
196
197
198  /**
199   * Gets the "ssl-protocol" property.
200   * <p>
201   * Specifies the names of the SSL protocols that are allowed for use
202   * in SSL or StartTLS communication.
203   *
204   * @return Returns the values of the "ssl-protocol" property.
205   */
206  SortedSet<String> getSSLProtocol();
207
208
209
210  /**
211   * Sets the "ssl-protocol" property.
212   * <p>
213   * Specifies the names of the SSL protocols that are allowed for use
214   * in SSL or StartTLS communication.
215   *
216   * @param values The values of the "ssl-protocol" property.
217   * @throws PropertyException
218   *           If one or more of the new values are invalid.
219   */
220  void setSSLProtocol(Collection<String> values) throws PropertyException;
221
222
223
224  /**
225   * Gets the "trust-manager-provider" property.
226   * <p>
227   * Specifies the name of the trust manager that is used with the
228   * Administration Connector .
229   *
230   * @return Returns the value of the "trust-manager-provider" property.
231   */
232  String getTrustManagerProvider();
233
234
235
236  /**
237   * Sets the "trust-manager-provider" property.
238   * <p>
239   * Specifies the name of the trust manager that is used with the
240   * Administration Connector .
241   *
242   * @param value The value of the "trust-manager-provider" property.
243   * @throws PropertyException
244   *           If the new value is invalid.
245   */
246  void setTrustManagerProvider(String value) throws PropertyException;
247
248}