AWS SDK for C++

AWS SDK for C++ Version 1.11.685

Loading...
Searching...
No Matches
AddOnRequest.h
1
6#pragma once
7#include <aws/lightsail/Lightsail_EXPORTS.h>
8#include <aws/lightsail/model/AddOnType.h>
9#include <aws/lightsail/model/AutoSnapshotAddOnRequest.h>
10#include <aws/lightsail/model/StopInstanceOnIdleRequest.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace Lightsail {
22namespace Model {
23
34 public:
35 AWS_LIGHTSAIL_API AddOnRequest() = default;
36 AWS_LIGHTSAIL_API AddOnRequest(Aws::Utils::Json::JsonView jsonValue);
37 AWS_LIGHTSAIL_API AddOnRequest& operator=(Aws::Utils::Json::JsonView jsonValue);
38 AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline AddOnType GetAddOnType() const { return m_addOnType; }
45 inline bool AddOnTypeHasBeenSet() const { return m_addOnTypeHasBeenSet; }
46 inline void SetAddOnType(AddOnType value) {
47 m_addOnTypeHasBeenSet = true;
48 m_addOnType = value;
49 }
51 SetAddOnType(value);
52 return *this;
53 }
55
57
61 inline const AutoSnapshotAddOnRequest& GetAutoSnapshotAddOnRequest() const { return m_autoSnapshotAddOnRequest; }
62 inline bool AutoSnapshotAddOnRequestHasBeenSet() const { return m_autoSnapshotAddOnRequestHasBeenSet; }
63 template <typename AutoSnapshotAddOnRequestT = AutoSnapshotAddOnRequest>
64 void SetAutoSnapshotAddOnRequest(AutoSnapshotAddOnRequestT&& value) {
65 m_autoSnapshotAddOnRequestHasBeenSet = true;
66 m_autoSnapshotAddOnRequest = std::forward<AutoSnapshotAddOnRequestT>(value);
67 }
68 template <typename AutoSnapshotAddOnRequestT = AutoSnapshotAddOnRequest>
69 AddOnRequest& WithAutoSnapshotAddOnRequest(AutoSnapshotAddOnRequestT&& value) {
70 SetAutoSnapshotAddOnRequest(std::forward<AutoSnapshotAddOnRequestT>(value));
71 return *this;
72 }
74
76
81 inline const StopInstanceOnIdleRequest& GetStopInstanceOnIdleRequest() const { return m_stopInstanceOnIdleRequest; }
82 inline bool StopInstanceOnIdleRequestHasBeenSet() const { return m_stopInstanceOnIdleRequestHasBeenSet; }
83 template <typename StopInstanceOnIdleRequestT = StopInstanceOnIdleRequest>
84 void SetStopInstanceOnIdleRequest(StopInstanceOnIdleRequestT&& value) {
85 m_stopInstanceOnIdleRequestHasBeenSet = true;
86 m_stopInstanceOnIdleRequest = std::forward<StopInstanceOnIdleRequestT>(value);
87 }
88 template <typename StopInstanceOnIdleRequestT = StopInstanceOnIdleRequest>
89 AddOnRequest& WithStopInstanceOnIdleRequest(StopInstanceOnIdleRequestT&& value) {
90 SetStopInstanceOnIdleRequest(std::forward<StopInstanceOnIdleRequestT>(value));
91 return *this;
92 }
94 private:
95 AddOnType m_addOnType{AddOnType::NOT_SET};
96 bool m_addOnTypeHasBeenSet = false;
97
98 AutoSnapshotAddOnRequest m_autoSnapshotAddOnRequest;
99 bool m_autoSnapshotAddOnRequestHasBeenSet = false;
100
101 StopInstanceOnIdleRequest m_stopInstanceOnIdleRequest;
102 bool m_stopInstanceOnIdleRequestHasBeenSet = false;
103};
104
105} // namespace Model
106} // namespace Lightsail
107} // namespace Aws
void SetAddOnType(AddOnType value)
AWS_LIGHTSAIL_API AddOnRequest(Aws::Utils::Json::JsonView jsonValue)
void SetStopInstanceOnIdleRequest(StopInstanceOnIdleRequestT &&value)
void SetAutoSnapshotAddOnRequest(AutoSnapshotAddOnRequestT &&value)
const AutoSnapshotAddOnRequest & GetAutoSnapshotAddOnRequest() const
AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_LIGHTSAIL_API AddOnRequest & operator=(Aws::Utils::Json::JsonView jsonValue)
AddOnRequest & WithAddOnType(AddOnType value)
AddOnRequest & WithStopInstanceOnIdleRequest(StopInstanceOnIdleRequestT &&value)
const StopInstanceOnIdleRequest & GetStopInstanceOnIdleRequest() const
AWS_LIGHTSAIL_API AddOnRequest()=default
AddOnRequest & WithAutoSnapshotAddOnRequest(AutoSnapshotAddOnRequestT &&value)
Aws::Utils::Json::JsonValue JsonValue