AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
CreateFirewallRequest.h
1
6#pragma once
7#include <aws/network-firewall/NetworkFirewall_EXPORTS.h>
8#include <aws/network-firewall/NetworkFirewallRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/network-firewall/model/EncryptionConfiguration.h>
12#include <aws/network-firewall/model/SubnetMapping.h>
13#include <aws/network-firewall/model/Tag.h>
14#include <aws/network-firewall/model/EnabledAnalysisType.h>
15#include <aws/network-firewall/model/AvailabilityZoneMapping.h>
16#include <utility>
17
18namespace Aws
19{
20namespace NetworkFirewall
21{
22namespace Model
23{
24
28 {
29 public:
30 AWS_NETWORKFIREWALL_API CreateFirewallRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateFirewall"; }
37
38 AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override;
39
40 AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
41
42
44
48 inline const Aws::String& GetFirewallName() const { return m_firewallName; }
49 inline bool FirewallNameHasBeenSet() const { return m_firewallNameHasBeenSet; }
50 template<typename FirewallNameT = Aws::String>
51 void SetFirewallName(FirewallNameT&& value) { m_firewallNameHasBeenSet = true; m_firewallName = std::forward<FirewallNameT>(value); }
52 template<typename FirewallNameT = Aws::String>
53 CreateFirewallRequest& WithFirewallName(FirewallNameT&& value) { SetFirewallName(std::forward<FirewallNameT>(value)); return *this;}
55
57
61 inline const Aws::String& GetFirewallPolicyArn() const { return m_firewallPolicyArn; }
62 inline bool FirewallPolicyArnHasBeenSet() const { return m_firewallPolicyArnHasBeenSet; }
63 template<typename FirewallPolicyArnT = Aws::String>
64 void SetFirewallPolicyArn(FirewallPolicyArnT&& value) { m_firewallPolicyArnHasBeenSet = true; m_firewallPolicyArn = std::forward<FirewallPolicyArnT>(value); }
65 template<typename FirewallPolicyArnT = Aws::String>
66 CreateFirewallRequest& WithFirewallPolicyArn(FirewallPolicyArnT&& value) { SetFirewallPolicyArn(std::forward<FirewallPolicyArnT>(value)); return *this;}
68
70
75 inline const Aws::String& GetVpcId() const { return m_vpcId; }
76 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
77 template<typename VpcIdT = Aws::String>
78 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::forward<VpcIdT>(value); }
79 template<typename VpcIdT = Aws::String>
80 CreateFirewallRequest& WithVpcId(VpcIdT&& value) { SetVpcId(std::forward<VpcIdT>(value)); return *this;}
82
84
89 inline const Aws::Vector<SubnetMapping>& GetSubnetMappings() const { return m_subnetMappings; }
90 inline bool SubnetMappingsHasBeenSet() const { return m_subnetMappingsHasBeenSet; }
91 template<typename SubnetMappingsT = Aws::Vector<SubnetMapping>>
92 void SetSubnetMappings(SubnetMappingsT&& value) { m_subnetMappingsHasBeenSet = true; m_subnetMappings = std::forward<SubnetMappingsT>(value); }
93 template<typename SubnetMappingsT = Aws::Vector<SubnetMapping>>
94 CreateFirewallRequest& WithSubnetMappings(SubnetMappingsT&& value) { SetSubnetMappings(std::forward<SubnetMappingsT>(value)); return *this;}
95 template<typename SubnetMappingsT = SubnetMapping>
96 CreateFirewallRequest& AddSubnetMappings(SubnetMappingsT&& value) { m_subnetMappingsHasBeenSet = true; m_subnetMappings.emplace_back(std::forward<SubnetMappingsT>(value)); return *this; }
98
100
107 inline bool GetDeleteProtection() const { return m_deleteProtection; }
108 inline bool DeleteProtectionHasBeenSet() const { return m_deleteProtectionHasBeenSet; }
109 inline void SetDeleteProtection(bool value) { m_deleteProtectionHasBeenSet = true; m_deleteProtection = value; }
110 inline CreateFirewallRequest& WithDeleteProtection(bool value) { SetDeleteProtection(value); return *this;}
112
114
120 inline bool GetSubnetChangeProtection() const { return m_subnetChangeProtection; }
121 inline bool SubnetChangeProtectionHasBeenSet() const { return m_subnetChangeProtectionHasBeenSet; }
122 inline void SetSubnetChangeProtection(bool value) { m_subnetChangeProtectionHasBeenSet = true; m_subnetChangeProtection = value; }
125
127
134 inline bool GetFirewallPolicyChangeProtection() const { return m_firewallPolicyChangeProtection; }
135 inline bool FirewallPolicyChangeProtectionHasBeenSet() const { return m_firewallPolicyChangeProtectionHasBeenSet; }
136 inline void SetFirewallPolicyChangeProtection(bool value) { m_firewallPolicyChangeProtectionHasBeenSet = true; m_firewallPolicyChangeProtection = value; }
139
141
144 inline const Aws::String& GetDescription() const { return m_description; }
145 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
146 template<typename DescriptionT = Aws::String>
147 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
148 template<typename DescriptionT = Aws::String>
149 CreateFirewallRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
151
153
156 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
157 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
158 template<typename TagsT = Aws::Vector<Tag>>
159 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
160 template<typename TagsT = Aws::Vector<Tag>>
161 CreateFirewallRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
162 template<typename TagsT = Tag>
163 CreateFirewallRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
165
167
171 inline const EncryptionConfiguration& GetEncryptionConfiguration() const { return m_encryptionConfiguration; }
172 inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; }
173 template<typename EncryptionConfigurationT = EncryptionConfiguration>
174 void SetEncryptionConfiguration(EncryptionConfigurationT&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::forward<EncryptionConfigurationT>(value); }
175 template<typename EncryptionConfigurationT = EncryptionConfiguration>
176 CreateFirewallRequest& WithEncryptionConfiguration(EncryptionConfigurationT&& value) { SetEncryptionConfiguration(std::forward<EncryptionConfigurationT>(value)); return *this;}
178
180
184 inline const Aws::Vector<EnabledAnalysisType>& GetEnabledAnalysisTypes() const { return m_enabledAnalysisTypes; }
185 inline bool EnabledAnalysisTypesHasBeenSet() const { return m_enabledAnalysisTypesHasBeenSet; }
186 template<typename EnabledAnalysisTypesT = Aws::Vector<EnabledAnalysisType>>
187 void SetEnabledAnalysisTypes(EnabledAnalysisTypesT&& value) { m_enabledAnalysisTypesHasBeenSet = true; m_enabledAnalysisTypes = std::forward<EnabledAnalysisTypesT>(value); }
188 template<typename EnabledAnalysisTypesT = Aws::Vector<EnabledAnalysisType>>
189 CreateFirewallRequest& WithEnabledAnalysisTypes(EnabledAnalysisTypesT&& value) { SetEnabledAnalysisTypes(std::forward<EnabledAnalysisTypesT>(value)); return *this;}
190 inline CreateFirewallRequest& AddEnabledAnalysisTypes(EnabledAnalysisType value) { m_enabledAnalysisTypesHasBeenSet = true; m_enabledAnalysisTypes.push_back(value); return *this; }
192
194
207 inline const Aws::String& GetTransitGatewayId() const { return m_transitGatewayId; }
208 inline bool TransitGatewayIdHasBeenSet() const { return m_transitGatewayIdHasBeenSet; }
209 template<typename TransitGatewayIdT = Aws::String>
210 void SetTransitGatewayId(TransitGatewayIdT&& value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId = std::forward<TransitGatewayIdT>(value); }
211 template<typename TransitGatewayIdT = Aws::String>
212 CreateFirewallRequest& WithTransitGatewayId(TransitGatewayIdT&& value) { SetTransitGatewayId(std::forward<TransitGatewayIdT>(value)); return *this;}
214
216
226 inline const Aws::Vector<AvailabilityZoneMapping>& GetAvailabilityZoneMappings() const { return m_availabilityZoneMappings; }
227 inline bool AvailabilityZoneMappingsHasBeenSet() const { return m_availabilityZoneMappingsHasBeenSet; }
228 template<typename AvailabilityZoneMappingsT = Aws::Vector<AvailabilityZoneMapping>>
229 void SetAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings = std::forward<AvailabilityZoneMappingsT>(value); }
230 template<typename AvailabilityZoneMappingsT = Aws::Vector<AvailabilityZoneMapping>>
231 CreateFirewallRequest& WithAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { SetAvailabilityZoneMappings(std::forward<AvailabilityZoneMappingsT>(value)); return *this;}
232 template<typename AvailabilityZoneMappingsT = AvailabilityZoneMapping>
233 CreateFirewallRequest& AddAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings.emplace_back(std::forward<AvailabilityZoneMappingsT>(value)); return *this; }
235
237
244 inline bool GetAvailabilityZoneChangeProtection() const { return m_availabilityZoneChangeProtection; }
245 inline bool AvailabilityZoneChangeProtectionHasBeenSet() const { return m_availabilityZoneChangeProtectionHasBeenSet; }
246 inline void SetAvailabilityZoneChangeProtection(bool value) { m_availabilityZoneChangeProtectionHasBeenSet = true; m_availabilityZoneChangeProtection = value; }
249 private:
250
251 Aws::String m_firewallName;
252 bool m_firewallNameHasBeenSet = false;
253
254 Aws::String m_firewallPolicyArn;
255 bool m_firewallPolicyArnHasBeenSet = false;
256
257 Aws::String m_vpcId;
258 bool m_vpcIdHasBeenSet = false;
259
260 Aws::Vector<SubnetMapping> m_subnetMappings;
261 bool m_subnetMappingsHasBeenSet = false;
262
263 bool m_deleteProtection{false};
264 bool m_deleteProtectionHasBeenSet = false;
265
266 bool m_subnetChangeProtection{false};
267 bool m_subnetChangeProtectionHasBeenSet = false;
268
269 bool m_firewallPolicyChangeProtection{false};
270 bool m_firewallPolicyChangeProtectionHasBeenSet = false;
271
272 Aws::String m_description;
273 bool m_descriptionHasBeenSet = false;
274
275 Aws::Vector<Tag> m_tags;
276 bool m_tagsHasBeenSet = false;
277
278 EncryptionConfiguration m_encryptionConfiguration;
279 bool m_encryptionConfigurationHasBeenSet = false;
280
281 Aws::Vector<EnabledAnalysisType> m_enabledAnalysisTypes;
282 bool m_enabledAnalysisTypesHasBeenSet = false;
283
284 Aws::String m_transitGatewayId;
285 bool m_transitGatewayIdHasBeenSet = false;
286
287 Aws::Vector<AvailabilityZoneMapping> m_availabilityZoneMappings;
288 bool m_availabilityZoneMappingsHasBeenSet = false;
289
290 bool m_availabilityZoneChangeProtection{false};
291 bool m_availabilityZoneChangeProtectionHasBeenSet = false;
292 };
293
294} // namespace Model
295} // namespace NetworkFirewall
296} // namespace Aws
CreateFirewallRequest & AddAvailabilityZoneMappings(AvailabilityZoneMappingsT &&value)
CreateFirewallRequest & WithTags(TagsT &&value)
const Aws::Vector< SubnetMapping > & GetSubnetMappings() const
CreateFirewallRequest & WithDescription(DescriptionT &&value)
CreateFirewallRequest & WithFirewallPolicyChangeProtection(bool value)
CreateFirewallRequest & WithEnabledAnalysisTypes(EnabledAnalysisTypesT &&value)
CreateFirewallRequest & WithAvailabilityZoneMappings(AvailabilityZoneMappingsT &&value)
CreateFirewallRequest & WithDeleteProtection(bool value)
AWS_NETWORKFIREWALL_API CreateFirewallRequest()=default
CreateFirewallRequest & AddEnabledAnalysisTypes(EnabledAnalysisType value)
CreateFirewallRequest & WithTransitGatewayId(TransitGatewayIdT &&value)
CreateFirewallRequest & WithSubnetChangeProtection(bool value)
CreateFirewallRequest & AddSubnetMappings(SubnetMappingsT &&value)
CreateFirewallRequest & WithEncryptionConfiguration(EncryptionConfigurationT &&value)
AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override
void SetAvailabilityZoneMappings(AvailabilityZoneMappingsT &&value)
void SetEnabledAnalysisTypes(EnabledAnalysisTypesT &&value)
const Aws::Vector< EnabledAnalysisType > & GetEnabledAnalysisTypes() const
CreateFirewallRequest & WithSubnetMappings(SubnetMappingsT &&value)
AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
virtual const char * GetServiceRequestName() const override
const EncryptionConfiguration & GetEncryptionConfiguration() const
CreateFirewallRequest & WithFirewallPolicyArn(FirewallPolicyArnT &&value)
CreateFirewallRequest & WithAvailabilityZoneChangeProtection(bool value)
const Aws::Vector< AvailabilityZoneMapping > & GetAvailabilityZoneMappings() const
CreateFirewallRequest & WithVpcId(VpcIdT &&value)
CreateFirewallRequest & WithFirewallName(FirewallNameT &&value)
void SetEncryptionConfiguration(EncryptionConfigurationT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector