/* * 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 ModifyVolume operation. /// You can modify several parameters of an existing EBS volume, including volume size, /// volume type, and IOPS capacity. If your EBS volume is attached to a current-generation /// EC2 instance type, you might be able to apply these changes without stopping the instance /// or detaching the volume from it. For more information about modifying EBS volumes, /// see Amazon /// EBS Elastic Volumes (Linux instances) or Amazon /// EBS Elastic Volumes (Windows instances). /// /// /// /// When you complete a resize operation on your volume, you need to extend the volume's /// file-system size to take advantage of the new storage capacity. For more information, /// see Extend /// a Linux file system or Extend /// a Windows file system. /// /// /// /// You can use CloudWatch Events to check the status of a modification to an EBS volume. /// For information about CloudWatch Events, see the Amazon /// CloudWatch Events User Guide. You can also track the status of a modification /// using DescribeVolumesModifications. For information about tracking status changes /// using either method, see Monitor /// the progress of volume modifications. /// /// /// /// With previous-generation instance types, resizing an EBS volume might require detaching /// and reattaching the volume or stopping and restarting the instance. /// /// /// /// After modifying a volume, you must wait at least six hours and ensure that the volume /// is in the in-use or available state before you can modify /// the same volume. This is sometimes referred to as a cooldown period. /// /// public partial class ModifyVolumeRequest : AmazonEC2Request { private int? _iops; private bool? _multiAttachEnabled; private int? _size; private int? _throughput; private string _volumeId; private VolumeType _volumeType; /// /// Gets and sets the property Iops. /// /// The target IOPS rate of the volume. This parameter is valid only for gp3, /// io1, and io2 volumes. /// /// /// /// The following are the supported values for each volume type: /// /// /// /// Default: The existing value is retained if you keep the same volume type. If you change /// the volume type to io1, io2, or gp3, the default /// is 3,000. /// /// public int Iops { get { return this._iops.GetValueOrDefault(); } set { this._iops = value; } } // Check to see if Iops property is set internal bool IsSetIops() { return this._iops.HasValue; } /// /// Gets and sets the property MultiAttachEnabled. /// /// Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you /// can attach the volume to up to 16 /// Nitro-based instances in the same Availability Zone. This parameter is supported /// with io1 and io2 volumes only. For more information, see /// /// Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide. /// /// public bool MultiAttachEnabled { get { return this._multiAttachEnabled.GetValueOrDefault(); } set { this._multiAttachEnabled = value; } } // Check to see if MultiAttachEnabled property is set internal bool IsSetMultiAttachEnabled() { return this._multiAttachEnabled.HasValue; } /// /// Gets and sets the property Size. /// /// The target size of the volume, in GiB. The target volume size must be greater than /// or equal to the existing size of the volume. /// /// /// /// The following are the supported volumes sizes for each volume type: /// /// /// /// Default: The existing size is retained. /// /// public int Size { get { return this._size.GetValueOrDefault(); } set { this._size = value; } } // Check to see if Size property is set internal bool IsSetSize() { return this._size.HasValue; } /// /// Gets and sets the property Throughput. /// /// The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 /// volumes. The maximum value is 1,000. /// /// /// /// Default: The existing value is retained if the source and target volume type is gp3. /// Otherwise, the default value is 125. /// /// /// /// Valid Range: Minimum value of 125. Maximum value of 1000. /// /// public int Throughput { get { return this._throughput.GetValueOrDefault(); } set { this._throughput = value; } } // Check to see if Throughput property is set internal bool IsSetThroughput() { return this._throughput.HasValue; } /// /// Gets and sets the property VolumeId. /// /// The ID of the volume. /// /// [AWSProperty(Required=true)] public string VolumeId { get { return this._volumeId; } set { this._volumeId = value; } } // Check to see if VolumeId property is set internal bool IsSetVolumeId() { return this._volumeId != null; } /// /// Gets and sets the property VolumeType. /// /// The target EBS volume type of the volume. For more information, see Amazon /// EBS volume types in the Amazon Elastic Compute Cloud User Guide. /// /// /// /// Default: The existing type is retained. /// /// public VolumeType VolumeType { get { return this._volumeType; } set { this._volumeType = value; } } // Check to see if VolumeType property is set internal bool IsSetVolumeType() { return this._volumeType != null; } } }