This repository was archived by the owner on Jul 20, 2024. It is now read-only.
forked from splunk/splunk-sdk-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathOutputServer.java
More file actions
185 lines (167 loc) · 5.45 KB
/
OutputServer.java
File metadata and controls
185 lines (167 loc) · 5.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
/*
* Copyright 2012 Splunk, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"): you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package com.splunk;
/**
* The {@code OutputServer} class represents an output server, providing access
* to data-forwarding configurations.
*/
public class OutputServer extends Entity {
/**
* Class constructor.
*
* @param service The connected {@code Service} instance.
* @param path The output server endpoint.
*/
OutputServer(Service service, String path) {
super(service, path);
}
/**
* Returns the DNS name of the destination server for this connection.
*
* @return The destination host name.
*/
public String getDestHost() {
return getString("destHost", null);
}
/**
* Returns the IP address of the destination server for this connection.
*
* @return The IP address of the destination server.
*/
public String getDestIp() {
return getString("destIp", null);
}
/**
* Return the port on which the destination server is listening.
*
* @return The destination port.
*/
public int getDestPort() {
return getInteger("destPort", 0);
}
/**
* Returns the data distribution method used when two or more servers exist
* in the same forwarder group. Valid values are: "clone", "balance", and
* "autobalance".
*
* @return The data distribution method.
*/
public String getMethod() {
return getString("method");
}
/**
* Returns the port on the destination server where data is forwarded.
*
* @return The source port.
*/
public int getSourcePort() {
return getInteger("sourcePort", 0);
}
/**
* Returns the server connection status (usually "connect_done",
* "connect_fail", or "connect_try").
*
* @return The connection status.
*/
public String getStatus() {
return getString("status", null);
}
/**
* Sets the type of data distribution method when two or more servers
* exist in the same forwarder group. Valid values are: "clone", "balance",
* and "autobalance".
*
* @param method The data distribution method.
*/
public void setMethod(String method) {
setCacheValue("method", method);
}
/**
* Sets the alternate name to match in the remote server's SSL certificate.
*
* @param sslAltNameToCheck The alternate name.
*/
public void setSslAltNameToCheck(String sslAltNameToCheck) {
setCacheValue("sslAltNameToCheck", sslAltNameToCheck);
}
/**
* Sets the path to the client certificate. If a path is specified, the
* connection uses SSL.
*
* @param sslCertPath The path to the client certificate.
*/
public void setSslCertPath(String sslCertPath) {
setCacheValue("sslCertPath", sslCertPath);
}
/**
* Sets the SSL cipher in the form:
* {@code ALL:!aNULL:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM}
*
* @param sslCipher The SSL cipher.
*/
public void setSslCipher(String sslCipher) {
setCacheValue("sslCipher", sslCipher);
}
/**
* Sets the name against which to check the common name of the server's
* certificate. If there is no match, you can assume that Splunk is not
* authenticated against this server. You must set a value for this
* parameter if {@code SslVerifyServerCert} is {@code true}.
* @see #setSslVerifyServerCert
*
* @param sslCommonNameToCheck The SSL common name.
*/
public void setSslCommonNameToCheck(String sslCommonNameToCheck) {
setCacheValue("sslCommonNameToCheck", sslCommonNameToCheck);
}
/**
* Sets the password associated with the PEM file store.
*
* @param sslPassword The password.
*/
public void setSslPassword(String sslPassword) {
setCacheValue("sslPassword", sslPassword);
}
/**
* Sets the path to the root certificate authority file.
*
* @param sslRootCAPath The path to the root certificate authority file.
*/
public void setSslRootCAPath(String sslRootCAPath) {
setCacheValue("sslRootCAPath", sslRootCAPath);
}
/**
* Sets whether the server being connected to is authenticated.
* Both the common name and the alternate name of the server are checked
* for a match.
*
* @param sslVerifyServerCert {@code true} to determine whether the server
* is authenticated, {@code false} if not.
*/
public void setSslVerifyServerCert(boolean sslVerifyServerCert) {
setCacheValue("sslVerifyServerCert", sslVerifyServerCert);
}
/**
* Returns an object that contains all current connections to the output
* server.
*
* @return The {@code OutputServerAllConnections} object.
*/
public OutputServerAllConnections allConnections() {
return new OutputServerAllConnections(
service, path + "/allconnections");
}
}