AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
Ec2NetworkInterface.h
1
6#pragma once
7#include <aws/guardduty/GuardDuty_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/guardduty/model/PrivateIpAddressDetails.h>
11#include <aws/guardduty/model/SecurityGroup.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace GuardDuty
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_GUARDDUTY_API Ec2NetworkInterface() = default;
39 AWS_GUARDDUTY_API Ec2NetworkInterface(Aws::Utils::Json::JsonView jsonValue);
41 AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const Aws::Vector<Aws::String>& GetIpv6Addresses() const { return m_ipv6Addresses; }
49 inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; }
50 template<typename Ipv6AddressesT = Aws::Vector<Aws::String>>
51 void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses = std::forward<Ipv6AddressesT>(value); }
52 template<typename Ipv6AddressesT = Aws::Vector<Aws::String>>
53 Ec2NetworkInterface& WithIpv6Addresses(Ipv6AddressesT&& value) { SetIpv6Addresses(std::forward<Ipv6AddressesT>(value)); return *this;}
54 template<typename Ipv6AddressesT = Aws::String>
55 Ec2NetworkInterface& AddIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value)); return *this; }
57
59
62 inline const Aws::Vector<PrivateIpAddressDetails>& GetPrivateIpAddresses() const { return m_privateIpAddresses; }
63 inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; }
64 template<typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressDetails>>
65 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value); }
66 template<typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressDetails>>
67 Ec2NetworkInterface& WithPrivateIpAddresses(PrivateIpAddressesT&& value) { SetPrivateIpAddresses(std::forward<PrivateIpAddressesT>(value)); return *this;}
68 template<typename PrivateIpAddressesT = PrivateIpAddressDetails>
69 Ec2NetworkInterface& AddPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses.emplace_back(std::forward<PrivateIpAddressesT>(value)); return *this; }
71
73
76 inline const Aws::String& GetPublicIp() const { return m_publicIp; }
77 inline bool PublicIpHasBeenSet() const { return m_publicIpHasBeenSet; }
78 template<typename PublicIpT = Aws::String>
79 void SetPublicIp(PublicIpT&& value) { m_publicIpHasBeenSet = true; m_publicIp = std::forward<PublicIpT>(value); }
80 template<typename PublicIpT = Aws::String>
81 Ec2NetworkInterface& WithPublicIp(PublicIpT&& value) { SetPublicIp(std::forward<PublicIpT>(value)); return *this;}
83
85
88 inline const Aws::Vector<SecurityGroup>& GetSecurityGroups() const { return m_securityGroups; }
89 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
90 template<typename SecurityGroupsT = Aws::Vector<SecurityGroup>>
91 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
92 template<typename SecurityGroupsT = Aws::Vector<SecurityGroup>>
93 Ec2NetworkInterface& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
94 template<typename SecurityGroupsT = SecurityGroup>
95 Ec2NetworkInterface& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
97
99
102 inline const Aws::String& GetSubNetId() const { return m_subNetId; }
103 inline bool SubNetIdHasBeenSet() const { return m_subNetIdHasBeenSet; }
104 template<typename SubNetIdT = Aws::String>
105 void SetSubNetId(SubNetIdT&& value) { m_subNetIdHasBeenSet = true; m_subNetId = std::forward<SubNetIdT>(value); }
106 template<typename SubNetIdT = Aws::String>
107 Ec2NetworkInterface& WithSubNetId(SubNetIdT&& value) { SetSubNetId(std::forward<SubNetIdT>(value)); return *this;}
109
111
114 inline const Aws::String& GetVpcId() const { return m_vpcId; }
115 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
116 template<typename VpcIdT = Aws::String>
117 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::forward<VpcIdT>(value); }
118 template<typename VpcIdT = Aws::String>
119 Ec2NetworkInterface& WithVpcId(VpcIdT&& value) { SetVpcId(std::forward<VpcIdT>(value)); return *this;}
121 private:
122
123 Aws::Vector<Aws::String> m_ipv6Addresses;
124 bool m_ipv6AddressesHasBeenSet = false;
125
126 Aws::Vector<PrivateIpAddressDetails> m_privateIpAddresses;
127 bool m_privateIpAddressesHasBeenSet = false;
128
129 Aws::String m_publicIp;
130 bool m_publicIpHasBeenSet = false;
131
132 Aws::Vector<SecurityGroup> m_securityGroups;
133 bool m_securityGroupsHasBeenSet = false;
134
135 Aws::String m_subNetId;
136 bool m_subNetIdHasBeenSet = false;
137
138 Aws::String m_vpcId;
139 bool m_vpcIdHasBeenSet = false;
140 };
141
142} // namespace Model
143} // namespace GuardDuty
144} // 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