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/ec2/model/AutoPlacement.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <aws/ec2/model/HostRecovery.h> 13 #include <aws/ec2/model/TagSpecification.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace EC2 19 { 20 namespace Model 21 { 22 23 /** 24 */ 25 class AWS_EC2_API AllocateHostsRequest : public EC2Request 26 { 27 public: 28 AllocateHostsRequest(); 29 30 // Service request name is the Operation name which will send this request out, 31 // each operation should has unique request name, so that we can get operation's name from this request. 32 // Note: this is not true for response, multiple operations may have the same response name, 33 // so we can not get operation's name from response. GetServiceRequestName()34 inline virtual const char* GetServiceRequestName() const override { return "AllocateHosts"; } 35 36 Aws::String SerializePayload() const override; 37 38 protected: 39 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 40 41 public: 42 43 /** 44 * <p>Indicates whether the host accepts any untargeted instance launches that 45 * match its instance type configuration, or if it only accepts Host tenancy 46 * instance launches that specify its unique host ID. For more information, see <a 47 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding"> 48 * Understanding auto-placement and affinity</a> in the <i>Amazon EC2 User 49 * Guide</i>.</p> <p>Default: <code>on</code> </p> 50 */ GetAutoPlacement()51 inline const AutoPlacement& GetAutoPlacement() const{ return m_autoPlacement; } 52 53 /** 54 * <p>Indicates whether the host accepts any untargeted instance launches that 55 * match its instance type configuration, or if it only accepts Host tenancy 56 * instance launches that specify its unique host ID. For more information, see <a 57 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding"> 58 * Understanding auto-placement and affinity</a> in the <i>Amazon EC2 User 59 * Guide</i>.</p> <p>Default: <code>on</code> </p> 60 */ AutoPlacementHasBeenSet()61 inline bool AutoPlacementHasBeenSet() const { return m_autoPlacementHasBeenSet; } 62 63 /** 64 * <p>Indicates whether the host accepts any untargeted instance launches that 65 * match its instance type configuration, or if it only accepts Host tenancy 66 * instance launches that specify its unique host ID. For more information, see <a 67 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding"> 68 * Understanding auto-placement and affinity</a> in the <i>Amazon EC2 User 69 * Guide</i>.</p> <p>Default: <code>on</code> </p> 70 */ SetAutoPlacement(const AutoPlacement & value)71 inline void SetAutoPlacement(const AutoPlacement& value) { m_autoPlacementHasBeenSet = true; m_autoPlacement = value; } 72 73 /** 74 * <p>Indicates whether the host accepts any untargeted instance launches that 75 * match its instance type configuration, or if it only accepts Host tenancy 76 * instance launches that specify its unique host ID. For more information, see <a 77 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding"> 78 * Understanding auto-placement and affinity</a> in the <i>Amazon EC2 User 79 * Guide</i>.</p> <p>Default: <code>on</code> </p> 80 */ SetAutoPlacement(AutoPlacement && value)81 inline void SetAutoPlacement(AutoPlacement&& value) { m_autoPlacementHasBeenSet = true; m_autoPlacement = std::move(value); } 82 83 /** 84 * <p>Indicates whether the host accepts any untargeted instance launches that 85 * match its instance type configuration, or if it only accepts Host tenancy 86 * instance launches that specify its unique host ID. For more information, see <a 87 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding"> 88 * Understanding auto-placement and affinity</a> in the <i>Amazon EC2 User 89 * Guide</i>.</p> <p>Default: <code>on</code> </p> 90 */ WithAutoPlacement(const AutoPlacement & value)91 inline AllocateHostsRequest& WithAutoPlacement(const AutoPlacement& value) { SetAutoPlacement(value); return *this;} 92 93 /** 94 * <p>Indicates whether the host accepts any untargeted instance launches that 95 * match its instance type configuration, or if it only accepts Host tenancy 96 * instance launches that specify its unique host ID. For more information, see <a 97 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding"> 98 * Understanding auto-placement and affinity</a> in the <i>Amazon EC2 User 99 * Guide</i>.</p> <p>Default: <code>on</code> </p> 100 */ WithAutoPlacement(AutoPlacement && value)101 inline AllocateHostsRequest& WithAutoPlacement(AutoPlacement&& value) { SetAutoPlacement(std::move(value)); return *this;} 102 103 104 /** 105 * <p>The Availability Zone in which to allocate the Dedicated Host.</p> 106 */ GetAvailabilityZone()107 inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } 108 109 /** 110 * <p>The Availability Zone in which to allocate the Dedicated Host.</p> 111 */ AvailabilityZoneHasBeenSet()112 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } 113 114 /** 115 * <p>The Availability Zone in which to allocate the Dedicated Host.</p> 116 */ SetAvailabilityZone(const Aws::String & value)117 inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } 118 119 /** 120 * <p>The Availability Zone in which to allocate the Dedicated Host.</p> 121 */ SetAvailabilityZone(Aws::String && value)122 inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } 123 124 /** 125 * <p>The Availability Zone in which to allocate the Dedicated Host.</p> 126 */ SetAvailabilityZone(const char * value)127 inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } 128 129 /** 130 * <p>The Availability Zone in which to allocate the Dedicated Host.</p> 131 */ WithAvailabilityZone(const Aws::String & value)132 inline AllocateHostsRequest& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} 133 134 /** 135 * <p>The Availability Zone in which to allocate the Dedicated Host.</p> 136 */ WithAvailabilityZone(Aws::String && value)137 inline AllocateHostsRequest& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} 138 139 /** 140 * <p>The Availability Zone in which to allocate the Dedicated Host.</p> 141 */ WithAvailabilityZone(const char * value)142 inline AllocateHostsRequest& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} 143 144 145 /** 146 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 147 * of the request. For more information, see <a 148 * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring 149 * Idempotency</a>.</p> 150 */ GetClientToken()151 inline const Aws::String& GetClientToken() const{ return m_clientToken; } 152 153 /** 154 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 155 * of the request. For more information, see <a 156 * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring 157 * Idempotency</a>.</p> 158 */ ClientTokenHasBeenSet()159 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } 160 161 /** 162 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 163 * of the request. For more information, see <a 164 * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring 165 * Idempotency</a>.</p> 166 */ SetClientToken(const Aws::String & value)167 inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } 168 169 /** 170 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 171 * of the request. For more information, see <a 172 * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring 173 * Idempotency</a>.</p> 174 */ SetClientToken(Aws::String && value)175 inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } 176 177 /** 178 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 179 * of the request. For more information, see <a 180 * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring 181 * Idempotency</a>.</p> 182 */ SetClientToken(const char * value)183 inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } 184 185 /** 186 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 187 * of the request. For more information, see <a 188 * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring 189 * Idempotency</a>.</p> 190 */ WithClientToken(const Aws::String & value)191 inline AllocateHostsRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} 192 193 /** 194 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 195 * of the request. For more information, see <a 196 * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring 197 * Idempotency</a>.</p> 198 */ WithClientToken(Aws::String && value)199 inline AllocateHostsRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} 200 201 /** 202 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 203 * of the request. For more information, see <a 204 * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring 205 * Idempotency</a>.</p> 206 */ WithClientToken(const char * value)207 inline AllocateHostsRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} 208 209 210 /** 211 * <p>Specifies the instance type to be supported by the Dedicated Hosts. If you 212 * specify an instance type, the Dedicated Hosts support instances of the specified 213 * instance type only.</p> <p>If you want the Dedicated Hosts to support multiple 214 * instance types in a specific instance family, omit this parameter and specify 215 * <b>InstanceFamily</b> instead. You cannot specify <b>InstanceType</b> and 216 * <b>InstanceFamily</b> in the same request.</p> 217 */ GetInstanceType()218 inline const Aws::String& GetInstanceType() const{ return m_instanceType; } 219 220 /** 221 * <p>Specifies the instance type to be supported by the Dedicated Hosts. If you 222 * specify an instance type, the Dedicated Hosts support instances of the specified 223 * instance type only.</p> <p>If you want the Dedicated Hosts to support multiple 224 * instance types in a specific instance family, omit this parameter and specify 225 * <b>InstanceFamily</b> instead. You cannot specify <b>InstanceType</b> and 226 * <b>InstanceFamily</b> in the same request.</p> 227 */ InstanceTypeHasBeenSet()228 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } 229 230 /** 231 * <p>Specifies the instance type to be supported by the Dedicated Hosts. If you 232 * specify an instance type, the Dedicated Hosts support instances of the specified 233 * instance type only.</p> <p>If you want the Dedicated Hosts to support multiple 234 * instance types in a specific instance family, omit this parameter and specify 235 * <b>InstanceFamily</b> instead. You cannot specify <b>InstanceType</b> and 236 * <b>InstanceFamily</b> in the same request.</p> 237 */ SetInstanceType(const Aws::String & value)238 inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } 239 240 /** 241 * <p>Specifies the instance type to be supported by the Dedicated Hosts. If you 242 * specify an instance type, the Dedicated Hosts support instances of the specified 243 * instance type only.</p> <p>If you want the Dedicated Hosts to support multiple 244 * instance types in a specific instance family, omit this parameter and specify 245 * <b>InstanceFamily</b> instead. You cannot specify <b>InstanceType</b> and 246 * <b>InstanceFamily</b> in the same request.</p> 247 */ SetInstanceType(Aws::String && value)248 inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } 249 250 /** 251 * <p>Specifies the instance type to be supported by the Dedicated Hosts. If you 252 * specify an instance type, the Dedicated Hosts support instances of the specified 253 * instance type only.</p> <p>If you want the Dedicated Hosts to support multiple 254 * instance types in a specific instance family, omit this parameter and specify 255 * <b>InstanceFamily</b> instead. You cannot specify <b>InstanceType</b> and 256 * <b>InstanceFamily</b> in the same request.</p> 257 */ SetInstanceType(const char * value)258 inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } 259 260 /** 261 * <p>Specifies the instance type to be supported by the Dedicated Hosts. If you 262 * specify an instance type, the Dedicated Hosts support instances of the specified 263 * instance type only.</p> <p>If you want the Dedicated Hosts to support multiple 264 * instance types in a specific instance family, omit this parameter and specify 265 * <b>InstanceFamily</b> instead. You cannot specify <b>InstanceType</b> and 266 * <b>InstanceFamily</b> in the same request.</p> 267 */ WithInstanceType(const Aws::String & value)268 inline AllocateHostsRequest& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} 269 270 /** 271 * <p>Specifies the instance type to be supported by the Dedicated Hosts. If you 272 * specify an instance type, the Dedicated Hosts support instances of the specified 273 * instance type only.</p> <p>If you want the Dedicated Hosts to support multiple 274 * instance types in a specific instance family, omit this parameter and specify 275 * <b>InstanceFamily</b> instead. You cannot specify <b>InstanceType</b> and 276 * <b>InstanceFamily</b> in the same request.</p> 277 */ WithInstanceType(Aws::String && value)278 inline AllocateHostsRequest& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} 279 280 /** 281 * <p>Specifies the instance type to be supported by the Dedicated Hosts. If you 282 * specify an instance type, the Dedicated Hosts support instances of the specified 283 * instance type only.</p> <p>If you want the Dedicated Hosts to support multiple 284 * instance types in a specific instance family, omit this parameter and specify 285 * <b>InstanceFamily</b> instead. You cannot specify <b>InstanceType</b> and 286 * <b>InstanceFamily</b> in the same request.</p> 287 */ WithInstanceType(const char * value)288 inline AllocateHostsRequest& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} 289 290 291 /** 292 * <p>Specifies the instance family to be supported by the Dedicated Hosts. If you 293 * specify an instance family, the Dedicated Hosts support multiple instance types 294 * within that instance family.</p> <p>If you want the Dedicated Hosts to support a 295 * specific instance type only, omit this parameter and specify <b>InstanceType</b> 296 * instead. You cannot specify <b>InstanceFamily</b> and <b>InstanceType</b> in the 297 * same request.</p> 298 */ GetInstanceFamily()299 inline const Aws::String& GetInstanceFamily() const{ return m_instanceFamily; } 300 301 /** 302 * <p>Specifies the instance family to be supported by the Dedicated Hosts. If you 303 * specify an instance family, the Dedicated Hosts support multiple instance types 304 * within that instance family.</p> <p>If you want the Dedicated Hosts to support a 305 * specific instance type only, omit this parameter and specify <b>InstanceType</b> 306 * instead. You cannot specify <b>InstanceFamily</b> and <b>InstanceType</b> in the 307 * same request.</p> 308 */ InstanceFamilyHasBeenSet()309 inline bool InstanceFamilyHasBeenSet() const { return m_instanceFamilyHasBeenSet; } 310 311 /** 312 * <p>Specifies the instance family to be supported by the Dedicated Hosts. If you 313 * specify an instance family, the Dedicated Hosts support multiple instance types 314 * within that instance family.</p> <p>If you want the Dedicated Hosts to support a 315 * specific instance type only, omit this parameter and specify <b>InstanceType</b> 316 * instead. You cannot specify <b>InstanceFamily</b> and <b>InstanceType</b> in the 317 * same request.</p> 318 */ SetInstanceFamily(const Aws::String & value)319 inline void SetInstanceFamily(const Aws::String& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = value; } 320 321 /** 322 * <p>Specifies the instance family to be supported by the Dedicated Hosts. If you 323 * specify an instance family, the Dedicated Hosts support multiple instance types 324 * within that instance family.</p> <p>If you want the Dedicated Hosts to support a 325 * specific instance type only, omit this parameter and specify <b>InstanceType</b> 326 * instead. You cannot specify <b>InstanceFamily</b> and <b>InstanceType</b> in the 327 * same request.</p> 328 */ SetInstanceFamily(Aws::String && value)329 inline void SetInstanceFamily(Aws::String&& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = std::move(value); } 330 331 /** 332 * <p>Specifies the instance family to be supported by the Dedicated Hosts. If you 333 * specify an instance family, the Dedicated Hosts support multiple instance types 334 * within that instance family.</p> <p>If you want the Dedicated Hosts to support a 335 * specific instance type only, omit this parameter and specify <b>InstanceType</b> 336 * instead. You cannot specify <b>InstanceFamily</b> and <b>InstanceType</b> in the 337 * same request.</p> 338 */ SetInstanceFamily(const char * value)339 inline void SetInstanceFamily(const char* value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily.assign(value); } 340 341 /** 342 * <p>Specifies the instance family to be supported by the Dedicated Hosts. If you 343 * specify an instance family, the Dedicated Hosts support multiple instance types 344 * within that instance family.</p> <p>If you want the Dedicated Hosts to support a 345 * specific instance type only, omit this parameter and specify <b>InstanceType</b> 346 * instead. You cannot specify <b>InstanceFamily</b> and <b>InstanceType</b> in the 347 * same request.</p> 348 */ WithInstanceFamily(const Aws::String & value)349 inline AllocateHostsRequest& WithInstanceFamily(const Aws::String& value) { SetInstanceFamily(value); return *this;} 350 351 /** 352 * <p>Specifies the instance family to be supported by the Dedicated Hosts. If you 353 * specify an instance family, the Dedicated Hosts support multiple instance types 354 * within that instance family.</p> <p>If you want the Dedicated Hosts to support a 355 * specific instance type only, omit this parameter and specify <b>InstanceType</b> 356 * instead. You cannot specify <b>InstanceFamily</b> and <b>InstanceType</b> in the 357 * same request.</p> 358 */ WithInstanceFamily(Aws::String && value)359 inline AllocateHostsRequest& WithInstanceFamily(Aws::String&& value) { SetInstanceFamily(std::move(value)); return *this;} 360 361 /** 362 * <p>Specifies the instance family to be supported by the Dedicated Hosts. If you 363 * specify an instance family, the Dedicated Hosts support multiple instance types 364 * within that instance family.</p> <p>If you want the Dedicated Hosts to support a 365 * specific instance type only, omit this parameter and specify <b>InstanceType</b> 366 * instead. You cannot specify <b>InstanceFamily</b> and <b>InstanceType</b> in the 367 * same request.</p> 368 */ WithInstanceFamily(const char * value)369 inline AllocateHostsRequest& WithInstanceFamily(const char* value) { SetInstanceFamily(value); return *this;} 370 371 372 /** 373 * <p>The number of Dedicated Hosts to allocate to your account with these 374 * parameters.</p> 375 */ GetQuantity()376 inline int GetQuantity() const{ return m_quantity; } 377 378 /** 379 * <p>The number of Dedicated Hosts to allocate to your account with these 380 * parameters.</p> 381 */ QuantityHasBeenSet()382 inline bool QuantityHasBeenSet() const { return m_quantityHasBeenSet; } 383 384 /** 385 * <p>The number of Dedicated Hosts to allocate to your account with these 386 * parameters.</p> 387 */ SetQuantity(int value)388 inline void SetQuantity(int value) { m_quantityHasBeenSet = true; m_quantity = value; } 389 390 /** 391 * <p>The number of Dedicated Hosts to allocate to your account with these 392 * parameters.</p> 393 */ WithQuantity(int value)394 inline AllocateHostsRequest& WithQuantity(int value) { SetQuantity(value); return *this;} 395 396 397 /** 398 * <p>The tags to apply to the Dedicated Host during creation.</p> 399 */ GetTagSpecifications()400 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const{ return m_tagSpecifications; } 401 402 /** 403 * <p>The tags to apply to the Dedicated Host during creation.</p> 404 */ TagSpecificationsHasBeenSet()405 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; } 406 407 /** 408 * <p>The tags to apply to the Dedicated Host during creation.</p> 409 */ SetTagSpecifications(const Aws::Vector<TagSpecification> & value)410 inline void SetTagSpecifications(const Aws::Vector<TagSpecification>& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = value; } 411 412 /** 413 * <p>The tags to apply to the Dedicated Host during creation.</p> 414 */ SetTagSpecifications(Aws::Vector<TagSpecification> && value)415 inline void SetTagSpecifications(Aws::Vector<TagSpecification>&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::move(value); } 416 417 /** 418 * <p>The tags to apply to the Dedicated Host during creation.</p> 419 */ WithTagSpecifications(const Aws::Vector<TagSpecification> & value)420 inline AllocateHostsRequest& WithTagSpecifications(const Aws::Vector<TagSpecification>& value) { SetTagSpecifications(value); return *this;} 421 422 /** 423 * <p>The tags to apply to the Dedicated Host during creation.</p> 424 */ WithTagSpecifications(Aws::Vector<TagSpecification> && value)425 inline AllocateHostsRequest& WithTagSpecifications(Aws::Vector<TagSpecification>&& value) { SetTagSpecifications(std::move(value)); return *this;} 426 427 /** 428 * <p>The tags to apply to the Dedicated Host during creation.</p> 429 */ AddTagSpecifications(const TagSpecification & value)430 inline AllocateHostsRequest& AddTagSpecifications(const TagSpecification& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(value); return *this; } 431 432 /** 433 * <p>The tags to apply to the Dedicated Host during creation.</p> 434 */ AddTagSpecifications(TagSpecification && value)435 inline AllocateHostsRequest& AddTagSpecifications(TagSpecification&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(std::move(value)); return *this; } 436 437 438 /** 439 * <p>Indicates whether to enable or disable host recovery for the Dedicated Host. 440 * Host recovery is disabled by default. For more information, see <a 441 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html"> 442 * Host recovery</a> in the <i>Amazon EC2 User Guide</i>.</p> <p>Default: 443 * <code>off</code> </p> 444 */ GetHostRecovery()445 inline const HostRecovery& GetHostRecovery() const{ return m_hostRecovery; } 446 447 /** 448 * <p>Indicates whether to enable or disable host recovery for the Dedicated Host. 449 * Host recovery is disabled by default. For more information, see <a 450 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html"> 451 * Host recovery</a> in the <i>Amazon EC2 User Guide</i>.</p> <p>Default: 452 * <code>off</code> </p> 453 */ HostRecoveryHasBeenSet()454 inline bool HostRecoveryHasBeenSet() const { return m_hostRecoveryHasBeenSet; } 455 456 /** 457 * <p>Indicates whether to enable or disable host recovery for the Dedicated Host. 458 * Host recovery is disabled by default. For more information, see <a 459 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html"> 460 * Host recovery</a> in the <i>Amazon EC2 User Guide</i>.</p> <p>Default: 461 * <code>off</code> </p> 462 */ SetHostRecovery(const HostRecovery & value)463 inline void SetHostRecovery(const HostRecovery& value) { m_hostRecoveryHasBeenSet = true; m_hostRecovery = value; } 464 465 /** 466 * <p>Indicates whether to enable or disable host recovery for the Dedicated Host. 467 * Host recovery is disabled by default. For more information, see <a 468 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html"> 469 * Host recovery</a> in the <i>Amazon EC2 User Guide</i>.</p> <p>Default: 470 * <code>off</code> </p> 471 */ SetHostRecovery(HostRecovery && value)472 inline void SetHostRecovery(HostRecovery&& value) { m_hostRecoveryHasBeenSet = true; m_hostRecovery = std::move(value); } 473 474 /** 475 * <p>Indicates whether to enable or disable host recovery for the Dedicated Host. 476 * Host recovery is disabled by default. For more information, see <a 477 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html"> 478 * Host recovery</a> in the <i>Amazon EC2 User Guide</i>.</p> <p>Default: 479 * <code>off</code> </p> 480 */ WithHostRecovery(const HostRecovery & value)481 inline AllocateHostsRequest& WithHostRecovery(const HostRecovery& value) { SetHostRecovery(value); return *this;} 482 483 /** 484 * <p>Indicates whether to enable or disable host recovery for the Dedicated Host. 485 * Host recovery is disabled by default. For more information, see <a 486 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html"> 487 * Host recovery</a> in the <i>Amazon EC2 User Guide</i>.</p> <p>Default: 488 * <code>off</code> </p> 489 */ WithHostRecovery(HostRecovery && value)490 inline AllocateHostsRequest& WithHostRecovery(HostRecovery&& value) { SetHostRecovery(std::move(value)); return *this;} 491 492 private: 493 494 AutoPlacement m_autoPlacement; 495 bool m_autoPlacementHasBeenSet; 496 497 Aws::String m_availabilityZone; 498 bool m_availabilityZoneHasBeenSet; 499 500 Aws::String m_clientToken; 501 bool m_clientTokenHasBeenSet; 502 503 Aws::String m_instanceType; 504 bool m_instanceTypeHasBeenSet; 505 506 Aws::String m_instanceFamily; 507 bool m_instanceFamilyHasBeenSet; 508 509 int m_quantity; 510 bool m_quantityHasBeenSet; 511 512 Aws::Vector<TagSpecification> m_tagSpecifications; 513 bool m_tagSpecificationsHasBeenSet; 514 515 HostRecovery m_hostRecovery; 516 bool m_hostRecoveryHasBeenSet; 517 }; 518 519 } // namespace Model 520 } // namespace EC2 521 } // namespace Aws 522