AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
VpcEncryptionControlExclusions.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/VpcEncryptionControlExclusion.h>
10#include <utility>
11
12namespace Aws
13{
14namespace Utils
15{
16namespace Xml
17{
18 class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace EC2
22{
23namespace Model
24{
25
27 {
28 public:
29 AWS_EC2_API VpcEncryptionControlExclusions() = default;
32
33 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
34 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
35
36
38
39 inline const VpcEncryptionControlExclusion& GetInternetGateway() const { return m_internetGateway; }
40 inline bool InternetGatewayHasBeenSet() const { return m_internetGatewayHasBeenSet; }
41 template<typename InternetGatewayT = VpcEncryptionControlExclusion>
42 void SetInternetGateway(InternetGatewayT&& value) { m_internetGatewayHasBeenSet = true; m_internetGateway = std::forward<InternetGatewayT>(value); }
43 template<typename InternetGatewayT = VpcEncryptionControlExclusion>
44 VpcEncryptionControlExclusions& WithInternetGateway(InternetGatewayT&& value) { SetInternetGateway(std::forward<InternetGatewayT>(value)); return *this;}
46
48
49 inline const VpcEncryptionControlExclusion& GetEgressOnlyInternetGateway() const { return m_egressOnlyInternetGateway; }
50 inline bool EgressOnlyInternetGatewayHasBeenSet() const { return m_egressOnlyInternetGatewayHasBeenSet; }
51 template<typename EgressOnlyInternetGatewayT = VpcEncryptionControlExclusion>
52 void SetEgressOnlyInternetGateway(EgressOnlyInternetGatewayT&& value) { m_egressOnlyInternetGatewayHasBeenSet = true; m_egressOnlyInternetGateway = std::forward<EgressOnlyInternetGatewayT>(value); }
53 template<typename EgressOnlyInternetGatewayT = VpcEncryptionControlExclusion>
54 VpcEncryptionControlExclusions& WithEgressOnlyInternetGateway(EgressOnlyInternetGatewayT&& value) { SetEgressOnlyInternetGateway(std::forward<EgressOnlyInternetGatewayT>(value)); return *this;}
56
58
59 inline const VpcEncryptionControlExclusion& GetNatGateway() const { return m_natGateway; }
60 inline bool NatGatewayHasBeenSet() const { return m_natGatewayHasBeenSet; }
61 template<typename NatGatewayT = VpcEncryptionControlExclusion>
62 void SetNatGateway(NatGatewayT&& value) { m_natGatewayHasBeenSet = true; m_natGateway = std::forward<NatGatewayT>(value); }
63 template<typename NatGatewayT = VpcEncryptionControlExclusion>
64 VpcEncryptionControlExclusions& WithNatGateway(NatGatewayT&& value) { SetNatGateway(std::forward<NatGatewayT>(value)); return *this;}
66
68
69 inline const VpcEncryptionControlExclusion& GetVirtualPrivateGateway() const { return m_virtualPrivateGateway; }
70 inline bool VirtualPrivateGatewayHasBeenSet() const { return m_virtualPrivateGatewayHasBeenSet; }
71 template<typename VirtualPrivateGatewayT = VpcEncryptionControlExclusion>
72 void SetVirtualPrivateGateway(VirtualPrivateGatewayT&& value) { m_virtualPrivateGatewayHasBeenSet = true; m_virtualPrivateGateway = std::forward<VirtualPrivateGatewayT>(value); }
73 template<typename VirtualPrivateGatewayT = VpcEncryptionControlExclusion>
74 VpcEncryptionControlExclusions& WithVirtualPrivateGateway(VirtualPrivateGatewayT&& value) { SetVirtualPrivateGateway(std::forward<VirtualPrivateGatewayT>(value)); return *this;}
76
78
79 inline const VpcEncryptionControlExclusion& GetVpcPeering() const { return m_vpcPeering; }
80 inline bool VpcPeeringHasBeenSet() const { return m_vpcPeeringHasBeenSet; }
81 template<typename VpcPeeringT = VpcEncryptionControlExclusion>
82 void SetVpcPeering(VpcPeeringT&& value) { m_vpcPeeringHasBeenSet = true; m_vpcPeering = std::forward<VpcPeeringT>(value); }
83 template<typename VpcPeeringT = VpcEncryptionControlExclusion>
84 VpcEncryptionControlExclusions& WithVpcPeering(VpcPeeringT&& value) { SetVpcPeering(std::forward<VpcPeeringT>(value)); return *this;}
86 private:
87
88 VpcEncryptionControlExclusion m_internetGateway;
89 bool m_internetGatewayHasBeenSet = false;
90
91 VpcEncryptionControlExclusion m_egressOnlyInternetGateway;
92 bool m_egressOnlyInternetGatewayHasBeenSet = false;
93
95 bool m_natGatewayHasBeenSet = false;
96
97 VpcEncryptionControlExclusion m_virtualPrivateGateway;
98 bool m_virtualPrivateGatewayHasBeenSet = false;
99
101 bool m_vpcPeeringHasBeenSet = false;
102 };
103
104} // namespace Model
105} // namespace EC2
106} // namespace Aws
void SetEgressOnlyInternetGateway(EgressOnlyInternetGatewayT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const VpcEncryptionControlExclusion & GetVpcPeering() const
AWS_EC2_API VpcEncryptionControlExclusions(const Aws::Utils::Xml::XmlNode &xmlNode)
VpcEncryptionControlExclusions & WithNatGateway(NatGatewayT &&value)
void SetVirtualPrivateGateway(VirtualPrivateGatewayT &&value)
const VpcEncryptionControlExclusion & GetInternetGateway() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const VpcEncryptionControlExclusion & GetNatGateway() const
VpcEncryptionControlExclusions & WithVirtualPrivateGateway(VirtualPrivateGatewayT &&value)
const VpcEncryptionControlExclusion & GetEgressOnlyInternetGateway() const
AWS_EC2_API VpcEncryptionControlExclusions & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const VpcEncryptionControlExclusion & GetVirtualPrivateGateway() const
VpcEncryptionControlExclusions & WithEgressOnlyInternetGateway(EgressOnlyInternetGatewayT &&value)
VpcEncryptionControlExclusions & WithInternetGateway(InternetGatewayT &&value)
VpcEncryptionControlExclusions & WithVpcPeering(VpcPeeringT &&value)
std::basic_ostream< char, std::char_traits< char > > OStream