/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the nimble-2020-08-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.NimbleStudio.Model
{
///
/// 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.
///
///
public partial class StreamingImage
{
private string _arn;
private string _description;
private string _ec2ImageId;
private StreamingImageEncryptionConfiguration _encryptionConfiguration;
private List _eulaIds = new List();
private string _name;
private string _owner;
private string _platform;
private StreamingImageState _state;
private StreamingImageStatusCode _statusCode;
private string _statusMessage;
private string _streamingImageId;
private Dictionary _tags = new Dictionary();
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely
/// identifies it. ARNs are unique across all Regions.
///
///
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property Description.
///
/// A human-readable description of the streaming image.
///
///
[AWSProperty(Sensitive=true, Min=0, Max=256)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property Ec2ImageId.
///
/// The ID of an EC2 machine image with which to create the streaming image.
///
///
public string Ec2ImageId
{
get { return this._ec2ImageId; }
set { this._ec2ImageId = value; }
}
// Check to see if Ec2ImageId property is set
internal bool IsSetEc2ImageId()
{
return this._ec2ImageId != null;
}
///
/// Gets and sets the property EncryptionConfiguration.
///
/// The encryption configuration.
///
///
public StreamingImageEncryptionConfiguration EncryptionConfiguration
{
get { return this._encryptionConfiguration; }
set { this._encryptionConfiguration = value; }
}
// Check to see if EncryptionConfiguration property is set
internal bool IsSetEncryptionConfiguration()
{
return this._encryptionConfiguration != null;
}
///
/// Gets and sets the property EulaIds.
///
/// The list of EULAs that must be accepted before a Streaming Session can be started
/// using this streaming image.
///
///
public List EulaIds
{
get { return this._eulaIds; }
set { this._eulaIds = value; }
}
// Check to see if EulaIds property is set
internal bool IsSetEulaIds()
{
return this._eulaIds != null && this._eulaIds.Count > 0;
}
///
/// Gets and sets the property Name.
///
/// A friendly name for a streaming image resource.
///
///
[AWSProperty(Sensitive=true, Min=0, Max=64)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property 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.
///
///
public string Owner
{
get { return this._owner; }
set { this._owner = value; }
}
// Check to see if Owner property is set
internal bool IsSetOwner()
{
return this._owner != null;
}
///
/// Gets and sets the property Platform.
///
/// The platform of the streaming image, either Windows or Linux.
///
///
public string Platform
{
get { return this._platform; }
set { this._platform = value; }
}
// Check to see if Platform property is set
internal bool IsSetPlatform()
{
return this._platform != null;
}
///
/// Gets and sets the property State.
///
/// The current state.
///
///
public StreamingImageState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property StatusCode.
///
/// The status code.
///
///
public StreamingImageStatusCode StatusCode
{
get { return this._statusCode; }
set { this._statusCode = value; }
}
// Check to see if StatusCode property is set
internal bool IsSetStatusCode()
{
return this._statusCode != null;
}
///
/// Gets and sets the property StatusMessage.
///
/// The status message for the streaming image.
///
///
public string StatusMessage
{
get { return this._statusMessage; }
set { this._statusMessage = value; }
}
// Check to see if StatusMessage property is set
internal bool IsSetStatusMessage()
{
return this._statusMessage != null;
}
///
/// Gets and sets the property StreamingImageId.
///
/// The ID of the streaming image.
///
///
[AWSProperty(Min=0, Max=22)]
public string StreamingImageId
{
get { return this._streamingImageId; }
set { this._streamingImageId = value; }
}
// Check to see if StreamingImageId property is set
internal bool IsSetStreamingImageId()
{
return this._streamingImageId != null;
}
///
/// Gets and sets the property Tags.
///
/// A collection of labels, in the form of key-value pairs, that apply to this resource.
///
///
public Dictionary Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}