AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
SpotMarketOptions.h
1
6#pragma once
7#include <aws/workspaces-instances/WorkspacesInstances_EXPORTS.h>
8#include <aws/workspaces-instances/model/InstanceInterruptionBehaviorEnum.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/workspaces-instances/model/SpotInstanceTypeEnum.h>
11#include <aws/core/utils/DateTime.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace WorkspacesInstances
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_WORKSPACESINSTANCES_API SpotMarketOptions() = default;
39 AWS_WORKSPACESINSTANCES_API SpotMarketOptions(Aws::Utils::Json::JsonView jsonValue);
40 AWS_WORKSPACESINSTANCES_API SpotMarketOptions& operator=(Aws::Utils::Json::JsonView jsonValue);
41 AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline int GetBlockDurationMinutes() const { return m_blockDurationMinutes; }
49 inline bool BlockDurationMinutesHasBeenSet() const { return m_blockDurationMinutesHasBeenSet; }
50 inline void SetBlockDurationMinutes(int value) { m_blockDurationMinutesHasBeenSet = true; m_blockDurationMinutes = value; }
51 inline SpotMarketOptions& WithBlockDurationMinutes(int value) { SetBlockDurationMinutes(value); return *this;}
53
55
58 inline InstanceInterruptionBehaviorEnum GetInstanceInterruptionBehavior() const { return m_instanceInterruptionBehavior; }
59 inline bool InstanceInterruptionBehaviorHasBeenSet() const { return m_instanceInterruptionBehaviorHasBeenSet; }
60 inline void SetInstanceInterruptionBehavior(InstanceInterruptionBehaviorEnum value) { m_instanceInterruptionBehaviorHasBeenSet = true; m_instanceInterruptionBehavior = value; }
63
65
68 inline const Aws::String& GetMaxPrice() const { return m_maxPrice; }
69 inline bool MaxPriceHasBeenSet() const { return m_maxPriceHasBeenSet; }
70 template<typename MaxPriceT = Aws::String>
71 void SetMaxPrice(MaxPriceT&& value) { m_maxPriceHasBeenSet = true; m_maxPrice = std::forward<MaxPriceT>(value); }
72 template<typename MaxPriceT = Aws::String>
73 SpotMarketOptions& WithMaxPrice(MaxPriceT&& value) { SetMaxPrice(std::forward<MaxPriceT>(value)); return *this;}
75
77
80 inline SpotInstanceTypeEnum GetSpotInstanceType() const { return m_spotInstanceType; }
81 inline bool SpotInstanceTypeHasBeenSet() const { return m_spotInstanceTypeHasBeenSet; }
82 inline void SetSpotInstanceType(SpotInstanceTypeEnum value) { m_spotInstanceTypeHasBeenSet = true; m_spotInstanceType = value; }
85
87
90 inline const Aws::Utils::DateTime& GetValidUntilUtc() const { return m_validUntilUtc; }
91 inline bool ValidUntilUtcHasBeenSet() const { return m_validUntilUtcHasBeenSet; }
92 template<typename ValidUntilUtcT = Aws::Utils::DateTime>
93 void SetValidUntilUtc(ValidUntilUtcT&& value) { m_validUntilUtcHasBeenSet = true; m_validUntilUtc = std::forward<ValidUntilUtcT>(value); }
94 template<typename ValidUntilUtcT = Aws::Utils::DateTime>
95 SpotMarketOptions& WithValidUntilUtc(ValidUntilUtcT&& value) { SetValidUntilUtc(std::forward<ValidUntilUtcT>(value)); return *this;}
97 private:
98
99 int m_blockDurationMinutes{0};
100 bool m_blockDurationMinutesHasBeenSet = false;
101
103 bool m_instanceInterruptionBehaviorHasBeenSet = false;
104
105 Aws::String m_maxPrice;
106 bool m_maxPriceHasBeenSet = false;
107
109 bool m_spotInstanceTypeHasBeenSet = false;
110
111 Aws::Utils::DateTime m_validUntilUtc{};
112 bool m_validUntilUtcHasBeenSet = false;
113 };
114
115} // namespace Model
116} // namespace WorkspacesInstances
117} // namespace Aws
AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const
SpotMarketOptions & WithSpotInstanceType(SpotInstanceTypeEnum value)
AWS_WORKSPACESINSTANCES_API SpotMarketOptions(Aws::Utils::Json::JsonView jsonValue)
void SetInstanceInterruptionBehavior(InstanceInterruptionBehaviorEnum value)
void SetSpotInstanceType(SpotInstanceTypeEnum value)
SpotMarketOptions & WithBlockDurationMinutes(int value)
SpotMarketOptions & WithInstanceInterruptionBehavior(InstanceInterruptionBehaviorEnum value)
AWS_WORKSPACESINSTANCES_API SpotMarketOptions()=default
AWS_WORKSPACESINSTANCES_API SpotMarketOptions & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetValidUntilUtc() const
SpotMarketOptions & WithValidUntilUtc(ValidUntilUtcT &&value)
SpotMarketOptions & WithMaxPrice(MaxPriceT &&value)
InstanceInterruptionBehaviorEnum GetInstanceInterruptionBehavior() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue