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/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <aws/ec2/model/ScheduledInstanceRecurrence.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Xml 19 { 20 class XmlNode; 21 } // namespace Xml 22 } // namespace Utils 23 namespace EC2 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Describes a Scheduled Instance.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstance">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_EC2_API ScheduledInstance 34 { 35 public: 36 ScheduledInstance(); 37 ScheduledInstance(const Aws::Utils::Xml::XmlNode& xmlNode); 38 ScheduledInstance& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 39 40 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 41 void OutputToStream(Aws::OStream& oStream, const char* location) const; 42 43 44 /** 45 * <p>The Availability Zone.</p> 46 */ GetAvailabilityZone()47 inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } 48 49 /** 50 * <p>The Availability Zone.</p> 51 */ AvailabilityZoneHasBeenSet()52 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } 53 54 /** 55 * <p>The Availability Zone.</p> 56 */ SetAvailabilityZone(const Aws::String & value)57 inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } 58 59 /** 60 * <p>The Availability Zone.</p> 61 */ SetAvailabilityZone(Aws::String && value)62 inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } 63 64 /** 65 * <p>The Availability Zone.</p> 66 */ SetAvailabilityZone(const char * value)67 inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } 68 69 /** 70 * <p>The Availability Zone.</p> 71 */ WithAvailabilityZone(const Aws::String & value)72 inline ScheduledInstance& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} 73 74 /** 75 * <p>The Availability Zone.</p> 76 */ WithAvailabilityZone(Aws::String && value)77 inline ScheduledInstance& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} 78 79 /** 80 * <p>The Availability Zone.</p> 81 */ WithAvailabilityZone(const char * value)82 inline ScheduledInstance& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} 83 84 85 /** 86 * <p>The date when the Scheduled Instance was purchased.</p> 87 */ GetCreateDate()88 inline const Aws::Utils::DateTime& GetCreateDate() const{ return m_createDate; } 89 90 /** 91 * <p>The date when the Scheduled Instance was purchased.</p> 92 */ CreateDateHasBeenSet()93 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; } 94 95 /** 96 * <p>The date when the Scheduled Instance was purchased.</p> 97 */ SetCreateDate(const Aws::Utils::DateTime & value)98 inline void SetCreateDate(const Aws::Utils::DateTime& value) { m_createDateHasBeenSet = true; m_createDate = value; } 99 100 /** 101 * <p>The date when the Scheduled Instance was purchased.</p> 102 */ SetCreateDate(Aws::Utils::DateTime && value)103 inline void SetCreateDate(Aws::Utils::DateTime&& value) { m_createDateHasBeenSet = true; m_createDate = std::move(value); } 104 105 /** 106 * <p>The date when the Scheduled Instance was purchased.</p> 107 */ WithCreateDate(const Aws::Utils::DateTime & value)108 inline ScheduledInstance& WithCreateDate(const Aws::Utils::DateTime& value) { SetCreateDate(value); return *this;} 109 110 /** 111 * <p>The date when the Scheduled Instance was purchased.</p> 112 */ WithCreateDate(Aws::Utils::DateTime && value)113 inline ScheduledInstance& WithCreateDate(Aws::Utils::DateTime&& value) { SetCreateDate(std::move(value)); return *this;} 114 115 116 /** 117 * <p>The hourly price for a single instance.</p> 118 */ GetHourlyPrice()119 inline const Aws::String& GetHourlyPrice() const{ return m_hourlyPrice; } 120 121 /** 122 * <p>The hourly price for a single instance.</p> 123 */ HourlyPriceHasBeenSet()124 inline bool HourlyPriceHasBeenSet() const { return m_hourlyPriceHasBeenSet; } 125 126 /** 127 * <p>The hourly price for a single instance.</p> 128 */ SetHourlyPrice(const Aws::String & value)129 inline void SetHourlyPrice(const Aws::String& value) { m_hourlyPriceHasBeenSet = true; m_hourlyPrice = value; } 130 131 /** 132 * <p>The hourly price for a single instance.</p> 133 */ SetHourlyPrice(Aws::String && value)134 inline void SetHourlyPrice(Aws::String&& value) { m_hourlyPriceHasBeenSet = true; m_hourlyPrice = std::move(value); } 135 136 /** 137 * <p>The hourly price for a single instance.</p> 138 */ SetHourlyPrice(const char * value)139 inline void SetHourlyPrice(const char* value) { m_hourlyPriceHasBeenSet = true; m_hourlyPrice.assign(value); } 140 141 /** 142 * <p>The hourly price for a single instance.</p> 143 */ WithHourlyPrice(const Aws::String & value)144 inline ScheduledInstance& WithHourlyPrice(const Aws::String& value) { SetHourlyPrice(value); return *this;} 145 146 /** 147 * <p>The hourly price for a single instance.</p> 148 */ WithHourlyPrice(Aws::String && value)149 inline ScheduledInstance& WithHourlyPrice(Aws::String&& value) { SetHourlyPrice(std::move(value)); return *this;} 150 151 /** 152 * <p>The hourly price for a single instance.</p> 153 */ WithHourlyPrice(const char * value)154 inline ScheduledInstance& WithHourlyPrice(const char* value) { SetHourlyPrice(value); return *this;} 155 156 157 /** 158 * <p>The number of instances.</p> 159 */ GetInstanceCount()160 inline int GetInstanceCount() const{ return m_instanceCount; } 161 162 /** 163 * <p>The number of instances.</p> 164 */ InstanceCountHasBeenSet()165 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; } 166 167 /** 168 * <p>The number of instances.</p> 169 */ SetInstanceCount(int value)170 inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; } 171 172 /** 173 * <p>The number of instances.</p> 174 */ WithInstanceCount(int value)175 inline ScheduledInstance& WithInstanceCount(int value) { SetInstanceCount(value); return *this;} 176 177 178 /** 179 * <p>The instance type.</p> 180 */ GetInstanceType()181 inline const Aws::String& GetInstanceType() const{ return m_instanceType; } 182 183 /** 184 * <p>The instance type.</p> 185 */ InstanceTypeHasBeenSet()186 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } 187 188 /** 189 * <p>The instance type.</p> 190 */ SetInstanceType(const Aws::String & value)191 inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } 192 193 /** 194 * <p>The instance type.</p> 195 */ SetInstanceType(Aws::String && value)196 inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } 197 198 /** 199 * <p>The instance type.</p> 200 */ SetInstanceType(const char * value)201 inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } 202 203 /** 204 * <p>The instance type.</p> 205 */ WithInstanceType(const Aws::String & value)206 inline ScheduledInstance& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} 207 208 /** 209 * <p>The instance type.</p> 210 */ WithInstanceType(Aws::String && value)211 inline ScheduledInstance& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} 212 213 /** 214 * <p>The instance type.</p> 215 */ WithInstanceType(const char * value)216 inline ScheduledInstance& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} 217 218 219 /** 220 * <p>The network platform (<code>EC2-Classic</code> or <code>EC2-VPC</code>).</p> 221 */ GetNetworkPlatform()222 inline const Aws::String& GetNetworkPlatform() const{ return m_networkPlatform; } 223 224 /** 225 * <p>The network platform (<code>EC2-Classic</code> or <code>EC2-VPC</code>).</p> 226 */ NetworkPlatformHasBeenSet()227 inline bool NetworkPlatformHasBeenSet() const { return m_networkPlatformHasBeenSet; } 228 229 /** 230 * <p>The network platform (<code>EC2-Classic</code> or <code>EC2-VPC</code>).</p> 231 */ SetNetworkPlatform(const Aws::String & value)232 inline void SetNetworkPlatform(const Aws::String& value) { m_networkPlatformHasBeenSet = true; m_networkPlatform = value; } 233 234 /** 235 * <p>The network platform (<code>EC2-Classic</code> or <code>EC2-VPC</code>).</p> 236 */ SetNetworkPlatform(Aws::String && value)237 inline void SetNetworkPlatform(Aws::String&& value) { m_networkPlatformHasBeenSet = true; m_networkPlatform = std::move(value); } 238 239 /** 240 * <p>The network platform (<code>EC2-Classic</code> or <code>EC2-VPC</code>).</p> 241 */ SetNetworkPlatform(const char * value)242 inline void SetNetworkPlatform(const char* value) { m_networkPlatformHasBeenSet = true; m_networkPlatform.assign(value); } 243 244 /** 245 * <p>The network platform (<code>EC2-Classic</code> or <code>EC2-VPC</code>).</p> 246 */ WithNetworkPlatform(const Aws::String & value)247 inline ScheduledInstance& WithNetworkPlatform(const Aws::String& value) { SetNetworkPlatform(value); return *this;} 248 249 /** 250 * <p>The network platform (<code>EC2-Classic</code> or <code>EC2-VPC</code>).</p> 251 */ WithNetworkPlatform(Aws::String && value)252 inline ScheduledInstance& WithNetworkPlatform(Aws::String&& value) { SetNetworkPlatform(std::move(value)); return *this;} 253 254 /** 255 * <p>The network platform (<code>EC2-Classic</code> or <code>EC2-VPC</code>).</p> 256 */ WithNetworkPlatform(const char * value)257 inline ScheduledInstance& WithNetworkPlatform(const char* value) { SetNetworkPlatform(value); return *this;} 258 259 260 /** 261 * <p>The time for the next schedule to start.</p> 262 */ GetNextSlotStartTime()263 inline const Aws::Utils::DateTime& GetNextSlotStartTime() const{ return m_nextSlotStartTime; } 264 265 /** 266 * <p>The time for the next schedule to start.</p> 267 */ NextSlotStartTimeHasBeenSet()268 inline bool NextSlotStartTimeHasBeenSet() const { return m_nextSlotStartTimeHasBeenSet; } 269 270 /** 271 * <p>The time for the next schedule to start.</p> 272 */ SetNextSlotStartTime(const Aws::Utils::DateTime & value)273 inline void SetNextSlotStartTime(const Aws::Utils::DateTime& value) { m_nextSlotStartTimeHasBeenSet = true; m_nextSlotStartTime = value; } 274 275 /** 276 * <p>The time for the next schedule to start.</p> 277 */ SetNextSlotStartTime(Aws::Utils::DateTime && value)278 inline void SetNextSlotStartTime(Aws::Utils::DateTime&& value) { m_nextSlotStartTimeHasBeenSet = true; m_nextSlotStartTime = std::move(value); } 279 280 /** 281 * <p>The time for the next schedule to start.</p> 282 */ WithNextSlotStartTime(const Aws::Utils::DateTime & value)283 inline ScheduledInstance& WithNextSlotStartTime(const Aws::Utils::DateTime& value) { SetNextSlotStartTime(value); return *this;} 284 285 /** 286 * <p>The time for the next schedule to start.</p> 287 */ WithNextSlotStartTime(Aws::Utils::DateTime && value)288 inline ScheduledInstance& WithNextSlotStartTime(Aws::Utils::DateTime&& value) { SetNextSlotStartTime(std::move(value)); return *this;} 289 290 291 /** 292 * <p>The platform (<code>Linux/UNIX</code> or <code>Windows</code>).</p> 293 */ GetPlatform()294 inline const Aws::String& GetPlatform() const{ return m_platform; } 295 296 /** 297 * <p>The platform (<code>Linux/UNIX</code> or <code>Windows</code>).</p> 298 */ PlatformHasBeenSet()299 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } 300 301 /** 302 * <p>The platform (<code>Linux/UNIX</code> or <code>Windows</code>).</p> 303 */ SetPlatform(const Aws::String & value)304 inline void SetPlatform(const Aws::String& value) { m_platformHasBeenSet = true; m_platform = value; } 305 306 /** 307 * <p>The platform (<code>Linux/UNIX</code> or <code>Windows</code>).</p> 308 */ SetPlatform(Aws::String && value)309 inline void SetPlatform(Aws::String&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } 310 311 /** 312 * <p>The platform (<code>Linux/UNIX</code> or <code>Windows</code>).</p> 313 */ SetPlatform(const char * value)314 inline void SetPlatform(const char* value) { m_platformHasBeenSet = true; m_platform.assign(value); } 315 316 /** 317 * <p>The platform (<code>Linux/UNIX</code> or <code>Windows</code>).</p> 318 */ WithPlatform(const Aws::String & value)319 inline ScheduledInstance& WithPlatform(const Aws::String& value) { SetPlatform(value); return *this;} 320 321 /** 322 * <p>The platform (<code>Linux/UNIX</code> or <code>Windows</code>).</p> 323 */ WithPlatform(Aws::String && value)324 inline ScheduledInstance& WithPlatform(Aws::String&& value) { SetPlatform(std::move(value)); return *this;} 325 326 /** 327 * <p>The platform (<code>Linux/UNIX</code> or <code>Windows</code>).</p> 328 */ WithPlatform(const char * value)329 inline ScheduledInstance& WithPlatform(const char* value) { SetPlatform(value); return *this;} 330 331 332 /** 333 * <p>The time that the previous schedule ended or will end.</p> 334 */ GetPreviousSlotEndTime()335 inline const Aws::Utils::DateTime& GetPreviousSlotEndTime() const{ return m_previousSlotEndTime; } 336 337 /** 338 * <p>The time that the previous schedule ended or will end.</p> 339 */ PreviousSlotEndTimeHasBeenSet()340 inline bool PreviousSlotEndTimeHasBeenSet() const { return m_previousSlotEndTimeHasBeenSet; } 341 342 /** 343 * <p>The time that the previous schedule ended or will end.</p> 344 */ SetPreviousSlotEndTime(const Aws::Utils::DateTime & value)345 inline void SetPreviousSlotEndTime(const Aws::Utils::DateTime& value) { m_previousSlotEndTimeHasBeenSet = true; m_previousSlotEndTime = value; } 346 347 /** 348 * <p>The time that the previous schedule ended or will end.</p> 349 */ SetPreviousSlotEndTime(Aws::Utils::DateTime && value)350 inline void SetPreviousSlotEndTime(Aws::Utils::DateTime&& value) { m_previousSlotEndTimeHasBeenSet = true; m_previousSlotEndTime = std::move(value); } 351 352 /** 353 * <p>The time that the previous schedule ended or will end.</p> 354 */ WithPreviousSlotEndTime(const Aws::Utils::DateTime & value)355 inline ScheduledInstance& WithPreviousSlotEndTime(const Aws::Utils::DateTime& value) { SetPreviousSlotEndTime(value); return *this;} 356 357 /** 358 * <p>The time that the previous schedule ended or will end.</p> 359 */ WithPreviousSlotEndTime(Aws::Utils::DateTime && value)360 inline ScheduledInstance& WithPreviousSlotEndTime(Aws::Utils::DateTime&& value) { SetPreviousSlotEndTime(std::move(value)); return *this;} 361 362 363 /** 364 * <p>The schedule recurrence.</p> 365 */ GetRecurrence()366 inline const ScheduledInstanceRecurrence& GetRecurrence() const{ return m_recurrence; } 367 368 /** 369 * <p>The schedule recurrence.</p> 370 */ RecurrenceHasBeenSet()371 inline bool RecurrenceHasBeenSet() const { return m_recurrenceHasBeenSet; } 372 373 /** 374 * <p>The schedule recurrence.</p> 375 */ SetRecurrence(const ScheduledInstanceRecurrence & value)376 inline void SetRecurrence(const ScheduledInstanceRecurrence& value) { m_recurrenceHasBeenSet = true; m_recurrence = value; } 377 378 /** 379 * <p>The schedule recurrence.</p> 380 */ SetRecurrence(ScheduledInstanceRecurrence && value)381 inline void SetRecurrence(ScheduledInstanceRecurrence&& value) { m_recurrenceHasBeenSet = true; m_recurrence = std::move(value); } 382 383 /** 384 * <p>The schedule recurrence.</p> 385 */ WithRecurrence(const ScheduledInstanceRecurrence & value)386 inline ScheduledInstance& WithRecurrence(const ScheduledInstanceRecurrence& value) { SetRecurrence(value); return *this;} 387 388 /** 389 * <p>The schedule recurrence.</p> 390 */ WithRecurrence(ScheduledInstanceRecurrence && value)391 inline ScheduledInstance& WithRecurrence(ScheduledInstanceRecurrence&& value) { SetRecurrence(std::move(value)); return *this;} 392 393 394 /** 395 * <p>The Scheduled Instance ID.</p> 396 */ GetScheduledInstanceId()397 inline const Aws::String& GetScheduledInstanceId() const{ return m_scheduledInstanceId; } 398 399 /** 400 * <p>The Scheduled Instance ID.</p> 401 */ ScheduledInstanceIdHasBeenSet()402 inline bool ScheduledInstanceIdHasBeenSet() const { return m_scheduledInstanceIdHasBeenSet; } 403 404 /** 405 * <p>The Scheduled Instance ID.</p> 406 */ SetScheduledInstanceId(const Aws::String & value)407 inline void SetScheduledInstanceId(const Aws::String& value) { m_scheduledInstanceIdHasBeenSet = true; m_scheduledInstanceId = value; } 408 409 /** 410 * <p>The Scheduled Instance ID.</p> 411 */ SetScheduledInstanceId(Aws::String && value)412 inline void SetScheduledInstanceId(Aws::String&& value) { m_scheduledInstanceIdHasBeenSet = true; m_scheduledInstanceId = std::move(value); } 413 414 /** 415 * <p>The Scheduled Instance ID.</p> 416 */ SetScheduledInstanceId(const char * value)417 inline void SetScheduledInstanceId(const char* value) { m_scheduledInstanceIdHasBeenSet = true; m_scheduledInstanceId.assign(value); } 418 419 /** 420 * <p>The Scheduled Instance ID.</p> 421 */ WithScheduledInstanceId(const Aws::String & value)422 inline ScheduledInstance& WithScheduledInstanceId(const Aws::String& value) { SetScheduledInstanceId(value); return *this;} 423 424 /** 425 * <p>The Scheduled Instance ID.</p> 426 */ WithScheduledInstanceId(Aws::String && value)427 inline ScheduledInstance& WithScheduledInstanceId(Aws::String&& value) { SetScheduledInstanceId(std::move(value)); return *this;} 428 429 /** 430 * <p>The Scheduled Instance ID.</p> 431 */ WithScheduledInstanceId(const char * value)432 inline ScheduledInstance& WithScheduledInstanceId(const char* value) { SetScheduledInstanceId(value); return *this;} 433 434 435 /** 436 * <p>The number of hours in the schedule.</p> 437 */ GetSlotDurationInHours()438 inline int GetSlotDurationInHours() const{ return m_slotDurationInHours; } 439 440 /** 441 * <p>The number of hours in the schedule.</p> 442 */ SlotDurationInHoursHasBeenSet()443 inline bool SlotDurationInHoursHasBeenSet() const { return m_slotDurationInHoursHasBeenSet; } 444 445 /** 446 * <p>The number of hours in the schedule.</p> 447 */ SetSlotDurationInHours(int value)448 inline void SetSlotDurationInHours(int value) { m_slotDurationInHoursHasBeenSet = true; m_slotDurationInHours = value; } 449 450 /** 451 * <p>The number of hours in the schedule.</p> 452 */ WithSlotDurationInHours(int value)453 inline ScheduledInstance& WithSlotDurationInHours(int value) { SetSlotDurationInHours(value); return *this;} 454 455 456 /** 457 * <p>The end date for the Scheduled Instance.</p> 458 */ GetTermEndDate()459 inline const Aws::Utils::DateTime& GetTermEndDate() const{ return m_termEndDate; } 460 461 /** 462 * <p>The end date for the Scheduled Instance.</p> 463 */ TermEndDateHasBeenSet()464 inline bool TermEndDateHasBeenSet() const { return m_termEndDateHasBeenSet; } 465 466 /** 467 * <p>The end date for the Scheduled Instance.</p> 468 */ SetTermEndDate(const Aws::Utils::DateTime & value)469 inline void SetTermEndDate(const Aws::Utils::DateTime& value) { m_termEndDateHasBeenSet = true; m_termEndDate = value; } 470 471 /** 472 * <p>The end date for the Scheduled Instance.</p> 473 */ SetTermEndDate(Aws::Utils::DateTime && value)474 inline void SetTermEndDate(Aws::Utils::DateTime&& value) { m_termEndDateHasBeenSet = true; m_termEndDate = std::move(value); } 475 476 /** 477 * <p>The end date for the Scheduled Instance.</p> 478 */ WithTermEndDate(const Aws::Utils::DateTime & value)479 inline ScheduledInstance& WithTermEndDate(const Aws::Utils::DateTime& value) { SetTermEndDate(value); return *this;} 480 481 /** 482 * <p>The end date for the Scheduled Instance.</p> 483 */ WithTermEndDate(Aws::Utils::DateTime && value)484 inline ScheduledInstance& WithTermEndDate(Aws::Utils::DateTime&& value) { SetTermEndDate(std::move(value)); return *this;} 485 486 487 /** 488 * <p>The start date for the Scheduled Instance.</p> 489 */ GetTermStartDate()490 inline const Aws::Utils::DateTime& GetTermStartDate() const{ return m_termStartDate; } 491 492 /** 493 * <p>The start date for the Scheduled Instance.</p> 494 */ TermStartDateHasBeenSet()495 inline bool TermStartDateHasBeenSet() const { return m_termStartDateHasBeenSet; } 496 497 /** 498 * <p>The start date for the Scheduled Instance.</p> 499 */ SetTermStartDate(const Aws::Utils::DateTime & value)500 inline void SetTermStartDate(const Aws::Utils::DateTime& value) { m_termStartDateHasBeenSet = true; m_termStartDate = value; } 501 502 /** 503 * <p>The start date for the Scheduled Instance.</p> 504 */ SetTermStartDate(Aws::Utils::DateTime && value)505 inline void SetTermStartDate(Aws::Utils::DateTime&& value) { m_termStartDateHasBeenSet = true; m_termStartDate = std::move(value); } 506 507 /** 508 * <p>The start date for the Scheduled Instance.</p> 509 */ WithTermStartDate(const Aws::Utils::DateTime & value)510 inline ScheduledInstance& WithTermStartDate(const Aws::Utils::DateTime& value) { SetTermStartDate(value); return *this;} 511 512 /** 513 * <p>The start date for the Scheduled Instance.</p> 514 */ WithTermStartDate(Aws::Utils::DateTime && value)515 inline ScheduledInstance& WithTermStartDate(Aws::Utils::DateTime&& value) { SetTermStartDate(std::move(value)); return *this;} 516 517 518 /** 519 * <p>The total number of hours for a single instance for the entire term.</p> 520 */ GetTotalScheduledInstanceHours()521 inline int GetTotalScheduledInstanceHours() const{ return m_totalScheduledInstanceHours; } 522 523 /** 524 * <p>The total number of hours for a single instance for the entire term.</p> 525 */ TotalScheduledInstanceHoursHasBeenSet()526 inline bool TotalScheduledInstanceHoursHasBeenSet() const { return m_totalScheduledInstanceHoursHasBeenSet; } 527 528 /** 529 * <p>The total number of hours for a single instance for the entire term.</p> 530 */ SetTotalScheduledInstanceHours(int value)531 inline void SetTotalScheduledInstanceHours(int value) { m_totalScheduledInstanceHoursHasBeenSet = true; m_totalScheduledInstanceHours = value; } 532 533 /** 534 * <p>The total number of hours for a single instance for the entire term.</p> 535 */ WithTotalScheduledInstanceHours(int value)536 inline ScheduledInstance& WithTotalScheduledInstanceHours(int value) { SetTotalScheduledInstanceHours(value); return *this;} 537 538 private: 539 540 Aws::String m_availabilityZone; 541 bool m_availabilityZoneHasBeenSet; 542 543 Aws::Utils::DateTime m_createDate; 544 bool m_createDateHasBeenSet; 545 546 Aws::String m_hourlyPrice; 547 bool m_hourlyPriceHasBeenSet; 548 549 int m_instanceCount; 550 bool m_instanceCountHasBeenSet; 551 552 Aws::String m_instanceType; 553 bool m_instanceTypeHasBeenSet; 554 555 Aws::String m_networkPlatform; 556 bool m_networkPlatformHasBeenSet; 557 558 Aws::Utils::DateTime m_nextSlotStartTime; 559 bool m_nextSlotStartTimeHasBeenSet; 560 561 Aws::String m_platform; 562 bool m_platformHasBeenSet; 563 564 Aws::Utils::DateTime m_previousSlotEndTime; 565 bool m_previousSlotEndTimeHasBeenSet; 566 567 ScheduledInstanceRecurrence m_recurrence; 568 bool m_recurrenceHasBeenSet; 569 570 Aws::String m_scheduledInstanceId; 571 bool m_scheduledInstanceIdHasBeenSet; 572 573 int m_slotDurationInHours; 574 bool m_slotDurationInHoursHasBeenSet; 575 576 Aws::Utils::DateTime m_termEndDate; 577 bool m_termEndDateHasBeenSet; 578 579 Aws::Utils::DateTime m_termStartDate; 580 bool m_termStartDateHasBeenSet; 581 582 int m_totalScheduledInstanceHours; 583 bool m_totalScheduledInstanceHoursHasBeenSet; 584 }; 585 586 } // namespace Model 587 } // namespace EC2 588 } // namespace Aws 589