AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
AccessScopePath.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/ec2/EC2_EXPORTS.h>
10#include <aws/ec2/model/PathStatement.h>
11#include <aws/ec2/model/ThroughResourcesStatement.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace EC2 {
22namespace Model {
23
30 public:
31 AWS_EC2_API AccessScopePath() = default;
32 AWS_EC2_API AccessScopePath(const Aws::Utils::Xml::XmlNode& xmlNode);
34
35 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
36 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
37
39
42 inline const PathStatement& GetSource() const { return m_source; }
43 inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; }
44 template <typename SourceT = PathStatement>
45 void SetSource(SourceT&& value) {
46 m_sourceHasBeenSet = true;
47 m_source = std::forward<SourceT>(value);
48 }
49 template <typename SourceT = PathStatement>
50 AccessScopePath& WithSource(SourceT&& value) {
51 SetSource(std::forward<SourceT>(value));
52 return *this;
53 }
55
57
60 inline const PathStatement& GetDestination() const { return m_destination; }
61 inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
62 template <typename DestinationT = PathStatement>
63 void SetDestination(DestinationT&& value) {
64 m_destinationHasBeenSet = true;
65 m_destination = std::forward<DestinationT>(value);
66 }
67 template <typename DestinationT = PathStatement>
68 AccessScopePath& WithDestination(DestinationT&& value) {
69 SetDestination(std::forward<DestinationT>(value));
70 return *this;
71 }
73
75
78 inline const Aws::Vector<ThroughResourcesStatement>& GetThroughResources() const { return m_throughResources; }
79 inline bool ThroughResourcesHasBeenSet() const { return m_throughResourcesHasBeenSet; }
80 template <typename ThroughResourcesT = Aws::Vector<ThroughResourcesStatement>>
81 void SetThroughResources(ThroughResourcesT&& value) {
82 m_throughResourcesHasBeenSet = true;
83 m_throughResources = std::forward<ThroughResourcesT>(value);
84 }
85 template <typename ThroughResourcesT = Aws::Vector<ThroughResourcesStatement>>
86 AccessScopePath& WithThroughResources(ThroughResourcesT&& value) {
87 SetThroughResources(std::forward<ThroughResourcesT>(value));
88 return *this;
89 }
90 template <typename ThroughResourcesT = ThroughResourcesStatement>
91 AccessScopePath& AddThroughResources(ThroughResourcesT&& value) {
92 m_throughResourcesHasBeenSet = true;
93 m_throughResources.emplace_back(std::forward<ThroughResourcesT>(value));
94 return *this;
95 }
97 private:
98 PathStatement m_source;
99
100 PathStatement m_destination;
101
103 bool m_sourceHasBeenSet = false;
104 bool m_destinationHasBeenSet = false;
105 bool m_throughResourcesHasBeenSet = false;
106};
107
108} // namespace Model
109} // namespace EC2
110} // namespace Aws
AWS_EC2_API AccessScopePath & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetSource(SourceT &&value)
void SetThroughResources(ThroughResourcesT &&value)
AccessScopePath & AddThroughResources(ThroughResourcesT &&value)
const PathStatement & GetSource() const
AccessScopePath & WithSource(SourceT &&value)
const Aws::Vector< ThroughResourcesStatement > & GetThroughResources() const
AccessScopePath & WithDestination(DestinationT &&value)
AccessScopePath & WithThroughResources(ThroughResourcesT &&value)
void SetDestination(DestinationT &&value)
const PathStatement & GetDestination() const
AWS_EC2_API AccessScopePath()=default
AWS_EC2_API AccessScopePath(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream