/*
* 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 ModifyCapacityReservation operation.
/// Modifies a Capacity Reservation's capacity and the conditions under which it is to
/// be released. You cannot change a Capacity Reservation's instance type, EBS optimization,
/// instance store settings, platform, Availability Zone, or instance eligibility. If
/// you need to modify any of these attributes, we recommend that you cancel the Capacity
/// Reservation, and then create a new one with the required attributes.
///
public partial class ModifyCapacityReservationRequest : AmazonEC2Request
{
private bool? _accept;
private string _additionalInfo;
private string _capacityReservationId;
private DateTime? _endDate;
private EndDateType _endDateType;
private int? _instanceCount;
///
/// Gets and sets the property Accept.
///
/// Reserved. Capacity Reservations you have created are accepted by default.
///
///
public bool Accept
{
get { return this._accept.GetValueOrDefault(); }
set { this._accept = value; }
}
// Check to see if Accept property is set
internal bool IsSetAccept()
{
return this._accept.HasValue;
}
///
/// Gets and sets the property AdditionalInfo.
///
/// Reserved for future use.
///
///
public string AdditionalInfo
{
get { return this._additionalInfo; }
set { this._additionalInfo = value; }
}
// Check to see if AdditionalInfo property is set
internal bool IsSetAdditionalInfo()
{
return this._additionalInfo != null;
}
///
/// Gets and sets the property CapacityReservationId.
///
/// The ID of the Capacity Reservation.
///
///
[AWSProperty(Required=true)]
public string CapacityReservationId
{
get { return this._capacityReservationId; }
set { this._capacityReservationId = value; }
}
// Check to see if CapacityReservationId property is set
internal bool IsSetCapacityReservationId()
{
return this._capacityReservationId != null;
}
///
/// Gets and sets the property EndDate.
///
/// The date and time at which the Capacity Reservation expires. When a Capacity Reservation
/// expires, the reserved capacity is released and you can no longer launch instances
/// into it. The Capacity Reservation's state changes to expired
when it
/// reaches its end date and time.
///
///
///
/// The Capacity Reservation is cancelled within an hour from the specified time. For
/// example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed
/// to end between 13:30:55 and 14:30:55 on 5/31/2019.
///
///
///
/// You must provide an EndDate
value if EndDateType
is limited
.
/// Omit EndDate
if EndDateType
is unlimited
.
///
///
public DateTime EndDate
{
get { return this._endDate.GetValueOrDefault(); }
set { this._endDate = value; }
}
// Check to see if EndDate property is set
internal bool IsSetEndDate()
{
return this._endDate.HasValue;
}
///
/// Gets and sets the property EndDateType.
///
/// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can
/// have one of the following end types:
///
/// -
///
///
unlimited
- The Capacity Reservation remains active until you explicitly
/// cancel it. Do not provide an EndDate
value if EndDateType
/// is unlimited
.
///
/// -
///
///
limited
- The Capacity Reservation expires automatically at a specified
/// date and time. You must provide an EndDate
value if EndDateType
/// is limited
.
///
///
///
public EndDateType EndDateType
{
get { return this._endDateType; }
set { this._endDateType = value; }
}
// Check to see if EndDateType property is set
internal bool IsSetEndDateType()
{
return this._endDateType != null;
}
///
/// Gets and sets the property InstanceCount.
///
/// The number of instances for which to reserve capacity. The number of instances can't
/// be increased or decreased by more than 1000
in a single request.
///
///
public int InstanceCount
{
get { return this._instanceCount.GetValueOrDefault(); }
set { this._instanceCount = value; }
}
// Check to see if InstanceCount property is set
internal bool IsSetInstanceCount()
{
return this._instanceCount.HasValue;
}
}
}