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/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/ReferencedSecurityGroup.h>
12#include <aws/ec2/model/Tag.h>
45 template <
typename SecurityGroupRuleIdT = Aws::String>
47 m_securityGroupRuleIdHasBeenSet =
true;
48 m_securityGroupRuleId = std::forward<SecurityGroupRuleIdT>(value);
50 template <
typename SecurityGroupRuleIdT = Aws::String>
63 template <
typename GroupIdT = Aws::String>
65 m_groupIdHasBeenSet =
true;
66 m_groupId = std::forward<GroupIdT>(value);
68 template <
typename GroupIdT = Aws::String>
81 template <
typename GroupOwnerIdT = Aws::String>
83 m_groupOwnerIdHasBeenSet =
true;
84 m_groupOwnerId = std::forward<GroupOwnerIdT>(value);
86 template <
typename GroupOwnerIdT = Aws::String>
100 m_isEgressHasBeenSet =
true;
118 template <
typename IpProtocolT = Aws::String>
120 m_ipProtocolHasBeenSet =
true;
121 m_ipProtocol = std::forward<IpProtocolT>(value);
123 template <
typename IpProtocolT = Aws::String>
138 m_fromPortHasBeenSet =
true;
157 m_toPortHasBeenSet =
true;
172 template <
typename C
idrIpv4T = Aws::String>
174 m_cidrIpv4HasBeenSet =
true;
175 m_cidrIpv4 = std::forward<CidrIpv4T>(value);
177 template <
typename C
idrIpv4T = Aws::String>
190 template <
typename C
idrIpv6T = Aws::String>
192 m_cidrIpv6HasBeenSet =
true;
193 m_cidrIpv6 = std::forward<CidrIpv6T>(value);
195 template <
typename C
idrIpv6T = Aws::String>
208 template <
typename PrefixListIdT = Aws::String>
210 m_prefixListIdHasBeenSet =
true;
211 m_prefixListId = std::forward<PrefixListIdT>(value);
213 template <
typename PrefixListIdT = Aws::String>
226 template <
typename ReferencedGroupInfoT = ReferencedSecurityGroup>
228 m_referencedGroupInfoHasBeenSet =
true;
229 m_referencedGroupInfo = std::forward<ReferencedGroupInfoT>(value);
231 template <
typename ReferencedGroupInfoT = ReferencedSecurityGroup>
244 template <
typename DescriptionT = Aws::String>
246 m_descriptionHasBeenSet =
true;
247 m_description = std::forward<DescriptionT>(value);
249 template <
typename DescriptionT = Aws::String>
262 template <
typename TagsT = Aws::Vector<Tag>>
264 m_tagsHasBeenSet =
true;
265 m_tags = std::forward<TagsT>(value);
267 template <
typename TagsT = Aws::Vector<Tag>>
269 SetTags(std::forward<TagsT>(value));
272 template <
typename TagsT = Tag>
274 m_tagsHasBeenSet =
true;
275 m_tags.emplace_back(std::forward<TagsT>(value));
286 template <
typename SecurityGroupRuleArnT = Aws::String>
288 m_securityGroupRuleArnHasBeenSet =
true;
289 m_securityGroupRuleArn = std::forward<SecurityGroupRuleArnT>(value);
291 template <
typename SecurityGroupRuleArnT = Aws::String>
304 bool m_isEgress{
false};
318 ReferencedSecurityGroup m_referencedGroupInfo;
325 bool m_securityGroupRuleIdHasBeenSet =
false;
326 bool m_groupIdHasBeenSet =
false;
327 bool m_groupOwnerIdHasBeenSet =
false;
328 bool m_isEgressHasBeenSet =
false;
329 bool m_ipProtocolHasBeenSet =
false;
330 bool m_fromPortHasBeenSet =
false;
331 bool m_toPortHasBeenSet =
false;
332 bool m_cidrIpv4HasBeenSet =
false;
333 bool m_cidrIpv6HasBeenSet =
false;
334 bool m_prefixListIdHasBeenSet =
false;
335 bool m_referencedGroupInfoHasBeenSet =
false;
336 bool m_descriptionHasBeenSet =
false;
337 bool m_tagsHasBeenSet =
false;
338 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