AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
Ec2NetworkInterface.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/guardduty/GuardDuty_EXPORTS.h>
10#include <aws/guardduty/model/PrivateIpAddressDetails.h>
11#include <aws/guardduty/model/SecurityGroup.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace GuardDuty {
23namespace Model {
24
32 public:
33 AWS_GUARDDUTY_API Ec2NetworkInterface() = default;
34 AWS_GUARDDUTY_API Ec2NetworkInterface(Aws::Utils::Json::JsonView jsonValue);
36 AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::Vector<Aws::String>& GetIpv6Addresses() const { return m_ipv6Addresses; }
43 inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; }
44 template <typename Ipv6AddressesT = Aws::Vector<Aws::String>>
45 void SetIpv6Addresses(Ipv6AddressesT&& value) {
46 m_ipv6AddressesHasBeenSet = true;
47 m_ipv6Addresses = std::forward<Ipv6AddressesT>(value);
48 }
49 template <typename Ipv6AddressesT = Aws::Vector<Aws::String>>
50 Ec2NetworkInterface& WithIpv6Addresses(Ipv6AddressesT&& value) {
51 SetIpv6Addresses(std::forward<Ipv6AddressesT>(value));
52 return *this;
53 }
54 template <typename Ipv6AddressesT = Aws::String>
55 Ec2NetworkInterface& AddIpv6Addresses(Ipv6AddressesT&& value) {
56 m_ipv6AddressesHasBeenSet = true;
57 m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value));
58 return *this;
59 }
61
63
66 inline const Aws::Vector<PrivateIpAddressDetails>& GetPrivateIpAddresses() const { return m_privateIpAddresses; }
67 inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; }
68 template <typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressDetails>>
69 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) {
70 m_privateIpAddressesHasBeenSet = true;
71 m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value);
72 }
73 template <typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressDetails>>
74 Ec2NetworkInterface& WithPrivateIpAddresses(PrivateIpAddressesT&& value) {
75 SetPrivateIpAddresses(std::forward<PrivateIpAddressesT>(value));
76 return *this;
77 }
78 template <typename PrivateIpAddressesT = PrivateIpAddressDetails>
79 Ec2NetworkInterface& AddPrivateIpAddresses(PrivateIpAddressesT&& value) {
80 m_privateIpAddressesHasBeenSet = true;
81 m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value));
82 return *this;
83 }
85
87
90 inline const Aws::String& GetPublicIp() const { return m_publicIp; }
91 inline bool PublicIpHasBeenSet() const { return m_publicIpHasBeenSet; }
92 template <typename PublicIpT = Aws::String>
93 void SetPublicIp(PublicIpT&& value) {
94 m_publicIpHasBeenSet = true;
95 m_publicIp = std::forward<PublicIpT>(value);
96 }
97 template <typename PublicIpT = Aws::String>
98 Ec2NetworkInterface& WithPublicIp(PublicIpT&& value) {
99 SetPublicIp(std::forward<PublicIpT>(value));
100 return *this;
101 }
103
105
108 inline const Aws::Vector<SecurityGroup>& GetSecurityGroups() const { return m_securityGroups; }
109 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
110 template <typename SecurityGroupsT = Aws::Vector<SecurityGroup>>
111 void SetSecurityGroups(SecurityGroupsT&& value) {
112 m_securityGroupsHasBeenSet = true;
113 m_securityGroups = std::forward<SecurityGroupsT>(value);
114 }
115 template <typename SecurityGroupsT = Aws::Vector<SecurityGroup>>
116 Ec2NetworkInterface& WithSecurityGroups(SecurityGroupsT&& value) {
117 SetSecurityGroups(std::forward<SecurityGroupsT>(value));
118 return *this;
119 }
120 template <typename SecurityGroupsT = SecurityGroup>
121 Ec2NetworkInterface& AddSecurityGroups(SecurityGroupsT&& value) {
122 m_securityGroupsHasBeenSet = true;
123 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
124 return *this;
125 }
127
129
132 inline const Aws::String& GetSubNetId() const { return m_subNetId; }
133 inline bool SubNetIdHasBeenSet() const { return m_subNetIdHasBeenSet; }
134 template <typename SubNetIdT = Aws::String>
135 void SetSubNetId(SubNetIdT&& value) {
136 m_subNetIdHasBeenSet = true;
137 m_subNetId = std::forward<SubNetIdT>(value);
138 }
139 template <typename SubNetIdT = Aws::String>
140 Ec2NetworkInterface& WithSubNetId(SubNetIdT&& value) {
141 SetSubNetId(std::forward<SubNetIdT>(value));
142 return *this;
143 }
145
147
150 inline const Aws::String& GetVpcId() const { return m_vpcId; }
151 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
152 template <typename VpcIdT = Aws::String>
153 void SetVpcId(VpcIdT&& value) {
154 m_vpcIdHasBeenSet = true;
155 m_vpcId = std::forward<VpcIdT>(value);
156 }
157 template <typename VpcIdT = Aws::String>
159 SetVpcId(std::forward<VpcIdT>(value));
160 return *this;
161 }
163 private:
164 Aws::Vector<Aws::String> m_ipv6Addresses;
165
166 Aws::Vector<PrivateIpAddressDetails> m_privateIpAddresses;
167
168 Aws::String m_publicIp;
169
170 Aws::Vector<SecurityGroup> m_securityGroups;
171
172 Aws::String m_subNetId;
173
174 Aws::String m_vpcId;
175 bool m_ipv6AddressesHasBeenSet = false;
176 bool m_privateIpAddressesHasBeenSet = false;
177 bool m_publicIpHasBeenSet = false;
178 bool m_securityGroupsHasBeenSet = false;
179 bool m_subNetIdHasBeenSet = false;
180 bool m_vpcIdHasBeenSet = false;
181};
182
183} // namespace Model
184} // namespace GuardDuty
185} // namespace Aws
Ec2NetworkInterface & WithVpcId(VpcIdT &&value)
void SetPrivateIpAddresses(PrivateIpAddressesT &&value)
void SetSecurityGroups(SecurityGroupsT &&value)
Ec2NetworkInterface & AddSecurityGroups(SecurityGroupsT &&value)
Ec2NetworkInterface & WithSecurityGroups(SecurityGroupsT &&value)
const Aws::Vector< Aws::String > & GetIpv6Addresses() const
AWS_GUARDDUTY_API Ec2NetworkInterface(Aws::Utils::Json::JsonView jsonValue)
AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const
Ec2NetworkInterface & WithSubNetId(SubNetIdT &&value)
Ec2NetworkInterface & WithPrivateIpAddresses(PrivateIpAddressesT &&value)
const Aws::Vector< PrivateIpAddressDetails > & GetPrivateIpAddresses() const
AWS_GUARDDUTY_API Ec2NetworkInterface()=default
const Aws::Vector< SecurityGroup > & GetSecurityGroups() const
Ec2NetworkInterface & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
Ec2NetworkInterface & AddIpv6Addresses(Ipv6AddressesT &&value)
Ec2NetworkInterface & WithIpv6Addresses(Ipv6AddressesT &&value)
AWS_GUARDDUTY_API Ec2NetworkInterface & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetIpv6Addresses(Ipv6AddressesT &&value)
Ec2NetworkInterface & WithPublicIp(PublicIpT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue