1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/ec2/EC2_EXPORTS.h> 8 #include <aws/ec2/EC2Request.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <aws/ec2/model/Filter.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace EC2 17 { 18 namespace Model 19 { 20 21 /** 22 */ 23 class AWS_EC2_API DescribeVolumesRequest : public EC2Request 24 { 25 public: 26 DescribeVolumesRequest(); 27 28 // Service request name is the Operation name which will send this request out, 29 // each operation should has unique request name, so that we can get operation's name from this request. 30 // Note: this is not true for response, multiple operations may have the same response name, 31 // so we can not get operation's name from response. GetServiceRequestName()32 inline virtual const char* GetServiceRequestName() const override { return "DescribeVolumes"; } 33 34 Aws::String SerializePayload() const override; 35 36 protected: 37 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 38 39 public: 40 41 /** 42 * <p>The filters.</p> <ul> <li> <p> <code>attachment.attach-time</code> - The time 43 * stamp when the attachment initiated.</p> </li> <li> <p> 44 * <code>attachment.delete-on-termination</code> - Whether the volume is deleted on 45 * instance termination.</p> </li> <li> <p> <code>attachment.device</code> - The 46 * device name specified in the block device mapping (for example, 47 * <code>/dev/sda1</code>).</p> </li> <li> <p> <code>attachment.instance-id</code> 48 * - The ID of the instance the volume is attached to.</p> </li> <li> <p> 49 * <code>attachment.status</code> - The attachment state (<code>attaching</code> | 50 * <code>attached</code> | <code>detaching</code>).</p> </li> <li> <p> 51 * <code>availability-zone</code> - The Availability Zone in which the volume was 52 * created.</p> </li> <li> <p> <code>create-time</code> - The time stamp when the 53 * volume was created.</p> </li> <li> <p> <code>encrypted</code> - Indicates 54 * whether the volume is encrypted (<code>true</code> | <code>false</code>)</p> 55 * </li> <li> <p> <code>multi-attach-enabled</code> - Indicates whether the volume 56 * is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p> </li> 57 * <li> <p> <code>fast-restored</code> - Indicates whether the volume was created 58 * from a snapshot that is enabled for fast snapshot restore (<code>true</code> | 59 * <code>false</code>).</p> </li> <li> <p> <code>size</code> - The size of the 60 * volume, in GiB.</p> </li> <li> <p> <code>snapshot-id</code> - The snapshot from 61 * which the volume was created.</p> </li> <li> <p> <code>status</code> - The state 62 * of the volume (<code>creating</code> | <code>available</code> | 63 * <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | 64 * <code>error</code>).</p> </li> <li> <p> <code>tag</code>:<key> - The 65 * key/value combination of a tag assigned to the resource. Use the tag key in the 66 * filter name and the tag value as the filter value. For example, to find all 67 * resources that have a tag with the key <code>Owner</code> and the value 68 * <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and 69 * <code>TeamA</code> for the filter value.</p> </li> <li> <p> <code>tag-key</code> 70 * - The key of a tag assigned to the resource. Use this filter to find all 71 * resources assigned a tag with a specific key, regardless of the tag value.</p> 72 * </li> <li> <p> <code>volume-id</code> - The volume ID.</p> </li> <li> <p> 73 * <code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | 74 * <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | 75 * <code>sc1</code>| <code>standard</code>)</p> </li> </ul> 76 */ GetFilters()77 inline const Aws::Vector<Filter>& GetFilters() const{ return m_filters; } 78 79 /** 80 * <p>The filters.</p> <ul> <li> <p> <code>attachment.attach-time</code> - The time 81 * stamp when the attachment initiated.</p> </li> <li> <p> 82 * <code>attachment.delete-on-termination</code> - Whether the volume is deleted on 83 * instance termination.</p> </li> <li> <p> <code>attachment.device</code> - The 84 * device name specified in the block device mapping (for example, 85 * <code>/dev/sda1</code>).</p> </li> <li> <p> <code>attachment.instance-id</code> 86 * - The ID of the instance the volume is attached to.</p> </li> <li> <p> 87 * <code>attachment.status</code> - The attachment state (<code>attaching</code> | 88 * <code>attached</code> | <code>detaching</code>).</p> </li> <li> <p> 89 * <code>availability-zone</code> - The Availability Zone in which the volume was 90 * created.</p> </li> <li> <p> <code>create-time</code> - The time stamp when the 91 * volume was created.</p> </li> <li> <p> <code>encrypted</code> - Indicates 92 * whether the volume is encrypted (<code>true</code> | <code>false</code>)</p> 93 * </li> <li> <p> <code>multi-attach-enabled</code> - Indicates whether the volume 94 * is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p> </li> 95 * <li> <p> <code>fast-restored</code> - Indicates whether the volume was created 96 * from a snapshot that is enabled for fast snapshot restore (<code>true</code> | 97 * <code>false</code>).</p> </li> <li> <p> <code>size</code> - The size of the 98 * volume, in GiB.</p> </li> <li> <p> <code>snapshot-id</code> - The snapshot from 99 * which the volume was created.</p> </li> <li> <p> <code>status</code> - The state 100 * of the volume (<code>creating</code> | <code>available</code> | 101 * <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | 102 * <code>error</code>).</p> </li> <li> <p> <code>tag</code>:<key> - The 103 * key/value combination of a tag assigned to the resource. Use the tag key in the 104 * filter name and the tag value as the filter value. For example, to find all 105 * resources that have a tag with the key <code>Owner</code> and the value 106 * <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and 107 * <code>TeamA</code> for the filter value.</p> </li> <li> <p> <code>tag-key</code> 108 * - The key of a tag assigned to the resource. Use this filter to find all 109 * resources assigned a tag with a specific key, regardless of the tag value.</p> 110 * </li> <li> <p> <code>volume-id</code> - The volume ID.</p> </li> <li> <p> 111 * <code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | 112 * <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | 113 * <code>sc1</code>| <code>standard</code>)</p> </li> </ul> 114 */ FiltersHasBeenSet()115 inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } 116 117 /** 118 * <p>The filters.</p> <ul> <li> <p> <code>attachment.attach-time</code> - The time 119 * stamp when the attachment initiated.</p> </li> <li> <p> 120 * <code>attachment.delete-on-termination</code> - Whether the volume is deleted on 121 * instance termination.</p> </li> <li> <p> <code>attachment.device</code> - The 122 * device name specified in the block device mapping (for example, 123 * <code>/dev/sda1</code>).</p> </li> <li> <p> <code>attachment.instance-id</code> 124 * - The ID of the instance the volume is attached to.</p> </li> <li> <p> 125 * <code>attachment.status</code> - The attachment state (<code>attaching</code> | 126 * <code>attached</code> | <code>detaching</code>).</p> </li> <li> <p> 127 * <code>availability-zone</code> - The Availability Zone in which the volume was 128 * created.</p> </li> <li> <p> <code>create-time</code> - The time stamp when the 129 * volume was created.</p> </li> <li> <p> <code>encrypted</code> - Indicates 130 * whether the volume is encrypted (<code>true</code> | <code>false</code>)</p> 131 * </li> <li> <p> <code>multi-attach-enabled</code> - Indicates whether the volume 132 * is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p> </li> 133 * <li> <p> <code>fast-restored</code> - Indicates whether the volume was created 134 * from a snapshot that is enabled for fast snapshot restore (<code>true</code> | 135 * <code>false</code>).</p> </li> <li> <p> <code>size</code> - The size of the 136 * volume, in GiB.</p> </li> <li> <p> <code>snapshot-id</code> - The snapshot from 137 * which the volume was created.</p> </li> <li> <p> <code>status</code> - The state 138 * of the volume (<code>creating</code> | <code>available</code> | 139 * <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | 140 * <code>error</code>).</p> </li> <li> <p> <code>tag</code>:<key> - The 141 * key/value combination of a tag assigned to the resource. Use the tag key in the 142 * filter name and the tag value as the filter value. For example, to find all 143 * resources that have a tag with the key <code>Owner</code> and the value 144 * <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and 145 * <code>TeamA</code> for the filter value.</p> </li> <li> <p> <code>tag-key</code> 146 * - The key of a tag assigned to the resource. Use this filter to find all 147 * resources assigned a tag with a specific key, regardless of the tag value.</p> 148 * </li> <li> <p> <code>volume-id</code> - The volume ID.</p> </li> <li> <p> 149 * <code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | 150 * <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | 151 * <code>sc1</code>| <code>standard</code>)</p> </li> </ul> 152 */ SetFilters(const Aws::Vector<Filter> & value)153 inline void SetFilters(const Aws::Vector<Filter>& value) { m_filtersHasBeenSet = true; m_filters = value; } 154 155 /** 156 * <p>The filters.</p> <ul> <li> <p> <code>attachment.attach-time</code> - The time 157 * stamp when the attachment initiated.</p> </li> <li> <p> 158 * <code>attachment.delete-on-termination</code> - Whether the volume is deleted on 159 * instance termination.</p> </li> <li> <p> <code>attachment.device</code> - The 160 * device name specified in the block device mapping (for example, 161 * <code>/dev/sda1</code>).</p> </li> <li> <p> <code>attachment.instance-id</code> 162 * - The ID of the instance the volume is attached to.</p> </li> <li> <p> 163 * <code>attachment.status</code> - The attachment state (<code>attaching</code> | 164 * <code>attached</code> | <code>detaching</code>).</p> </li> <li> <p> 165 * <code>availability-zone</code> - The Availability Zone in which the volume was 166 * created.</p> </li> <li> <p> <code>create-time</code> - The time stamp when the 167 * volume was created.</p> </li> <li> <p> <code>encrypted</code> - Indicates 168 * whether the volume is encrypted (<code>true</code> | <code>false</code>)</p> 169 * </li> <li> <p> <code>multi-attach-enabled</code> - Indicates whether the volume 170 * is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p> </li> 171 * <li> <p> <code>fast-restored</code> - Indicates whether the volume was created 172 * from a snapshot that is enabled for fast snapshot restore (<code>true</code> | 173 * <code>false</code>).</p> </li> <li> <p> <code>size</code> - The size of the 174 * volume, in GiB.</p> </li> <li> <p> <code>snapshot-id</code> - The snapshot from 175 * which the volume was created.</p> </li> <li> <p> <code>status</code> - The state 176 * of the volume (<code>creating</code> | <code>available</code> | 177 * <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | 178 * <code>error</code>).</p> </li> <li> <p> <code>tag</code>:<key> - The 179 * key/value combination of a tag assigned to the resource. Use the tag key in the 180 * filter name and the tag value as the filter value. For example, to find all 181 * resources that have a tag with the key <code>Owner</code> and the value 182 * <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and 183 * <code>TeamA</code> for the filter value.</p> </li> <li> <p> <code>tag-key</code> 184 * - The key of a tag assigned to the resource. Use this filter to find all 185 * resources assigned a tag with a specific key, regardless of the tag value.</p> 186 * </li> <li> <p> <code>volume-id</code> - The volume ID.</p> </li> <li> <p> 187 * <code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | 188 * <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | 189 * <code>sc1</code>| <code>standard</code>)</p> </li> </ul> 190 */ SetFilters(Aws::Vector<Filter> && value)191 inline void SetFilters(Aws::Vector<Filter>&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } 192 193 /** 194 * <p>The filters.</p> <ul> <li> <p> <code>attachment.attach-time</code> - The time 195 * stamp when the attachment initiated.</p> </li> <li> <p> 196 * <code>attachment.delete-on-termination</code> - Whether the volume is deleted on 197 * instance termination.</p> </li> <li> <p> <code>attachment.device</code> - The 198 * device name specified in the block device mapping (for example, 199 * <code>/dev/sda1</code>).</p> </li> <li> <p> <code>attachment.instance-id</code> 200 * - The ID of the instance the volume is attached to.</p> </li> <li> <p> 201 * <code>attachment.status</code> - The attachment state (<code>attaching</code> | 202 * <code>attached</code> | <code>detaching</code>).</p> </li> <li> <p> 203 * <code>availability-zone</code> - The Availability Zone in which the volume was 204 * created.</p> </li> <li> <p> <code>create-time</code> - The time stamp when the 205 * volume was created.</p> </li> <li> <p> <code>encrypted</code> - Indicates 206 * whether the volume is encrypted (<code>true</code> | <code>false</code>)</p> 207 * </li> <li> <p> <code>multi-attach-enabled</code> - Indicates whether the volume 208 * is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p> </li> 209 * <li> <p> <code>fast-restored</code> - Indicates whether the volume was created 210 * from a snapshot that is enabled for fast snapshot restore (<code>true</code> | 211 * <code>false</code>).</p> </li> <li> <p> <code>size</code> - The size of the 212 * volume, in GiB.</p> </li> <li> <p> <code>snapshot-id</code> - The snapshot from 213 * which the volume was created.</p> </li> <li> <p> <code>status</code> - The state 214 * of the volume (<code>creating</code> | <code>available</code> | 215 * <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | 216 * <code>error</code>).</p> </li> <li> <p> <code>tag</code>:<key> - The 217 * key/value combination of a tag assigned to the resource. Use the tag key in the 218 * filter name and the tag value as the filter value. For example, to find all 219 * resources that have a tag with the key <code>Owner</code> and the value 220 * <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and 221 * <code>TeamA</code> for the filter value.</p> </li> <li> <p> <code>tag-key</code> 222 * - The key of a tag assigned to the resource. Use this filter to find all 223 * resources assigned a tag with a specific key, regardless of the tag value.</p> 224 * </li> <li> <p> <code>volume-id</code> - The volume ID.</p> </li> <li> <p> 225 * <code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | 226 * <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | 227 * <code>sc1</code>| <code>standard</code>)</p> </li> </ul> 228 */ WithFilters(const Aws::Vector<Filter> & value)229 inline DescribeVolumesRequest& WithFilters(const Aws::Vector<Filter>& value) { SetFilters(value); return *this;} 230 231 /** 232 * <p>The filters.</p> <ul> <li> <p> <code>attachment.attach-time</code> - The time 233 * stamp when the attachment initiated.</p> </li> <li> <p> 234 * <code>attachment.delete-on-termination</code> - Whether the volume is deleted on 235 * instance termination.</p> </li> <li> <p> <code>attachment.device</code> - The 236 * device name specified in the block device mapping (for example, 237 * <code>/dev/sda1</code>).</p> </li> <li> <p> <code>attachment.instance-id</code> 238 * - The ID of the instance the volume is attached to.</p> </li> <li> <p> 239 * <code>attachment.status</code> - The attachment state (<code>attaching</code> | 240 * <code>attached</code> | <code>detaching</code>).</p> </li> <li> <p> 241 * <code>availability-zone</code> - The Availability Zone in which the volume was 242 * created.</p> </li> <li> <p> <code>create-time</code> - The time stamp when the 243 * volume was created.</p> </li> <li> <p> <code>encrypted</code> - Indicates 244 * whether the volume is encrypted (<code>true</code> | <code>false</code>)</p> 245 * </li> <li> <p> <code>multi-attach-enabled</code> - Indicates whether the volume 246 * is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p> </li> 247 * <li> <p> <code>fast-restored</code> - Indicates whether the volume was created 248 * from a snapshot that is enabled for fast snapshot restore (<code>true</code> | 249 * <code>false</code>).</p> </li> <li> <p> <code>size</code> - The size of the 250 * volume, in GiB.</p> </li> <li> <p> <code>snapshot-id</code> - The snapshot from 251 * which the volume was created.</p> </li> <li> <p> <code>status</code> - The state 252 * of the volume (<code>creating</code> | <code>available</code> | 253 * <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | 254 * <code>error</code>).</p> </li> <li> <p> <code>tag</code>:<key> - The 255 * key/value combination of a tag assigned to the resource. Use the tag key in the 256 * filter name and the tag value as the filter value. For example, to find all 257 * resources that have a tag with the key <code>Owner</code> and the value 258 * <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and 259 * <code>TeamA</code> for the filter value.</p> </li> <li> <p> <code>tag-key</code> 260 * - The key of a tag assigned to the resource. Use this filter to find all 261 * resources assigned a tag with a specific key, regardless of the tag value.</p> 262 * </li> <li> <p> <code>volume-id</code> - The volume ID.</p> </li> <li> <p> 263 * <code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | 264 * <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | 265 * <code>sc1</code>| <code>standard</code>)</p> </li> </ul> 266 */ WithFilters(Aws::Vector<Filter> && value)267 inline DescribeVolumesRequest& WithFilters(Aws::Vector<Filter>&& value) { SetFilters(std::move(value)); return *this;} 268 269 /** 270 * <p>The filters.</p> <ul> <li> <p> <code>attachment.attach-time</code> - The time 271 * stamp when the attachment initiated.</p> </li> <li> <p> 272 * <code>attachment.delete-on-termination</code> - Whether the volume is deleted on 273 * instance termination.</p> </li> <li> <p> <code>attachment.device</code> - The 274 * device name specified in the block device mapping (for example, 275 * <code>/dev/sda1</code>).</p> </li> <li> <p> <code>attachment.instance-id</code> 276 * - The ID of the instance the volume is attached to.</p> </li> <li> <p> 277 * <code>attachment.status</code> - The attachment state (<code>attaching</code> | 278 * <code>attached</code> | <code>detaching</code>).</p> </li> <li> <p> 279 * <code>availability-zone</code> - The Availability Zone in which the volume was 280 * created.</p> </li> <li> <p> <code>create-time</code> - The time stamp when the 281 * volume was created.</p> </li> <li> <p> <code>encrypted</code> - Indicates 282 * whether the volume is encrypted (<code>true</code> | <code>false</code>)</p> 283 * </li> <li> <p> <code>multi-attach-enabled</code> - Indicates whether the volume 284 * is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p> </li> 285 * <li> <p> <code>fast-restored</code> - Indicates whether the volume was created 286 * from a snapshot that is enabled for fast snapshot restore (<code>true</code> | 287 * <code>false</code>).</p> </li> <li> <p> <code>size</code> - The size of the 288 * volume, in GiB.</p> </li> <li> <p> <code>snapshot-id</code> - The snapshot from 289 * which the volume was created.</p> </li> <li> <p> <code>status</code> - The state 290 * of the volume (<code>creating</code> | <code>available</code> | 291 * <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | 292 * <code>error</code>).</p> </li> <li> <p> <code>tag</code>:<key> - The 293 * key/value combination of a tag assigned to the resource. Use the tag key in the 294 * filter name and the tag value as the filter value. For example, to find all 295 * resources that have a tag with the key <code>Owner</code> and the value 296 * <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and 297 * <code>TeamA</code> for the filter value.</p> </li> <li> <p> <code>tag-key</code> 298 * - The key of a tag assigned to the resource. Use this filter to find all 299 * resources assigned a tag with a specific key, regardless of the tag value.</p> 300 * </li> <li> <p> <code>volume-id</code> - The volume ID.</p> </li> <li> <p> 301 * <code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | 302 * <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | 303 * <code>sc1</code>| <code>standard</code>)</p> </li> </ul> 304 */ AddFilters(const Filter & value)305 inline DescribeVolumesRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } 306 307 /** 308 * <p>The filters.</p> <ul> <li> <p> <code>attachment.attach-time</code> - The time 309 * stamp when the attachment initiated.</p> </li> <li> <p> 310 * <code>attachment.delete-on-termination</code> - Whether the volume is deleted on 311 * instance termination.</p> </li> <li> <p> <code>attachment.device</code> - The 312 * device name specified in the block device mapping (for example, 313 * <code>/dev/sda1</code>).</p> </li> <li> <p> <code>attachment.instance-id</code> 314 * - The ID of the instance the volume is attached to.</p> </li> <li> <p> 315 * <code>attachment.status</code> - The attachment state (<code>attaching</code> | 316 * <code>attached</code> | <code>detaching</code>).</p> </li> <li> <p> 317 * <code>availability-zone</code> - The Availability Zone in which the volume was 318 * created.</p> </li> <li> <p> <code>create-time</code> - The time stamp when the 319 * volume was created.</p> </li> <li> <p> <code>encrypted</code> - Indicates 320 * whether the volume is encrypted (<code>true</code> | <code>false</code>)</p> 321 * </li> <li> <p> <code>multi-attach-enabled</code> - Indicates whether the volume 322 * is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p> </li> 323 * <li> <p> <code>fast-restored</code> - Indicates whether the volume was created 324 * from a snapshot that is enabled for fast snapshot restore (<code>true</code> | 325 * <code>false</code>).</p> </li> <li> <p> <code>size</code> - The size of the 326 * volume, in GiB.</p> </li> <li> <p> <code>snapshot-id</code> - The snapshot from 327 * which the volume was created.</p> </li> <li> <p> <code>status</code> - The state 328 * of the volume (<code>creating</code> | <code>available</code> | 329 * <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | 330 * <code>error</code>).</p> </li> <li> <p> <code>tag</code>:<key> - The 331 * key/value combination of a tag assigned to the resource. Use the tag key in the 332 * filter name and the tag value as the filter value. For example, to find all 333 * resources that have a tag with the key <code>Owner</code> and the value 334 * <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and 335 * <code>TeamA</code> for the filter value.</p> </li> <li> <p> <code>tag-key</code> 336 * - The key of a tag assigned to the resource. Use this filter to find all 337 * resources assigned a tag with a specific key, regardless of the tag value.</p> 338 * </li> <li> <p> <code>volume-id</code> - The volume ID.</p> </li> <li> <p> 339 * <code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | 340 * <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | 341 * <code>sc1</code>| <code>standard</code>)</p> </li> </ul> 342 */ AddFilters(Filter && value)343 inline DescribeVolumesRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } 344 345 346 /** 347 * <p>The volume IDs.</p> 348 */ GetVolumeIds()349 inline const Aws::Vector<Aws::String>& GetVolumeIds() const{ return m_volumeIds; } 350 351 /** 352 * <p>The volume IDs.</p> 353 */ VolumeIdsHasBeenSet()354 inline bool VolumeIdsHasBeenSet() const { return m_volumeIdsHasBeenSet; } 355 356 /** 357 * <p>The volume IDs.</p> 358 */ SetVolumeIds(const Aws::Vector<Aws::String> & value)359 inline void SetVolumeIds(const Aws::Vector<Aws::String>& value) { m_volumeIdsHasBeenSet = true; m_volumeIds = value; } 360 361 /** 362 * <p>The volume IDs.</p> 363 */ SetVolumeIds(Aws::Vector<Aws::String> && value)364 inline void SetVolumeIds(Aws::Vector<Aws::String>&& value) { m_volumeIdsHasBeenSet = true; m_volumeIds = std::move(value); } 365 366 /** 367 * <p>The volume IDs.</p> 368 */ WithVolumeIds(const Aws::Vector<Aws::String> & value)369 inline DescribeVolumesRequest& WithVolumeIds(const Aws::Vector<Aws::String>& value) { SetVolumeIds(value); return *this;} 370 371 /** 372 * <p>The volume IDs.</p> 373 */ WithVolumeIds(Aws::Vector<Aws::String> && value)374 inline DescribeVolumesRequest& WithVolumeIds(Aws::Vector<Aws::String>&& value) { SetVolumeIds(std::move(value)); return *this;} 375 376 /** 377 * <p>The volume IDs.</p> 378 */ AddVolumeIds(const Aws::String & value)379 inline DescribeVolumesRequest& AddVolumeIds(const Aws::String& value) { m_volumeIdsHasBeenSet = true; m_volumeIds.push_back(value); return *this; } 380 381 /** 382 * <p>The volume IDs.</p> 383 */ AddVolumeIds(Aws::String && value)384 inline DescribeVolumesRequest& AddVolumeIds(Aws::String&& value) { m_volumeIdsHasBeenSet = true; m_volumeIds.push_back(std::move(value)); return *this; } 385 386 /** 387 * <p>The volume IDs.</p> 388 */ AddVolumeIds(const char * value)389 inline DescribeVolumesRequest& AddVolumeIds(const char* value) { m_volumeIdsHasBeenSet = true; m_volumeIds.push_back(value); return *this; } 390 391 392 /** 393 * <p>Checks whether you have the required permissions for the action, without 394 * actually making the request, and provides an error response. If you have the 395 * required permissions, the error response is <code>DryRunOperation</code>. 396 * Otherwise, it is <code>UnauthorizedOperation</code>.</p> 397 */ GetDryRun()398 inline bool GetDryRun() const{ return m_dryRun; } 399 400 /** 401 * <p>Checks whether you have the required permissions for the action, without 402 * actually making the request, and provides an error response. If you have the 403 * required permissions, the error response is <code>DryRunOperation</code>. 404 * Otherwise, it is <code>UnauthorizedOperation</code>.</p> 405 */ DryRunHasBeenSet()406 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } 407 408 /** 409 * <p>Checks whether you have the required permissions for the action, without 410 * actually making the request, and provides an error response. If you have the 411 * required permissions, the error response is <code>DryRunOperation</code>. 412 * Otherwise, it is <code>UnauthorizedOperation</code>.</p> 413 */ SetDryRun(bool value)414 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } 415 416 /** 417 * <p>Checks whether you have the required permissions for the action, without 418 * actually making the request, and provides an error response. If you have the 419 * required permissions, the error response is <code>DryRunOperation</code>. 420 * Otherwise, it is <code>UnauthorizedOperation</code>.</p> 421 */ WithDryRun(bool value)422 inline DescribeVolumesRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} 423 424 425 /** 426 * <p>The maximum number of volume results returned by <code>DescribeVolumes</code> 427 * in paginated output. When this parameter is used, <code>DescribeVolumes</code> 428 * only returns <code>MaxResults</code> results in a single page along with a 429 * <code>NextToken</code> response element. The remaining results of the initial 430 * request can be seen by sending another <code>DescribeVolumes</code> request with 431 * the returned <code>NextToken</code> value. This value can be between 5 and 500; 432 * if <code>MaxResults</code> is given a value larger than 500, only 500 results 433 * are returned. If this parameter is not used, then <code>DescribeVolumes</code> 434 * returns all results. You cannot specify this parameter and the volume IDs 435 * parameter in the same request.</p> 436 */ GetMaxResults()437 inline int GetMaxResults() const{ return m_maxResults; } 438 439 /** 440 * <p>The maximum number of volume results returned by <code>DescribeVolumes</code> 441 * in paginated output. When this parameter is used, <code>DescribeVolumes</code> 442 * only returns <code>MaxResults</code> results in a single page along with a 443 * <code>NextToken</code> response element. The remaining results of the initial 444 * request can be seen by sending another <code>DescribeVolumes</code> request with 445 * the returned <code>NextToken</code> value. This value can be between 5 and 500; 446 * if <code>MaxResults</code> is given a value larger than 500, only 500 results 447 * are returned. If this parameter is not used, then <code>DescribeVolumes</code> 448 * returns all results. You cannot specify this parameter and the volume IDs 449 * parameter in the same request.</p> 450 */ MaxResultsHasBeenSet()451 inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } 452 453 /** 454 * <p>The maximum number of volume results returned by <code>DescribeVolumes</code> 455 * in paginated output. When this parameter is used, <code>DescribeVolumes</code> 456 * only returns <code>MaxResults</code> results in a single page along with a 457 * <code>NextToken</code> response element. The remaining results of the initial 458 * request can be seen by sending another <code>DescribeVolumes</code> request with 459 * the returned <code>NextToken</code> value. This value can be between 5 and 500; 460 * if <code>MaxResults</code> is given a value larger than 500, only 500 results 461 * are returned. If this parameter is not used, then <code>DescribeVolumes</code> 462 * returns all results. You cannot specify this parameter and the volume IDs 463 * parameter in the same request.</p> 464 */ SetMaxResults(int value)465 inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } 466 467 /** 468 * <p>The maximum number of volume results returned by <code>DescribeVolumes</code> 469 * in paginated output. When this parameter is used, <code>DescribeVolumes</code> 470 * only returns <code>MaxResults</code> results in a single page along with a 471 * <code>NextToken</code> response element. The remaining results of the initial 472 * request can be seen by sending another <code>DescribeVolumes</code> request with 473 * the returned <code>NextToken</code> value. This value can be between 5 and 500; 474 * if <code>MaxResults</code> is given a value larger than 500, only 500 results 475 * are returned. If this parameter is not used, then <code>DescribeVolumes</code> 476 * returns all results. You cannot specify this parameter and the volume IDs 477 * parameter in the same request.</p> 478 */ WithMaxResults(int value)479 inline DescribeVolumesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} 480 481 482 /** 483 * <p>The <code>NextToken</code> value returned from a previous paginated 484 * <code>DescribeVolumes</code> request where <code>MaxResults</code> was used and 485 * the results exceeded the value of that parameter. Pagination continues from the 486 * end of the previous results that returned the <code>NextToken</code> value. This 487 * value is <code>null</code> when there are no more results to return.</p> 488 */ GetNextToken()489 inline const Aws::String& GetNextToken() const{ return m_nextToken; } 490 491 /** 492 * <p>The <code>NextToken</code> value returned from a previous paginated 493 * <code>DescribeVolumes</code> request where <code>MaxResults</code> was used and 494 * the results exceeded the value of that parameter. Pagination continues from the 495 * end of the previous results that returned the <code>NextToken</code> value. This 496 * value is <code>null</code> when there are no more results to return.</p> 497 */ NextTokenHasBeenSet()498 inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } 499 500 /** 501 * <p>The <code>NextToken</code> value returned from a previous paginated 502 * <code>DescribeVolumes</code> request where <code>MaxResults</code> was used and 503 * the results exceeded the value of that parameter. Pagination continues from the 504 * end of the previous results that returned the <code>NextToken</code> value. This 505 * value is <code>null</code> when there are no more results to return.</p> 506 */ SetNextToken(const Aws::String & value)507 inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } 508 509 /** 510 * <p>The <code>NextToken</code> value returned from a previous paginated 511 * <code>DescribeVolumes</code> request where <code>MaxResults</code> was used and 512 * the results exceeded the value of that parameter. Pagination continues from the 513 * end of the previous results that returned the <code>NextToken</code> value. This 514 * value is <code>null</code> when there are no more results to return.</p> 515 */ SetNextToken(Aws::String && value)516 inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } 517 518 /** 519 * <p>The <code>NextToken</code> value returned from a previous paginated 520 * <code>DescribeVolumes</code> request where <code>MaxResults</code> was used and 521 * the results exceeded the value of that parameter. Pagination continues from the 522 * end of the previous results that returned the <code>NextToken</code> value. This 523 * value is <code>null</code> when there are no more results to return.</p> 524 */ SetNextToken(const char * value)525 inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } 526 527 /** 528 * <p>The <code>NextToken</code> value returned from a previous paginated 529 * <code>DescribeVolumes</code> request where <code>MaxResults</code> was used and 530 * the results exceeded the value of that parameter. Pagination continues from the 531 * end of the previous results that returned the <code>NextToken</code> value. This 532 * value is <code>null</code> when there are no more results to return.</p> 533 */ WithNextToken(const Aws::String & value)534 inline DescribeVolumesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} 535 536 /** 537 * <p>The <code>NextToken</code> value returned from a previous paginated 538 * <code>DescribeVolumes</code> request where <code>MaxResults</code> was used and 539 * the results exceeded the value of that parameter. Pagination continues from the 540 * end of the previous results that returned the <code>NextToken</code> value. This 541 * value is <code>null</code> when there are no more results to return.</p> 542 */ WithNextToken(Aws::String && value)543 inline DescribeVolumesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} 544 545 /** 546 * <p>The <code>NextToken</code> value returned from a previous paginated 547 * <code>DescribeVolumes</code> request where <code>MaxResults</code> was used and 548 * the results exceeded the value of that parameter. Pagination continues from the 549 * end of the previous results that returned the <code>NextToken</code> value. This 550 * value is <code>null</code> when there are no more results to return.</p> 551 */ WithNextToken(const char * value)552 inline DescribeVolumesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} 553 554 private: 555 556 Aws::Vector<Filter> m_filters; 557 bool m_filtersHasBeenSet; 558 559 Aws::Vector<Aws::String> m_volumeIds; 560 bool m_volumeIdsHasBeenSet; 561 562 bool m_dryRun; 563 bool m_dryRunHasBeenSet; 564 565 int m_maxResults; 566 bool m_maxResultsHasBeenSet; 567 568 Aws::String m_nextToken; 569 bool m_nextTokenHasBeenSet; 570 }; 571 572 } // namespace Model 573 } // namespace EC2 574 } // namespace Aws 575