/*
* 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 ec2-2016-11-15.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.EC2.Model
{
///
/// Container for the parameters to the DescribeImages operation.
/// Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the
/// images available to you.
///
///
///
/// The images available to you include public images, private images that you own, and
/// private images owned by other Amazon Web Services accounts for which you have explicit
/// launch permissions.
///
///
///
/// Recently deregistered images appear in the returned results for a short interval and
/// then return empty results. After all instances that reference a deregistered AMI are
/// terminated, specifying the ID of the image will eventually return an error indicating
/// that the AMI ID cannot be found.
///
///
public partial class DescribeImagesRequest : AmazonEC2Request
{
private List _executableUsers = new List();
private List _filters = new List();
private List _imageIds = new List();
private bool? _includeDeprecated;
private int? _maxResults;
private string _nextToken;
private List _owners = new List();
///
/// Gets and sets the property ExecutableUsers.
///
/// Scopes the images by users with explicit launch permissions. Specify an Amazon Web
/// Services account ID, self (the sender of the request), or all
/// (public AMIs).
///
/// -
///
/// If you specify an Amazon Web Services account ID that is not your own, only AMIs shared
/// with that specific Amazon Web Services account ID are returned. However, AMIs that
/// are shared with the account’s organization or organizational unit (OU) are not returned.
///
///
-
///
/// If you specify
self or your own Amazon Web Services account ID, AMIs
/// shared with your account are returned. In addition, AMIs that are shared with the
/// organization or OU of which you are member are also returned.
///
/// -
///
/// If you specify
all, all public AMIs are returned.
///
///
///
public List ExecutableUsers
{
get { return this._executableUsers; }
set { this._executableUsers = value; }
}
// Check to see if ExecutableUsers property is set
internal bool IsSetExecutableUsers()
{
return this._executableUsers != null && this._executableUsers.Count > 0;
}
///
/// Gets and sets the property Filters.
///
/// The filters.
///
/// -
///
///
architecture - The image architecture (i386 | x86_64
/// | arm64 | x86_64_mac | arm64_mac).
///
/// -
///
///
block-device-mapping.delete-on-termination - A Boolean value that indicates
/// whether the Amazon EBS volume is deleted on instance termination.
///
/// -
///
///
block-device-mapping.device-name - The device name specified in the
/// block device mapping (for example, /dev/sdh or xvdh).
///
/// -
///
///
block-device-mapping.snapshot-id - The ID of the snapshot used for the
/// Amazon EBS volume.
///
/// -
///
///
block-device-mapping.volume-size - The volume size of the Amazon EBS
/// volume, in GiB.
///
/// -
///
///
block-device-mapping.volume-type - The volume type of the Amazon EBS
/// volume (io1 | io2 | gp2 | gp3
/// | sc1 | st1 | standard).
///
/// -
///
///
block-device-mapping.encrypted - A Boolean that indicates whether the
/// Amazon EBS volume is encrypted.
///
/// -
///
///
creation-date - The time when the image was created, in the ISO 8601
/// format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z.
/// You can use a wildcard (*), for example, 2021-09-29T*, which
/// matches an entire day.
///
/// -
///
///
description - The description of the image (provided during image creation).
///
/// -
///
///
ena-support - A Boolean that indicates whether enhanced networking with
/// ENA is enabled.
///
/// -
///
///
hypervisor - The hypervisor type (ovm | xen).
///
/// -
///
///
image-id - The ID of the image.
///
/// -
///
///
image-type - The image type (machine | kernel
/// | ramdisk).
///
/// -
///
///
is-public - A Boolean that indicates whether the image is public.
///
/// -
///
///
kernel-id - The kernel ID.
///
/// -
///
///
manifest-location - The location of the image manifest.
///
/// -
///
///
name - The name of the AMI (provided during image creation).
///
/// -
///
///
owner-alias - The owner alias (amazon | aws-marketplace).
/// The valid aliases are defined in an Amazon-maintained list. This is not the Amazon
/// Web Services account alias that can be set using the IAM console. We recommend that
/// you use the Owner request parameter instead of this filter.
///
/// -
///
///
owner-id - The Amazon Web Services account ID of the owner. We recommend
/// that you use the Owner request parameter instead of this filter.
///
/// -
///
///
platform - The platform. The only supported value is windows.
///
/// -
///
///
product-code - The product code.
///
/// -
///
///
product-code.type - The type of the product code (marketplace).
///
/// -
///
///
ramdisk-id - The RAM disk ID.
///
/// -
///
///
root-device-name - The device name of the root device volume (for example,
/// /dev/sda1).
///
/// -
///
///
root-device-type - The type of the root device volume (ebs
/// | instance-store).
///
/// -
///
///
state - The state of the image (available | pending
/// | failed).
///
/// -
///
///
state-reason-code - The reason code for the state change.
///
/// -
///
///
state-reason-message - The message for the state change.
///
/// -
///
///
sriov-net-support - A value of simple indicates that enhanced
/// networking with the Intel 82599 VF interface is enabled.
///
/// -
///
///
tag:<key> - The key/value combination of a tag assigned to the
/// resource. Use the tag key in the filter name and the tag value as the filter value.
/// For example, to find all resources that have a tag with the key Owner
/// and the value TeamA, specify tag:Owner for the filter name
/// and TeamA for the filter value.
///
/// -
///
///
tag-key - The key of a tag assigned to the resource. Use this filter
/// to find all resources assigned a tag with a specific key, regardless of the tag value.
///
/// -
///
///
virtualization-type - The virtualization type (paravirtual
/// | hvm).
///
///
///
public List Filters
{
get { return this._filters; }
set { this._filters = value; }
}
// Check to see if Filters property is set
internal bool IsSetFilters()
{
return this._filters != null && this._filters.Count > 0;
}
///
/// Gets and sets the property ImageIds.
///
/// The image IDs.
///
///
///
/// Default: Describes all images available to you.
///
///
public List ImageIds
{
get { return this._imageIds; }
set { this._imageIds = value; }
}
// Check to see if ImageIds property is set
internal bool IsSetImageIds()
{
return this._imageIds != null && this._imageIds.Count > 0;
}
///
/// Gets and sets the property IncludeDeprecated.
///
/// Specifies whether to include deprecated AMIs.
///
///
///
/// Default: No deprecated AMIs are included in the response.
///
///
///
/// If you are the AMI owner, all deprecated AMIs appear in the response regardless of
/// what you specify for this parameter.
///
///
///
public bool IncludeDeprecated
{
get { return this._includeDeprecated.GetValueOrDefault(); }
set { this._includeDeprecated = value; }
}
// Check to see if IncludeDeprecated property is set
internal bool IsSetIncludeDeprecated()
{
return this._includeDeprecated.HasValue;
}
///
/// Gets and sets the property MaxResults.
///
/// The maximum number of items to return for this request. To get the next page of items,
/// make another request with the token returned in the output. For more information,
/// see Pagination.
///
///
public int MaxResults
{
get { return this._maxResults.GetValueOrDefault(); }
set { this._maxResults = value; }
}
// Check to see if MaxResults property is set
internal bool IsSetMaxResults()
{
return this._maxResults.HasValue;
}
///
/// Gets and sets the property NextToken.
///
/// The token returned from a previous paginated request. Pagination continues from the
/// end of the items returned by the previous request.
///
///
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
///
/// Gets and sets the property Owners.
///
/// Scopes the results to images with the specified owners. You can specify a combination
/// of Amazon Web Services account IDs, self, amazon, and aws-marketplace.
/// If you omit this parameter, the results include all images for which you have launch
/// permissions, regardless of ownership.
///
///
public List Owners
{
get { return this._owners; }
set { this._owners = value; }
}
// Check to see if Owners property is set
internal bool IsSetOwners()
{
return this._owners != null && this._owners.Count > 0;
}
}
}