/* * Copyright 2018-2023 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; /** *
* Represents a streaming image resource. *
** Streaming images are used by studio users to select which operating system and software they want to use in a Nimble * Studio streaming session. *
** Amazon provides a number of streaming images that include popular 3rd-party software. *
** You can create your own streaming images using an Amazon EC2 machine image that you create for this purpose. You can * also include software that your users require. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class StreamingImage implements Serializable, Cloneable, StructuredPojo { /** ** The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique * across all Regions. *
*/ private String arn; /** ** A human-readable description of the streaming image. *
*/ private String description; /** ** The ID of an EC2 machine image with which to create the streaming image. *
*/ private String ec2ImageId; /** ** The encryption configuration. *
*/ private StreamingImageEncryptionConfiguration encryptionConfiguration; /** ** The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image. *
*/ private java.util.List* A friendly name for a streaming image resource. *
*/ private String name; /** *
* The owner of the streaming image, either the studioId
that contains the streaming image, or
* amazon
for images that are provided by Amazon Nimble Studio.
*
* The platform of the streaming image, either Windows or Linux. *
*/ private String platform; /** ** The current state. *
*/ private String state; /** ** The status code. *
*/ private String statusCode; /** ** The status message for the streaming image. *
*/ private String statusMessage; /** ** The ID of the streaming image. *
*/ private String streamingImageId; /** ** A collection of labels, in the form of key-value pairs, that apply to this resource. *
*/ private java.util.Map* The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique * across all Regions. *
* * @param arn * The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are * unique across all Regions. */ public void setArn(String arn) { this.arn = arn; } /** ** The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique * across all Regions. *
* * @return The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are * unique across all Regions. */ public String getArn() { return this.arn; } /** ** The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique * across all Regions. *
* * @param arn * The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are * unique across all Regions. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamingImage withArn(String arn) { setArn(arn); return this; } /** ** A human-readable description of the streaming image. *
* * @param description * A human-readable description of the streaming image. */ public void setDescription(String description) { this.description = description; } /** ** A human-readable description of the streaming image. *
* * @return A human-readable description of the streaming image. */ public String getDescription() { return this.description; } /** ** A human-readable description of the streaming image. *
* * @param description * A human-readable description of the streaming image. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamingImage withDescription(String description) { setDescription(description); return this; } /** ** The ID of an EC2 machine image with which to create the streaming image. *
* * @param ec2ImageId * The ID of an EC2 machine image with which to create the streaming image. */ public void setEc2ImageId(String ec2ImageId) { this.ec2ImageId = ec2ImageId; } /** ** The ID of an EC2 machine image with which to create the streaming image. *
* * @return The ID of an EC2 machine image with which to create the streaming image. */ public String getEc2ImageId() { return this.ec2ImageId; } /** ** The ID of an EC2 machine image with which to create the streaming image. *
* * @param ec2ImageId * The ID of an EC2 machine image with which to create the streaming image. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamingImage withEc2ImageId(String ec2ImageId) { setEc2ImageId(ec2ImageId); return this; } /** ** The encryption configuration. *
* * @param encryptionConfiguration * The encryption configuration. */ public void setEncryptionConfiguration(StreamingImageEncryptionConfiguration encryptionConfiguration) { this.encryptionConfiguration = encryptionConfiguration; } /** ** The encryption configuration. *
* * @return The encryption configuration. */ public StreamingImageEncryptionConfiguration getEncryptionConfiguration() { return this.encryptionConfiguration; } /** ** The encryption configuration. *
* * @param encryptionConfiguration * The encryption configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamingImage withEncryptionConfiguration(StreamingImageEncryptionConfiguration encryptionConfiguration) { setEncryptionConfiguration(encryptionConfiguration); return this; } /** ** The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image. *
* * @return The list of EULAs that must be accepted before a Streaming Session can be started using this streaming * image. */ public java.util.List* The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image. *
* * @param eulaIds * The list of EULAs that must be accepted before a Streaming Session can be started using this streaming * image. */ public void setEulaIds(java.util.Collection* The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setEulaIds(java.util.Collection)} or {@link #withEulaIds(java.util.Collection)} if you want to override * the existing values. *
* * @param eulaIds * The list of EULAs that must be accepted before a Streaming Session can be started using this streaming * image. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamingImage withEulaIds(String... eulaIds) { if (this.eulaIds == null) { setEulaIds(new java.util.ArrayList* The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image. *
* * @param eulaIds * The list of EULAs that must be accepted before a Streaming Session can be started using this streaming * image. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamingImage withEulaIds(java.util.Collection* A friendly name for a streaming image resource. *
* * @param name * A friendly name for a streaming image resource. */ public void setName(String name) { this.name = name; } /** ** A friendly name for a streaming image resource. *
* * @return A friendly name for a streaming image resource. */ public String getName() { return this.name; } /** ** A friendly name for a streaming image resource. *
* * @param name * A friendly name for a streaming image resource. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamingImage withName(String name) { setName(name); return this; } /** *
* The owner of the streaming image, either the studioId
that contains the streaming image, or
* amazon
for images that are provided by Amazon Nimble Studio.
*
studioId
that contains the streaming image, or
* amazon
for images that are provided by Amazon Nimble Studio.
*/
public void setOwner(String owner) {
this.owner = owner;
}
/**
*
* The owner of the streaming image, either the studioId
that contains the streaming image, or
* amazon
for images that are provided by Amazon Nimble Studio.
*
studioId
that contains the streaming image, or
* amazon
for images that are provided by Amazon Nimble Studio.
*/
public String getOwner() {
return this.owner;
}
/**
*
* The owner of the streaming image, either the studioId
that contains the streaming image, or
* amazon
for images that are provided by Amazon Nimble Studio.
*
studioId
that contains the streaming image, or
* amazon
for images that are provided by Amazon Nimble Studio.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StreamingImage withOwner(String owner) {
setOwner(owner);
return this;
}
/**
* * The platform of the streaming image, either Windows or Linux. *
* * @param platform * The platform of the streaming image, either Windows or Linux. */ public void setPlatform(String platform) { this.platform = platform; } /** ** The platform of the streaming image, either Windows or Linux. *
* * @return The platform of the streaming image, either Windows or Linux. */ public String getPlatform() { return this.platform; } /** ** The platform of the streaming image, either Windows or Linux. *
* * @param platform * The platform of the streaming image, either Windows or Linux. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamingImage withPlatform(String platform) { setPlatform(platform); return this; } /** ** The current state. *
* * @param state * The current state. * @see StreamingImageState */ public void setState(String state) { this.state = state; } /** ** The current state. *
* * @return The current state. * @see StreamingImageState */ 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 StreamingImageState */ public StreamingImage 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 StreamingImageState */ public StreamingImage withState(StreamingImageState state) { this.state = state.toString(); return this; } /** ** The status code. *
* * @param statusCode * The status code. * @see StreamingImageStatusCode */ public void setStatusCode(String statusCode) { this.statusCode = statusCode; } /** ** The status code. *
* * @return The status code. * @see StreamingImageStatusCode */ 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 StreamingImageStatusCode */ public StreamingImage 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 StreamingImageStatusCode */ public StreamingImage withStatusCode(StreamingImageStatusCode statusCode) { this.statusCode = statusCode.toString(); return this; } /** ** The status message for the streaming image. *
* * @param statusMessage * The status message for the streaming image. */ public void setStatusMessage(String statusMessage) { this.statusMessage = statusMessage; } /** ** The status message for the streaming image. *
* * @return The status message for the streaming image. */ public String getStatusMessage() { return this.statusMessage; } /** ** The status message for the streaming image. *
* * @param statusMessage * The status message for the streaming image. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamingImage withStatusMessage(String statusMessage) { setStatusMessage(statusMessage); return this; } /** ** The ID of the streaming image. *
* * @param streamingImageId * The ID of the streaming image. */ public void setStreamingImageId(String streamingImageId) { this.streamingImageId = streamingImageId; } /** ** The ID of the streaming image. *
* * @return The ID of the streaming image. */ public String getStreamingImageId() { return this.streamingImageId; } /** ** The ID of the streaming image. *
* * @param streamingImageId * The ID of the streaming image. * @return Returns a reference to this object so that method calls can be chained together. */ public StreamingImage withStreamingImageId(String streamingImageId) { setStreamingImageId(streamingImageId); 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* 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* 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 StreamingImage withTags(java.util.Map