/* * 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. */ namespace Splunk { /// /// The DeploymentServer class represents a Splunk deployment client, /// providing access to the configurations of all deployment servers. /// public class DeploymentServerClass : Entity { /// /// Initializes a new instance of the /// class. /// /// The connected service /// The path public DeploymentServerClass(Service service, string path) : base(service, path) { } /// /// Gets the list of the hosts that are excluded from this server class. /// This is a comma-separated list. /// public string Blacklist { get { return this.GetString("blacklist", null); } } /// /// Gets or sets a value indicating whether configuration lookups /// continue matching server classes, beyond the first match. /// public bool ContinueMatching { get { return this.GetBoolean("continueMatching", false); } set { this.SetCacheValue("continueMatching", value); } } /// /// Gets or sets the template endpoint URL. This endpoint refers to /// where content can be downloaded by a deployment client. The /// deployment client knows how to substitute the values of the /// variables in the URL. Any custom URL can also be supplied here as /// long as it uses the specified variables. /// This attribute does not need to be specified unless you have a very /// specific need, for example: to acquire deployment application files /// from a third-party httpd, for extremely large environments. /// The default is $deploymentServerUri$/services/streams/deployment?name=$serverClassName$:$appName$ /// public string Endpoint { get { return this.GetString("endpoint", null); } set { this.SetCacheValue("endpoint", value); } } /// /// Gets or sets the filter type that is applied first. If set to /// "whitelist", all whitelist filters are applied first, followed by /// blacklist filters. If set to "blacklist", all blacklist filters are /// applied first, followed by whitelist filters. /// public string FilterType { get { return this.GetString("filterType", null); } set { this.SetCacheValue("filterType", value); } } /// /// Gets or sets the location on the deployment server to store the /// content that is to be deployed for this server class. /// Note: The path may contain macro expansions or substitutions. /// public string RepositoryLocation { get { return this.GetString("repositoryLocation", null); } set { this.SetCacheValue("repositoryLocation", value); } } /// /// Gets or sets the location on the deployment client where the content /// to be deployed for this server class should be installed. /// Note: The path may contain macro expansions or substitutions. /// public string TargetRepositoryLocation { get { return this.GetString("targetRepositoryLocation", null); } set { this.SetCacheValue("targetRepositoryLocation", value); } } /// /// Gets or sets the location of the working folder used by the /// deployment server. /// public string TempFolder { get { return this.GetString("tmpFolder", null); } set { this.SetCacheValue("tmpFolder", value); } } /// /// Returns the exluded server by index. /// /// The index /// The exluded server, or null if not present. public string GetBlacklistByIndex(int index) { return this.GetString(string.Format("blacklist.%d", index), null); } /// /// Returns the included server by index. /// /// The index /// The included server, or null if not present. public string GetWhitelistByIndex(int index) { return this.GetString(string.Format("whitelist.%d", index), null); } /// /// Returns the exluded server by index. /// /// The index /// The blacklist server public void SetBlacklistByIndex(int index, string blacklist) { this.SetCacheValue(string.Format("blacklist.%d", index), blacklist); } /// /// Sets the included server by index. /// /// The index /// The whitelist server public void SetWhitelistByIndex(int index, string whitelist) { this.SetCacheValue(string.Format("whitelist.%d", index), whitelist); } } }