blob: 769f762271c7d95a200f38334119a320609b6851 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 org.apache.ambari.server.topology;
public class RepositorySetting {
/**
* Settings for each repo setting sections
*/
public static final String OVERRIDE_STRATEGY = "override_strategy";
public static final String OVERRIDE_STRATEGY_ALWAYS_APPLY = "ALWAYS_APPLY";
public static final String OVERRIDE_STRATEGY_APPLY_WHEN_MISSING = "APPLY_WHEN_MISSING";
public static final String OPERATING_SYSTEM = "operating_system";
public static final String REPO_ID = "repo_id";
public static final String BASE_URL = "base_url";
private String overrideStrategy;
private String operatingSystem;
private String repoId;
private String baseUrl;
/**
* When specified under the "settings" section, it allows Ambari to overwrite existing repos stored
* in the metainfo table in the Ambari server database.
* Two override strategies
* ALWAYS_APPLY will override the existing repo. If repo does not exists, add it.
* APPLY_WHEN_MISSING will only add the repo info to the table if there is no such entries yet.
*
* <pre>
* {@code
* "settings" : [
* {
* "repository_settings" : [
* {
* "override_strategy":"ALWAYS_APPLY",
* "operating_system":"redhat7",
* "repo_id":"HDP-2.6",
* "base_url":"http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos7/2.x/BUILDS/2.6.0.3-8"
* },
* {
* "override_strategy":"APPLY_WHEN_MISSING",
* "operating_system":"redhat7",
* "repo_id": "HDP-UTILS-1.1.0.21",
* "repo_name": "HDP-UTILS",
* "base_url": "http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7"
* }
* ]
* }]
* }
* </pre>
*/
public String getOverrideStrategy() {
return overrideStrategy;
}
public void setOverrideStrategy(String overrideStrategy) {
this.overrideStrategy = overrideStrategy;
}
/**
* Get repository id
* */
public String getOperatingSystem() {
return operatingSystem;
}
public void setOperatingSystem(String operatingSystem) {
this.operatingSystem = operatingSystem;
}
/**
* Get repository id
* */
public String getRepoId() {
return repoId;
}
public void setRepoId(String repoId) {
this.repoId = repoId;
}
/**
* Get repository url
* */
public String getBaseUrl() {
return baseUrl;
}
public void setBaseUrl(String baseUrl) {
this.baseUrl = baseUrl;
}
@Override
public String toString(){
StringBuilder strBldr = new StringBuilder();
strBldr.append(OVERRIDE_STRATEGY);strBldr.append(": ");strBldr.append(overrideStrategy);
strBldr.append(OPERATING_SYSTEM);strBldr.append(": ");strBldr.append(operatingSystem);
strBldr.append(REPO_ID);strBldr.append(": ");strBldr.append(repoId);
strBldr.append(BASE_URL);strBldr.append(": ");strBldr.append(baseUrl);
return strBldr.toString();
}
}