| /** |
| * 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.hadoop.yarn.server.resourcemanager.webapp.dao; |
| |
| import java.util.HashSet; |
| import java.util.Set; |
| |
| import javax.xml.bind.annotation.XmlAccessType; |
| import javax.xml.bind.annotation.XmlAccessorType; |
| import javax.xml.bind.annotation.XmlElement; |
| import javax.xml.bind.annotation.XmlElementWrapper; |
| import javax.xml.bind.annotation.XmlRootElement; |
| |
| import org.apache.hadoop.yarn.api.records.Priority; |
| |
| /** |
| * Simple class to allow users to send information required to create an |
| * ApplicationSubmissionContext which can then be used to submit an app |
| * |
| */ |
| @XmlRootElement(name = "application-submission-context") |
| @XmlAccessorType(XmlAccessType.FIELD) |
| public class ApplicationSubmissionContextInfo { |
| |
| @XmlElement(name = "application-id") |
| String applicationId; |
| |
| @XmlElement(name = "application-name") |
| String applicationName; |
| |
| String queue; |
| int priority; |
| |
| @XmlElement(name = "am-container-spec") |
| ContainerLaunchContextInfo containerInfo; |
| |
| @XmlElement(name = "unmanaged-AM") |
| boolean isUnmanagedAM; |
| |
| @XmlElement(name = "cancel-tokens-when-complete") |
| boolean cancelTokensWhenComplete; |
| |
| @XmlElement(name = "max-app-attempts") |
| int maxAppAttempts; |
| |
| @XmlElement(name = "resource") |
| ResourceInfo resource; |
| |
| @XmlElement(name = "application-type") |
| String applicationType; |
| |
| @XmlElement(name = "keep-containers-across-application-attempts") |
| boolean keepContainers; |
| |
| @XmlElementWrapper(name = "application-tags") |
| @XmlElement(name = "tag") |
| Set<String> tags; |
| |
| @XmlElement(name = "app-node-label-expression") |
| String appNodeLabelExpression; |
| |
| @XmlElement(name = "am-container-node-label-expression") |
| String amContainerNodeLabelExpression; |
| |
| @XmlElement(name = "log-aggregation-context") |
| LogAggregationContextInfo logAggregationContextInfo; |
| |
| @XmlElement(name = "attempt-failures-validity-interval") |
| long attemptFailuresValidityInterval; |
| |
| @XmlElement(name = "reservation-id") |
| String reservationId; |
| |
| public ApplicationSubmissionContextInfo() { |
| applicationId = ""; |
| applicationName = ""; |
| containerInfo = new ContainerLaunchContextInfo(); |
| resource = new ResourceInfo(); |
| priority = Priority.UNDEFINED.getPriority(); |
| isUnmanagedAM = false; |
| cancelTokensWhenComplete = true; |
| keepContainers = false; |
| applicationType = ""; |
| tags = new HashSet<String>(); |
| appNodeLabelExpression = ""; |
| amContainerNodeLabelExpression = ""; |
| logAggregationContextInfo = null; |
| attemptFailuresValidityInterval = -1; |
| reservationId = ""; |
| } |
| |
| public String getApplicationId() { |
| return applicationId; |
| } |
| |
| public String getApplicationName() { |
| return applicationName; |
| } |
| |
| public String getQueue() { |
| return queue; |
| } |
| |
| public int getPriority() { |
| return priority; |
| } |
| |
| public ContainerLaunchContextInfo getContainerLaunchContextInfo() { |
| return containerInfo; |
| } |
| |
| public boolean getUnmanagedAM() { |
| return isUnmanagedAM; |
| } |
| |
| public boolean getCancelTokensWhenComplete() { |
| return cancelTokensWhenComplete; |
| } |
| |
| public int getMaxAppAttempts() { |
| return maxAppAttempts; |
| } |
| |
| public ResourceInfo getResource() { |
| return resource; |
| } |
| |
| public String getApplicationType() { |
| return applicationType; |
| } |
| |
| public boolean getKeepContainersAcrossApplicationAttempts() { |
| return keepContainers; |
| } |
| |
| public Set<String> getApplicationTags() { |
| return tags; |
| } |
| |
| public String getAppNodeLabelExpression() { |
| return appNodeLabelExpression; |
| } |
| |
| public String getAMContainerNodeLabelExpression() { |
| return amContainerNodeLabelExpression; |
| } |
| |
| public LogAggregationContextInfo getLogAggregationContextInfo() { |
| return logAggregationContextInfo; |
| } |
| |
| public long getAttemptFailuresValidityInterval() { |
| return attemptFailuresValidityInterval; |
| } |
| |
| public String getReservationId() { |
| return reservationId; |
| } |
| |
| public void setApplicationId(String applicationId) { |
| this.applicationId = applicationId; |
| } |
| |
| public void setApplicationName(String applicationName) { |
| this.applicationName = applicationName; |
| } |
| |
| public void setQueue(String queue) { |
| this.queue = queue; |
| } |
| |
| public void setPriority(int priority) { |
| this.priority = priority; |
| } |
| |
| public void setContainerLaunchContextInfo( |
| ContainerLaunchContextInfo containerLaunchContext) { |
| this.containerInfo = containerLaunchContext; |
| } |
| |
| public void setUnmanagedAM(boolean isUnmanagedAM) { |
| this.isUnmanagedAM = isUnmanagedAM; |
| } |
| |
| public void setCancelTokensWhenComplete(boolean cancelTokensWhenComplete) { |
| this.cancelTokensWhenComplete = cancelTokensWhenComplete; |
| } |
| |
| public void setMaxAppAttempts(int maxAppAttempts) { |
| this.maxAppAttempts = maxAppAttempts; |
| } |
| |
| public void setResource(ResourceInfo resource) { |
| this.resource = resource; |
| } |
| |
| public void setApplicationType(String applicationType) { |
| this.applicationType = applicationType; |
| } |
| |
| public void |
| setKeepContainersAcrossApplicationAttempts(boolean keepContainers) { |
| this.keepContainers = keepContainers; |
| } |
| |
| public void setApplicationTags(Set<String> tags) { |
| this.tags = tags; |
| } |
| |
| public void setAppNodeLabelExpression(String appNodeLabelExpression) { |
| this.appNodeLabelExpression = appNodeLabelExpression; |
| } |
| |
| public void setAMContainerNodeLabelExpression(String nodeLabelExpression) { |
| this.amContainerNodeLabelExpression = nodeLabelExpression; |
| } |
| |
| public void setLogAggregationContextInfo( |
| LogAggregationContextInfo logAggregationContextInfo) { |
| this.logAggregationContextInfo = logAggregationContextInfo; |
| } |
| |
| public void setAttemptFailuresValidityInterval( |
| long attemptFailuresValidityInterval) { |
| this.attemptFailuresValidityInterval = attemptFailuresValidityInterval; |
| } |
| |
| public void setReservationId(String reservationId) { |
| this.reservationId = reservationId; |
| } |
| } |