AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
Endpoint.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/VpcEndpoint.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
29class Endpoint {
30 public:
31 AWS_REDSHIFT_API Endpoint() = default;
32 AWS_REDSHIFT_API Endpoint(const Aws::Utils::Xml::XmlNode& xmlNode);
33 AWS_REDSHIFT_API Endpoint& 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& GetAddress() const { return m_address; }
43 inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; }
44 template <typename AddressT = Aws::String>
45 void SetAddress(AddressT&& value) {
46 m_addressHasBeenSet = true;
47 m_address = std::forward<AddressT>(value);
48 }
49 template <typename AddressT = Aws::String>
50 Endpoint& WithAddress(AddressT&& value) {
51 SetAddress(std::forward<AddressT>(value));
52 return *this;
53 }
55
57
60 inline int GetPort() const { return m_port; }
61 inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
62 inline void SetPort(int value) {
63 m_portHasBeenSet = true;
64 m_port = value;
65 }
66 inline Endpoint& WithPort(int value) {
67 SetPort(value);
68 return *this;
69 }
71
73
76 inline const Aws::Vector<VpcEndpoint>& GetVpcEndpoints() const { return m_vpcEndpoints; }
77 inline bool VpcEndpointsHasBeenSet() const { return m_vpcEndpointsHasBeenSet; }
78 template <typename VpcEndpointsT = Aws::Vector<VpcEndpoint>>
79 void SetVpcEndpoints(VpcEndpointsT&& value) {
80 m_vpcEndpointsHasBeenSet = true;
81 m_vpcEndpoints = std::forward<VpcEndpointsT>(value);
82 }
83 template <typename VpcEndpointsT = Aws::Vector<VpcEndpoint>>
84 Endpoint& WithVpcEndpoints(VpcEndpointsT&& value) {
85 SetVpcEndpoints(std::forward<VpcEndpointsT>(value));
86 return *this;
87 }
88 template <typename VpcEndpointsT = VpcEndpoint>
89 Endpoint& AddVpcEndpoints(VpcEndpointsT&& value) {
90 m_vpcEndpointsHasBeenSet = true;
91 m_vpcEndpoints.emplace_back(std::forward<VpcEndpointsT>(value));
92 return *this;
93 }
95 private:
96 Aws::String m_address;
97
98 int m_port{0};
99
100 Aws::Vector<VpcEndpoint> m_vpcEndpoints;
101 bool m_addressHasBeenSet = false;
102 bool m_portHasBeenSet = false;
103 bool m_vpcEndpointsHasBeenSet = false;
104};
105
106} // namespace Model
107} // namespace Redshift
108} // namespace Aws
const Aws::String & GetAddress() const
Definition Endpoint.h:42
AWS_REDSHIFT_API Endpoint & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetVpcEndpoints(VpcEndpointsT &&value)
Definition Endpoint.h:79
Endpoint & WithAddress(AddressT &&value)
Definition Endpoint.h:50
const Aws::Vector< VpcEndpoint > & GetVpcEndpoints() const
Definition Endpoint.h:76
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
Endpoint & WithVpcEndpoints(VpcEndpointsT &&value)
Definition Endpoint.h:84
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
Endpoint & AddVpcEndpoints(VpcEndpointsT &&value)
Definition Endpoint.h:89
AWS_REDSHIFT_API Endpoint(const Aws::Utils::Xml::XmlNode &xmlNode)
Endpoint & WithPort(int value)
Definition Endpoint.h:66
bool VpcEndpointsHasBeenSet() const
Definition Endpoint.h:77
AWS_REDSHIFT_API Endpoint()=default
void SetAddress(AddressT &&value)
Definition Endpoint.h:45
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