
com.amazonaws.services.nimblestudio.model.LaunchProfile Maven / Gradle / Ivy
/*
* Copyright 2016-2021 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.nimblestudio.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* A launch profile controls your artist workforce’s access to studio components, like compute farms, shared file
* systems, managed file systems, and license server configurations, as well as instance types and Amazon Machine Images
* (AMIs).
*
*
*
* <p>Studio administrators create launch profiles in the Nimble Studio console. Artists can use their launch profiles to launch an instance from the Nimble Studio portal. Each user’s launch profile defines how they can launch a streaming session. By default, studio admins can use all launch profiles.</p>
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class LaunchProfile implements Serializable, Cloneable, StructuredPojo {
/**
*
* The ARN of the resource.
*
*/
private String arn;
/**
*
* The Unix epoch timestamp in seconds for when the resource was created.
*
*/
private java.util.Date createdAt;
/**
*
* The user ID of the user that created the launch profile.
*
*/
private String createdBy;
/**
*
* A human-readable description of the launch profile.
*
*/
private String description;
/**
*
* Unique identifiers for a collection of EC2 subnets.
*
*/
private java.util.List ec2SubnetIds;
/**
*
* The launch profile ID.
*
*/
private String launchProfileId;
/**
*
* The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".
*
*/
private java.util.List launchProfileProtocolVersions;
/**
*
* A friendly name for the launch profile.
*
*/
private String name;
/**
*
* The current state.
*
*/
private String state;
/**
*
* The status code.
*
*/
private String statusCode;
/**
*
* The status message for the launch profile.
*
*/
private String statusMessage;
/**
*
* A configuration for a streaming session.
*
*/
private StreamConfiguration streamConfiguration;
/**
*
* Unique identifiers for a collection of studio components that can be used with this launch profile.
*
*/
private java.util.List studioComponentIds;
/**
*
* A collection of labels, in the form of key:value pairs, that apply to this resource.
*
*/
private java.util.Map tags;
/**
*
* The Unix epoch timestamp in seconds for when the resource was updated.
*
*/
private java.util.Date updatedAt;
/**
*
* The user ID of the user that most recently updated the resource.
*
*/
private String updatedBy;
/**
*
* The ARN of the resource.
*
*
* @param arn
* The ARN of the resource.
*/
public void setArn(String arn) {
this.arn = arn;
}
/**
*
* The ARN of the resource.
*
*
* @return The ARN of the resource.
*/
public String getArn() {
return this.arn;
}
/**
*
* The ARN of the resource.
*
*
* @param arn
* The ARN of the resource.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withArn(String arn) {
setArn(arn);
return this;
}
/**
*
* The Unix epoch timestamp in seconds for when the resource was created.
*
*
* @param createdAt
* The Unix epoch timestamp in seconds for when the resource was created.
*/
public void setCreatedAt(java.util.Date createdAt) {
this.createdAt = createdAt;
}
/**
*
* The Unix epoch timestamp in seconds for when the resource was created.
*
*
* @return The Unix epoch timestamp in seconds for when the resource was created.
*/
public java.util.Date getCreatedAt() {
return this.createdAt;
}
/**
*
* The Unix epoch timestamp in seconds for when the resource was created.
*
*
* @param createdAt
* The Unix epoch timestamp in seconds for when the resource was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withCreatedAt(java.util.Date createdAt) {
setCreatedAt(createdAt);
return this;
}
/**
*
* The user ID of the user that created the launch profile.
*
*
* @param createdBy
* The user ID of the user that created the launch profile.
*/
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
/**
*
* The user ID of the user that created the launch profile.
*
*
* @return The user ID of the user that created the launch profile.
*/
public String getCreatedBy() {
return this.createdBy;
}
/**
*
* The user ID of the user that created the launch profile.
*
*
* @param createdBy
* The user ID of the user that created the launch profile.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withCreatedBy(String createdBy) {
setCreatedBy(createdBy);
return this;
}
/**
*
* A human-readable description of the launch profile.
*
*
* @param description
* A human-readable description of the launch profile.
*/
public void setDescription(String description) {
this.description = description;
}
/**
*
* A human-readable description of the launch profile.
*
*
* @return A human-readable description of the launch profile.
*/
public String getDescription() {
return this.description;
}
/**
*
* A human-readable description of the launch profile.
*
*
* @param description
* A human-readable description of the launch profile.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withDescription(String description) {
setDescription(description);
return this;
}
/**
*
* Unique identifiers for a collection of EC2 subnets.
*
*
* @return Unique identifiers for a collection of EC2 subnets.
*/
public java.util.List getEc2SubnetIds() {
return ec2SubnetIds;
}
/**
*
* Unique identifiers for a collection of EC2 subnets.
*
*
* @param ec2SubnetIds
* Unique identifiers for a collection of EC2 subnets.
*/
public void setEc2SubnetIds(java.util.Collection ec2SubnetIds) {
if (ec2SubnetIds == null) {
this.ec2SubnetIds = null;
return;
}
this.ec2SubnetIds = new java.util.ArrayList(ec2SubnetIds);
}
/**
*
* Unique identifiers for a collection of EC2 subnets.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setEc2SubnetIds(java.util.Collection)} or {@link #withEc2SubnetIds(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param ec2SubnetIds
* Unique identifiers for a collection of EC2 subnets.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withEc2SubnetIds(String... ec2SubnetIds) {
if (this.ec2SubnetIds == null) {
setEc2SubnetIds(new java.util.ArrayList(ec2SubnetIds.length));
}
for (String ele : ec2SubnetIds) {
this.ec2SubnetIds.add(ele);
}
return this;
}
/**
*
* Unique identifiers for a collection of EC2 subnets.
*
*
* @param ec2SubnetIds
* Unique identifiers for a collection of EC2 subnets.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withEc2SubnetIds(java.util.Collection ec2SubnetIds) {
setEc2SubnetIds(ec2SubnetIds);
return this;
}
/**
*
* The launch profile ID.
*
*
* @param launchProfileId
* The launch profile ID.
*/
public void setLaunchProfileId(String launchProfileId) {
this.launchProfileId = launchProfileId;
}
/**
*
* The launch profile ID.
*
*
* @return The launch profile ID.
*/
public String getLaunchProfileId() {
return this.launchProfileId;
}
/**
*
* The launch profile ID.
*
*
* @param launchProfileId
* The launch profile ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withLaunchProfileId(String launchProfileId) {
setLaunchProfileId(launchProfileId);
return this;
}
/**
*
* The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".
*
*
* @return The version number of the protocol that is used by the launch profile. The only valid version is
* "2021-03-31".
*/
public java.util.List getLaunchProfileProtocolVersions() {
return launchProfileProtocolVersions;
}
/**
*
* The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".
*
*
* @param launchProfileProtocolVersions
* The version number of the protocol that is used by the launch profile. The only valid version is
* "2021-03-31".
*/
public void setLaunchProfileProtocolVersions(java.util.Collection launchProfileProtocolVersions) {
if (launchProfileProtocolVersions == null) {
this.launchProfileProtocolVersions = null;
return;
}
this.launchProfileProtocolVersions = new java.util.ArrayList(launchProfileProtocolVersions);
}
/**
*
* The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setLaunchProfileProtocolVersions(java.util.Collection)} or
* {@link #withLaunchProfileProtocolVersions(java.util.Collection)} if you want to override the existing values.
*
*
* @param launchProfileProtocolVersions
* The version number of the protocol that is used by the launch profile. The only valid version is
* "2021-03-31".
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withLaunchProfileProtocolVersions(String... launchProfileProtocolVersions) {
if (this.launchProfileProtocolVersions == null) {
setLaunchProfileProtocolVersions(new java.util.ArrayList(launchProfileProtocolVersions.length));
}
for (String ele : launchProfileProtocolVersions) {
this.launchProfileProtocolVersions.add(ele);
}
return this;
}
/**
*
* The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".
*
*
* @param launchProfileProtocolVersions
* The version number of the protocol that is used by the launch profile. The only valid version is
* "2021-03-31".
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withLaunchProfileProtocolVersions(java.util.Collection launchProfileProtocolVersions) {
setLaunchProfileProtocolVersions(launchProfileProtocolVersions);
return this;
}
/**
*
* A friendly name for the launch profile.
*
*
* @param name
* A friendly name for the launch profile.
*/
public void setName(String name) {
this.name = name;
}
/**
*
* A friendly name for the launch profile.
*
*
* @return A friendly name for the launch profile.
*/
public String getName() {
return this.name;
}
/**
*
* A friendly name for the launch profile.
*
*
* @param name
* A friendly name for the launch profile.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withName(String name) {
setName(name);
return this;
}
/**
*
* The current state.
*
*
* @param state
* The current state.
* @see LaunchProfileState
*/
public void setState(String state) {
this.state = state;
}
/**
*
* The current state.
*
*
* @return The current state.
* @see LaunchProfileState
*/
public String getState() {
return this.state;
}
/**
*
* The current state.
*
*
* @param state
* The current state.
* @return Returns a reference to this object so that method calls can be chained together.
* @see LaunchProfileState
*/
public LaunchProfile withState(String state) {
setState(state);
return this;
}
/**
*
* The current state.
*
*
* @param state
* The current state.
* @return Returns a reference to this object so that method calls can be chained together.
* @see LaunchProfileState
*/
public LaunchProfile withState(LaunchProfileState state) {
this.state = state.toString();
return this;
}
/**
*
* The status code.
*
*
* @param statusCode
* The status code.
* @see LaunchProfileStatusCode
*/
public void setStatusCode(String statusCode) {
this.statusCode = statusCode;
}
/**
*
* The status code.
*
*
* @return The status code.
* @see LaunchProfileStatusCode
*/
public String getStatusCode() {
return this.statusCode;
}
/**
*
* The status code.
*
*
* @param statusCode
* The status code.
* @return Returns a reference to this object so that method calls can be chained together.
* @see LaunchProfileStatusCode
*/
public LaunchProfile withStatusCode(String statusCode) {
setStatusCode(statusCode);
return this;
}
/**
*
* The status code.
*
*
* @param statusCode
* The status code.
* @return Returns a reference to this object so that method calls can be chained together.
* @see LaunchProfileStatusCode
*/
public LaunchProfile withStatusCode(LaunchProfileStatusCode statusCode) {
this.statusCode = statusCode.toString();
return this;
}
/**
*
* The status message for the launch profile.
*
*
* @param statusMessage
* The status message for the launch profile.
*/
public void setStatusMessage(String statusMessage) {
this.statusMessage = statusMessage;
}
/**
*
* The status message for the launch profile.
*
*
* @return The status message for the launch profile.
*/
public String getStatusMessage() {
return this.statusMessage;
}
/**
*
* The status message for the launch profile.
*
*
* @param statusMessage
* The status message for the launch profile.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withStatusMessage(String statusMessage) {
setStatusMessage(statusMessage);
return this;
}
/**
*
* A configuration for a streaming session.
*
*
* @param streamConfiguration
* A configuration for a streaming session.
*/
public void setStreamConfiguration(StreamConfiguration streamConfiguration) {
this.streamConfiguration = streamConfiguration;
}
/**
*
* A configuration for a streaming session.
*
*
* @return A configuration for a streaming session.
*/
public StreamConfiguration getStreamConfiguration() {
return this.streamConfiguration;
}
/**
*
* A configuration for a streaming session.
*
*
* @param streamConfiguration
* A configuration for a streaming session.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withStreamConfiguration(StreamConfiguration streamConfiguration) {
setStreamConfiguration(streamConfiguration);
return this;
}
/**
*
* Unique identifiers for a collection of studio components that can be used with this launch profile.
*
*
* @return Unique identifiers for a collection of studio components that can be used with this launch profile.
*/
public java.util.List getStudioComponentIds() {
return studioComponentIds;
}
/**
*
* Unique identifiers for a collection of studio components that can be used with this launch profile.
*
*
* @param studioComponentIds
* Unique identifiers for a collection of studio components that can be used with this launch profile.
*/
public void setStudioComponentIds(java.util.Collection studioComponentIds) {
if (studioComponentIds == null) {
this.studioComponentIds = null;
return;
}
this.studioComponentIds = new java.util.ArrayList(studioComponentIds);
}
/**
*
* Unique identifiers for a collection of studio components that can be used with this launch profile.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setStudioComponentIds(java.util.Collection)} or {@link #withStudioComponentIds(java.util.Collection)} if
* you want to override the existing values.
*
*
* @param studioComponentIds
* Unique identifiers for a collection of studio components that can be used with this launch profile.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withStudioComponentIds(String... studioComponentIds) {
if (this.studioComponentIds == null) {
setStudioComponentIds(new java.util.ArrayList(studioComponentIds.length));
}
for (String ele : studioComponentIds) {
this.studioComponentIds.add(ele);
}
return this;
}
/**
*
* Unique identifiers for a collection of studio components that can be used with this launch profile.
*
*
* @param studioComponentIds
* Unique identifiers for a collection of studio components that can be used with this launch profile.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withStudioComponentIds(java.util.Collection studioComponentIds) {
setStudioComponentIds(studioComponentIds);
return this;
}
/**
*
* A collection of labels, in the form of key:value pairs, that apply to this resource.
*
*
* @return A collection of labels, in the form of key:value pairs, that apply to this resource.
*/
public java.util.Map getTags() {
return tags;
}
/**
*
* A collection of labels, in the form of key:value pairs, that apply to this resource.
*
*
* @param tags
* A collection of labels, in the form of key:value pairs, that apply to this resource.
*/
public void setTags(java.util.Map tags) {
this.tags = tags;
}
/**
*
* A collection of labels, in the form of key:value pairs, that apply to this resource.
*
*
* @param tags
* A collection of labels, in the form of key:value pairs, that apply to this resource.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withTags(java.util.Map tags) {
setTags(tags);
return this;
}
/**
* Add a single Tags entry
*
* @see LaunchProfile#withTags
* @returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile addTagsEntry(String key, String value) {
if (null == this.tags) {
this.tags = new java.util.HashMap();
}
if (this.tags.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.tags.put(key, value);
return this;
}
/**
* Removes all the entries added into Tags.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile clearTagsEntries() {
this.tags = null;
return this;
}
/**
*
* The Unix epoch timestamp in seconds for when the resource was updated.
*
*
* @param updatedAt
* The Unix epoch timestamp in seconds for when the resource was updated.
*/
public void setUpdatedAt(java.util.Date updatedAt) {
this.updatedAt = updatedAt;
}
/**
*
* The Unix epoch timestamp in seconds for when the resource was updated.
*
*
* @return The Unix epoch timestamp in seconds for when the resource was updated.
*/
public java.util.Date getUpdatedAt() {
return this.updatedAt;
}
/**
*
* The Unix epoch timestamp in seconds for when the resource was updated.
*
*
* @param updatedAt
* The Unix epoch timestamp in seconds for when the resource was updated.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withUpdatedAt(java.util.Date updatedAt) {
setUpdatedAt(updatedAt);
return this;
}
/**
*
* The user ID of the user that most recently updated the resource.
*
*
* @param updatedBy
* The user ID of the user that most recently updated the resource.
*/
public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy;
}
/**
*
* The user ID of the user that most recently updated the resource.
*
*
* @return The user ID of the user that most recently updated the resource.
*/
public String getUpdatedBy() {
return this.updatedBy;
}
/**
*
* The user ID of the user that most recently updated the resource.
*
*
* @param updatedBy
* The user ID of the user that most recently updated the resource.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public LaunchProfile withUpdatedBy(String updatedBy) {
setUpdatedBy(updatedBy);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getArn() != null)
sb.append("Arn: ").append(getArn()).append(",");
if (getCreatedAt() != null)
sb.append("CreatedAt: ").append(getCreatedAt()).append(",");
if (getCreatedBy() != null)
sb.append("CreatedBy: ").append(getCreatedBy()).append(",");
if (getDescription() != null)
sb.append("Description: ").append("***Sensitive Data Redacted***").append(",");
if (getEc2SubnetIds() != null)
sb.append("Ec2SubnetIds: ").append(getEc2SubnetIds()).append(",");
if (getLaunchProfileId() != null)
sb.append("LaunchProfileId: ").append(getLaunchProfileId()).append(",");
if (getLaunchProfileProtocolVersions() != null)
sb.append("LaunchProfileProtocolVersions: ").append(getLaunchProfileProtocolVersions()).append(",");
if (getName() != null)
sb.append("Name: ").append("***Sensitive Data Redacted***").append(",");
if (getState() != null)
sb.append("State: ").append(getState()).append(",");
if (getStatusCode() != null)
sb.append("StatusCode: ").append(getStatusCode()).append(",");
if (getStatusMessage() != null)
sb.append("StatusMessage: ").append(getStatusMessage()).append(",");
if (getStreamConfiguration() != null)
sb.append("StreamConfiguration: ").append(getStreamConfiguration()).append(",");
if (getStudioComponentIds() != null)
sb.append("StudioComponentIds: ").append(getStudioComponentIds()).append(",");
if (getTags() != null)
sb.append("Tags: ").append(getTags()).append(",");
if (getUpdatedAt() != null)
sb.append("UpdatedAt: ").append(getUpdatedAt()).append(",");
if (getUpdatedBy() != null)
sb.append("UpdatedBy: ").append(getUpdatedBy());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof LaunchProfile == false)
return false;
LaunchProfile other = (LaunchProfile) obj;
if (other.getArn() == null ^ this.getArn() == null)
return false;
if (other.getArn() != null && other.getArn().equals(this.getArn()) == false)
return false;
if (other.getCreatedAt() == null ^ this.getCreatedAt() == null)
return false;
if (other.getCreatedAt() != null && other.getCreatedAt().equals(this.getCreatedAt()) == false)
return false;
if (other.getCreatedBy() == null ^ this.getCreatedBy() == null)
return false;
if (other.getCreatedBy() != null && other.getCreatedBy().equals(this.getCreatedBy()) == false)
return false;
if (other.getDescription() == null ^ this.getDescription() == null)
return false;
if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false)
return false;
if (other.getEc2SubnetIds() == null ^ this.getEc2SubnetIds() == null)
return false;
if (other.getEc2SubnetIds() != null && other.getEc2SubnetIds().equals(this.getEc2SubnetIds()) == false)
return false;
if (other.getLaunchProfileId() == null ^ this.getLaunchProfileId() == null)
return false;
if (other.getLaunchProfileId() != null && other.getLaunchProfileId().equals(this.getLaunchProfileId()) == false)
return false;
if (other.getLaunchProfileProtocolVersions() == null ^ this.getLaunchProfileProtocolVersions() == null)
return false;
if (other.getLaunchProfileProtocolVersions() != null
&& other.getLaunchProfileProtocolVersions().equals(this.getLaunchProfileProtocolVersions()) == 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.getState() == null ^ this.getState() == null)
return false;
if (other.getState() != null && other.getState().equals(this.getState()) == false)
return false;
if (other.getStatusCode() == null ^ this.getStatusCode() == null)
return false;
if (other.getStatusCode() != null && other.getStatusCode().equals(this.getStatusCode()) == false)
return false;
if (other.getStatusMessage() == null ^ this.getStatusMessage() == null)
return false;
if (other.getStatusMessage() != null && other.getStatusMessage().equals(this.getStatusMessage()) == false)
return false;
if (other.getStreamConfiguration() == null ^ this.getStreamConfiguration() == null)
return false;
if (other.getStreamConfiguration() != null && other.getStreamConfiguration().equals(this.getStreamConfiguration()) == false)
return false;
if (other.getStudioComponentIds() == null ^ this.getStudioComponentIds() == null)
return false;
if (other.getStudioComponentIds() != null && other.getStudioComponentIds().equals(this.getStudioComponentIds()) == false)
return false;
if (other.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
return false;
if (other.getUpdatedAt() == null ^ this.getUpdatedAt() == null)
return false;
if (other.getUpdatedAt() != null && other.getUpdatedAt().equals(this.getUpdatedAt()) == false)
return false;
if (other.getUpdatedBy() == null ^ this.getUpdatedBy() == null)
return false;
if (other.getUpdatedBy() != null && other.getUpdatedBy().equals(this.getUpdatedBy()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getArn() == null) ? 0 : getArn().hashCode());
hashCode = prime * hashCode + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
hashCode = prime * hashCode + ((getCreatedBy() == null) ? 0 : getCreatedBy().hashCode());
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
hashCode = prime * hashCode + ((getEc2SubnetIds() == null) ? 0 : getEc2SubnetIds().hashCode());
hashCode = prime * hashCode + ((getLaunchProfileId() == null) ? 0 : getLaunchProfileId().hashCode());
hashCode = prime * hashCode + ((getLaunchProfileProtocolVersions() == null) ? 0 : getLaunchProfileProtocolVersions().hashCode());
hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode());
hashCode = prime * hashCode + ((getState() == null) ? 0 : getState().hashCode());
hashCode = prime * hashCode + ((getStatusCode() == null) ? 0 : getStatusCode().hashCode());
hashCode = prime * hashCode + ((getStatusMessage() == null) ? 0 : getStatusMessage().hashCode());
hashCode = prime * hashCode + ((getStreamConfiguration() == null) ? 0 : getStreamConfiguration().hashCode());
hashCode = prime * hashCode + ((getStudioComponentIds() == null) ? 0 : getStudioComponentIds().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
hashCode = prime * hashCode + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
hashCode = prime * hashCode + ((getUpdatedBy() == null) ? 0 : getUpdatedBy().hashCode());
return hashCode;
}
@Override
public LaunchProfile clone() {
try {
return (LaunchProfile) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.nimblestudio.model.transform.LaunchProfileMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}