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/IpPermission.h>
12#include <aws/ec2/model/Tag.h>
51 template<
typename GroupIdT = Aws::String>
52 void SetGroupId(GroupIdT&& value) { m_groupIdHasBeenSet =
true; m_groupId = std::forward<GroupIdT>(value); }
53 template<
typename GroupIdT = Aws::String>
63 template<
typename IpPermissionsEgressT = Aws::Vector<IpPermission>>
64 void SetIpPermissionsEgress(IpPermissionsEgressT&& value) { m_ipPermissionsEgressHasBeenSet =
true; m_ipPermissionsEgress = std::forward<IpPermissionsEgressT>(value); }
65 template<
typename IpPermissionsEgressT = Aws::Vector<IpPermission>>
67 template<
typename IpPermissionsEgressT = IpPermission>
68 SecurityGroup&
AddIpPermissionsEgress(IpPermissionsEgressT&& value) { m_ipPermissionsEgressHasBeenSet =
true; m_ipPermissionsEgress.emplace_back(std::forward<IpPermissionsEgressT>(value));
return *
this; }
77 template<
typename TagsT = Aws::Vector<Tag>>
78 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
79 template<
typename TagsT = Aws::Vector<Tag>>
81 template<
typename TagsT = Tag>
82 SecurityGroup&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
91 template<
typename VpcIdT = Aws::String>
92 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet =
true; m_vpcId = std::forward<VpcIdT>(value); }
93 template<
typename VpcIdT = Aws::String>
103 template<
typename SecurityGroupArnT = Aws::String>
104 void SetSecurityGroupArn(SecurityGroupArnT&& value) { m_securityGroupArnHasBeenSet =
true; m_securityGroupArn = std::forward<SecurityGroupArnT>(value); }
105 template<
typename SecurityGroupArnT = Aws::String>
115 template<
typename OwnerIdT = Aws::String>
116 void SetOwnerId(OwnerIdT&& value) { m_ownerIdHasBeenSet =
true; m_ownerId = std::forward<OwnerIdT>(value); }
117 template<
typename OwnerIdT = Aws::String>
127 template<
typename GroupNameT = Aws::String>
128 void SetGroupName(GroupNameT&& value) { m_groupNameHasBeenSet =
true; m_groupName = std::forward<GroupNameT>(value); }
129 template<
typename GroupNameT = Aws::String>
139 template<
typename DescriptionT = Aws::String>
140 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
141 template<
typename DescriptionT = Aws::String>
151 template<
typename IpPermissionsT = Aws::Vector<IpPermission>>
152 void SetIpPermissions(IpPermissionsT&& value) { m_ipPermissionsHasBeenSet =
true; m_ipPermissions = std::forward<IpPermissionsT>(value); }
153 template<
typename IpPermissionsT = Aws::Vector<IpPermission>>
155 template<
typename IpPermissionsT = IpPermission>
156 SecurityGroup&
AddIpPermissions(IpPermissionsT&& value) { m_ipPermissionsHasBeenSet =
true; m_ipPermissions.emplace_back(std::forward<IpPermissionsT>(value));
return *
this; }
161 bool m_groupIdHasBeenSet =
false;
164 bool m_ipPermissionsEgressHasBeenSet =
false;
167 bool m_tagsHasBeenSet =
false;
170 bool m_vpcIdHasBeenSet =
false;
173 bool m_securityGroupArnHasBeenSet =
false;
176 bool m_ownerIdHasBeenSet =
false;
179 bool m_groupNameHasBeenSet =
false;
182 bool m_descriptionHasBeenSet =
false;
185 bool m_ipPermissionsHasBeenSet =
false;
const Aws::Vector< IpPermission > & GetIpPermissionsEgress() const
void SetTags(TagsT &&value)
const Aws::Vector< IpPermission > & GetIpPermissions() const
AWS_EC2_API SecurityGroup & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetIpPermissions(IpPermissionsT &&value)
void SetIpPermissionsEgress(IpPermissionsEgressT &&value)
void SetVpcId(VpcIdT &&value)
bool OwnerIdHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool TagsHasBeenSet() const
const Aws::String & GetSecurityGroupArn() const
bool IpPermissionsHasBeenSet() const
void SetSecurityGroupArn(SecurityGroupArnT &&value)
SecurityGroup & WithSecurityGroupArn(SecurityGroupArnT &&value)
void SetGroupName(GroupNameT &&value)
bool SecurityGroupArnHasBeenSet() const
const Aws::String & GetGroupName() const
void SetOwnerId(OwnerIdT &&value)
SecurityGroup & WithIpPermissions(IpPermissionsT &&value)
bool GroupNameHasBeenSet() const
SecurityGroup & WithTags(TagsT &&value)
AWS_EC2_API SecurityGroup(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetDescription() const
SecurityGroup & WithGroupName(GroupNameT &&value)
const Aws::String & GetOwnerId() const
bool GroupIdHasBeenSet() const
SecurityGroup & AddTags(TagsT &&value)
SecurityGroup & WithDescription(DescriptionT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
SecurityGroup & AddIpPermissionsEgress(IpPermissionsEgressT &&value)
void SetGroupId(GroupIdT &&value)
SecurityGroup & AddIpPermissions(IpPermissionsT &&value)
const Aws::String & GetVpcId() const
const Aws::Vector< Tag > & GetTags() const
void SetDescription(DescriptionT &&value)
bool IpPermissionsEgressHasBeenSet() const
bool DescriptionHasBeenSet() const
const Aws::String & GetGroupId() const
SecurityGroup & WithOwnerId(OwnerIdT &&value)
bool VpcIdHasBeenSet() const
SecurityGroup & WithIpPermissionsEgress(IpPermissionsEgressT &&value)
SecurityGroup & WithGroupId(GroupIdT &&value)
AWS_EC2_API SecurityGroup()=default
SecurityGroup & WithVpcId(VpcIdT &&value)
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