/*
* 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 appstream-2016-12-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.AppStream.Model
{
///
/// Describes an image.
///
public partial class Image
{
private List _applications = new List();
private string _appstreamAgentVersion;
private string _arn;
private string _baseImageArn;
private DateTime? _createdTime;
private string _description;
private string _displayName;
private string _imageBuilderName;
private bool? _imageBuilderSupported;
private List _imageErrors = new List();
private ImagePermissions _imagePermissions;
private string _name;
private PlatformType _platform;
private DateTime? _publicBaseImageReleasedDate;
private ImageState _state;
private ImageStateChangeReason _stateChangeReason;
private VisibilityType _visibility;
///
/// Gets and sets the property Applications.
///
/// The applications associated with the image.
///
///
public List Applications
{
get { return this._applications; }
set { this._applications = value; }
}
// Check to see if Applications property is set
internal bool IsSetApplications()
{
return this._applications != null && this._applications.Count > 0;
}
///
/// Gets and sets the property AppstreamAgentVersion.
///
/// The version of the AppStream 2.0 agent to use for instances that are launched from
/// this image.
///
///
[AWSProperty(Min=1, Max=100)]
public string AppstreamAgentVersion
{
get { return this._appstreamAgentVersion; }
set { this._appstreamAgentVersion = value; }
}
// Check to see if AppstreamAgentVersion property is set
internal bool IsSetAppstreamAgentVersion()
{
return this._appstreamAgentVersion != null;
}
///
/// Gets and sets the property Arn.
///
/// The ARN of the image.
///
///
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 BaseImageArn.
///
/// The ARN of the image from which this image was created.
///
///
public string BaseImageArn
{
get { return this._baseImageArn; }
set { this._baseImageArn = value; }
}
// Check to see if BaseImageArn property is set
internal bool IsSetBaseImageArn()
{
return this._baseImageArn != null;
}
///
/// Gets and sets the property CreatedTime.
///
/// The time the image was created.
///
///
public DateTime CreatedTime
{
get { return this._createdTime.GetValueOrDefault(); }
set { this._createdTime = value; }
}
// Check to see if CreatedTime property is set
internal bool IsSetCreatedTime()
{
return this._createdTime.HasValue;
}
///
/// Gets and sets the property Description.
///
/// The description to display.
///
///
[AWSProperty(Min=1)]
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 DisplayName.
///
/// The image name to display.
///
///
[AWSProperty(Min=1)]
public string DisplayName
{
get { return this._displayName; }
set { this._displayName = value; }
}
// Check to see if DisplayName property is set
internal bool IsSetDisplayName()
{
return this._displayName != null;
}
///
/// Gets and sets the property ImageBuilderName.
///
/// The name of the image builder that was used to create the private image. If the image
/// is shared, this value is null.
///
///
[AWSProperty(Min=1)]
public string ImageBuilderName
{
get { return this._imageBuilderName; }
set { this._imageBuilderName = value; }
}
// Check to see if ImageBuilderName property is set
internal bool IsSetImageBuilderName()
{
return this._imageBuilderName != null;
}
///
/// Gets and sets the property ImageBuilderSupported.
///
/// Indicates whether an image builder can be launched from this image.
///
///
public bool ImageBuilderSupported
{
get { return this._imageBuilderSupported.GetValueOrDefault(); }
set { this._imageBuilderSupported = value; }
}
// Check to see if ImageBuilderSupported property is set
internal bool IsSetImageBuilderSupported()
{
return this._imageBuilderSupported.HasValue;
}
///
/// Gets and sets the property ImageErrors.
///
/// Describes the errors that are returned when a new image can't be created.
///
///
public List ImageErrors
{
get { return this._imageErrors; }
set { this._imageErrors = value; }
}
// Check to see if ImageErrors property is set
internal bool IsSetImageErrors()
{
return this._imageErrors != null && this._imageErrors.Count > 0;
}
///
/// Gets and sets the property ImagePermissions.
///
/// The permissions to provide to the destination AWS account for the specified image.
///
///
public ImagePermissions ImagePermissions
{
get { return this._imagePermissions; }
set { this._imagePermissions = value; }
}
// Check to see if ImagePermissions property is set
internal bool IsSetImagePermissions()
{
return this._imagePermissions != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the image.
///
///
[AWSProperty(Required=true, Min=1)]
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 Platform.
///
/// The operating system platform of the image.
///
///
public PlatformType 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 PublicBaseImageReleasedDate.
///
/// The release date of the public base image. For private images, this date is the release
/// date of the base image from which the image was created.
///
///
public DateTime PublicBaseImageReleasedDate
{
get { return this._publicBaseImageReleasedDate.GetValueOrDefault(); }
set { this._publicBaseImageReleasedDate = value; }
}
// Check to see if PublicBaseImageReleasedDate property is set
internal bool IsSetPublicBaseImageReleasedDate()
{
return this._publicBaseImageReleasedDate.HasValue;
}
///
/// Gets and sets the property State.
///
/// The image starts in the PENDING
state. If image creation succeeds, the
/// state is AVAILABLE
. If image creation fails, the state is FAILED
.
///
///
public ImageState 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 StateChangeReason.
///
/// The reason why the last state change occurred.
///
///
public ImageStateChangeReason StateChangeReason
{
get { return this._stateChangeReason; }
set { this._stateChangeReason = value; }
}
// Check to see if StateChangeReason property is set
internal bool IsSetStateChangeReason()
{
return this._stateChangeReason != null;
}
///
/// Gets and sets the property Visibility.
///
/// Indicates whether the image is public or private.
///
///
public VisibilityType Visibility
{
get { return this._visibility; }
set { this._visibility = value; }
}
// Check to see if Visibility property is set
internal bool IsSetVisibility()
{
return this._visibility != null;
}
}
}