All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.elasticmapreduce.model.JobFlowDetail Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not
 * use this file except in compliance with the License. A copy of the License is
 * located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file 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.amazonaws.services.elasticmapreduce.model;

import java.io.Serializable;

/**
 * 

* A description of a job flow. *

*/ public class JobFlowDetail implements Serializable, Cloneable { /** *

* The job flow identifier. *

*/ private String jobFlowId; /** *

* The name of the job flow. *

*/ private String name; /** *

* The location in Amazon S3 where log files for the job are stored. *

*/ private String logUri; /** *

* The version of the AMI used to initialize Amazon EC2 instances in the job * flow. For a list of AMI versions currently supported by Amazon * ElasticMapReduce, go to AMI Versions Supported in Elastic MapReduce in the Amazon Elastic * MapReduce Developer Guide. *

*/ private String amiVersion; /** *

* Describes the execution status of the job flow. *

*/ private JobFlowExecutionStatusDetail executionStatusDetail; /** *

* Describes the Amazon EC2 instances of the job flow. *

*/ private JobFlowInstancesDetail instances; /** *

* A list of steps run by the job flow. *

*/ private com.amazonaws.internal.SdkInternalList steps; /** *

* A list of the bootstrap actions run by the job flow. *

*/ private com.amazonaws.internal.SdkInternalList bootstrapActions; /** *

* A list of strings set by third party software when the job flow is * launched. If you are not using third party software to manage the job * flow this value is empty. *

*/ private com.amazonaws.internal.SdkInternalList supportedProducts; /** *

* Specifies whether the job flow is visible to all IAM users of the AWS * account associated with the job flow. If this value is set to * true, all IAM users of that AWS account can view and (if * they have the proper policy permissions set) manage the job flow. If it * is set to false, only the IAM user that created the job flow * can view and manage it. This value can be changed using the * SetVisibleToAllUsers action. *

*/ private Boolean visibleToAllUsers; /** *

* The IAM role that was specified when the job flow was launched. The EC2 * instances of the job flow assume this role. *

*/ private String jobFlowRole; /** *

* The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf. *

*/ private String serviceRole; /** * Default constructor for JobFlowDetail object. Callers should use the * setter or fluent setter (with...) methods to initialize the object after * creating it. */ public JobFlowDetail() { } /** * Constructs a new JobFlowDetail object. Callers should use the setter or * fluent setter (with...) methods to initialize any additional object * members. * * @param jobFlowId * The job flow identifier. * @param name * The name of the job flow. * @param executionStatusDetail * Describes the execution status of the job flow. * @param instances * Describes the Amazon EC2 instances of the job flow. */ public JobFlowDetail(String jobFlowId, String name, JobFlowExecutionStatusDetail executionStatusDetail, JobFlowInstancesDetail instances) { setJobFlowId(jobFlowId); setName(name); setExecutionStatusDetail(executionStatusDetail); setInstances(instances); } /** *

* The job flow identifier. *

* * @param jobFlowId * The job flow identifier. */ public void setJobFlowId(String jobFlowId) { this.jobFlowId = jobFlowId; } /** *

* The job flow identifier. *

* * @return The job flow identifier. */ public String getJobFlowId() { return this.jobFlowId; } /** *

* The job flow identifier. *

* * @param jobFlowId * The job flow identifier. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withJobFlowId(String jobFlowId) { setJobFlowId(jobFlowId); return this; } /** *

* The name of the job flow. *

* * @param name * The name of the job flow. */ public void setName(String name) { this.name = name; } /** *

* The name of the job flow. *

* * @return The name of the job flow. */ public String getName() { return this.name; } /** *

* The name of the job flow. *

* * @param name * The name of the job flow. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withName(String name) { setName(name); return this; } /** *

* The location in Amazon S3 where log files for the job are stored. *

* * @param logUri * The location in Amazon S3 where log files for the job are stored. */ public void setLogUri(String logUri) { this.logUri = logUri; } /** *

* The location in Amazon S3 where log files for the job are stored. *

* * @return The location in Amazon S3 where log files for the job are stored. */ public String getLogUri() { return this.logUri; } /** *

* The location in Amazon S3 where log files for the job are stored. *

* * @param logUri * The location in Amazon S3 where log files for the job are stored. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withLogUri(String logUri) { setLogUri(logUri); return this; } /** *

* The version of the AMI used to initialize Amazon EC2 instances in the job * flow. For a list of AMI versions currently supported by Amazon * ElasticMapReduce, go to AMI Versions Supported in Elastic MapReduce in the Amazon Elastic * MapReduce Developer Guide. *

* * @param amiVersion * The version of the AMI used to initialize Amazon EC2 instances in * the job flow. For a list of AMI versions currently supported by * Amazon ElasticMapReduce, go to AMI Versions Supported in Elastic MapReduce in the Amazon * Elastic MapReduce Developer Guide. */ public void setAmiVersion(String amiVersion) { this.amiVersion = amiVersion; } /** *

* The version of the AMI used to initialize Amazon EC2 instances in the job * flow. For a list of AMI versions currently supported by Amazon * ElasticMapReduce, go to AMI Versions Supported in Elastic MapReduce in the Amazon Elastic * MapReduce Developer Guide. *

* * @return The version of the AMI used to initialize Amazon EC2 instances in * the job flow. For a list of AMI versions currently supported by * Amazon ElasticMapReduce, go to AMI Versions Supported in Elastic MapReduce in the Amazon * Elastic MapReduce Developer Guide. */ public String getAmiVersion() { return this.amiVersion; } /** *

* The version of the AMI used to initialize Amazon EC2 instances in the job * flow. For a list of AMI versions currently supported by Amazon * ElasticMapReduce, go to AMI Versions Supported in Elastic MapReduce in the Amazon Elastic * MapReduce Developer Guide. *

* * @param amiVersion * The version of the AMI used to initialize Amazon EC2 instances in * the job flow. For a list of AMI versions currently supported by * Amazon ElasticMapReduce, go to AMI Versions Supported in Elastic MapReduce in the Amazon * Elastic MapReduce Developer Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withAmiVersion(String amiVersion) { setAmiVersion(amiVersion); return this; } /** *

* Describes the execution status of the job flow. *

* * @param executionStatusDetail * Describes the execution status of the job flow. */ public void setExecutionStatusDetail( JobFlowExecutionStatusDetail executionStatusDetail) { this.executionStatusDetail = executionStatusDetail; } /** *

* Describes the execution status of the job flow. *

* * @return Describes the execution status of the job flow. */ public JobFlowExecutionStatusDetail getExecutionStatusDetail() { return this.executionStatusDetail; } /** *

* Describes the execution status of the job flow. *

* * @param executionStatusDetail * Describes the execution status of the job flow. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withExecutionStatusDetail( JobFlowExecutionStatusDetail executionStatusDetail) { setExecutionStatusDetail(executionStatusDetail); return this; } /** *

* Describes the Amazon EC2 instances of the job flow. *

* * @param instances * Describes the Amazon EC2 instances of the job flow. */ public void setInstances(JobFlowInstancesDetail instances) { this.instances = instances; } /** *

* Describes the Amazon EC2 instances of the job flow. *

* * @return Describes the Amazon EC2 instances of the job flow. */ public JobFlowInstancesDetail getInstances() { return this.instances; } /** *

* Describes the Amazon EC2 instances of the job flow. *

* * @param instances * Describes the Amazon EC2 instances of the job flow. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withInstances(JobFlowInstancesDetail instances) { setInstances(instances); return this; } /** *

* A list of steps run by the job flow. *

* * @return A list of steps run by the job flow. */ public java.util.List getSteps() { if (steps == null) { steps = new com.amazonaws.internal.SdkInternalList(); } return steps; } /** *

* A list of steps run by the job flow. *

* * @param steps * A list of steps run by the job flow. */ public void setSteps(java.util.Collection steps) { if (steps == null) { this.steps = null; return; } this.steps = new com.amazonaws.internal.SdkInternalList( steps); } /** *

* A list of steps run by the job flow. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setSteps(java.util.Collection)} or * {@link #withSteps(java.util.Collection)} if you want to override the * existing values. *

* * @param steps * A list of steps run by the job flow. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withSteps(StepDetail... steps) { if (this.steps == null) { setSteps(new com.amazonaws.internal.SdkInternalList( steps.length)); } for (StepDetail ele : steps) { this.steps.add(ele); } return this; } /** *

* A list of steps run by the job flow. *

* * @param steps * A list of steps run by the job flow. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withSteps(java.util.Collection steps) { setSteps(steps); return this; } /** *

* A list of the bootstrap actions run by the job flow. *

* * @return A list of the bootstrap actions run by the job flow. */ public java.util.List getBootstrapActions() { if (bootstrapActions == null) { bootstrapActions = new com.amazonaws.internal.SdkInternalList(); } return bootstrapActions; } /** *

* A list of the bootstrap actions run by the job flow. *

* * @param bootstrapActions * A list of the bootstrap actions run by the job flow. */ public void setBootstrapActions( java.util.Collection bootstrapActions) { if (bootstrapActions == null) { this.bootstrapActions = null; return; } this.bootstrapActions = new com.amazonaws.internal.SdkInternalList( bootstrapActions); } /** *

* A list of the bootstrap actions run by the job flow. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setBootstrapActions(java.util.Collection)} or * {@link #withBootstrapActions(java.util.Collection)} if you want to * override the existing values. *

* * @param bootstrapActions * A list of the bootstrap actions run by the job flow. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withBootstrapActions( BootstrapActionDetail... bootstrapActions) { if (this.bootstrapActions == null) { setBootstrapActions(new com.amazonaws.internal.SdkInternalList( bootstrapActions.length)); } for (BootstrapActionDetail ele : bootstrapActions) { this.bootstrapActions.add(ele); } return this; } /** *

* A list of the bootstrap actions run by the job flow. *

* * @param bootstrapActions * A list of the bootstrap actions run by the job flow. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withBootstrapActions( java.util.Collection bootstrapActions) { setBootstrapActions(bootstrapActions); return this; } /** *

* A list of strings set by third party software when the job flow is * launched. If you are not using third party software to manage the job * flow this value is empty. *

* * @return A list of strings set by third party software when the job flow * is launched. If you are not using third party software to manage * the job flow this value is empty. */ public java.util.List getSupportedProducts() { if (supportedProducts == null) { supportedProducts = new com.amazonaws.internal.SdkInternalList(); } return supportedProducts; } /** *

* A list of strings set by third party software when the job flow is * launched. If you are not using third party software to manage the job * flow this value is empty. *

* * @param supportedProducts * A list of strings set by third party software when the job flow is * launched. If you are not using third party software to manage the * job flow this value is empty. */ public void setSupportedProducts( java.util.Collection supportedProducts) { if (supportedProducts == null) { this.supportedProducts = null; return; } this.supportedProducts = new com.amazonaws.internal.SdkInternalList( supportedProducts); } /** *

* A list of strings set by third party software when the job flow is * launched. If you are not using third party software to manage the job * flow this value is empty. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setSupportedProducts(java.util.Collection)} or * {@link #withSupportedProducts(java.util.Collection)} if you want to * override the existing values. *

* * @param supportedProducts * A list of strings set by third party software when the job flow is * launched. If you are not using third party software to manage the * job flow this value is empty. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withSupportedProducts(String... supportedProducts) { if (this.supportedProducts == null) { setSupportedProducts(new com.amazonaws.internal.SdkInternalList( supportedProducts.length)); } for (String ele : supportedProducts) { this.supportedProducts.add(ele); } return this; } /** *

* A list of strings set by third party software when the job flow is * launched. If you are not using third party software to manage the job * flow this value is empty. *

* * @param supportedProducts * A list of strings set by third party software when the job flow is * launched. If you are not using third party software to manage the * job flow this value is empty. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withSupportedProducts( java.util.Collection supportedProducts) { setSupportedProducts(supportedProducts); return this; } /** *

* Specifies whether the job flow is visible to all IAM users of the AWS * account associated with the job flow. If this value is set to * true, all IAM users of that AWS account can view and (if * they have the proper policy permissions set) manage the job flow. If it * is set to false, only the IAM user that created the job flow * can view and manage it. This value can be changed using the * SetVisibleToAllUsers action. *

* * @param visibleToAllUsers * Specifies whether the job flow is visible to all IAM users of the * AWS account associated with the job flow. If this value is set to * true, all IAM users of that AWS account can view and * (if they have the proper policy permissions set) manage the job * flow. If it is set to false, only the IAM user that * created the job flow can view and manage it. This value can be * changed using the SetVisibleToAllUsers action. */ public void setVisibleToAllUsers(Boolean visibleToAllUsers) { this.visibleToAllUsers = visibleToAllUsers; } /** *

* Specifies whether the job flow is visible to all IAM users of the AWS * account associated with the job flow. If this value is set to * true, all IAM users of that AWS account can view and (if * they have the proper policy permissions set) manage the job flow. If it * is set to false, only the IAM user that created the job flow * can view and manage it. This value can be changed using the * SetVisibleToAllUsers action. *

* * @return Specifies whether the job flow is visible to all IAM users of the * AWS account associated with the job flow. If this value is set to * true, all IAM users of that AWS account can view and * (if they have the proper policy permissions set) manage the job * flow. If it is set to false, only the IAM user that * created the job flow can view and manage it. This value can be * changed using the SetVisibleToAllUsers action. */ public Boolean getVisibleToAllUsers() { return this.visibleToAllUsers; } /** *

* Specifies whether the job flow is visible to all IAM users of the AWS * account associated with the job flow. If this value is set to * true, all IAM users of that AWS account can view and (if * they have the proper policy permissions set) manage the job flow. If it * is set to false, only the IAM user that created the job flow * can view and manage it. This value can be changed using the * SetVisibleToAllUsers action. *

* * @param visibleToAllUsers * Specifies whether the job flow is visible to all IAM users of the * AWS account associated with the job flow. If this value is set to * true, all IAM users of that AWS account can view and * (if they have the proper policy permissions set) manage the job * flow. If it is set to false, only the IAM user that * created the job flow can view and manage it. This value can be * changed using the SetVisibleToAllUsers action. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withVisibleToAllUsers(Boolean visibleToAllUsers) { setVisibleToAllUsers(visibleToAllUsers); return this; } /** *

* Specifies whether the job flow is visible to all IAM users of the AWS * account associated with the job flow. If this value is set to * true, all IAM users of that AWS account can view and (if * they have the proper policy permissions set) manage the job flow. If it * is set to false, only the IAM user that created the job flow * can view and manage it. This value can be changed using the * SetVisibleToAllUsers action. *

* * @return Specifies whether the job flow is visible to all IAM users of the * AWS account associated with the job flow. If this value is set to * true, all IAM users of that AWS account can view and * (if they have the proper policy permissions set) manage the job * flow. If it is set to false, only the IAM user that * created the job flow can view and manage it. This value can be * changed using the SetVisibleToAllUsers action. */ public Boolean isVisibleToAllUsers() { return this.visibleToAllUsers; } /** *

* The IAM role that was specified when the job flow was launched. The EC2 * instances of the job flow assume this role. *

* * @param jobFlowRole * The IAM role that was specified when the job flow was launched. * The EC2 instances of the job flow assume this role. */ public void setJobFlowRole(String jobFlowRole) { this.jobFlowRole = jobFlowRole; } /** *

* The IAM role that was specified when the job flow was launched. The EC2 * instances of the job flow assume this role. *

* * @return The IAM role that was specified when the job flow was launched. * The EC2 instances of the job flow assume this role. */ public String getJobFlowRole() { return this.jobFlowRole; } /** *

* The IAM role that was specified when the job flow was launched. The EC2 * instances of the job flow assume this role. *

* * @param jobFlowRole * The IAM role that was specified when the job flow was launched. * The EC2 instances of the job flow assume this role. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withJobFlowRole(String jobFlowRole) { setJobFlowRole(jobFlowRole); return this; } /** *

* The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf. *

* * @param serviceRole * The IAM role that will be assumed by the Amazon EMR service to * access AWS resources on your behalf. */ public void setServiceRole(String serviceRole) { this.serviceRole = serviceRole; } /** *

* The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf. *

* * @return The IAM role that will be assumed by the Amazon EMR service to * access AWS resources on your behalf. */ public String getServiceRole() { return this.serviceRole; } /** *

* The IAM role that will be assumed by the Amazon EMR service to access AWS * resources on your behalf. *

* * @param serviceRole * The IAM role that will be assumed by the Amazon EMR service to * access AWS resources on your behalf. * @return Returns a reference to this object so that method calls can be * chained together. */ public JobFlowDetail withServiceRole(String serviceRole) { setServiceRole(serviceRole); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getJobFlowId() != null) sb.append("JobFlowId: " + getJobFlowId() + ","); if (getName() != null) sb.append("Name: " + getName() + ","); if (getLogUri() != null) sb.append("LogUri: " + getLogUri() + ","); if (getAmiVersion() != null) sb.append("AmiVersion: " + getAmiVersion() + ","); if (getExecutionStatusDetail() != null) sb.append("ExecutionStatusDetail: " + getExecutionStatusDetail() + ","); if (getInstances() != null) sb.append("Instances: " + getInstances() + ","); if (getSteps() != null) sb.append("Steps: " + getSteps() + ","); if (getBootstrapActions() != null) sb.append("BootstrapActions: " + getBootstrapActions() + ","); if (getSupportedProducts() != null) sb.append("SupportedProducts: " + getSupportedProducts() + ","); if (getVisibleToAllUsers() != null) sb.append("VisibleToAllUsers: " + getVisibleToAllUsers() + ","); if (getJobFlowRole() != null) sb.append("JobFlowRole: " + getJobFlowRole() + ","); if (getServiceRole() != null) sb.append("ServiceRole: " + getServiceRole()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof JobFlowDetail == false) return false; JobFlowDetail other = (JobFlowDetail) obj; if (other.getJobFlowId() == null ^ this.getJobFlowId() == null) return false; if (other.getJobFlowId() != null && other.getJobFlowId().equals(this.getJobFlowId()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getLogUri() == null ^ this.getLogUri() == null) return false; if (other.getLogUri() != null && other.getLogUri().equals(this.getLogUri()) == false) return false; if (other.getAmiVersion() == null ^ this.getAmiVersion() == null) return false; if (other.getAmiVersion() != null && other.getAmiVersion().equals(this.getAmiVersion()) == false) return false; if (other.getExecutionStatusDetail() == null ^ this.getExecutionStatusDetail() == null) return false; if (other.getExecutionStatusDetail() != null && other.getExecutionStatusDetail().equals( this.getExecutionStatusDetail()) == false) return false; if (other.getInstances() == null ^ this.getInstances() == null) return false; if (other.getInstances() != null && other.getInstances().equals(this.getInstances()) == false) return false; if (other.getSteps() == null ^ this.getSteps() == null) return false; if (other.getSteps() != null && other.getSteps().equals(this.getSteps()) == false) return false; if (other.getBootstrapActions() == null ^ this.getBootstrapActions() == null) return false; if (other.getBootstrapActions() != null && other.getBootstrapActions().equals( this.getBootstrapActions()) == false) return false; if (other.getSupportedProducts() == null ^ this.getSupportedProducts() == null) return false; if (other.getSupportedProducts() != null && other.getSupportedProducts().equals( this.getSupportedProducts()) == false) return false; if (other.getVisibleToAllUsers() == null ^ this.getVisibleToAllUsers() == null) return false; if (other.getVisibleToAllUsers() != null && other.getVisibleToAllUsers().equals( this.getVisibleToAllUsers()) == false) return false; if (other.getJobFlowRole() == null ^ this.getJobFlowRole() == null) return false; if (other.getJobFlowRole() != null && other.getJobFlowRole().equals(this.getJobFlowRole()) == false) return false; if (other.getServiceRole() == null ^ this.getServiceRole() == null) return false; if (other.getServiceRole() != null && other.getServiceRole().equals(this.getServiceRole()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getJobFlowId() == null) ? 0 : getJobFlowId().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getLogUri() == null) ? 0 : getLogUri().hashCode()); hashCode = prime * hashCode + ((getAmiVersion() == null) ? 0 : getAmiVersion().hashCode()); hashCode = prime * hashCode + ((getExecutionStatusDetail() == null) ? 0 : getExecutionStatusDetail().hashCode()); hashCode = prime * hashCode + ((getInstances() == null) ? 0 : getInstances().hashCode()); hashCode = prime * hashCode + ((getSteps() == null) ? 0 : getSteps().hashCode()); hashCode = prime * hashCode + ((getBootstrapActions() == null) ? 0 : getBootstrapActions() .hashCode()); hashCode = prime * hashCode + ((getSupportedProducts() == null) ? 0 : getSupportedProducts().hashCode()); hashCode = prime * hashCode + ((getVisibleToAllUsers() == null) ? 0 : getVisibleToAllUsers().hashCode()); hashCode = prime * hashCode + ((getJobFlowRole() == null) ? 0 : getJobFlowRole().hashCode()); hashCode = prime * hashCode + ((getServiceRole() == null) ? 0 : getServiceRole().hashCode()); return hashCode; } @Override public JobFlowDetail clone() { try { return (JobFlowDetail) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy