AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AwsEc2NetworkInterfaceDetails.h
1
6#pragma once
7#include <aws/securityhub/SecurityHub_EXPORTS.h>
8#include <aws/securityhub/model/AwsEc2NetworkInterfaceAttachment.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/securityhub/model/AwsEc2NetworkInterfaceSecurityGroup.h>
12#include <aws/securityhub/model/AwsEc2NetworkInterfaceIpV6AddressDetail.h>
13#include <aws/securityhub/model/AwsEc2NetworkInterfacePrivateIpAddressDetail.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace SecurityHub
27{
28namespace Model
29{
30
37 {
38 public:
39 AWS_SECURITYHUB_API AwsEc2NetworkInterfaceDetails() = default;
42 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
49 inline const AwsEc2NetworkInterfaceAttachment& GetAttachment() const { return m_attachment; }
50 inline bool AttachmentHasBeenSet() const { return m_attachmentHasBeenSet; }
51 template<typename AttachmentT = AwsEc2NetworkInterfaceAttachment>
52 void SetAttachment(AttachmentT&& value) { m_attachmentHasBeenSet = true; m_attachment = std::forward<AttachmentT>(value); }
53 template<typename AttachmentT = AwsEc2NetworkInterfaceAttachment>
54 AwsEc2NetworkInterfaceDetails& WithAttachment(AttachmentT&& value) { SetAttachment(std::forward<AttachmentT>(value)); return *this;}
56
58
61 inline const Aws::String& GetNetworkInterfaceId() const { return m_networkInterfaceId; }
62 inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; }
63 template<typename NetworkInterfaceIdT = Aws::String>
64 void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value); }
65 template<typename NetworkInterfaceIdT = Aws::String>
66 AwsEc2NetworkInterfaceDetails& WithNetworkInterfaceId(NetworkInterfaceIdT&& value) { SetNetworkInterfaceId(std::forward<NetworkInterfaceIdT>(value)); return *this;}
68
70
73 inline const Aws::Vector<AwsEc2NetworkInterfaceSecurityGroup>& GetSecurityGroups() const { return m_securityGroups; }
74 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
75 template<typename SecurityGroupsT = Aws::Vector<AwsEc2NetworkInterfaceSecurityGroup>>
76 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
77 template<typename SecurityGroupsT = Aws::Vector<AwsEc2NetworkInterfaceSecurityGroup>>
78 AwsEc2NetworkInterfaceDetails& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
79 template<typename SecurityGroupsT = AwsEc2NetworkInterfaceSecurityGroup>
80 AwsEc2NetworkInterfaceDetails& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
82
84
87 inline bool GetSourceDestCheck() const { return m_sourceDestCheck; }
88 inline bool SourceDestCheckHasBeenSet() const { return m_sourceDestCheckHasBeenSet; }
89 inline void SetSourceDestCheck(bool value) { m_sourceDestCheckHasBeenSet = true; m_sourceDestCheck = value; }
90 inline AwsEc2NetworkInterfaceDetails& WithSourceDestCheck(bool value) { SetSourceDestCheck(value); return *this;}
92
94
97 inline const Aws::Vector<AwsEc2NetworkInterfaceIpV6AddressDetail>& GetIpV6Addresses() const { return m_ipV6Addresses; }
98 inline bool IpV6AddressesHasBeenSet() const { return m_ipV6AddressesHasBeenSet; }
99 template<typename IpV6AddressesT = Aws::Vector<AwsEc2NetworkInterfaceIpV6AddressDetail>>
100 void SetIpV6Addresses(IpV6AddressesT&& value) { m_ipV6AddressesHasBeenSet = true; m_ipV6Addresses = std::forward<IpV6AddressesT>(value); }
101 template<typename IpV6AddressesT = Aws::Vector<AwsEc2NetworkInterfaceIpV6AddressDetail>>
102 AwsEc2NetworkInterfaceDetails& WithIpV6Addresses(IpV6AddressesT&& value) { SetIpV6Addresses(std::forward<IpV6AddressesT>(value)); return *this;}
103 template<typename IpV6AddressesT = AwsEc2NetworkInterfaceIpV6AddressDetail>
104 AwsEc2NetworkInterfaceDetails& AddIpV6Addresses(IpV6AddressesT&& value) { m_ipV6AddressesHasBeenSet = true; m_ipV6Addresses.emplace_back(std::forward<IpV6AddressesT>(value)); return *this; }
106
108
111 inline const Aws::Vector<AwsEc2NetworkInterfacePrivateIpAddressDetail>& GetPrivateIpAddresses() const { return m_privateIpAddresses; }
112 inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; }
113 template<typename PrivateIpAddressesT = Aws::Vector<AwsEc2NetworkInterfacePrivateIpAddressDetail>>
114 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value); }
115 template<typename PrivateIpAddressesT = Aws::Vector<AwsEc2NetworkInterfacePrivateIpAddressDetail>>
116 AwsEc2NetworkInterfaceDetails& WithPrivateIpAddresses(PrivateIpAddressesT&& value) { SetPrivateIpAddresses(std::forward<PrivateIpAddressesT>(value)); return *this;}
117 template<typename PrivateIpAddressesT = AwsEc2NetworkInterfacePrivateIpAddressDetail>
118 AwsEc2NetworkInterfaceDetails& AddPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value)); return *this; }
120
122
125 inline const Aws::String& GetPublicDnsName() const { return m_publicDnsName; }
126 inline bool PublicDnsNameHasBeenSet() const { return m_publicDnsNameHasBeenSet; }
127 template<typename PublicDnsNameT = Aws::String>
128 void SetPublicDnsName(PublicDnsNameT&& value) { m_publicDnsNameHasBeenSet = true; m_publicDnsName = std::forward<PublicDnsNameT>(value); }
129 template<typename PublicDnsNameT = Aws::String>
130 AwsEc2NetworkInterfaceDetails& WithPublicDnsName(PublicDnsNameT&& value) { SetPublicDnsName(std::forward<PublicDnsNameT>(value)); return *this;}
132
134
137 inline const Aws::String& GetPublicIp() const { return m_publicIp; }
138 inline bool PublicIpHasBeenSet() const { return m_publicIpHasBeenSet; }
139 template<typename PublicIpT = Aws::String>
140 void SetPublicIp(PublicIpT&& value) { m_publicIpHasBeenSet = true; m_publicIp = std::forward<PublicIpT>(value); }
141 template<typename PublicIpT = Aws::String>
142 AwsEc2NetworkInterfaceDetails& WithPublicIp(PublicIpT&& value) { SetPublicIp(std::forward<PublicIpT>(value)); return *this;}
144 private:
145
147 bool m_attachmentHasBeenSet = false;
148
149 Aws::String m_networkInterfaceId;
150 bool m_networkInterfaceIdHasBeenSet = false;
151
153 bool m_securityGroupsHasBeenSet = false;
154
155 bool m_sourceDestCheck{false};
156 bool m_sourceDestCheckHasBeenSet = false;
157
159 bool m_ipV6AddressesHasBeenSet = false;
160
162 bool m_privateIpAddressesHasBeenSet = false;
163
164 Aws::String m_publicDnsName;
165 bool m_publicDnsNameHasBeenSet = false;
166
167 Aws::String m_publicIp;
168 bool m_publicIpHasBeenSet = false;
169 };
170
171} // namespace Model
172} // namespace SecurityHub
173} // namespace Aws
const Aws::Vector< AwsEc2NetworkInterfacePrivateIpAddressDetail > & GetPrivateIpAddresses() const
const AwsEc2NetworkInterfaceAttachment & GetAttachment() const
AwsEc2NetworkInterfaceDetails & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
AwsEc2NetworkInterfaceDetails & AddIpV6Addresses(IpV6AddressesT &&value)
AwsEc2NetworkInterfaceDetails & WithSecurityGroups(SecurityGroupsT &&value)
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AwsEc2NetworkInterfaceDetails & WithAttachment(AttachmentT &&value)
AwsEc2NetworkInterfaceDetails & WithPublicIp(PublicIpT &&value)
const Aws::Vector< AwsEc2NetworkInterfaceIpV6AddressDetail > & GetIpV6Addresses() const
AwsEc2NetworkInterfaceDetails & WithPublicDnsName(PublicDnsNameT &&value)
AWS_SECURITYHUB_API AwsEc2NetworkInterfaceDetails()=default
AwsEc2NetworkInterfaceDetails & AddSecurityGroups(SecurityGroupsT &&value)
AwsEc2NetworkInterfaceDetails & WithSourceDestCheck(bool value)
AwsEc2NetworkInterfaceDetails & WithIpV6Addresses(IpV6AddressesT &&value)
const Aws::Vector< AwsEc2NetworkInterfaceSecurityGroup > & GetSecurityGroups() const
AWS_SECURITYHUB_API AwsEc2NetworkInterfaceDetails(Aws::Utils::Json::JsonView jsonValue)
AwsEc2NetworkInterfaceDetails & WithNetworkInterfaceId(NetworkInterfaceIdT &&value)
AWS_SECURITYHUB_API AwsEc2NetworkInterfaceDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
AwsEc2NetworkInterfaceDetails & WithPrivateIpAddresses(PrivateIpAddressesT &&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