/*
* 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 ReportInstanceStatus operation.
/// Submits feedback about the status of an instance. The instance must be in the running
/// state. If your experience with the instance differs from the instance status returned
/// by DescribeInstanceStatus, use ReportInstanceStatus to report your experience
/// with the instance. Amazon EC2 collects this information to improve the accuracy of
/// status checks.
///
///
///
/// Use of this action does not change the value returned by DescribeInstanceStatus.
///
///
public partial class ReportInstanceStatusRequest : AmazonEC2Request
{
private string _description;
private DateTime? _endTimeUtc;
private List _instances = new List();
private List _reasonCodes = new List();
private DateTime? _startTimeUtc;
private ReportStatusType _status;
///
/// Gets and sets the property Description.
///
/// Descriptive text about the health state of your instance.
///
///
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 EndTimeUtc.
///
/// The time at which the reported instance health state ended.
///
///
public DateTime EndTimeUtc
{
get { return this._endTimeUtc.GetValueOrDefault(); }
set { this._endTime = this._endTimeUtc = value; }
}
// Check to see if EndTimeUtc property is set
internal bool IsSetEndTimeUtc()
{
return this._endTimeUtc.HasValue;
}
///
/// Gets and sets the property Instances.
///
/// The instances.
///
///
[AWSProperty(Required=true)]
public List Instances
{
get { return this._instances; }
set { this._instances = value; }
}
// Check to see if Instances property is set
internal bool IsSetInstances()
{
return this._instances != null && this._instances.Count > 0;
}
///
/// Gets and sets the property ReasonCodes.
///
/// The reason codes that describe the health state of your instance.
///
/// -
///
///
instance-stuck-in-state
: My instance is stuck in a state.
///
/// -
///
///
unresponsive
: My instance is unresponsive.
///
/// -
///
///
not-accepting-credentials
: My instance is not accepting my credentials.
///
/// -
///
///
password-not-available
: A password is not available for my instance.
///
/// -
///
///
performance-network
: My instance is experiencing performance problems
/// that I believe are network related.
///
/// -
///
///
performance-instance-store
: My instance is experiencing performance
/// problems that I believe are related to the instance stores.
///
/// -
///
///
performance-ebs-volume
: My instance is experiencing performance problems
/// that I believe are related to an EBS volume.
///
/// -
///
///
performance-other
: My instance is experiencing performance problems.
///
/// -
///
///
other
: [explain using the description parameter]
///
///
///
[AWSProperty(Required=true)]
public List ReasonCodes
{
get { return this._reasonCodes; }
set { this._reasonCodes = value; }
}
// Check to see if ReasonCodes property is set
internal bool IsSetReasonCodes()
{
return this._reasonCodes != null && this._reasonCodes.Count > 0;
}
///
/// Gets and sets the property StartTimeUtc.
///
/// The time at which the reported instance health state began.
///
///
public DateTime StartTimeUtc
{
get { return this._startTimeUtc.GetValueOrDefault(); }
set { this._startTime = this._startTimeUtc = value; }
}
// Check to see if StartTimeUtc property is set
internal bool IsSetStartTimeUtc()
{
return this._startTimeUtc.HasValue;
}
///
/// Gets and sets the property Status.
///
/// The status of all instances listed.
///
///
[AWSProperty(Required=true)]
public ReportStatusType Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
#region Backwards compatible properties
private DateTime? _endTime;
private DateTime? _startTime;
///
/// Gets and sets the property EndTimeUtc.
///
/// This property is deprecated. Setting this property results in non-UTC DateTimes not
/// being marshalled correctly. Use EndTimeUtc instead. Setting either EndTime or EndTimeUtc
/// results in both EndTime and EndTimeUtc being assigned, the latest assignment to either
/// one of the two property is reflected in the value of both. EndTime is provided for
/// backwards compatibility only and assigning a non-Utc DateTime to it results in the
/// wrong timestamp being passed to the service.
///
///
///
/// The time at which the reported instance health state ended.
///
///
[Obsolete("Setting this property results in non-UTC DateTimes not being marshalled correctly. " +
"Use EndTimeUtc instead. Setting either EndTime or EndTimeUtc results in both EndTime and " +
"EndTimeUtc being assigned, the latest assignment to either one of the two property is " +
"reflected in the value of both. EndTime is provided for backwards compatibility only and " +
"assigning a non-Utc DateTime to it results in the wrong timestamp being passed to the service.", false)]
public DateTime EndTime
{
get { return this._endTime.GetValueOrDefault(); }
set
{
this._endTime = value;
this._endTimeUtc = new DateTime(value.Ticks, DateTimeKind.Utc);
}
}
///
/// Gets and sets the property StartTimeUtc.
///
/// This property is deprecated. Setting this property results in non-UTC DateTimes not
/// being marshalled correctly. Use StartTimeUtc instead. Setting either StartTime or
/// StartTimeUtc results in both StartTime and StartTimeUtc being assigned, the latest
/// assignment to either one of the two property is reflected in the value of both. StartTime
/// is provided for backwards compatibility only and assigning a non-Utc DateTime to it
/// results in the wrong timestamp being passed to the service.
///
///
///
/// The time at which the reported instance health state began.
///
///
[Obsolete("Setting this property results in non-UTC DateTimes not being marshalled correctly. " +
"Use StartTimeUtc instead. Setting either StartTime or StartTimeUtc results in both StartTime and " +
"StartTimeUtc being assigned, the latest assignment to either one of the two property is " +
"reflected in the value of both. StartTime is provided for backwards compatibility only and " +
"assigning a non-Utc DateTime to it results in the wrong timestamp being passed to the service.", false)]
public DateTime StartTime
{
get { return this._startTime.GetValueOrDefault(); }
set
{
this._startTime = value;
this._startTimeUtc = new DateTime(value.Ticks, DateTimeKind.Utc);
}
}
#endregion
}
}