AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
NodeConfiguration.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/managedblockchain/ManagedBlockchain_EXPORTS.h>
9#include <aws/managedblockchain/model/NodeLogPublishingConfiguration.h>
10#include <aws/managedblockchain/model/StateDBType.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace ManagedBlockchain {
22namespace Model {
23
30 public:
31 AWS_MANAGEDBLOCKCHAIN_API NodeConfiguration() = default;
32 AWS_MANAGEDBLOCKCHAIN_API NodeConfiguration(Aws::Utils::Json::JsonView jsonValue);
33 AWS_MANAGEDBLOCKCHAIN_API NodeConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_MANAGEDBLOCKCHAIN_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
41 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
42 template <typename InstanceTypeT = Aws::String>
43 void SetInstanceType(InstanceTypeT&& value) {
44 m_instanceTypeHasBeenSet = true;
45 m_instanceType = std::forward<InstanceTypeT>(value);
46 }
47 template <typename InstanceTypeT = Aws::String>
48 NodeConfiguration& WithInstanceType(InstanceTypeT&& value) {
49 SetInstanceType(std::forward<InstanceTypeT>(value));
50 return *this;
51 }
53
55
59 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
60 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
61 template <typename AvailabilityZoneT = Aws::String>
62 void SetAvailabilityZone(AvailabilityZoneT&& value) {
63 m_availabilityZoneHasBeenSet = true;
64 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
65 }
66 template <typename AvailabilityZoneT = Aws::String>
67 NodeConfiguration& WithAvailabilityZone(AvailabilityZoneT&& value) {
68 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
69 return *this;
70 }
72
74
78 inline const NodeLogPublishingConfiguration& GetLogPublishingConfiguration() const { return m_logPublishingConfiguration; }
79 inline bool LogPublishingConfigurationHasBeenSet() const { return m_logPublishingConfigurationHasBeenSet; }
80 template <typename LogPublishingConfigurationT = NodeLogPublishingConfiguration>
81 void SetLogPublishingConfiguration(LogPublishingConfigurationT&& value) {
82 m_logPublishingConfigurationHasBeenSet = true;
83 m_logPublishingConfiguration = std::forward<LogPublishingConfigurationT>(value);
84 }
85 template <typename LogPublishingConfigurationT = NodeLogPublishingConfiguration>
86 NodeConfiguration& WithLogPublishingConfiguration(LogPublishingConfigurationT&& value) {
87 SetLogPublishingConfiguration(std::forward<LogPublishingConfigurationT>(value));
88 return *this;
89 }
91
93
99 inline StateDBType GetStateDB() const { return m_stateDB; }
100 inline bool StateDBHasBeenSet() const { return m_stateDBHasBeenSet; }
101 inline void SetStateDB(StateDBType value) {
102 m_stateDBHasBeenSet = true;
103 m_stateDB = value;
104 }
106 SetStateDB(value);
107 return *this;
108 }
110 private:
111 Aws::String m_instanceType;
112
113 Aws::String m_availabilityZone;
114
115 NodeLogPublishingConfiguration m_logPublishingConfiguration;
116
118 bool m_instanceTypeHasBeenSet = false;
119 bool m_availabilityZoneHasBeenSet = false;
120 bool m_logPublishingConfigurationHasBeenSet = false;
121 bool m_stateDBHasBeenSet = false;
122};
123
124} // namespace Model
125} // namespace ManagedBlockchain
126} // namespace Aws
NodeConfiguration & WithInstanceType(InstanceTypeT &&value)
AWS_MANAGEDBLOCKCHAIN_API Aws::Utils::Json::JsonValue Jsonize() const
void SetLogPublishingConfiguration(LogPublishingConfigurationT &&value)
AWS_MANAGEDBLOCKCHAIN_API NodeConfiguration()=default
NodeConfiguration & WithAvailabilityZone(AvailabilityZoneT &&value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
AWS_MANAGEDBLOCKCHAIN_API NodeConfiguration(Aws::Utils::Json::JsonView jsonValue)
NodeConfiguration & WithLogPublishingConfiguration(LogPublishingConfigurationT &&value)
const NodeLogPublishingConfiguration & GetLogPublishingConfiguration() const
NodeConfiguration & WithStateDB(StateDBType value)
AWS_MANAGEDBLOCKCHAIN_API NodeConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue