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/ec2/model/ReferencedSecurityGroup.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/Tag.h>
51 template<
typename SecurityGroupRuleIdT = Aws::String>
52 void SetSecurityGroupRuleId(SecurityGroupRuleIdT&& value) { m_securityGroupRuleIdHasBeenSet =
true; m_securityGroupRuleId = std::forward<SecurityGroupRuleIdT>(value); }
53 template<
typename SecurityGroupRuleIdT = Aws::String>
63 template<
typename GroupIdT = Aws::String>
64 void SetGroupId(GroupIdT&& value) { m_groupIdHasBeenSet =
true; m_groupId = std::forward<GroupIdT>(value); }
65 template<
typename GroupIdT = Aws::String>
75 template<
typename GroupOwnerIdT = Aws::String>
76 void SetGroupOwnerId(GroupOwnerIdT&& value) { m_groupOwnerIdHasBeenSet =
true; m_groupOwnerId = std::forward<GroupOwnerIdT>(value); }
77 template<
typename GroupOwnerIdT = Aws::String>
87 inline void SetIsEgress(
bool value) { m_isEgressHasBeenSet =
true; m_isEgress = value; }
100 template<
typename IpProtocolT = Aws::String>
101 void SetIpProtocol(IpProtocolT&& value) { m_ipProtocolHasBeenSet =
true; m_ipProtocol = std::forward<IpProtocolT>(value); }
102 template<
typename IpProtocolT = Aws::String>
113 inline void SetFromPort(
int value) { m_fromPortHasBeenSet =
true; m_fromPort = value; }
126 inline void SetToPort(
int value) { m_toPortHasBeenSet =
true; m_toPort = value; }
136 template<
typename C
idrIpv4T = Aws::String>
137 void SetCidrIpv4(CidrIpv4T&& value) { m_cidrIpv4HasBeenSet =
true; m_cidrIpv4 = std::forward<CidrIpv4T>(value); }
138 template<
typename C
idrIpv4T = Aws::String>
148 template<
typename C
idrIpv6T = Aws::String>
149 void SetCidrIpv6(CidrIpv6T&& value) { m_cidrIpv6HasBeenSet =
true; m_cidrIpv6 = std::forward<CidrIpv6T>(value); }
150 template<
typename C
idrIpv6T = Aws::String>
160 template<
typename PrefixListIdT = Aws::String>
161 void SetPrefixListId(PrefixListIdT&& value) { m_prefixListIdHasBeenSet =
true; m_prefixListId = std::forward<PrefixListIdT>(value); }
162 template<
typename PrefixListIdT = Aws::String>
172 template<
typename ReferencedGroupInfoT = ReferencedSecurityGroup>
173 void SetReferencedGroupInfo(ReferencedGroupInfoT&& value) { m_referencedGroupInfoHasBeenSet =
true; m_referencedGroupInfo = std::forward<ReferencedGroupInfoT>(value); }
174 template<
typename ReferencedGroupInfoT = ReferencedSecurityGroup>
184 template<
typename DescriptionT = Aws::String>
185 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
186 template<
typename DescriptionT = Aws::String>
196 template<
typename TagsT = Aws::Vector<Tag>>
197 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
198 template<
typename TagsT = Aws::Vector<Tag>>
200 template<
typename TagsT = Tag>
201 SecurityGroupRule&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
210 template<
typename SecurityGroupRuleArnT = Aws::String>
211 void SetSecurityGroupRuleArn(SecurityGroupRuleArnT&& value) { m_securityGroupRuleArnHasBeenSet =
true; m_securityGroupRuleArn = std::forward<SecurityGroupRuleArnT>(value); }
212 template<
typename SecurityGroupRuleArnT = Aws::String>
218 bool m_securityGroupRuleIdHasBeenSet =
false;
221 bool m_groupIdHasBeenSet =
false;
224 bool m_groupOwnerIdHasBeenSet =
false;
226 bool m_isEgress{
false};
227 bool m_isEgressHasBeenSet =
false;
230 bool m_ipProtocolHasBeenSet =
false;
233 bool m_fromPortHasBeenSet =
false;
236 bool m_toPortHasBeenSet =
false;
239 bool m_cidrIpv4HasBeenSet =
false;
242 bool m_cidrIpv6HasBeenSet =
false;
245 bool m_prefixListIdHasBeenSet =
false;
247 ReferencedSecurityGroup m_referencedGroupInfo;
248 bool m_referencedGroupInfoHasBeenSet =
false;
251 bool m_descriptionHasBeenSet =
false;
254 bool m_tagsHasBeenSet =
false;
257 bool m_securityGroupRuleArnHasBeenSet =
false;
void SetReferencedGroupInfo(ReferencedGroupInfoT &&value)
const Aws::String & GetGroupOwnerId() const
bool ReferencedGroupInfoHasBeenSet() const
SecurityGroupRule & WithFromPort(int value)
bool SecurityGroupRuleArnHasBeenSet() const
SecurityGroupRule & WithPrefixListId(PrefixListIdT &&value)
void SetDescription(DescriptionT &&value)
bool CidrIpv4HasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
const Aws::String & GetDescription() const
void SetCidrIpv4(CidrIpv4T &&value)
SecurityGroupRule & WithToPort(int value)
void SetFromPort(int value)
SecurityGroupRule & WithGroupId(GroupIdT &&value)
const Aws::String & GetCidrIpv6() const
const Aws::String & GetPrefixListId() const
SecurityGroupRule & WithCidrIpv6(CidrIpv6T &&value)
bool IpProtocolHasBeenSet() const
SecurityGroupRule & AddTags(TagsT &&value)
const ReferencedSecurityGroup & GetReferencedGroupInfo() const
bool CidrIpv6HasBeenSet() const
SecurityGroupRule & WithTags(TagsT &&value)
AWS_EC2_API SecurityGroupRule(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API SecurityGroupRule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool DescriptionHasBeenSet() const
bool FromPortHasBeenSet() const
void SetTags(TagsT &&value)
bool SecurityGroupRuleIdHasBeenSet() const
bool PrefixListIdHasBeenSet() const
SecurityGroupRule & WithSecurityGroupRuleId(SecurityGroupRuleIdT &&value)
const Aws::String & GetSecurityGroupRuleId() const
void SetSecurityGroupRuleArn(SecurityGroupRuleArnT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetCidrIpv4() const
void SetGroupOwnerId(GroupOwnerIdT &&value)
bool ToPortHasBeenSet() const
SecurityGroupRule & WithReferencedGroupInfo(ReferencedGroupInfoT &&value)
AWS_EC2_API SecurityGroupRule()=default
SecurityGroupRule & WithIsEgress(bool value)
void SetIpProtocol(IpProtocolT &&value)
void SetSecurityGroupRuleId(SecurityGroupRuleIdT &&value)
bool IsEgressHasBeenSet() const
bool TagsHasBeenSet() const
bool GroupOwnerIdHasBeenSet() const
void SetGroupId(GroupIdT &&value)
SecurityGroupRule & WithSecurityGroupRuleArn(SecurityGroupRuleArnT &&value)
const Aws::String & GetGroupId() const
const Aws::String & GetSecurityGroupRuleArn() const
void SetIsEgress(bool value)
SecurityGroupRule & WithGroupOwnerId(GroupOwnerIdT &&value)
SecurityGroupRule & WithDescription(DescriptionT &&value)
void SetCidrIpv6(CidrIpv6T &&value)
void SetPrefixListId(PrefixListIdT &&value)
SecurityGroupRule & WithIpProtocol(IpProtocolT &&value)
bool GroupIdHasBeenSet() const
void SetToPort(int value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
SecurityGroupRule & WithCidrIpv4(CidrIpv4T &&value)
const Aws::String & GetIpProtocol() 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