AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
AvailabilityZone.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/redshift/Redshift_EXPORTS.h>
11#include <aws/redshift/model/SupportedPlatform.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace Redshift {
22namespace Model {
23
30 public:
31 AWS_REDSHIFT_API AvailabilityZone() = default;
32 AWS_REDSHIFT_API AvailabilityZone(const Aws::Utils::Xml::XmlNode& xmlNode);
33 AWS_REDSHIFT_API AvailabilityZone& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
34
35 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
36 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
37
39
42 inline const Aws::String& GetName() const { return m_name; }
43 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
44 template <typename NameT = Aws::String>
45 void SetName(NameT&& value) {
46 m_nameHasBeenSet = true;
47 m_name = std::forward<NameT>(value);
48 }
49 template <typename NameT = Aws::String>
50 AvailabilityZone& WithName(NameT&& value) {
51 SetName(std::forward<NameT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::Vector<SupportedPlatform>& GetSupportedPlatforms() const { return m_supportedPlatforms; }
61 inline bool SupportedPlatformsHasBeenSet() const { return m_supportedPlatformsHasBeenSet; }
62 template <typename SupportedPlatformsT = Aws::Vector<SupportedPlatform>>
63 void SetSupportedPlatforms(SupportedPlatformsT&& value) {
64 m_supportedPlatformsHasBeenSet = true;
65 m_supportedPlatforms = std::forward<SupportedPlatformsT>(value);
66 }
67 template <typename SupportedPlatformsT = Aws::Vector<SupportedPlatform>>
68 AvailabilityZone& WithSupportedPlatforms(SupportedPlatformsT&& value) {
69 SetSupportedPlatforms(std::forward<SupportedPlatformsT>(value));
70 return *this;
71 }
72 template <typename SupportedPlatformsT = SupportedPlatform>
73 AvailabilityZone& AddSupportedPlatforms(SupportedPlatformsT&& value) {
74 m_supportedPlatformsHasBeenSet = true;
75 m_supportedPlatforms.emplace_back(std::forward<SupportedPlatformsT>(value));
76 return *this;
77 }
79 private:
80 Aws::String m_name;
81
82 Aws::Vector<SupportedPlatform> m_supportedPlatforms;
83 bool m_nameHasBeenSet = false;
84 bool m_supportedPlatformsHasBeenSet = false;
85};
86
87} // namespace Model
88} // namespace Redshift
89} // namespace Aws
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_REDSHIFT_API AvailabilityZone()=default
void SetSupportedPlatforms(SupportedPlatformsT &&value)
const Aws::Vector< SupportedPlatform > & GetSupportedPlatforms() const
AvailabilityZone & WithName(NameT &&value)
AvailabilityZone & AddSupportedPlatforms(SupportedPlatformsT &&value)
AWS_REDSHIFT_API AvailabilityZone(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetName() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AvailabilityZone & WithSupportedPlatforms(SupportedPlatformsT &&value)
AWS_REDSHIFT_API AvailabilityZone & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream