// Path: src/main/java/com/xti/jenkins/plugin/awslambda/publish/LambdaPublishServiceResponse.java
// public class LambdaPublishServiceResponse {
//     private String functionVersion;
//     private String functionAlias;
//     private boolean success;
// 
//     public LambdaPublishServiceResponse(String functionVersion, String functionAlias, boolean success){
//         this.functionAlias = functionAlias;
//         this.functionVersion = functionVersion;
//         this.success = success;
//     }
// 
//     public String getFunctionVersion(){
//         return this.functionVersion;
//     }
// 
//     public String getFunctionAlias(){
//         return this.functionAlias;
//     }
// 
//     public boolean getSuccess(){
//         return this.success;
//     }
// }
// 
// Path: src/main/java/com/xti/jenkins/plugin/awslambda/publish/PublishConfig.java
// public class PublishConfig implements Serializable {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	private String functionAlias;
//     private String functionARN;
//     private String versionDescription;
// 
//     public PublishConfig(String functionAlias, String functionARN, String versionDescription){
//         this.functionAlias = functionAlias;
//         this.functionARN = functionARN;
//         this.versionDescription = versionDescription;
//     }
// 
//     public void setFunctionAlias(String alias) {
//         this.functionAlias = alias;
//     }
// 
//     public String getFunctionAlias(){
//         return this.functionAlias;
//     }
// 
//     public void setFunctionARN(String functionARN){
//         this.functionARN = functionARN;
//     }
// 
//     public String getFunctionARN(){
//         return this.functionARN;
//     }
// 
//     public String getVersionDescription() {
//         return this.versionDescription;
//     }
// 
//     public void setVersionDescription(String versionDescription){
//         this.versionDescription = versionDescription;
//     }
// }


import com.amazonaws.services.lambda.AWSLambdaClient;
import com.amazonaws.services.lambda.model.*;
import com.xti.jenkins.plugin.awslambda.publish.LambdaPublishServiceResponse;
import com.xti.jenkins.plugin.awslambda.publish.PublishConfig;
package com.xti.jenkins.plugin.awslambda.service;


/**
 * Project: aws-lambda
 * Created by Magnus Sulland on 26/07/2016.
 */
public class LambdaPublishService {
    private AWSLambdaClient client;
    private JenkinsLogger logger;

    public LambdaPublishService(AWSLambdaClient client, JenkinsLogger logger) {
        this.client = client;
        this.logger = logger;
    }

// Path: src/main/java/com/xti/jenkins/plugin/awslambda/publish/LambdaPublishServiceResponse.java
// public class LambdaPublishServiceResponse {
//     private String functionVersion;
//     private String functionAlias;
//     private boolean success;
// 
//     public LambdaPublishServiceResponse(String functionVersion, String functionAlias, boolean success){
//         this.functionAlias = functionAlias;
//         this.functionVersion = functionVersion;
//         this.success = success;
//     }
// 
//     public String getFunctionVersion(){
//         return this.functionVersion;
//     }
// 
//     public String getFunctionAlias(){
//         return this.functionAlias;
//     }
// 
//     public boolean getSuccess(){
//         return this.success;
//     }
// }
// 
// Path: src/main/java/com/xti/jenkins/plugin/awslambda/publish/PublishConfig.java
// public class PublishConfig implements Serializable {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	private String functionAlias;
//     private String functionARN;
//     private String versionDescription;
// 
//     public PublishConfig(String functionAlias, String functionARN, String versionDescription){
//         this.functionAlias = functionAlias;
//         this.functionARN = functionARN;
//         this.versionDescription = versionDescription;
//     }
// 
//     public void setFunctionAlias(String alias) {
//         this.functionAlias = alias;
//     }
// 
//     public String getFunctionAlias(){
//         return this.functionAlias;
//     }
// 
//     public void setFunctionARN(String functionARN){
//         this.functionARN = functionARN;
//     }
// 
//     public String getFunctionARN(){
//         return this.functionARN;
//     }
// 
//     public String getVersionDescription() {
//         return this.versionDescription;
//     }
// 
//     public void setVersionDescription(String versionDescription){
//         this.versionDescription = versionDescription;
//     }
// }


// Path: src/main/java/com/xti/jenkins/plugin/awslambda/service/LambdaPublishService.java
import com.amazonaws.services.lambda.AWSLambdaClient;
import com.amazonaws.services.lambda.model.*;
import com.xti.jenkins.plugin.awslambda.publish.LambdaPublishServiceResponse;
import com.xti.jenkins.plugin.awslambda.publish.PublishConfig;

package com.xti.jenkins.plugin.awslambda.service;


/**
 * Project: aws-lambda
 * Created by Magnus Sulland on 26/07/2016.
 */
public class LambdaPublishService {
    private AWSLambdaClient client;
    private JenkinsLogger logger;

    public LambdaPublishService(AWSLambdaClient client, JenkinsLogger logger) {
        this.client = client;
        this.logger = logger;
    }

    public LambdaPublishServiceResponse publishLambda(PublishConfig config){