/*
* 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 DescribeInstances operation.
/// Describes the specified instances or all instances.
///
///
///
/// If you specify instance IDs, the output includes information for only the specified
/// instances. If you specify filters, the output includes information for only those
/// instances that meet the filter criteria. If you do not specify instance IDs or filters,
/// the output includes information for all instances, which can affect performance. We
/// recommend that you use pagination to ensure that the operation returns quickly and
/// successfully.
///
///
///
/// If you specify an instance ID that is not valid, an error is returned. If you specify
/// an instance that you do not own, it is not included in the output.
///
///
///
/// Recently terminated instances might appear in the returned results. This interval
/// is usually less than one hour.
///
///
///
/// If you describe instances in the rare case where an Availability Zone is experiencing
/// a service disruption and you specify instance IDs that are in the affected zone, or
/// do not specify any instance IDs at all, the call fails. If you describe instances
/// and specify only instance IDs that are in an unaffected zone, the call works normally.
///
///
public partial class DescribeInstancesRequest : AmazonEC2Request
{
private List _filters = new List();
private List _instanceIds = new List();
private int? _maxResults;
private string _nextToken;
///
/// Gets and sets the property Filters.
///
/// The filters.
///
/// -
///
///
affinity
- The affinity setting for an instance running on a Dedicated
/// Host (default
| host
).
///
/// -
///
///
architecture
- The instance architecture (i386
| x86_64
/// | arm64
).
///
/// -
///
///
availability-zone
- The Availability Zone of the instance.
///
/// -
///
///
block-device-mapping.attach-time
- The attach time for an EBS volume
/// mapped to the instance, for example, 2010-09-15T17:15:20.000Z
.
///
/// -
///
///
block-device-mapping.delete-on-termination
- A Boolean that indicates
/// whether the 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.status
- The status for the EBS volume (attaching
/// | attached
| detaching
| detached
).
///
/// -
///
///
block-device-mapping.volume-id
- The volume ID of the EBS volume.
///
/// -
///
///
capacity-reservation-id
- The ID of the Capacity Reservation into which
/// the instance was launched.
///
/// -
///
///
client-token
- The idempotency token you provided when you launched
/// the instance.
///
/// -
///
///
dns-name
- The public DNS name of the instance.
///
/// -
///
///
hibernation-options.configured
- A Boolean that indicates whether the
/// instance is enabled for hibernation. A value of true
means that the instance
/// is enabled for hibernation.
///
/// -
///
///
host-id
- The ID of the Dedicated Host on which the instance is running,
/// if applicable.
///
/// -
///
///
hypervisor
- The hypervisor type of the instance (ovm
|
/// xen
). The value xen
is used for both Xen and Nitro hypervisors.
///
/// -
///
///
iam-instance-profile.arn
- The instance profile associated with the
/// instance. Specified as an ARN.
///
/// -
///
///
image-id
- The ID of the image used to launch the instance.
///
/// -
///
///
instance-id
- The ID of the instance.
///
/// -
///
///
instance-lifecycle
- Indicates whether this is a Spot Instance or a
/// Scheduled Instance (spot
| scheduled
).
///
/// -
///
///
instance-state-code
- The state of the instance, as a 16-bit unsigned
/// integer. The high byte is used for internal purposes and should be ignored. The low
/// byte is set based on the state represented. The valid values are: 0 (pending), 16
/// (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).
///
/// -
///
///
instance-state-name
- The state of the instance (pending
/// | running
| shutting-down
| terminated
| stopping
/// | stopped
).
///
/// -
///
///
instance-type
- The type of instance (for example, t2.micro
).
///
/// -
///
///
instance.group-id
- The ID of the security group for the instance.
///
/// -
///
///
instance.group-name
- The name of the security group for the instance.
///
///
/// -
///
///
ip-address
- The public IPv4 address of the instance.
///
/// -
///
///
kernel-id
- The kernel ID.
///
/// -
///
///
key-name
- The name of the key pair used when the instance was launched.
///
/// -
///
///
launch-index
- When launching multiple instances, this is the index
/// for the instance in the launch group (for example, 0, 1, 2, and so on).
///
/// -
///
///
launch-time
- The time when the instance was launched, 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.
///
/// -
///
///
metadata-options.http-tokens
- The metadata request authorization state
/// (optional
| required
)
///
/// -
///
///
metadata-options.http-put-response-hop-limit
- The HTTP metadata request
/// put response hop limit (integer, possible values 1
to 64
)
///
/// -
///
///
metadata-options.http-endpoint
- The status of access to the HTTP metadata
/// endpoint on your instance (enabled
| disabled
)
///
/// -
///
///
metadata-options.instance-metadata-tags
- The status of access to instance
/// tags from the instance metadata (enabled
| disabled
)
///
/// -
///
///
monitoring-state
- Indicates whether detailed monitoring is enabled
/// (disabled
| enabled
).
///
/// -
///
///
network-interface.addresses.private-ip-address
- The private IPv4 address
/// associated with the network interface.
///
/// -
///
///
network-interface.addresses.primary
- Specifies whether the IPv4 address
/// of the network interface is the primary private IPv4 address.
///
/// -
///
///
network-interface.addresses.association.public-ip
- The ID of the association
/// of an Elastic IP address (IPv4) with a network interface.
///
/// -
///
///
network-interface.addresses.association.ip-owner-id
- The owner ID of
/// the private IPv4 address associated with the network interface.
///
/// -
///
///
network-interface.association.public-ip
- The address of the Elastic
/// IP address (IPv4) bound to the network interface.
///
/// -
///
///
network-interface.association.ip-owner-id
- The owner of the Elastic
/// IP address (IPv4) associated with the network interface.
///
/// -
///
///
network-interface.association.allocation-id
- The allocation ID returned
/// when you allocated the Elastic IP address (IPv4) for your network interface.
///
/// -
///
///
network-interface.association.association-id
- The association ID returned
/// when the network interface was associated with an IPv4 address.
///
/// -
///
///
network-interface.attachment.attachment-id
- The ID of the interface
/// attachment.
///
/// -
///
///
network-interface.attachment.instance-id
- The ID of the instance to
/// which the network interface is attached.
///
/// -
///
///
network-interface.attachment.instance-owner-id
- The owner ID of the
/// instance to which the network interface is attached.
///
/// -
///
///
network-interface.attachment.device-index
- The device index to which
/// the network interface is attached.
///
/// -
///
///
network-interface.attachment.status
- The status of the attachment (attaching
/// | attached
| detaching
| detached
).
///
/// -
///
///
network-interface.attachment.attach-time
- The time that the network
/// interface was attached to an instance.
///
/// -
///
///
network-interface.attachment.delete-on-termination
- Specifies whether
/// the attachment is deleted when an instance is terminated.
///
/// -
///
///
network-interface.availability-zone
- The Availability Zone for the
/// network interface.
///
/// -
///
///
network-interface.description
- The description of the network interface.
///
/// -
///
///
network-interface.group-id
- The ID of a security group associated with
/// the network interface.
///
/// -
///
///
network-interface.group-name
- The name of a security group associated
/// with the network interface.
///
/// -
///
///
network-interface.ipv6-addresses.ipv6-address
- The IPv6 address associated
/// with the network interface.
///
/// -
///
///
network-interface.mac-address
- The MAC address of the network interface.
///
/// -
///
///
network-interface.network-interface-id
- The ID of the network interface.
///
/// -
///
///
network-interface.owner-id
- The ID of the owner of the network interface.
///
/// -
///
///
network-interface.private-dns-name
- The private DNS name of the network
/// interface.
///
/// -
///
///
network-interface.requester-id
- The requester ID for the network interface.
///
/// -
///
///
network-interface.requester-managed
- Indicates whether the network
/// interface is being managed by Amazon Web Services.
///
/// -
///
///
network-interface.status
- The status of the network interface (available
)
/// | in-use
).
///
/// -
///
///
network-interface.source-dest-check
- Whether the network interface
/// performs source/destination checking. A value of true
means that checking
/// is enabled, and false
means that checking is disabled. The value must
/// be false
for the network interface to perform network address translation
/// (NAT) in your VPC.
///
/// -
///
///
network-interface.subnet-id
- The ID of the subnet for the network interface.
///
/// -
///
///
network-interface.vpc-id
- The ID of the VPC for the network interface.
///
/// -
///
///
outpost-arn
- The Amazon Resource Name (ARN) of the Outpost.
///
/// -
///
///
owner-id
- The Amazon Web Services account ID of the instance owner.
///
/// -
///
///
placement-group-name
- The name of the placement group for the instance.
///
/// -
///
///
placement-partition-number
- The partition in which the instance is
/// located.
///
/// -
///
///
platform
- The platform. To list only Windows instances, use windows
.
///
/// -
///
///
private-dns-name
- The private IPv4 DNS name of the instance.
///
/// -
///
///
private-ip-address
- The private IPv4 address of the instance.
///
/// -
///
///
product-code
- The product code associated with the AMI used to launch
/// the instance.
///
/// -
///
///
product-code.type
- The type of product code (devpay
|
/// marketplace
).
///
/// -
///
///
ramdisk-id
- The RAM disk ID.
///
/// -
///
///
reason
- The reason for the current state of the instance (for example,
/// shows "User Initiated [date]" when you stop or terminate the instance). Similar to
/// the state-reason-code filter.
///
/// -
///
///
requester-id
- The ID of the entity that launched the instance on your
/// behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so
/// on).
///
/// -
///
///
reservation-id
- The ID of the instance's reservation. A reservation
/// ID is created any time you launch an instance. A reservation ID has a one-to-one relationship
/// with an instance launch request, but can be associated with more than one instance
/// if you launch multiple instances using the same launch request. For example, if you
/// launch one instance, you get one reservation ID. If you launch ten instances using
/// the same launch request, you also get one reservation 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
).
///
/// -
///
///
source-dest-check
- Indicates whether the instance performs source/destination
/// checking. A value of true
means that checking is enabled, and false
/// means that checking is disabled. The value must be false
for the instance
/// to perform network address translation (NAT) in your VPC.
///
/// -
///
///
spot-instance-request-id
- The ID of the Spot Instance request.
///
/// -
///
///
state-reason-code
- The reason code for the state change.
///
/// -
///
///
state-reason-message
- A message that describes the state change.
///
/// -
///
///
subnet-id
- The ID of the subnet for the instance.
///
/// -
///
///
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 that have a tag with a specific key, regardless of the tag value.
///
/// -
///
///
tenancy
- The tenancy of an instance (dedicated
| default
/// | host
).
///
/// -
///
///
virtualization-type
- The virtualization type of the instance (paravirtual
/// | hvm
).
///
/// -
///
///
vpc-id
- The ID of the VPC that the instance is running in.
///
///
///
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 InstanceIds.
///
/// The instance IDs.
///
///
///
/// Default: Describes all your instances.
///
///
public List InstanceIds
{
get { return this._instanceIds; }
set { this._instanceIds = value; }
}
// Check to see if InstanceIds property is set
internal bool IsSetInstanceIds()
{
return this._instanceIds != null && this._instanceIds.Count > 0;
}
///
/// 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.
///
///
///
/// You cannot specify this parameter and the instance IDs parameter in the same request.
///
///
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;
}
}
}