Skip to content

Commit a529ad0

Browse files
authored
Merge branch 'main' into transfer-manager
2 parents 6a1226c + cc79f0d commit a529ad0

File tree

203 files changed

+24790
-4723
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

203 files changed

+24790
-4723
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.11.698
1+
1.11.699

generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NatGateway.h

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include <aws/ec2/model/AvailabilityMode.h>
1515
#include <aws/ec2/model/ConnectivityType.h>
1616
#include <aws/ec2/model/NatGatewayAddress.h>
17+
#include <aws/ec2/model/NatGatewayAttachedAppliance.h>
1718
#include <aws/ec2/model/NatGatewayState.h>
1819
#include <aws/ec2/model/ProvisionedBandwidth.h>
1920
#include <aws/ec2/model/Tag.h>
@@ -370,6 +371,31 @@ class NatGateway {
370371
}
371372
///@}
372373

374+
///@{
375+
/**
376+
* <p>The proxy appliances attached to the NAT Gateway for filtering and inspecting
377+
* traffic to prevent data exfiltration.</p>
378+
*/
379+
inline const Aws::Vector<NatGatewayAttachedAppliance>& GetAttachedAppliances() const { return m_attachedAppliances; }
380+
inline bool AttachedAppliancesHasBeenSet() const { return m_attachedAppliancesHasBeenSet; }
381+
template <typename AttachedAppliancesT = Aws::Vector<NatGatewayAttachedAppliance>>
382+
void SetAttachedAppliances(AttachedAppliancesT&& value) {
383+
m_attachedAppliancesHasBeenSet = true;
384+
m_attachedAppliances = std::forward<AttachedAppliancesT>(value);
385+
}
386+
template <typename AttachedAppliancesT = Aws::Vector<NatGatewayAttachedAppliance>>
387+
NatGateway& WithAttachedAppliances(AttachedAppliancesT&& value) {
388+
SetAttachedAppliances(std::forward<AttachedAppliancesT>(value));
389+
return *this;
390+
}
391+
template <typename AttachedAppliancesT = NatGatewayAttachedAppliance>
392+
NatGateway& AddAttachedAppliances(AttachedAppliancesT&& value) {
393+
m_attachedAppliancesHasBeenSet = true;
394+
m_attachedAppliances.emplace_back(std::forward<AttachedAppliancesT>(value));
395+
return *this;
396+
}
397+
///@}
398+
373399
///@{
374400
/**
375401
* <p>For regional NAT gateways only, this is the ID of the NAT gateway.</p>
@@ -433,6 +459,9 @@ class NatGateway {
433459
AutoProvisionZonesState m_autoProvisionZones{AutoProvisionZonesState::NOT_SET};
434460
bool m_autoProvisionZonesHasBeenSet = false;
435461

462+
Aws::Vector<NatGatewayAttachedAppliance> m_attachedAppliances;
463+
bool m_attachedAppliancesHasBeenSet = false;
464+
436465
Aws::String m_routeTableId;
437466
bool m_routeTableIdHasBeenSet = false;
438467
};
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#pragma once
7+
#include <aws/core/utils/memory/stl/AWSString.h>
8+
#include <aws/ec2/EC2_EXPORTS.h>
9+
10+
namespace Aws {
11+
namespace EC2 {
12+
namespace Model {
13+
enum class NatGatewayApplianceModifyState { NOT_SET, modifying, completed, failed };
14+
15+
namespace NatGatewayApplianceModifyStateMapper {
16+
AWS_EC2_API NatGatewayApplianceModifyState GetNatGatewayApplianceModifyStateForName(const Aws::String& name);
17+
18+
AWS_EC2_API Aws::String GetNameForNatGatewayApplianceModifyState(NatGatewayApplianceModifyState value);
19+
} // namespace NatGatewayApplianceModifyStateMapper
20+
} // namespace Model
21+
} // namespace EC2
22+
} // namespace Aws
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#pragma once
7+
#include <aws/core/utils/memory/stl/AWSString.h>
8+
#include <aws/ec2/EC2_EXPORTS.h>
9+
10+
namespace Aws {
11+
namespace EC2 {
12+
namespace Model {
13+
enum class NatGatewayApplianceState { NOT_SET, attaching, attached, detaching, detached, attach_failed, detach_failed };
14+
15+
namespace NatGatewayApplianceStateMapper {
16+
AWS_EC2_API NatGatewayApplianceState GetNatGatewayApplianceStateForName(const Aws::String& name);
17+
18+
AWS_EC2_API Aws::String GetNameForNatGatewayApplianceState(NatGatewayApplianceState value);
19+
} // namespace NatGatewayApplianceStateMapper
20+
} // namespace Model
21+
} // namespace EC2
22+
} // namespace Aws
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#pragma once
7+
#include <aws/core/utils/memory/stl/AWSString.h>
8+
#include <aws/ec2/EC2_EXPORTS.h>
9+
10+
namespace Aws {
11+
namespace EC2 {
12+
namespace Model {
13+
enum class NatGatewayApplianceType { NOT_SET, network_firewall_proxy };
14+
15+
namespace NatGatewayApplianceTypeMapper {
16+
AWS_EC2_API NatGatewayApplianceType GetNatGatewayApplianceTypeForName(const Aws::String& name);
17+
18+
AWS_EC2_API Aws::String GetNameForNatGatewayApplianceType(NatGatewayApplianceType value);
19+
} // namespace NatGatewayApplianceTypeMapper
20+
} // namespace Model
21+
} // namespace EC2
22+
} // namespace Aws
Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#pragma once
7+
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8+
#include <aws/core/utils/memory/stl/AWSString.h>
9+
#include <aws/ec2/EC2_EXPORTS.h>
10+
#include <aws/ec2/model/NatGatewayApplianceModifyState.h>
11+
#include <aws/ec2/model/NatGatewayApplianceState.h>
12+
#include <aws/ec2/model/NatGatewayApplianceType.h>
13+
14+
#include <utility>
15+
16+
namespace Aws {
17+
namespace Utils {
18+
namespace Xml {
19+
class XmlNode;
20+
} // namespace Xml
21+
} // namespace Utils
22+
namespace EC2 {
23+
namespace Model {
24+
25+
/**
26+
* <p>Information about an appliance attached to a NAT Gateway, providing managed
27+
* security solutions for traffic filtering and inspection.</p><p><h3>See
28+
* Also:</h3> <a
29+
* href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGatewayAttachedAppliance">AWS
30+
* API Reference</a></p>
31+
*/
32+
class NatGatewayAttachedAppliance {
33+
public:
34+
AWS_EC2_API NatGatewayAttachedAppliance() = default;
35+
AWS_EC2_API NatGatewayAttachedAppliance(const Aws::Utils::Xml::XmlNode& xmlNode);
36+
AWS_EC2_API NatGatewayAttachedAppliance& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
37+
38+
AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
39+
AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
40+
41+
///@{
42+
/**
43+
* <p>The type of appliance attached to the NAT Gateway. For network firewall proxy
44+
* functionality, this will be "network-firewall-proxy".</p>
45+
*/
46+
inline NatGatewayApplianceType GetType() const { return m_type; }
47+
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
48+
inline void SetType(NatGatewayApplianceType value) {
49+
m_typeHasBeenSet = true;
50+
m_type = value;
51+
}
52+
inline NatGatewayAttachedAppliance& WithType(NatGatewayApplianceType value) {
53+
SetType(value);
54+
return *this;
55+
}
56+
///@}
57+
58+
///@{
59+
/**
60+
* <p>The Amazon Resource Name (ARN) of the attached appliance, identifying the
61+
* specific proxy or security appliance resource.</p>
62+
*/
63+
inline const Aws::String& GetApplianceArn() const { return m_applianceArn; }
64+
inline bool ApplianceArnHasBeenSet() const { return m_applianceArnHasBeenSet; }
65+
template <typename ApplianceArnT = Aws::String>
66+
void SetApplianceArn(ApplianceArnT&& value) {
67+
m_applianceArnHasBeenSet = true;
68+
m_applianceArn = std::forward<ApplianceArnT>(value);
69+
}
70+
template <typename ApplianceArnT = Aws::String>
71+
NatGatewayAttachedAppliance& WithApplianceArn(ApplianceArnT&& value) {
72+
SetApplianceArn(std::forward<ApplianceArnT>(value));
73+
return *this;
74+
}
75+
///@}
76+
77+
///@{
78+
/**
79+
* <p>The VPC endpoint ID used to route traffic from application VPCs to the proxy
80+
* for inspection and filtering.</p>
81+
*/
82+
inline const Aws::String& GetVpcEndpointId() const { return m_vpcEndpointId; }
83+
inline bool VpcEndpointIdHasBeenSet() const { return m_vpcEndpointIdHasBeenSet; }
84+
template <typename VpcEndpointIdT = Aws::String>
85+
void SetVpcEndpointId(VpcEndpointIdT&& value) {
86+
m_vpcEndpointIdHasBeenSet = true;
87+
m_vpcEndpointId = std::forward<VpcEndpointIdT>(value);
88+
}
89+
template <typename VpcEndpointIdT = Aws::String>
90+
NatGatewayAttachedAppliance& WithVpcEndpointId(VpcEndpointIdT&& value) {
91+
SetVpcEndpointId(std::forward<VpcEndpointIdT>(value));
92+
return *this;
93+
}
94+
///@}
95+
96+
///@{
97+
/**
98+
* <p>The current attachment state of the appliance.</p>
99+
*/
100+
inline NatGatewayApplianceState GetAttachmentState() const { return m_attachmentState; }
101+
inline bool AttachmentStateHasBeenSet() const { return m_attachmentStateHasBeenSet; }
102+
inline void SetAttachmentState(NatGatewayApplianceState value) {
103+
m_attachmentStateHasBeenSet = true;
104+
m_attachmentState = value;
105+
}
106+
inline NatGatewayAttachedAppliance& WithAttachmentState(NatGatewayApplianceState value) {
107+
SetAttachmentState(value);
108+
return *this;
109+
}
110+
///@}
111+
112+
///@{
113+
/**
114+
* <p>The current modification state of the appliance.</p>
115+
*/
116+
inline NatGatewayApplianceModifyState GetModificationState() const { return m_modificationState; }
117+
inline bool ModificationStateHasBeenSet() const { return m_modificationStateHasBeenSet; }
118+
inline void SetModificationState(NatGatewayApplianceModifyState value) {
119+
m_modificationStateHasBeenSet = true;
120+
m_modificationState = value;
121+
}
122+
inline NatGatewayAttachedAppliance& WithModificationState(NatGatewayApplianceModifyState value) {
123+
SetModificationState(value);
124+
return *this;
125+
}
126+
///@}
127+
128+
///@{
129+
/**
130+
* <p>The failure code if the appliance attachment or modification operation
131+
* failed.</p>
132+
*/
133+
inline const Aws::String& GetFailureCode() const { return m_failureCode; }
134+
inline bool FailureCodeHasBeenSet() const { return m_failureCodeHasBeenSet; }
135+
template <typename FailureCodeT = Aws::String>
136+
void SetFailureCode(FailureCodeT&& value) {
137+
m_failureCodeHasBeenSet = true;
138+
m_failureCode = std::forward<FailureCodeT>(value);
139+
}
140+
template <typename FailureCodeT = Aws::String>
141+
NatGatewayAttachedAppliance& WithFailureCode(FailureCodeT&& value) {
142+
SetFailureCode(std::forward<FailureCodeT>(value));
143+
return *this;
144+
}
145+
///@}
146+
147+
///@{
148+
/**
149+
* <p>A descriptive message explaining the failure if the appliance attachment or
150+
* modification operation failed.</p>
151+
*/
152+
inline const Aws::String& GetFailureMessage() const { return m_failureMessage; }
153+
inline bool FailureMessageHasBeenSet() const { return m_failureMessageHasBeenSet; }
154+
template <typename FailureMessageT = Aws::String>
155+
void SetFailureMessage(FailureMessageT&& value) {
156+
m_failureMessageHasBeenSet = true;
157+
m_failureMessage = std::forward<FailureMessageT>(value);
158+
}
159+
template <typename FailureMessageT = Aws::String>
160+
NatGatewayAttachedAppliance& WithFailureMessage(FailureMessageT&& value) {
161+
SetFailureMessage(std::forward<FailureMessageT>(value));
162+
return *this;
163+
}
164+
///@}
165+
private:
166+
NatGatewayApplianceType m_type{NatGatewayApplianceType::NOT_SET};
167+
bool m_typeHasBeenSet = false;
168+
169+
Aws::String m_applianceArn;
170+
bool m_applianceArnHasBeenSet = false;
171+
172+
Aws::String m_vpcEndpointId;
173+
bool m_vpcEndpointIdHasBeenSet = false;
174+
175+
NatGatewayApplianceState m_attachmentState{NatGatewayApplianceState::NOT_SET};
176+
bool m_attachmentStateHasBeenSet = false;
177+
178+
NatGatewayApplianceModifyState m_modificationState{NatGatewayApplianceModifyState::NOT_SET};
179+
bool m_modificationStateHasBeenSet = false;
180+
181+
Aws::String m_failureCode;
182+
bool m_failureCodeHasBeenSet = false;
183+
184+
Aws::String m_failureMessage;
185+
bool m_failureMessageHasBeenSet = false;
186+
};
187+
188+
} // namespace Model
189+
} // namespace EC2
190+
} // namespace Aws

