7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/model/PortRange.h>
50 template<
typename RuleGroupArnT = Aws::String>
51 void SetRuleGroupArn(RuleGroupArnT&& value) { m_ruleGroupArnHasBeenSet =
true; m_ruleGroupArn = std::forward<RuleGroupArnT>(value); }
52 template<
typename RuleGroupArnT = Aws::String>
62 template<
typename SourcesT = Aws::Vector<Aws::String>>
63 void SetSources(SourcesT&& value) { m_sourcesHasBeenSet =
true; m_sources = std::forward<SourcesT>(value); }
64 template<
typename SourcesT = Aws::Vector<Aws::String>>
66 template<
typename SourcesT = Aws::String>
76 template<
typename DestinationsT = Aws::Vector<Aws::String>>
77 void SetDestinations(DestinationsT&& value) { m_destinationsHasBeenSet =
true; m_destinations = std::forward<DestinationsT>(value); }
78 template<
typename DestinationsT = Aws::Vector<Aws::String>>
80 template<
typename DestinationsT = Aws::String>
90 template<
typename SourcePortsT = Aws::Vector<PortRange>>
91 void SetSourcePorts(SourcePortsT&& value) { m_sourcePortsHasBeenSet =
true; m_sourcePorts = std::forward<SourcePortsT>(value); }
92 template<
typename SourcePortsT = Aws::Vector<PortRange>>
94 template<
typename SourcePortsT = PortRange>
104 template<
typename DestinationPortsT = Aws::Vector<PortRange>>
105 void SetDestinationPorts(DestinationPortsT&& value) { m_destinationPortsHasBeenSet =
true; m_destinationPorts = std::forward<DestinationPortsT>(value); }
106 template<
typename DestinationPortsT = Aws::Vector<PortRange>>
108 template<
typename DestinationPortsT = PortRange>
118 template<
typename ProtocolT = Aws::String>
119 void SetProtocol(ProtocolT&& value) { m_protocolHasBeenSet =
true; m_protocol = std::forward<ProtocolT>(value); }
120 template<
typename ProtocolT = Aws::String>
131 template<
typename RuleActionT = Aws::String>
132 void SetRuleAction(RuleActionT&& value) { m_ruleActionHasBeenSet =
true; m_ruleAction = std::forward<RuleActionT>(value); }
133 template<
typename RuleActionT = Aws::String>
144 template<
typename DirectionT = Aws::String>
145 void SetDirection(DirectionT&& value) { m_directionHasBeenSet =
true; m_direction = std::forward<DirectionT>(value); }
146 template<
typename DirectionT = Aws::String>
152 bool m_ruleGroupArnHasBeenSet =
false;
155 bool m_sourcesHasBeenSet =
false;
158 bool m_destinationsHasBeenSet =
false;
161 bool m_sourcePortsHasBeenSet =
false;
164 bool m_destinationPortsHasBeenSet =
false;
167 bool m_protocolHasBeenSet =
false;
170 bool m_ruleActionHasBeenSet =
false;
173 bool m_directionHasBeenSet =
false;
FirewallStatefulRule & WithProtocol(ProtocolT &&value)
const Aws::Vector< PortRange > & GetDestinationPorts() const
FirewallStatefulRule & AddSources(SourcesT &&value)
FirewallStatefulRule & AddDestinationPorts(DestinationPortsT &&value)
FirewallStatefulRule & WithDestinationPorts(DestinationPortsT &&value)
const Aws::String & GetRuleGroupArn() const
void SetDestinations(DestinationsT &&value)
const Aws::String & GetProtocol() const
void SetDirection(DirectionT &&value)
FirewallStatefulRule & WithSourcePorts(SourcePortsT &&value)
void SetProtocol(ProtocolT &&value)
FirewallStatefulRule & AddDestinations(DestinationsT &&value)
const Aws::String & GetDirection() const
FirewallStatefulRule & AddSourcePorts(SourcePortsT &&value)
FirewallStatefulRule & WithRuleGroupArn(RuleGroupArnT &&value)
FirewallStatefulRule & WithSources(SourcesT &&value)
FirewallStatefulRule & WithDestinations(DestinationsT &&value)
bool DirectionHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API FirewallStatefulRule(const Aws::Utils::Xml::XmlNode &xmlNode)
FirewallStatefulRule & WithRuleAction(RuleActionT &&value)
void SetDestinationPorts(DestinationPortsT &&value)
bool SourcesHasBeenSet() const
const Aws::String & GetRuleAction() const
FirewallStatefulRule & WithDirection(DirectionT &&value)
bool ProtocolHasBeenSet() const
void SetRuleGroupArn(RuleGroupArnT &&value)
const Aws::Vector< PortRange > & GetSourcePorts() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetSources(SourcesT &&value)
bool SourcePortsHasBeenSet() const
const Aws::Vector< Aws::String > & GetSources() const
bool DestinationsHasBeenSet() const
AWS_EC2_API FirewallStatefulRule()=default
void SetRuleAction(RuleActionT &&value)
bool RuleGroupArnHasBeenSet() const
bool DestinationPortsHasBeenSet() const
AWS_EC2_API FirewallStatefulRule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetSourcePorts(SourcePortsT &&value)
bool RuleActionHasBeenSet() const
const Aws::Vector< Aws::String > & GetDestinations() const
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