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/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/ec2/model/CurrencyCodeValues.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <aws/core/utils/memory/stl/AWSString.h> 13 #include <aws/ec2/model/PaymentOption.h> 14 #include <aws/ec2/model/ReservationState.h> 15 #include <aws/ec2/model/Tag.h> 16 #include <utility> 17 18 namespace Aws 19 { 20 namespace Utils 21 { 22 namespace Xml 23 { 24 class XmlNode; 25 } // namespace Xml 26 } // namespace Utils 27 namespace EC2 28 { 29 namespace Model 30 { 31 32 /** 33 * <p>Details about the Dedicated Host Reservation and associated Dedicated 34 * Hosts.</p><p><h3>See Also:</h3> <a 35 * href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostReservation">AWS 36 * API Reference</a></p> 37 */ 38 class AWS_EC2_API HostReservation 39 { 40 public: 41 HostReservation(); 42 HostReservation(const Aws::Utils::Xml::XmlNode& xmlNode); 43 HostReservation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 44 45 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 46 void OutputToStream(Aws::OStream& oStream, const char* location) const; 47 48 49 /** 50 * <p>The number of Dedicated Hosts the reservation is associated with.</p> 51 */ GetCount()52 inline int GetCount() const{ return m_count; } 53 54 /** 55 * <p>The number of Dedicated Hosts the reservation is associated with.</p> 56 */ CountHasBeenSet()57 inline bool CountHasBeenSet() const { return m_countHasBeenSet; } 58 59 /** 60 * <p>The number of Dedicated Hosts the reservation is associated with.</p> 61 */ SetCount(int value)62 inline void SetCount(int value) { m_countHasBeenSet = true; m_count = value; } 63 64 /** 65 * <p>The number of Dedicated Hosts the reservation is associated with.</p> 66 */ WithCount(int value)67 inline HostReservation& WithCount(int value) { SetCount(value); return *this;} 68 69 70 /** 71 * <p>The currency in which the <code>upfrontPrice</code> and 72 * <code>hourlyPrice</code> amounts are specified. At this time, the only supported 73 * currency is <code>USD</code>.</p> 74 */ GetCurrencyCode()75 inline const CurrencyCodeValues& GetCurrencyCode() const{ return m_currencyCode; } 76 77 /** 78 * <p>The currency in which the <code>upfrontPrice</code> and 79 * <code>hourlyPrice</code> amounts are specified. At this time, the only supported 80 * currency is <code>USD</code>.</p> 81 */ CurrencyCodeHasBeenSet()82 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; } 83 84 /** 85 * <p>The currency in which the <code>upfrontPrice</code> and 86 * <code>hourlyPrice</code> amounts are specified. At this time, the only supported 87 * currency is <code>USD</code>.</p> 88 */ SetCurrencyCode(const CurrencyCodeValues & value)89 inline void SetCurrencyCode(const CurrencyCodeValues& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; } 90 91 /** 92 * <p>The currency in which the <code>upfrontPrice</code> and 93 * <code>hourlyPrice</code> amounts are specified. At this time, the only supported 94 * currency is <code>USD</code>.</p> 95 */ SetCurrencyCode(CurrencyCodeValues && value)96 inline void SetCurrencyCode(CurrencyCodeValues&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::move(value); } 97 98 /** 99 * <p>The currency in which the <code>upfrontPrice</code> and 100 * <code>hourlyPrice</code> amounts are specified. At this time, the only supported 101 * currency is <code>USD</code>.</p> 102 */ WithCurrencyCode(const CurrencyCodeValues & value)103 inline HostReservation& WithCurrencyCode(const CurrencyCodeValues& value) { SetCurrencyCode(value); return *this;} 104 105 /** 106 * <p>The currency in which the <code>upfrontPrice</code> and 107 * <code>hourlyPrice</code> amounts are specified. At this time, the only supported 108 * currency is <code>USD</code>.</p> 109 */ WithCurrencyCode(CurrencyCodeValues && value)110 inline HostReservation& WithCurrencyCode(CurrencyCodeValues&& value) { SetCurrencyCode(std::move(value)); return *this;} 111 112 113 /** 114 * <p>The length of the reservation's term, specified in seconds. Can be 115 * <code>31536000 (1 year)</code> | <code>94608000 (3 years)</code>.</p> 116 */ GetDuration()117 inline int GetDuration() const{ return m_duration; } 118 119 /** 120 * <p>The length of the reservation's term, specified in seconds. Can be 121 * <code>31536000 (1 year)</code> | <code>94608000 (3 years)</code>.</p> 122 */ DurationHasBeenSet()123 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } 124 125 /** 126 * <p>The length of the reservation's term, specified in seconds. Can be 127 * <code>31536000 (1 year)</code> | <code>94608000 (3 years)</code>.</p> 128 */ SetDuration(int value)129 inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; } 130 131 /** 132 * <p>The length of the reservation's term, specified in seconds. Can be 133 * <code>31536000 (1 year)</code> | <code>94608000 (3 years)</code>.</p> 134 */ WithDuration(int value)135 inline HostReservation& WithDuration(int value) { SetDuration(value); return *this;} 136 137 138 /** 139 * <p>The date and time that the reservation ends.</p> 140 */ GetEnd()141 inline const Aws::Utils::DateTime& GetEnd() const{ return m_end; } 142 143 /** 144 * <p>The date and time that the reservation ends.</p> 145 */ EndHasBeenSet()146 inline bool EndHasBeenSet() const { return m_endHasBeenSet; } 147 148 /** 149 * <p>The date and time that the reservation ends.</p> 150 */ SetEnd(const Aws::Utils::DateTime & value)151 inline void SetEnd(const Aws::Utils::DateTime& value) { m_endHasBeenSet = true; m_end = value; } 152 153 /** 154 * <p>The date and time that the reservation ends.</p> 155 */ SetEnd(Aws::Utils::DateTime && value)156 inline void SetEnd(Aws::Utils::DateTime&& value) { m_endHasBeenSet = true; m_end = std::move(value); } 157 158 /** 159 * <p>The date and time that the reservation ends.</p> 160 */ WithEnd(const Aws::Utils::DateTime & value)161 inline HostReservation& WithEnd(const Aws::Utils::DateTime& value) { SetEnd(value); return *this;} 162 163 /** 164 * <p>The date and time that the reservation ends.</p> 165 */ WithEnd(Aws::Utils::DateTime && value)166 inline HostReservation& WithEnd(Aws::Utils::DateTime&& value) { SetEnd(std::move(value)); return *this;} 167 168 169 /** 170 * <p>The IDs of the Dedicated Hosts associated with the reservation.</p> 171 */ GetHostIdSet()172 inline const Aws::Vector<Aws::String>& GetHostIdSet() const{ return m_hostIdSet; } 173 174 /** 175 * <p>The IDs of the Dedicated Hosts associated with the reservation.</p> 176 */ HostIdSetHasBeenSet()177 inline bool HostIdSetHasBeenSet() const { return m_hostIdSetHasBeenSet; } 178 179 /** 180 * <p>The IDs of the Dedicated Hosts associated with the reservation.</p> 181 */ SetHostIdSet(const Aws::Vector<Aws::String> & value)182 inline void SetHostIdSet(const Aws::Vector<Aws::String>& value) { m_hostIdSetHasBeenSet = true; m_hostIdSet = value; } 183 184 /** 185 * <p>The IDs of the Dedicated Hosts associated with the reservation.</p> 186 */ SetHostIdSet(Aws::Vector<Aws::String> && value)187 inline void SetHostIdSet(Aws::Vector<Aws::String>&& value) { m_hostIdSetHasBeenSet = true; m_hostIdSet = std::move(value); } 188 189 /** 190 * <p>The IDs of the Dedicated Hosts associated with the reservation.</p> 191 */ WithHostIdSet(const Aws::Vector<Aws::String> & value)192 inline HostReservation& WithHostIdSet(const Aws::Vector<Aws::String>& value) { SetHostIdSet(value); return *this;} 193 194 /** 195 * <p>The IDs of the Dedicated Hosts associated with the reservation.</p> 196 */ WithHostIdSet(Aws::Vector<Aws::String> && value)197 inline HostReservation& WithHostIdSet(Aws::Vector<Aws::String>&& value) { SetHostIdSet(std::move(value)); return *this;} 198 199 /** 200 * <p>The IDs of the Dedicated Hosts associated with the reservation.</p> 201 */ AddHostIdSet(const Aws::String & value)202 inline HostReservation& AddHostIdSet(const Aws::String& value) { m_hostIdSetHasBeenSet = true; m_hostIdSet.push_back(value); return *this; } 203 204 /** 205 * <p>The IDs of the Dedicated Hosts associated with the reservation.</p> 206 */ AddHostIdSet(Aws::String && value)207 inline HostReservation& AddHostIdSet(Aws::String&& value) { m_hostIdSetHasBeenSet = true; m_hostIdSet.push_back(std::move(value)); return *this; } 208 209 /** 210 * <p>The IDs of the Dedicated Hosts associated with the reservation.</p> 211 */ AddHostIdSet(const char * value)212 inline HostReservation& AddHostIdSet(const char* value) { m_hostIdSetHasBeenSet = true; m_hostIdSet.push_back(value); return *this; } 213 214 215 /** 216 * <p>The ID of the reservation that specifies the associated Dedicated Hosts.</p> 217 */ GetHostReservationId()218 inline const Aws::String& GetHostReservationId() const{ return m_hostReservationId; } 219 220 /** 221 * <p>The ID of the reservation that specifies the associated Dedicated Hosts.</p> 222 */ HostReservationIdHasBeenSet()223 inline bool HostReservationIdHasBeenSet() const { return m_hostReservationIdHasBeenSet; } 224 225 /** 226 * <p>The ID of the reservation that specifies the associated Dedicated Hosts.</p> 227 */ SetHostReservationId(const Aws::String & value)228 inline void SetHostReservationId(const Aws::String& value) { m_hostReservationIdHasBeenSet = true; m_hostReservationId = value; } 229 230 /** 231 * <p>The ID of the reservation that specifies the associated Dedicated Hosts.</p> 232 */ SetHostReservationId(Aws::String && value)233 inline void SetHostReservationId(Aws::String&& value) { m_hostReservationIdHasBeenSet = true; m_hostReservationId = std::move(value); } 234 235 /** 236 * <p>The ID of the reservation that specifies the associated Dedicated Hosts.</p> 237 */ SetHostReservationId(const char * value)238 inline void SetHostReservationId(const char* value) { m_hostReservationIdHasBeenSet = true; m_hostReservationId.assign(value); } 239 240 /** 241 * <p>The ID of the reservation that specifies the associated Dedicated Hosts.</p> 242 */ WithHostReservationId(const Aws::String & value)243 inline HostReservation& WithHostReservationId(const Aws::String& value) { SetHostReservationId(value); return *this;} 244 245 /** 246 * <p>The ID of the reservation that specifies the associated Dedicated Hosts.</p> 247 */ WithHostReservationId(Aws::String && value)248 inline HostReservation& WithHostReservationId(Aws::String&& value) { SetHostReservationId(std::move(value)); return *this;} 249 250 /** 251 * <p>The ID of the reservation that specifies the associated Dedicated Hosts.</p> 252 */ WithHostReservationId(const char * value)253 inline HostReservation& WithHostReservationId(const char* value) { SetHostReservationId(value); return *this;} 254 255 256 /** 257 * <p>The hourly price of the reservation.</p> 258 */ GetHourlyPrice()259 inline const Aws::String& GetHourlyPrice() const{ return m_hourlyPrice; } 260 261 /** 262 * <p>The hourly price of the reservation.</p> 263 */ HourlyPriceHasBeenSet()264 inline bool HourlyPriceHasBeenSet() const { return m_hourlyPriceHasBeenSet; } 265 266 /** 267 * <p>The hourly price of the reservation.</p> 268 */ SetHourlyPrice(const Aws::String & value)269 inline void SetHourlyPrice(const Aws::String& value) { m_hourlyPriceHasBeenSet = true; m_hourlyPrice = value; } 270 271 /** 272 * <p>The hourly price of the reservation.</p> 273 */ SetHourlyPrice(Aws::String && value)274 inline void SetHourlyPrice(Aws::String&& value) { m_hourlyPriceHasBeenSet = true; m_hourlyPrice = std::move(value); } 275 276 /** 277 * <p>The hourly price of the reservation.</p> 278 */ SetHourlyPrice(const char * value)279 inline void SetHourlyPrice(const char* value) { m_hourlyPriceHasBeenSet = true; m_hourlyPrice.assign(value); } 280 281 /** 282 * <p>The hourly price of the reservation.</p> 283 */ WithHourlyPrice(const Aws::String & value)284 inline HostReservation& WithHourlyPrice(const Aws::String& value) { SetHourlyPrice(value); return *this;} 285 286 /** 287 * <p>The hourly price of the reservation.</p> 288 */ WithHourlyPrice(Aws::String && value)289 inline HostReservation& WithHourlyPrice(Aws::String&& value) { SetHourlyPrice(std::move(value)); return *this;} 290 291 /** 292 * <p>The hourly price of the reservation.</p> 293 */ WithHourlyPrice(const char * value)294 inline HostReservation& WithHourlyPrice(const char* value) { SetHourlyPrice(value); return *this;} 295 296 297 /** 298 * <p>The instance family of the Dedicated Host Reservation. The instance family on 299 * the Dedicated Host must be the same in order for it to benefit from the 300 * reservation.</p> 301 */ GetInstanceFamily()302 inline const Aws::String& GetInstanceFamily() const{ return m_instanceFamily; } 303 304 /** 305 * <p>The instance family of the Dedicated Host Reservation. The instance family on 306 * the Dedicated Host must be the same in order for it to benefit from the 307 * reservation.</p> 308 */ InstanceFamilyHasBeenSet()309 inline bool InstanceFamilyHasBeenSet() const { return m_instanceFamilyHasBeenSet; } 310 311 /** 312 * <p>The instance family of the Dedicated Host Reservation. The instance family on 313 * the Dedicated Host must be the same in order for it to benefit from the 314 * reservation.</p> 315 */ SetInstanceFamily(const Aws::String & value)316 inline void SetInstanceFamily(const Aws::String& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = value; } 317 318 /** 319 * <p>The instance family of the Dedicated Host Reservation. The instance family on 320 * the Dedicated Host must be the same in order for it to benefit from the 321 * reservation.</p> 322 */ SetInstanceFamily(Aws::String && value)323 inline void SetInstanceFamily(Aws::String&& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = std::move(value); } 324 325 /** 326 * <p>The instance family of the Dedicated Host Reservation. The instance family on 327 * the Dedicated Host must be the same in order for it to benefit from the 328 * reservation.</p> 329 */ SetInstanceFamily(const char * value)330 inline void SetInstanceFamily(const char* value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily.assign(value); } 331 332 /** 333 * <p>The instance family of the Dedicated Host Reservation. The instance family on 334 * the Dedicated Host must be the same in order for it to benefit from the 335 * reservation.</p> 336 */ WithInstanceFamily(const Aws::String & value)337 inline HostReservation& WithInstanceFamily(const Aws::String& value) { SetInstanceFamily(value); return *this;} 338 339 /** 340 * <p>The instance family of the Dedicated Host Reservation. The instance family on 341 * the Dedicated Host must be the same in order for it to benefit from the 342 * reservation.</p> 343 */ WithInstanceFamily(Aws::String && value)344 inline HostReservation& WithInstanceFamily(Aws::String&& value) { SetInstanceFamily(std::move(value)); return *this;} 345 346 /** 347 * <p>The instance family of the Dedicated Host Reservation. The instance family on 348 * the Dedicated Host must be the same in order for it to benefit from the 349 * reservation.</p> 350 */ WithInstanceFamily(const char * value)351 inline HostReservation& WithInstanceFamily(const char* value) { SetInstanceFamily(value); return *this;} 352 353 354 /** 355 * <p>The ID of the reservation. This remains the same regardless of which 356 * Dedicated Hosts are associated with it.</p> 357 */ GetOfferingId()358 inline const Aws::String& GetOfferingId() const{ return m_offeringId; } 359 360 /** 361 * <p>The ID of the reservation. This remains the same regardless of which 362 * Dedicated Hosts are associated with it.</p> 363 */ OfferingIdHasBeenSet()364 inline bool OfferingIdHasBeenSet() const { return m_offeringIdHasBeenSet; } 365 366 /** 367 * <p>The ID of the reservation. This remains the same regardless of which 368 * Dedicated Hosts are associated with it.</p> 369 */ SetOfferingId(const Aws::String & value)370 inline void SetOfferingId(const Aws::String& value) { m_offeringIdHasBeenSet = true; m_offeringId = value; } 371 372 /** 373 * <p>The ID of the reservation. This remains the same regardless of which 374 * Dedicated Hosts are associated with it.</p> 375 */ SetOfferingId(Aws::String && value)376 inline void SetOfferingId(Aws::String&& value) { m_offeringIdHasBeenSet = true; m_offeringId = std::move(value); } 377 378 /** 379 * <p>The ID of the reservation. This remains the same regardless of which 380 * Dedicated Hosts are associated with it.</p> 381 */ SetOfferingId(const char * value)382 inline void SetOfferingId(const char* value) { m_offeringIdHasBeenSet = true; m_offeringId.assign(value); } 383 384 /** 385 * <p>The ID of the reservation. This remains the same regardless of which 386 * Dedicated Hosts are associated with it.</p> 387 */ WithOfferingId(const Aws::String & value)388 inline HostReservation& WithOfferingId(const Aws::String& value) { SetOfferingId(value); return *this;} 389 390 /** 391 * <p>The ID of the reservation. This remains the same regardless of which 392 * Dedicated Hosts are associated with it.</p> 393 */ WithOfferingId(Aws::String && value)394 inline HostReservation& WithOfferingId(Aws::String&& value) { SetOfferingId(std::move(value)); return *this;} 395 396 /** 397 * <p>The ID of the reservation. This remains the same regardless of which 398 * Dedicated Hosts are associated with it.</p> 399 */ WithOfferingId(const char * value)400 inline HostReservation& WithOfferingId(const char* value) { SetOfferingId(value); return *this;} 401 402 403 /** 404 * <p>The payment option selected for this reservation.</p> 405 */ GetPaymentOption()406 inline const PaymentOption& GetPaymentOption() const{ return m_paymentOption; } 407 408 /** 409 * <p>The payment option selected for this reservation.</p> 410 */ PaymentOptionHasBeenSet()411 inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } 412 413 /** 414 * <p>The payment option selected for this reservation.</p> 415 */ SetPaymentOption(const PaymentOption & value)416 inline void SetPaymentOption(const PaymentOption& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } 417 418 /** 419 * <p>The payment option selected for this reservation.</p> 420 */ SetPaymentOption(PaymentOption && value)421 inline void SetPaymentOption(PaymentOption&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } 422 423 /** 424 * <p>The payment option selected for this reservation.</p> 425 */ WithPaymentOption(const PaymentOption & value)426 inline HostReservation& WithPaymentOption(const PaymentOption& value) { SetPaymentOption(value); return *this;} 427 428 /** 429 * <p>The payment option selected for this reservation.</p> 430 */ WithPaymentOption(PaymentOption && value)431 inline HostReservation& WithPaymentOption(PaymentOption&& value) { SetPaymentOption(std::move(value)); return *this;} 432 433 434 /** 435 * <p>The date and time that the reservation started.</p> 436 */ GetStart()437 inline const Aws::Utils::DateTime& GetStart() const{ return m_start; } 438 439 /** 440 * <p>The date and time that the reservation started.</p> 441 */ StartHasBeenSet()442 inline bool StartHasBeenSet() const { return m_startHasBeenSet; } 443 444 /** 445 * <p>The date and time that the reservation started.</p> 446 */ SetStart(const Aws::Utils::DateTime & value)447 inline void SetStart(const Aws::Utils::DateTime& value) { m_startHasBeenSet = true; m_start = value; } 448 449 /** 450 * <p>The date and time that the reservation started.</p> 451 */ SetStart(Aws::Utils::DateTime && value)452 inline void SetStart(Aws::Utils::DateTime&& value) { m_startHasBeenSet = true; m_start = std::move(value); } 453 454 /** 455 * <p>The date and time that the reservation started.</p> 456 */ WithStart(const Aws::Utils::DateTime & value)457 inline HostReservation& WithStart(const Aws::Utils::DateTime& value) { SetStart(value); return *this;} 458 459 /** 460 * <p>The date and time that the reservation started.</p> 461 */ WithStart(Aws::Utils::DateTime && value)462 inline HostReservation& WithStart(Aws::Utils::DateTime&& value) { SetStart(std::move(value)); return *this;} 463 464 465 /** 466 * <p>The state of the reservation.</p> 467 */ GetState()468 inline const ReservationState& GetState() const{ return m_state; } 469 470 /** 471 * <p>The state of the reservation.</p> 472 */ StateHasBeenSet()473 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } 474 475 /** 476 * <p>The state of the reservation.</p> 477 */ SetState(const ReservationState & value)478 inline void SetState(const ReservationState& value) { m_stateHasBeenSet = true; m_state = value; } 479 480 /** 481 * <p>The state of the reservation.</p> 482 */ SetState(ReservationState && value)483 inline void SetState(ReservationState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } 484 485 /** 486 * <p>The state of the reservation.</p> 487 */ WithState(const ReservationState & value)488 inline HostReservation& WithState(const ReservationState& value) { SetState(value); return *this;} 489 490 /** 491 * <p>The state of the reservation.</p> 492 */ WithState(ReservationState && value)493 inline HostReservation& WithState(ReservationState&& value) { SetState(std::move(value)); return *this;} 494 495 496 /** 497 * <p>The upfront price of the reservation.</p> 498 */ GetUpfrontPrice()499 inline const Aws::String& GetUpfrontPrice() const{ return m_upfrontPrice; } 500 501 /** 502 * <p>The upfront price of the reservation.</p> 503 */ UpfrontPriceHasBeenSet()504 inline bool UpfrontPriceHasBeenSet() const { return m_upfrontPriceHasBeenSet; } 505 506 /** 507 * <p>The upfront price of the reservation.</p> 508 */ SetUpfrontPrice(const Aws::String & value)509 inline void SetUpfrontPrice(const Aws::String& value) { m_upfrontPriceHasBeenSet = true; m_upfrontPrice = value; } 510 511 /** 512 * <p>The upfront price of the reservation.</p> 513 */ SetUpfrontPrice(Aws::String && value)514 inline void SetUpfrontPrice(Aws::String&& value) { m_upfrontPriceHasBeenSet = true; m_upfrontPrice = std::move(value); } 515 516 /** 517 * <p>The upfront price of the reservation.</p> 518 */ SetUpfrontPrice(const char * value)519 inline void SetUpfrontPrice(const char* value) { m_upfrontPriceHasBeenSet = true; m_upfrontPrice.assign(value); } 520 521 /** 522 * <p>The upfront price of the reservation.</p> 523 */ WithUpfrontPrice(const Aws::String & value)524 inline HostReservation& WithUpfrontPrice(const Aws::String& value) { SetUpfrontPrice(value); return *this;} 525 526 /** 527 * <p>The upfront price of the reservation.</p> 528 */ WithUpfrontPrice(Aws::String && value)529 inline HostReservation& WithUpfrontPrice(Aws::String&& value) { SetUpfrontPrice(std::move(value)); return *this;} 530 531 /** 532 * <p>The upfront price of the reservation.</p> 533 */ WithUpfrontPrice(const char * value)534 inline HostReservation& WithUpfrontPrice(const char* value) { SetUpfrontPrice(value); return *this;} 535 536 537 /** 538 * <p>Any tags assigned to the Dedicated Host Reservation.</p> 539 */ GetTags()540 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 541 542 /** 543 * <p>Any tags assigned to the Dedicated Host Reservation.</p> 544 */ TagsHasBeenSet()545 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 546 547 /** 548 * <p>Any tags assigned to the Dedicated Host Reservation.</p> 549 */ SetTags(const Aws::Vector<Tag> & value)550 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } 551 552 /** 553 * <p>Any tags assigned to the Dedicated Host Reservation.</p> 554 */ SetTags(Aws::Vector<Tag> && value)555 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 556 557 /** 558 * <p>Any tags assigned to the Dedicated Host Reservation.</p> 559 */ WithTags(const Aws::Vector<Tag> & value)560 inline HostReservation& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 561 562 /** 563 * <p>Any tags assigned to the Dedicated Host Reservation.</p> 564 */ WithTags(Aws::Vector<Tag> && value)565 inline HostReservation& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 566 567 /** 568 * <p>Any tags assigned to the Dedicated Host Reservation.</p> 569 */ AddTags(const Tag & value)570 inline HostReservation& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 571 572 /** 573 * <p>Any tags assigned to the Dedicated Host Reservation.</p> 574 */ AddTags(Tag && value)575 inline HostReservation& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 576 577 private: 578 579 int m_count; 580 bool m_countHasBeenSet; 581 582 CurrencyCodeValues m_currencyCode; 583 bool m_currencyCodeHasBeenSet; 584 585 int m_duration; 586 bool m_durationHasBeenSet; 587 588 Aws::Utils::DateTime m_end; 589 bool m_endHasBeenSet; 590 591 Aws::Vector<Aws::String> m_hostIdSet; 592 bool m_hostIdSetHasBeenSet; 593 594 Aws::String m_hostReservationId; 595 bool m_hostReservationIdHasBeenSet; 596 597 Aws::String m_hourlyPrice; 598 bool m_hourlyPriceHasBeenSet; 599 600 Aws::String m_instanceFamily; 601 bool m_instanceFamilyHasBeenSet; 602 603 Aws::String m_offeringId; 604 bool m_offeringIdHasBeenSet; 605 606 PaymentOption m_paymentOption; 607 bool m_paymentOptionHasBeenSet; 608 609 Aws::Utils::DateTime m_start; 610 bool m_startHasBeenSet; 611 612 ReservationState m_state; 613 bool m_stateHasBeenSet; 614 615 Aws::String m_upfrontPrice; 616 bool m_upfrontPriceHasBeenSet; 617 618 Aws::Vector<Tag> m_tags; 619 bool m_tagsHasBeenSet; 620 }; 621 622 } // namespace Model 623 } // namespace EC2 624 } // namespace Aws 625