generated/src/aws-cpp-sdk-ec2/source/model/NatGateway.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,17 @@ NatGateway& NatGateway::operator=(const XmlNode& xmlNode) {
117117
StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(autoProvisionZonesNode.GetText()).c_str()));
118118
m_autoProvisionZonesHasBeenSet = true;
119119
}
120+
XmlNode attachedAppliancesNode = resultNode.FirstChild("attachedApplianceSet");
121+
if (!attachedAppliancesNode.IsNull()) {
122+
XmlNode attachedAppliancesMember = attachedAppliancesNode.FirstChild("item");
123+
m_attachedAppliancesHasBeenSet = !attachedAppliancesMember.IsNull();
124+
while (!attachedAppliancesMember.IsNull()) {
125+
m_attachedAppliances.push_back(attachedAppliancesMember);
126+
attachedAppliancesMember = attachedAppliancesMember.NextNode("item");
127+
}
128+
129+
m_attachedAppliancesHasBeenSet = true;
130+
}
120131
XmlNode routeTableIdNode = resultNode.FirstChild("routeTableId");
121132
if (!routeTableIdNode.IsNull()) {
122133
m_routeTableId = Aws::Utils::Xml::DecodeEscapedXmlText(routeTableIdNode.GetText());
@@ -210,6 +221,15 @@ void NatGateway::OutputToStream(Aws::OStream& oStream, const char* location, uns
210221
<< StringUtils::URLEncode(AutoProvisionZonesStateMapper::GetNameForAutoProvisionZonesState(m_autoProvisionZones)) << "&";
211222
}
212223

224+
if (m_attachedAppliancesHasBeenSet) {
225+
unsigned attachedAppliancesIdx = 1;
226+
for (auto& item : m_attachedAppliances) {
227+
Aws::StringStream attachedAppliancesSs;
228+
attachedAppliancesSs << location << index << locationValue << ".AttachedApplianceSet." << attachedAppliancesIdx++;
229+
item.OutputToStream(oStream, attachedAppliancesSs.str().c_str());
230+
}
231+
}
232+
213233
if (m_routeTableIdHasBeenSet) {
214234
oStream << location << index << locationValue << ".RouteTableId=" << StringUtils::URLEncode(m_routeTableId.c_str()) << "&";
215235
}
@@ -282,6 +302,14 @@ void NatGateway::OutputToStream(Aws::OStream& oStream, const char* location) con
282302
oStream << location << ".AutoProvisionZones="
283303
<< StringUtils::URLEncode(AutoProvisionZonesStateMapper::GetNameForAutoProvisionZonesState(m_autoProvisionZones)) << "&";
284304
}
305+
if (m_attachedAppliancesHasBeenSet) {
306+
unsigned attachedAppliancesIdx = 1;
307+
for (auto& item : m_attachedAppliances) {
308+
Aws::StringStream attachedAppliancesSs;
309+
attachedAppliancesSs << location << ".AttachedApplianceSet." << attachedAppliancesIdx++;
310+
item.OutputToStream(oStream, attachedAppliancesSs.str().c_str());
311+
}
312+
}
285313
if (m_routeTableIdHasBeenSet) {
286314
oStream << location << ".RouteTableId=" << StringUtils::URLEncode(m_routeTableId.c_str()) << "&";
287315
}

0 commit comments

Comments
 (0)