AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
ReservedNodeConfigurationOption.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/redshift/Redshift_EXPORTS.h>
9#include <aws/redshift/model/ReservedNode.h>
10#include <aws/redshift/model/ReservedNodeOffering.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Xml {
17class XmlNode;
18} // namespace Xml
19} // namespace Utils
20namespace Redshift {
21namespace Model {
22
31 public:
32 AWS_REDSHIFT_API ReservedNodeConfigurationOption() = default;
35
36 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
37 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
38
40
41 inline const ReservedNode& GetSourceReservedNode() const { return m_sourceReservedNode; }
42 inline bool SourceReservedNodeHasBeenSet() const { return m_sourceReservedNodeHasBeenSet; }
43 template <typename SourceReservedNodeT = ReservedNode>
44 void SetSourceReservedNode(SourceReservedNodeT&& value) {
45 m_sourceReservedNodeHasBeenSet = true;
46 m_sourceReservedNode = std::forward<SourceReservedNodeT>(value);
47 }
48 template <typename SourceReservedNodeT = ReservedNode>
50 SetSourceReservedNode(std::forward<SourceReservedNodeT>(value));
51 return *this;
52 }
54
56
59 inline int GetTargetReservedNodeCount() const { return m_targetReservedNodeCount; }
60 inline bool TargetReservedNodeCountHasBeenSet() const { return m_targetReservedNodeCountHasBeenSet; }
61 inline void SetTargetReservedNodeCount(int value) {
62 m_targetReservedNodeCountHasBeenSet = true;
63 m_targetReservedNodeCount = value;
64 }
67 return *this;
68 }
70
72
73 inline const ReservedNodeOffering& GetTargetReservedNodeOffering() const { return m_targetReservedNodeOffering; }
74 inline bool TargetReservedNodeOfferingHasBeenSet() const { return m_targetReservedNodeOfferingHasBeenSet; }
75 template <typename TargetReservedNodeOfferingT = ReservedNodeOffering>
76 void SetTargetReservedNodeOffering(TargetReservedNodeOfferingT&& value) {
77 m_targetReservedNodeOfferingHasBeenSet = true;
78 m_targetReservedNodeOffering = std::forward<TargetReservedNodeOfferingT>(value);
79 }
80 template <typename TargetReservedNodeOfferingT = ReservedNodeOffering>
82 SetTargetReservedNodeOffering(std::forward<TargetReservedNodeOfferingT>(value));
83 return *this;
84 }
86 private:
87 ReservedNode m_sourceReservedNode;
88
89 int m_targetReservedNodeCount{0};
90
91 ReservedNodeOffering m_targetReservedNodeOffering;
92 bool m_sourceReservedNodeHasBeenSet = false;
93 bool m_targetReservedNodeCountHasBeenSet = false;
94 bool m_targetReservedNodeOfferingHasBeenSet = false;
95};
96
97} // namespace Model
98} // namespace Redshift
99} // namespace Aws
void SetTargetReservedNodeOffering(TargetReservedNodeOfferingT &&value)
ReservedNodeConfigurationOption & WithTargetReservedNodeCount(int value)
AWS_REDSHIFT_API ReservedNodeConfigurationOption & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_REDSHIFT_API ReservedNodeConfigurationOption(const Aws::Utils::Xml::XmlNode &xmlNode)
ReservedNodeConfigurationOption & WithTargetReservedNodeOffering(TargetReservedNodeOfferingT &&value)
AWS_REDSHIFT_API ReservedNodeConfigurationOption()=default
ReservedNodeConfigurationOption & WithSourceReservedNode(SourceReservedNodeT &&value)
std::basic_ostream< char, std::char_traits< char > > OStream