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/network-firewall/NetworkFirewall_EXPORTS.h> 8 #include <aws/network-firewall/NetworkFirewallErrors.h> 9 #include <aws/core/client/AWSError.h> 10 #include <aws/core/client/ClientConfiguration.h> 11 #include <aws/core/client/AWSClient.h> 12 #include <aws/core/utils/memory/stl/AWSString.h> 13 #include <aws/core/utils/json/JsonSerializer.h> 14 #include <aws/network-firewall/model/AssociateFirewallPolicyResult.h> 15 #include <aws/network-firewall/model/AssociateSubnetsResult.h> 16 #include <aws/network-firewall/model/CreateFirewallResult.h> 17 #include <aws/network-firewall/model/CreateFirewallPolicyResult.h> 18 #include <aws/network-firewall/model/CreateRuleGroupResult.h> 19 #include <aws/network-firewall/model/DeleteFirewallResult.h> 20 #include <aws/network-firewall/model/DeleteFirewallPolicyResult.h> 21 #include <aws/network-firewall/model/DeleteResourcePolicyResult.h> 22 #include <aws/network-firewall/model/DeleteRuleGroupResult.h> 23 #include <aws/network-firewall/model/DescribeFirewallResult.h> 24 #include <aws/network-firewall/model/DescribeFirewallPolicyResult.h> 25 #include <aws/network-firewall/model/DescribeLoggingConfigurationResult.h> 26 #include <aws/network-firewall/model/DescribeResourcePolicyResult.h> 27 #include <aws/network-firewall/model/DescribeRuleGroupResult.h> 28 #include <aws/network-firewall/model/DisassociateSubnetsResult.h> 29 #include <aws/network-firewall/model/ListFirewallPoliciesResult.h> 30 #include <aws/network-firewall/model/ListFirewallsResult.h> 31 #include <aws/network-firewall/model/ListRuleGroupsResult.h> 32 #include <aws/network-firewall/model/ListTagsForResourceResult.h> 33 #include <aws/network-firewall/model/PutResourcePolicyResult.h> 34 #include <aws/network-firewall/model/TagResourceResult.h> 35 #include <aws/network-firewall/model/UntagResourceResult.h> 36 #include <aws/network-firewall/model/UpdateFirewallDeleteProtectionResult.h> 37 #include <aws/network-firewall/model/UpdateFirewallDescriptionResult.h> 38 #include <aws/network-firewall/model/UpdateFirewallPolicyResult.h> 39 #include <aws/network-firewall/model/UpdateFirewallPolicyChangeProtectionResult.h> 40 #include <aws/network-firewall/model/UpdateLoggingConfigurationResult.h> 41 #include <aws/network-firewall/model/UpdateRuleGroupResult.h> 42 #include <aws/network-firewall/model/UpdateSubnetChangeProtectionResult.h> 43 #include <aws/core/client/AsyncCallerContext.h> 44 #include <aws/core/http/HttpTypes.h> 45 #include <future> 46 #include <functional> 47 48 namespace Aws 49 { 50 51 namespace Http 52 { 53 class HttpClient; 54 class HttpClientFactory; 55 } // namespace Http 56 57 namespace Utils 58 { 59 template< typename R, typename E> class Outcome; 60 namespace Threading 61 { 62 class Executor; 63 } // namespace Threading 64 } // namespace Utils 65 66 namespace Auth 67 { 68 class AWSCredentials; 69 class AWSCredentialsProvider; 70 } // namespace Auth 71 72 namespace Client 73 { 74 class RetryStrategy; 75 } // namespace Client 76 77 namespace NetworkFirewall 78 { 79 80 namespace Model 81 { 82 class AssociateFirewallPolicyRequest; 83 class AssociateSubnetsRequest; 84 class CreateFirewallRequest; 85 class CreateFirewallPolicyRequest; 86 class CreateRuleGroupRequest; 87 class DeleteFirewallRequest; 88 class DeleteFirewallPolicyRequest; 89 class DeleteResourcePolicyRequest; 90 class DeleteRuleGroupRequest; 91 class DescribeFirewallRequest; 92 class DescribeFirewallPolicyRequest; 93 class DescribeLoggingConfigurationRequest; 94 class DescribeResourcePolicyRequest; 95 class DescribeRuleGroupRequest; 96 class DisassociateSubnetsRequest; 97 class ListFirewallPoliciesRequest; 98 class ListFirewallsRequest; 99 class ListRuleGroupsRequest; 100 class ListTagsForResourceRequest; 101 class PutResourcePolicyRequest; 102 class TagResourceRequest; 103 class UntagResourceRequest; 104 class UpdateFirewallDeleteProtectionRequest; 105 class UpdateFirewallDescriptionRequest; 106 class UpdateFirewallPolicyRequest; 107 class UpdateFirewallPolicyChangeProtectionRequest; 108 class UpdateLoggingConfigurationRequest; 109 class UpdateRuleGroupRequest; 110 class UpdateSubnetChangeProtectionRequest; 111 112 typedef Aws::Utils::Outcome<AssociateFirewallPolicyResult, NetworkFirewallError> AssociateFirewallPolicyOutcome; 113 typedef Aws::Utils::Outcome<AssociateSubnetsResult, NetworkFirewallError> AssociateSubnetsOutcome; 114 typedef Aws::Utils::Outcome<CreateFirewallResult, NetworkFirewallError> CreateFirewallOutcome; 115 typedef Aws::Utils::Outcome<CreateFirewallPolicyResult, NetworkFirewallError> CreateFirewallPolicyOutcome; 116 typedef Aws::Utils::Outcome<CreateRuleGroupResult, NetworkFirewallError> CreateRuleGroupOutcome; 117 typedef Aws::Utils::Outcome<DeleteFirewallResult, NetworkFirewallError> DeleteFirewallOutcome; 118 typedef Aws::Utils::Outcome<DeleteFirewallPolicyResult, NetworkFirewallError> DeleteFirewallPolicyOutcome; 119 typedef Aws::Utils::Outcome<DeleteResourcePolicyResult, NetworkFirewallError> DeleteResourcePolicyOutcome; 120 typedef Aws::Utils::Outcome<DeleteRuleGroupResult, NetworkFirewallError> DeleteRuleGroupOutcome; 121 typedef Aws::Utils::Outcome<DescribeFirewallResult, NetworkFirewallError> DescribeFirewallOutcome; 122 typedef Aws::Utils::Outcome<DescribeFirewallPolicyResult, NetworkFirewallError> DescribeFirewallPolicyOutcome; 123 typedef Aws::Utils::Outcome<DescribeLoggingConfigurationResult, NetworkFirewallError> DescribeLoggingConfigurationOutcome; 124 typedef Aws::Utils::Outcome<DescribeResourcePolicyResult, NetworkFirewallError> DescribeResourcePolicyOutcome; 125 typedef Aws::Utils::Outcome<DescribeRuleGroupResult, NetworkFirewallError> DescribeRuleGroupOutcome; 126 typedef Aws::Utils::Outcome<DisassociateSubnetsResult, NetworkFirewallError> DisassociateSubnetsOutcome; 127 typedef Aws::Utils::Outcome<ListFirewallPoliciesResult, NetworkFirewallError> ListFirewallPoliciesOutcome; 128 typedef Aws::Utils::Outcome<ListFirewallsResult, NetworkFirewallError> ListFirewallsOutcome; 129 typedef Aws::Utils::Outcome<ListRuleGroupsResult, NetworkFirewallError> ListRuleGroupsOutcome; 130 typedef Aws::Utils::Outcome<ListTagsForResourceResult, NetworkFirewallError> ListTagsForResourceOutcome; 131 typedef Aws::Utils::Outcome<PutResourcePolicyResult, NetworkFirewallError> PutResourcePolicyOutcome; 132 typedef Aws::Utils::Outcome<TagResourceResult, NetworkFirewallError> TagResourceOutcome; 133 typedef Aws::Utils::Outcome<UntagResourceResult, NetworkFirewallError> UntagResourceOutcome; 134 typedef Aws::Utils::Outcome<UpdateFirewallDeleteProtectionResult, NetworkFirewallError> UpdateFirewallDeleteProtectionOutcome; 135 typedef Aws::Utils::Outcome<UpdateFirewallDescriptionResult, NetworkFirewallError> UpdateFirewallDescriptionOutcome; 136 typedef Aws::Utils::Outcome<UpdateFirewallPolicyResult, NetworkFirewallError> UpdateFirewallPolicyOutcome; 137 typedef Aws::Utils::Outcome<UpdateFirewallPolicyChangeProtectionResult, NetworkFirewallError> UpdateFirewallPolicyChangeProtectionOutcome; 138 typedef Aws::Utils::Outcome<UpdateLoggingConfigurationResult, NetworkFirewallError> UpdateLoggingConfigurationOutcome; 139 typedef Aws::Utils::Outcome<UpdateRuleGroupResult, NetworkFirewallError> UpdateRuleGroupOutcome; 140 typedef Aws::Utils::Outcome<UpdateSubnetChangeProtectionResult, NetworkFirewallError> UpdateSubnetChangeProtectionOutcome; 141 142 typedef std::future<AssociateFirewallPolicyOutcome> AssociateFirewallPolicyOutcomeCallable; 143 typedef std::future<AssociateSubnetsOutcome> AssociateSubnetsOutcomeCallable; 144 typedef std::future<CreateFirewallOutcome> CreateFirewallOutcomeCallable; 145 typedef std::future<CreateFirewallPolicyOutcome> CreateFirewallPolicyOutcomeCallable; 146 typedef std::future<CreateRuleGroupOutcome> CreateRuleGroupOutcomeCallable; 147 typedef std::future<DeleteFirewallOutcome> DeleteFirewallOutcomeCallable; 148 typedef std::future<DeleteFirewallPolicyOutcome> DeleteFirewallPolicyOutcomeCallable; 149 typedef std::future<DeleteResourcePolicyOutcome> DeleteResourcePolicyOutcomeCallable; 150 typedef std::future<DeleteRuleGroupOutcome> DeleteRuleGroupOutcomeCallable; 151 typedef std::future<DescribeFirewallOutcome> DescribeFirewallOutcomeCallable; 152 typedef std::future<DescribeFirewallPolicyOutcome> DescribeFirewallPolicyOutcomeCallable; 153 typedef std::future<DescribeLoggingConfigurationOutcome> DescribeLoggingConfigurationOutcomeCallable; 154 typedef std::future<DescribeResourcePolicyOutcome> DescribeResourcePolicyOutcomeCallable; 155 typedef std::future<DescribeRuleGroupOutcome> DescribeRuleGroupOutcomeCallable; 156 typedef std::future<DisassociateSubnetsOutcome> DisassociateSubnetsOutcomeCallable; 157 typedef std::future<ListFirewallPoliciesOutcome> ListFirewallPoliciesOutcomeCallable; 158 typedef std::future<ListFirewallsOutcome> ListFirewallsOutcomeCallable; 159 typedef std::future<ListRuleGroupsOutcome> ListRuleGroupsOutcomeCallable; 160 typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable; 161 typedef std::future<PutResourcePolicyOutcome> PutResourcePolicyOutcomeCallable; 162 typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable; 163 typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable; 164 typedef std::future<UpdateFirewallDeleteProtectionOutcome> UpdateFirewallDeleteProtectionOutcomeCallable; 165 typedef std::future<UpdateFirewallDescriptionOutcome> UpdateFirewallDescriptionOutcomeCallable; 166 typedef std::future<UpdateFirewallPolicyOutcome> UpdateFirewallPolicyOutcomeCallable; 167 typedef std::future<UpdateFirewallPolicyChangeProtectionOutcome> UpdateFirewallPolicyChangeProtectionOutcomeCallable; 168 typedef std::future<UpdateLoggingConfigurationOutcome> UpdateLoggingConfigurationOutcomeCallable; 169 typedef std::future<UpdateRuleGroupOutcome> UpdateRuleGroupOutcomeCallable; 170 typedef std::future<UpdateSubnetChangeProtectionOutcome> UpdateSubnetChangeProtectionOutcomeCallable; 171 } // namespace Model 172 173 class NetworkFirewallClient; 174 175 typedef std::function<void(const NetworkFirewallClient*, const Model::AssociateFirewallPolicyRequest&, const Model::AssociateFirewallPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateFirewallPolicyResponseReceivedHandler; 176 typedef std::function<void(const NetworkFirewallClient*, const Model::AssociateSubnetsRequest&, const Model::AssociateSubnetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateSubnetsResponseReceivedHandler; 177 typedef std::function<void(const NetworkFirewallClient*, const Model::CreateFirewallRequest&, const Model::CreateFirewallOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateFirewallResponseReceivedHandler; 178 typedef std::function<void(const NetworkFirewallClient*, const Model::CreateFirewallPolicyRequest&, const Model::CreateFirewallPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateFirewallPolicyResponseReceivedHandler; 179 typedef std::function<void(const NetworkFirewallClient*, const Model::CreateRuleGroupRequest&, const Model::CreateRuleGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateRuleGroupResponseReceivedHandler; 180 typedef std::function<void(const NetworkFirewallClient*, const Model::DeleteFirewallRequest&, const Model::DeleteFirewallOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteFirewallResponseReceivedHandler; 181 typedef std::function<void(const NetworkFirewallClient*, const Model::DeleteFirewallPolicyRequest&, const Model::DeleteFirewallPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteFirewallPolicyResponseReceivedHandler; 182 typedef std::function<void(const NetworkFirewallClient*, const Model::DeleteResourcePolicyRequest&, const Model::DeleteResourcePolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteResourcePolicyResponseReceivedHandler; 183 typedef std::function<void(const NetworkFirewallClient*, const Model::DeleteRuleGroupRequest&, const Model::DeleteRuleGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteRuleGroupResponseReceivedHandler; 184 typedef std::function<void(const NetworkFirewallClient*, const Model::DescribeFirewallRequest&, const Model::DescribeFirewallOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeFirewallResponseReceivedHandler; 185 typedef std::function<void(const NetworkFirewallClient*, const Model::DescribeFirewallPolicyRequest&, const Model::DescribeFirewallPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeFirewallPolicyResponseReceivedHandler; 186 typedef std::function<void(const NetworkFirewallClient*, const Model::DescribeLoggingConfigurationRequest&, const Model::DescribeLoggingConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeLoggingConfigurationResponseReceivedHandler; 187 typedef std::function<void(const NetworkFirewallClient*, const Model::DescribeResourcePolicyRequest&, const Model::DescribeResourcePolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeResourcePolicyResponseReceivedHandler; 188 typedef std::function<void(const NetworkFirewallClient*, const Model::DescribeRuleGroupRequest&, const Model::DescribeRuleGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeRuleGroupResponseReceivedHandler; 189 typedef std::function<void(const NetworkFirewallClient*, const Model::DisassociateSubnetsRequest&, const Model::DisassociateSubnetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateSubnetsResponseReceivedHandler; 190 typedef std::function<void(const NetworkFirewallClient*, const Model::ListFirewallPoliciesRequest&, const Model::ListFirewallPoliciesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListFirewallPoliciesResponseReceivedHandler; 191 typedef std::function<void(const NetworkFirewallClient*, const Model::ListFirewallsRequest&, const Model::ListFirewallsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListFirewallsResponseReceivedHandler; 192 typedef std::function<void(const NetworkFirewallClient*, const Model::ListRuleGroupsRequest&, const Model::ListRuleGroupsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListRuleGroupsResponseReceivedHandler; 193 typedef std::function<void(const NetworkFirewallClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler; 194 typedef std::function<void(const NetworkFirewallClient*, const Model::PutResourcePolicyRequest&, const Model::PutResourcePolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutResourcePolicyResponseReceivedHandler; 195 typedef std::function<void(const NetworkFirewallClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler; 196 typedef std::function<void(const NetworkFirewallClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler; 197 typedef std::function<void(const NetworkFirewallClient*, const Model::UpdateFirewallDeleteProtectionRequest&, const Model::UpdateFirewallDeleteProtectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateFirewallDeleteProtectionResponseReceivedHandler; 198 typedef std::function<void(const NetworkFirewallClient*, const Model::UpdateFirewallDescriptionRequest&, const Model::UpdateFirewallDescriptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateFirewallDescriptionResponseReceivedHandler; 199 typedef std::function<void(const NetworkFirewallClient*, const Model::UpdateFirewallPolicyRequest&, const Model::UpdateFirewallPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateFirewallPolicyResponseReceivedHandler; 200 typedef std::function<void(const NetworkFirewallClient*, const Model::UpdateFirewallPolicyChangeProtectionRequest&, const Model::UpdateFirewallPolicyChangeProtectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateFirewallPolicyChangeProtectionResponseReceivedHandler; 201 typedef std::function<void(const NetworkFirewallClient*, const Model::UpdateLoggingConfigurationRequest&, const Model::UpdateLoggingConfigurationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateLoggingConfigurationResponseReceivedHandler; 202 typedef std::function<void(const NetworkFirewallClient*, const Model::UpdateRuleGroupRequest&, const Model::UpdateRuleGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateRuleGroupResponseReceivedHandler; 203 typedef std::function<void(const NetworkFirewallClient*, const Model::UpdateSubnetChangeProtectionRequest&, const Model::UpdateSubnetChangeProtectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateSubnetChangeProtectionResponseReceivedHandler; 204 205 /** 206 * <p>This is the API Reference for AWS Network Firewall. This guide is for 207 * developers who need detailed information about the Network Firewall API actions, 208 * data types, and errors. </p> <ul> <li> <p>The REST API requires you to handle 209 * connection details, such as calculating signatures, handling request retries, 210 * and error handling. For general information about using the AWS REST APIs, see 211 * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-apis.html">AWS 212 * APIs</a>. </p> <p>To access Network Firewall using the REST API endpoint: 213 * <code>https://network-firewall.<region>.amazonaws.com </code> </p> </li> 214 * <li> <p>Alternatively, you can use one of the AWS SDKs to access an API that's 215 * tailored to the programming language or platform that you're using. For more 216 * information, see <a href="http://aws.amazon.com/tools/#SDKs">AWS SDKs</a>.</p> 217 * </li> <li> <p>For descriptions of Network Firewall features, including and 218 * step-by-step instructions on how to use them through the Network Firewall 219 * console, see the <a 220 * href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/">Network 221 * Firewall Developer Guide</a>.</p> </li> </ul> <p>Network Firewall is a stateful, 222 * managed, network firewall and intrusion detection and prevention service for 223 * Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter 224 * traffic at the perimeter of your VPC. This includes filtering traffic going to 225 * and coming from an internet gateway, NAT gateway, or over VPN or AWS Direct 226 * Connect. Network Firewall uses rules that are compatible with Suricata, a free, 227 * open source intrusion detection system (IDS) engine. AWS Network Firewall 228 * supports Suricata version 5.0.2. For information about Suricata, see the <a 229 * href="https://suricata-ids.org/">Suricata website</a>.</p> <p>You can use 230 * Network Firewall to monitor and protect your VPC traffic in a number of ways. 231 * The following are just a few examples: </p> <ul> <li> <p>Allow domains or IP 232 * addresses for known AWS service endpoints, such as Amazon S3, and block all 233 * other forms of traffic.</p> </li> <li> <p>Use custom lists of known bad domains 234 * to limit the types of domain names that your applications can access.</p> </li> 235 * <li> <p>Perform deep packet inspection on traffic entering or leaving your 236 * VPC.</p> </li> <li> <p>Use stateful protocol detection to filter protocols like 237 * HTTPS, regardless of the port used.</p> </li> </ul> <p>To enable Network 238 * Firewall for your VPCs, you perform steps in both Amazon VPC and in Network 239 * Firewall. For information about using Amazon VPC, see <a 240 * href="https://docs.aws.amazon.com/vpc/latest/userguide/">Amazon VPC User 241 * Guide</a>.</p> <p>To start using Network Firewall, do the following: </p> <ol> 242 * <li> <p>(Optional) If you don't already have a VPC that you want to protect, 243 * create it in Amazon VPC. </p> </li> <li> <p>In Amazon VPC, in each Availability 244 * Zone where you want to have a firewall endpoint, create a subnet for the sole 245 * use of Network Firewall. </p> </li> <li> <p>In Network Firewall, create 246 * stateless and stateful rule groups, to define the components of the network 247 * traffic filtering behavior that you want your firewall to have. </p> </li> <li> 248 * <p>In Network Firewall, create a firewall policy that uses your rule groups and 249 * specifies additional default traffic filtering behavior. </p> </li> <li> <p>In 250 * Network Firewall, create a firewall and specify your new firewall policy and VPC 251 * subnets. Network Firewall creates a firewall endpoint in each subnet that you 252 * specify, with the behavior that's defined in the firewall policy.</p> </li> <li> 253 * <p>In Amazon VPC, use ingress routing enhancements to route traffic through the 254 * new firewall endpoints.</p> </li> </ol> 255 */ 256 class AWS_NETWORKFIREWALL_API NetworkFirewallClient : public Aws::Client::AWSJsonClient 257 { 258 public: 259 typedef Aws::Client::AWSJsonClient BASECLASS; 260 261 /** 262 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 263 * is not specified, it will be initialized to default values. 264 */ 265 NetworkFirewallClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 266 267 /** 268 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 269 * is not specified, it will be initialized to default values. 270 */ 271 NetworkFirewallClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 272 273 /** 274 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 275 * the default http client factory will be used 276 */ 277 NetworkFirewallClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 278 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 279 280 virtual ~NetworkFirewallClient(); 281 282 283 /** 284 * <p>Associates a <a>FirewallPolicy</a> to a <a>Firewall</a>. </p> <p>A firewall 285 * policy defines how to monitor and manage your VPC network traffic, using a 286 * collection of inspection rule groups and other settings. Each firewall requires 287 * one firewall policy association, and you can use the same firewall policy for 288 * multiple firewalls. </p><p><h3>See Also:</h3> <a 289 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AssociateFirewallPolicy">AWS 290 * API Reference</a></p> 291 */ 292 virtual Model::AssociateFirewallPolicyOutcome AssociateFirewallPolicy(const Model::AssociateFirewallPolicyRequest& request) const; 293 294 /** 295 * <p>Associates a <a>FirewallPolicy</a> to a <a>Firewall</a>. </p> <p>A firewall 296 * policy defines how to monitor and manage your VPC network traffic, using a 297 * collection of inspection rule groups and other settings. Each firewall requires 298 * one firewall policy association, and you can use the same firewall policy for 299 * multiple firewalls. </p><p><h3>See Also:</h3> <a 300 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AssociateFirewallPolicy">AWS 301 * API Reference</a></p> 302 * 303 * returns a future to the operation so that it can be executed in parallel to other requests. 304 */ 305 virtual Model::AssociateFirewallPolicyOutcomeCallable AssociateFirewallPolicyCallable(const Model::AssociateFirewallPolicyRequest& request) const; 306 307 /** 308 * <p>Associates a <a>FirewallPolicy</a> to a <a>Firewall</a>. </p> <p>A firewall 309 * policy defines how to monitor and manage your VPC network traffic, using a 310 * collection of inspection rule groups and other settings. Each firewall requires 311 * one firewall policy association, and you can use the same firewall policy for 312 * multiple firewalls. </p><p><h3>See Also:</h3> <a 313 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AssociateFirewallPolicy">AWS 314 * API Reference</a></p> 315 * 316 * Queues the request into a thread executor and triggers associated callback when operation has finished. 317 */ 318 virtual void AssociateFirewallPolicyAsync(const Model::AssociateFirewallPolicyRequest& request, const AssociateFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 319 320 /** 321 * <p>Associates the specified subnets in the Amazon VPC to the firewall. You can 322 * specify one subnet for each of the Availability Zones that the VPC spans. </p> 323 * <p>This request creates an AWS Network Firewall firewall endpoint in each of the 324 * subnets. To enable the firewall's protections, you must also modify the VPC's 325 * route tables for each subnet's Availability Zone, to redirect the traffic that's 326 * coming into and going out of the zone through the firewall endpoint. 327 * </p><p><h3>See Also:</h3> <a 328 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AssociateSubnets">AWS 329 * API Reference</a></p> 330 */ 331 virtual Model::AssociateSubnetsOutcome AssociateSubnets(const Model::AssociateSubnetsRequest& request) const; 332 333 /** 334 * <p>Associates the specified subnets in the Amazon VPC to the firewall. You can 335 * specify one subnet for each of the Availability Zones that the VPC spans. </p> 336 * <p>This request creates an AWS Network Firewall firewall endpoint in each of the 337 * subnets. To enable the firewall's protections, you must also modify the VPC's 338 * route tables for each subnet's Availability Zone, to redirect the traffic that's 339 * coming into and going out of the zone through the firewall endpoint. 340 * </p><p><h3>See Also:</h3> <a 341 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AssociateSubnets">AWS 342 * API Reference</a></p> 343 * 344 * returns a future to the operation so that it can be executed in parallel to other requests. 345 */ 346 virtual Model::AssociateSubnetsOutcomeCallable AssociateSubnetsCallable(const Model::AssociateSubnetsRequest& request) const; 347 348 /** 349 * <p>Associates the specified subnets in the Amazon VPC to the firewall. You can 350 * specify one subnet for each of the Availability Zones that the VPC spans. </p> 351 * <p>This request creates an AWS Network Firewall firewall endpoint in each of the 352 * subnets. To enable the firewall's protections, you must also modify the VPC's 353 * route tables for each subnet's Availability Zone, to redirect the traffic that's 354 * coming into and going out of the zone through the firewall endpoint. 355 * </p><p><h3>See Also:</h3> <a 356 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AssociateSubnets">AWS 357 * API Reference</a></p> 358 * 359 * Queues the request into a thread executor and triggers associated callback when operation has finished. 360 */ 361 virtual void AssociateSubnetsAsync(const Model::AssociateSubnetsRequest& request, const AssociateSubnetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 362 363 /** 364 * <p>Creates an AWS Network Firewall <a>Firewall</a> and accompanying 365 * <a>FirewallStatus</a> for a VPC. </p> <p>The firewall defines the configuration 366 * settings for an AWS Network Firewall firewall. The settings that you can define 367 * at creation include the firewall policy, the subnets in your VPC to use for the 368 * firewall endpoints, and any tags that are attached to the firewall AWS resource. 369 * </p> <p>After you create a firewall, you can provide additional settings, like 370 * the logging configuration. </p> <p>To update the settings for a firewall, you 371 * use the operations that apply to the settings themselves, for example 372 * <a>UpdateLoggingConfiguration</a>, <a>AssociateSubnets</a>, and 373 * <a>UpdateFirewallDeleteProtection</a>. </p> <p>To manage a firewall's tags, use 374 * the standard AWS resource tagging operations, <a>ListTagsForResource</a>, 375 * <a>TagResource</a>, and <a>UntagResource</a>.</p> <p>To retrieve information 376 * about firewalls, use <a>ListFirewalls</a> and 377 * <a>DescribeFirewall</a>.</p><p><h3>See Also:</h3> <a 378 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateFirewall">AWS 379 * API Reference</a></p> 380 */ 381 virtual Model::CreateFirewallOutcome CreateFirewall(const Model::CreateFirewallRequest& request) const; 382 383 /** 384 * <p>Creates an AWS Network Firewall <a>Firewall</a> and accompanying 385 * <a>FirewallStatus</a> for a VPC. </p> <p>The firewall defines the configuration 386 * settings for an AWS Network Firewall firewall. The settings that you can define 387 * at creation include the firewall policy, the subnets in your VPC to use for the 388 * firewall endpoints, and any tags that are attached to the firewall AWS resource. 389 * </p> <p>After you create a firewall, you can provide additional settings, like 390 * the logging configuration. </p> <p>To update the settings for a firewall, you 391 * use the operations that apply to the settings themselves, for example 392 * <a>UpdateLoggingConfiguration</a>, <a>AssociateSubnets</a>, and 393 * <a>UpdateFirewallDeleteProtection</a>. </p> <p>To manage a firewall's tags, use 394 * the standard AWS resource tagging operations, <a>ListTagsForResource</a>, 395 * <a>TagResource</a>, and <a>UntagResource</a>.</p> <p>To retrieve information 396 * about firewalls, use <a>ListFirewalls</a> and 397 * <a>DescribeFirewall</a>.</p><p><h3>See Also:</h3> <a 398 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateFirewall">AWS 399 * API Reference</a></p> 400 * 401 * returns a future to the operation so that it can be executed in parallel to other requests. 402 */ 403 virtual Model::CreateFirewallOutcomeCallable CreateFirewallCallable(const Model::CreateFirewallRequest& request) const; 404 405 /** 406 * <p>Creates an AWS Network Firewall <a>Firewall</a> and accompanying 407 * <a>FirewallStatus</a> for a VPC. </p> <p>The firewall defines the configuration 408 * settings for an AWS Network Firewall firewall. The settings that you can define 409 * at creation include the firewall policy, the subnets in your VPC to use for the 410 * firewall endpoints, and any tags that are attached to the firewall AWS resource. 411 * </p> <p>After you create a firewall, you can provide additional settings, like 412 * the logging configuration. </p> <p>To update the settings for a firewall, you 413 * use the operations that apply to the settings themselves, for example 414 * <a>UpdateLoggingConfiguration</a>, <a>AssociateSubnets</a>, and 415 * <a>UpdateFirewallDeleteProtection</a>. </p> <p>To manage a firewall's tags, use 416 * the standard AWS resource tagging operations, <a>ListTagsForResource</a>, 417 * <a>TagResource</a>, and <a>UntagResource</a>.</p> <p>To retrieve information 418 * about firewalls, use <a>ListFirewalls</a> and 419 * <a>DescribeFirewall</a>.</p><p><h3>See Also:</h3> <a 420 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateFirewall">AWS 421 * API Reference</a></p> 422 * 423 * Queues the request into a thread executor and triggers associated callback when operation has finished. 424 */ 425 virtual void CreateFirewallAsync(const Model::CreateFirewallRequest& request, const CreateFirewallResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 426 427 /** 428 * <p>Creates the firewall policy for the firewall according to the specifications. 429 * </p> <p>An AWS Network Firewall firewall policy defines the behavior of a 430 * firewall, in a collection of stateless and stateful rule groups and other 431 * settings. You can use one firewall policy for multiple firewalls. </p><p><h3>See 432 * Also:</h3> <a 433 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateFirewallPolicy">AWS 434 * API Reference</a></p> 435 */ 436 virtual Model::CreateFirewallPolicyOutcome CreateFirewallPolicy(const Model::CreateFirewallPolicyRequest& request) const; 437 438 /** 439 * <p>Creates the firewall policy for the firewall according to the specifications. 440 * </p> <p>An AWS Network Firewall firewall policy defines the behavior of a 441 * firewall, in a collection of stateless and stateful rule groups and other 442 * settings. You can use one firewall policy for multiple firewalls. </p><p><h3>See 443 * Also:</h3> <a 444 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateFirewallPolicy">AWS 445 * API Reference</a></p> 446 * 447 * returns a future to the operation so that it can be executed in parallel to other requests. 448 */ 449 virtual Model::CreateFirewallPolicyOutcomeCallable CreateFirewallPolicyCallable(const Model::CreateFirewallPolicyRequest& request) const; 450 451 /** 452 * <p>Creates the firewall policy for the firewall according to the specifications. 453 * </p> <p>An AWS Network Firewall firewall policy defines the behavior of a 454 * firewall, in a collection of stateless and stateful rule groups and other 455 * settings. You can use one firewall policy for multiple firewalls. </p><p><h3>See 456 * Also:</h3> <a 457 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateFirewallPolicy">AWS 458 * API Reference</a></p> 459 * 460 * Queues the request into a thread executor and triggers associated callback when operation has finished. 461 */ 462 virtual void CreateFirewallPolicyAsync(const Model::CreateFirewallPolicyRequest& request, const CreateFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 463 464 /** 465 * <p>Creates the specified stateless or stateful rule group, which includes the 466 * rules for network traffic inspection, a capacity setting, and tags. </p> <p>You 467 * provide your rule group specification in your request using either 468 * <code>RuleGroup</code> or <code>Rules</code>.</p><p><h3>See Also:</h3> <a 469 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateRuleGroup">AWS 470 * API Reference</a></p> 471 */ 472 virtual Model::CreateRuleGroupOutcome CreateRuleGroup(const Model::CreateRuleGroupRequest& request) const; 473 474 /** 475 * <p>Creates the specified stateless or stateful rule group, which includes the 476 * rules for network traffic inspection, a capacity setting, and tags. </p> <p>You 477 * provide your rule group specification in your request using either 478 * <code>RuleGroup</code> or <code>Rules</code>.</p><p><h3>See Also:</h3> <a 479 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateRuleGroup">AWS 480 * API Reference</a></p> 481 * 482 * returns a future to the operation so that it can be executed in parallel to other requests. 483 */ 484 virtual Model::CreateRuleGroupOutcomeCallable CreateRuleGroupCallable(const Model::CreateRuleGroupRequest& request) const; 485 486 /** 487 * <p>Creates the specified stateless or stateful rule group, which includes the 488 * rules for network traffic inspection, a capacity setting, and tags. </p> <p>You 489 * provide your rule group specification in your request using either 490 * <code>RuleGroup</code> or <code>Rules</code>.</p><p><h3>See Also:</h3> <a 491 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/CreateRuleGroup">AWS 492 * API Reference</a></p> 493 * 494 * Queues the request into a thread executor and triggers associated callback when operation has finished. 495 */ 496 virtual void CreateRuleGroupAsync(const Model::CreateRuleGroupRequest& request, const CreateRuleGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 497 498 /** 499 * <p>Deletes the specified <a>Firewall</a> and its <a>FirewallStatus</a>. This 500 * operation requires the firewall's <code>DeleteProtection</code> flag to be 501 * <code>FALSE</code>. You can't revert this operation. </p> <p>You can check 502 * whether a firewall is in use by reviewing the route tables for the Availability 503 * Zones where you have firewall subnet mappings. Retrieve the subnet mappings by 504 * calling <a>DescribeFirewall</a>. You define and update the route tables through 505 * Amazon VPC. As needed, update the route tables for the zones to remove the 506 * firewall endpoints. When the route tables no longer use the firewall endpoints, 507 * you can remove the firewall safely.</p> <p>To delete a firewall, remove the 508 * delete protection if you need to using <a>UpdateFirewallDeleteProtection</a>, 509 * then delete the firewall by calling <a>DeleteFirewall</a>. </p><p><h3>See 510 * Also:</h3> <a 511 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteFirewall">AWS 512 * API Reference</a></p> 513 */ 514 virtual Model::DeleteFirewallOutcome DeleteFirewall(const Model::DeleteFirewallRequest& request) const; 515 516 /** 517 * <p>Deletes the specified <a>Firewall</a> and its <a>FirewallStatus</a>. This 518 * operation requires the firewall's <code>DeleteProtection</code> flag to be 519 * <code>FALSE</code>. You can't revert this operation. </p> <p>You can check 520 * whether a firewall is in use by reviewing the route tables for the Availability 521 * Zones where you have firewall subnet mappings. Retrieve the subnet mappings by 522 * calling <a>DescribeFirewall</a>. You define and update the route tables through 523 * Amazon VPC. As needed, update the route tables for the zones to remove the 524 * firewall endpoints. When the route tables no longer use the firewall endpoints, 525 * you can remove the firewall safely.</p> <p>To delete a firewall, remove the 526 * delete protection if you need to using <a>UpdateFirewallDeleteProtection</a>, 527 * then delete the firewall by calling <a>DeleteFirewall</a>. </p><p><h3>See 528 * Also:</h3> <a 529 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteFirewall">AWS 530 * API Reference</a></p> 531 * 532 * returns a future to the operation so that it can be executed in parallel to other requests. 533 */ 534 virtual Model::DeleteFirewallOutcomeCallable DeleteFirewallCallable(const Model::DeleteFirewallRequest& request) const; 535 536 /** 537 * <p>Deletes the specified <a>Firewall</a> and its <a>FirewallStatus</a>. This 538 * operation requires the firewall's <code>DeleteProtection</code> flag to be 539 * <code>FALSE</code>. You can't revert this operation. </p> <p>You can check 540 * whether a firewall is in use by reviewing the route tables for the Availability 541 * Zones where you have firewall subnet mappings. Retrieve the subnet mappings by 542 * calling <a>DescribeFirewall</a>. You define and update the route tables through 543 * Amazon VPC. As needed, update the route tables for the zones to remove the 544 * firewall endpoints. When the route tables no longer use the firewall endpoints, 545 * you can remove the firewall safely.</p> <p>To delete a firewall, remove the 546 * delete protection if you need to using <a>UpdateFirewallDeleteProtection</a>, 547 * then delete the firewall by calling <a>DeleteFirewall</a>. </p><p><h3>See 548 * Also:</h3> <a 549 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteFirewall">AWS 550 * API Reference</a></p> 551 * 552 * Queues the request into a thread executor and triggers associated callback when operation has finished. 553 */ 554 virtual void DeleteFirewallAsync(const Model::DeleteFirewallRequest& request, const DeleteFirewallResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 555 556 /** 557 * <p>Deletes the specified <a>FirewallPolicy</a>. </p><p><h3>See Also:</h3> <a 558 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteFirewallPolicy">AWS 559 * API Reference</a></p> 560 */ 561 virtual Model::DeleteFirewallPolicyOutcome DeleteFirewallPolicy(const Model::DeleteFirewallPolicyRequest& request) const; 562 563 /** 564 * <p>Deletes the specified <a>FirewallPolicy</a>. </p><p><h3>See Also:</h3> <a 565 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteFirewallPolicy">AWS 566 * API Reference</a></p> 567 * 568 * returns a future to the operation so that it can be executed in parallel to other requests. 569 */ 570 virtual Model::DeleteFirewallPolicyOutcomeCallable DeleteFirewallPolicyCallable(const Model::DeleteFirewallPolicyRequest& request) const; 571 572 /** 573 * <p>Deletes the specified <a>FirewallPolicy</a>. </p><p><h3>See Also:</h3> <a 574 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteFirewallPolicy">AWS 575 * API Reference</a></p> 576 * 577 * Queues the request into a thread executor and triggers associated callback when operation has finished. 578 */ 579 virtual void DeleteFirewallPolicyAsync(const Model::DeleteFirewallPolicyRequest& request, const DeleteFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 580 581 /** 582 * <p>Deletes a resource policy that you created in a <a>PutResourcePolicy</a> 583 * request. </p><p><h3>See Also:</h3> <a 584 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteResourcePolicy">AWS 585 * API Reference</a></p> 586 */ 587 virtual Model::DeleteResourcePolicyOutcome DeleteResourcePolicy(const Model::DeleteResourcePolicyRequest& request) const; 588 589 /** 590 * <p>Deletes a resource policy that you created in a <a>PutResourcePolicy</a> 591 * request. </p><p><h3>See Also:</h3> <a 592 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteResourcePolicy">AWS 593 * API Reference</a></p> 594 * 595 * returns a future to the operation so that it can be executed in parallel to other requests. 596 */ 597 virtual Model::DeleteResourcePolicyOutcomeCallable DeleteResourcePolicyCallable(const Model::DeleteResourcePolicyRequest& request) const; 598 599 /** 600 * <p>Deletes a resource policy that you created in a <a>PutResourcePolicy</a> 601 * request. </p><p><h3>See Also:</h3> <a 602 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteResourcePolicy">AWS 603 * API Reference</a></p> 604 * 605 * Queues the request into a thread executor and triggers associated callback when operation has finished. 606 */ 607 virtual void DeleteResourcePolicyAsync(const Model::DeleteResourcePolicyRequest& request, const DeleteResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 608 609 /** 610 * <p>Deletes the specified <a>RuleGroup</a>. </p><p><h3>See Also:</h3> <a 611 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteRuleGroup">AWS 612 * API Reference</a></p> 613 */ 614 virtual Model::DeleteRuleGroupOutcome DeleteRuleGroup(const Model::DeleteRuleGroupRequest& request) const; 615 616 /** 617 * <p>Deletes the specified <a>RuleGroup</a>. </p><p><h3>See Also:</h3> <a 618 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteRuleGroup">AWS 619 * API Reference</a></p> 620 * 621 * returns a future to the operation so that it can be executed in parallel to other requests. 622 */ 623 virtual Model::DeleteRuleGroupOutcomeCallable DeleteRuleGroupCallable(const Model::DeleteRuleGroupRequest& request) const; 624 625 /** 626 * <p>Deletes the specified <a>RuleGroup</a>. </p><p><h3>See Also:</h3> <a 627 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DeleteRuleGroup">AWS 628 * API Reference</a></p> 629 * 630 * Queues the request into a thread executor and triggers associated callback when operation has finished. 631 */ 632 virtual void DeleteRuleGroupAsync(const Model::DeleteRuleGroupRequest& request, const DeleteRuleGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 633 634 /** 635 * <p>Returns the data objects for the specified firewall. </p><p><h3>See 636 * Also:</h3> <a 637 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeFirewall">AWS 638 * API Reference</a></p> 639 */ 640 virtual Model::DescribeFirewallOutcome DescribeFirewall(const Model::DescribeFirewallRequest& request) const; 641 642 /** 643 * <p>Returns the data objects for the specified firewall. </p><p><h3>See 644 * Also:</h3> <a 645 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeFirewall">AWS 646 * API Reference</a></p> 647 * 648 * returns a future to the operation so that it can be executed in parallel to other requests. 649 */ 650 virtual Model::DescribeFirewallOutcomeCallable DescribeFirewallCallable(const Model::DescribeFirewallRequest& request) const; 651 652 /** 653 * <p>Returns the data objects for the specified firewall. </p><p><h3>See 654 * Also:</h3> <a 655 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeFirewall">AWS 656 * API Reference</a></p> 657 * 658 * Queues the request into a thread executor and triggers associated callback when operation has finished. 659 */ 660 virtual void DescribeFirewallAsync(const Model::DescribeFirewallRequest& request, const DescribeFirewallResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 661 662 /** 663 * <p>Returns the data objects for the specified firewall policy. </p><p><h3>See 664 * Also:</h3> <a 665 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeFirewallPolicy">AWS 666 * API Reference</a></p> 667 */ 668 virtual Model::DescribeFirewallPolicyOutcome DescribeFirewallPolicy(const Model::DescribeFirewallPolicyRequest& request) const; 669 670 /** 671 * <p>Returns the data objects for the specified firewall policy. </p><p><h3>See 672 * Also:</h3> <a 673 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeFirewallPolicy">AWS 674 * API Reference</a></p> 675 * 676 * returns a future to the operation so that it can be executed in parallel to other requests. 677 */ 678 virtual Model::DescribeFirewallPolicyOutcomeCallable DescribeFirewallPolicyCallable(const Model::DescribeFirewallPolicyRequest& request) const; 679 680 /** 681 * <p>Returns the data objects for the specified firewall policy. </p><p><h3>See 682 * Also:</h3> <a 683 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeFirewallPolicy">AWS 684 * API Reference</a></p> 685 * 686 * Queues the request into a thread executor and triggers associated callback when operation has finished. 687 */ 688 virtual void DescribeFirewallPolicyAsync(const Model::DescribeFirewallPolicyRequest& request, const DescribeFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 689 690 /** 691 * <p>Returns the logging configuration for the specified firewall. </p><p><h3>See 692 * Also:</h3> <a 693 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeLoggingConfiguration">AWS 694 * API Reference</a></p> 695 */ 696 virtual Model::DescribeLoggingConfigurationOutcome DescribeLoggingConfiguration(const Model::DescribeLoggingConfigurationRequest& request) const; 697 698 /** 699 * <p>Returns the logging configuration for the specified firewall. </p><p><h3>See 700 * Also:</h3> <a 701 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeLoggingConfiguration">AWS 702 * API Reference</a></p> 703 * 704 * returns a future to the operation so that it can be executed in parallel to other requests. 705 */ 706 virtual Model::DescribeLoggingConfigurationOutcomeCallable DescribeLoggingConfigurationCallable(const Model::DescribeLoggingConfigurationRequest& request) const; 707 708 /** 709 * <p>Returns the logging configuration for the specified firewall. </p><p><h3>See 710 * Also:</h3> <a 711 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeLoggingConfiguration">AWS 712 * API Reference</a></p> 713 * 714 * Queues the request into a thread executor and triggers associated callback when operation has finished. 715 */ 716 virtual void DescribeLoggingConfigurationAsync(const Model::DescribeLoggingConfigurationRequest& request, const DescribeLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 717 718 /** 719 * <p>Retrieves a resource policy that you created in a <a>PutResourcePolicy</a> 720 * request. </p><p><h3>See Also:</h3> <a 721 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeResourcePolicy">AWS 722 * API Reference</a></p> 723 */ 724 virtual Model::DescribeResourcePolicyOutcome DescribeResourcePolicy(const Model::DescribeResourcePolicyRequest& request) const; 725 726 /** 727 * <p>Retrieves a resource policy that you created in a <a>PutResourcePolicy</a> 728 * request. </p><p><h3>See Also:</h3> <a 729 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeResourcePolicy">AWS 730 * API Reference</a></p> 731 * 732 * returns a future to the operation so that it can be executed in parallel to other requests. 733 */ 734 virtual Model::DescribeResourcePolicyOutcomeCallable DescribeResourcePolicyCallable(const Model::DescribeResourcePolicyRequest& request) const; 735 736 /** 737 * <p>Retrieves a resource policy that you created in a <a>PutResourcePolicy</a> 738 * request. </p><p><h3>See Also:</h3> <a 739 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeResourcePolicy">AWS 740 * API Reference</a></p> 741 * 742 * Queues the request into a thread executor and triggers associated callback when operation has finished. 743 */ 744 virtual void DescribeResourcePolicyAsync(const Model::DescribeResourcePolicyRequest& request, const DescribeResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 745 746 /** 747 * <p>Returns the data objects for the specified rule group. </p><p><h3>See 748 * Also:</h3> <a 749 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeRuleGroup">AWS 750 * API Reference</a></p> 751 */ 752 virtual Model::DescribeRuleGroupOutcome DescribeRuleGroup(const Model::DescribeRuleGroupRequest& request) const; 753 754 /** 755 * <p>Returns the data objects for the specified rule group. </p><p><h3>See 756 * Also:</h3> <a 757 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeRuleGroup">AWS 758 * API Reference</a></p> 759 * 760 * returns a future to the operation so that it can be executed in parallel to other requests. 761 */ 762 virtual Model::DescribeRuleGroupOutcomeCallable DescribeRuleGroupCallable(const Model::DescribeRuleGroupRequest& request) const; 763 764 /** 765 * <p>Returns the data objects for the specified rule group. </p><p><h3>See 766 * Also:</h3> <a 767 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DescribeRuleGroup">AWS 768 * API Reference</a></p> 769 * 770 * Queues the request into a thread executor and triggers associated callback when operation has finished. 771 */ 772 virtual void DescribeRuleGroupAsync(const Model::DescribeRuleGroupRequest& request, const DescribeRuleGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 773 774 /** 775 * <p>Removes the specified subnet associations from the firewall. This removes the 776 * firewall endpoints from the subnets and removes any network filtering 777 * protections that the endpoints were providing. </p><p><h3>See Also:</h3> <a 778 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DisassociateSubnets">AWS 779 * API Reference</a></p> 780 */ 781 virtual Model::DisassociateSubnetsOutcome DisassociateSubnets(const Model::DisassociateSubnetsRequest& request) const; 782 783 /** 784 * <p>Removes the specified subnet associations from the firewall. This removes the 785 * firewall endpoints from the subnets and removes any network filtering 786 * protections that the endpoints were providing. </p><p><h3>See Also:</h3> <a 787 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DisassociateSubnets">AWS 788 * API Reference</a></p> 789 * 790 * returns a future to the operation so that it can be executed in parallel to other requests. 791 */ 792 virtual Model::DisassociateSubnetsOutcomeCallable DisassociateSubnetsCallable(const Model::DisassociateSubnetsRequest& request) const; 793 794 /** 795 * <p>Removes the specified subnet associations from the firewall. This removes the 796 * firewall endpoints from the subnets and removes any network filtering 797 * protections that the endpoints were providing. </p><p><h3>See Also:</h3> <a 798 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/DisassociateSubnets">AWS 799 * API Reference</a></p> 800 * 801 * Queues the request into a thread executor and triggers associated callback when operation has finished. 802 */ 803 virtual void DisassociateSubnetsAsync(const Model::DisassociateSubnetsRequest& request, const DisassociateSubnetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 804 805 /** 806 * <p>Retrieves the metadata for the firewall policies that you have defined. 807 * Depending on your setting for max results and the number of firewall policies, a 808 * single call might not return the full list. </p><p><h3>See Also:</h3> <a 809 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListFirewallPolicies">AWS 810 * API Reference</a></p> 811 */ 812 virtual Model::ListFirewallPoliciesOutcome ListFirewallPolicies(const Model::ListFirewallPoliciesRequest& request) const; 813 814 /** 815 * <p>Retrieves the metadata for the firewall policies that you have defined. 816 * Depending on your setting for max results and the number of firewall policies, a 817 * single call might not return the full list. </p><p><h3>See Also:</h3> <a 818 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListFirewallPolicies">AWS 819 * API Reference</a></p> 820 * 821 * returns a future to the operation so that it can be executed in parallel to other requests. 822 */ 823 virtual Model::ListFirewallPoliciesOutcomeCallable ListFirewallPoliciesCallable(const Model::ListFirewallPoliciesRequest& request) const; 824 825 /** 826 * <p>Retrieves the metadata for the firewall policies that you have defined. 827 * Depending on your setting for max results and the number of firewall policies, a 828 * single call might not return the full list. </p><p><h3>See Also:</h3> <a 829 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListFirewallPolicies">AWS 830 * API Reference</a></p> 831 * 832 * Queues the request into a thread executor and triggers associated callback when operation has finished. 833 */ 834 virtual void ListFirewallPoliciesAsync(const Model::ListFirewallPoliciesRequest& request, const ListFirewallPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 835 836 /** 837 * <p>Retrieves the metadata for the firewalls that you have defined. If you 838 * provide VPC identifiers in your request, this returns only the firewalls for 839 * those VPCs.</p> <p>Depending on your setting for max results and the number of 840 * firewalls, a single call might not return the full list. </p><p><h3>See 841 * Also:</h3> <a 842 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListFirewalls">AWS 843 * API Reference</a></p> 844 */ 845 virtual Model::ListFirewallsOutcome ListFirewalls(const Model::ListFirewallsRequest& request) const; 846 847 /** 848 * <p>Retrieves the metadata for the firewalls that you have defined. If you 849 * provide VPC identifiers in your request, this returns only the firewalls for 850 * those VPCs.</p> <p>Depending on your setting for max results and the number of 851 * firewalls, a single call might not return the full list. </p><p><h3>See 852 * Also:</h3> <a 853 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListFirewalls">AWS 854 * API Reference</a></p> 855 * 856 * returns a future to the operation so that it can be executed in parallel to other requests. 857 */ 858 virtual Model::ListFirewallsOutcomeCallable ListFirewallsCallable(const Model::ListFirewallsRequest& request) const; 859 860 /** 861 * <p>Retrieves the metadata for the firewalls that you have defined. If you 862 * provide VPC identifiers in your request, this returns only the firewalls for 863 * those VPCs.</p> <p>Depending on your setting for max results and the number of 864 * firewalls, a single call might not return the full list. </p><p><h3>See 865 * Also:</h3> <a 866 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListFirewalls">AWS 867 * API Reference</a></p> 868 * 869 * Queues the request into a thread executor and triggers associated callback when operation has finished. 870 */ 871 virtual void ListFirewallsAsync(const Model::ListFirewallsRequest& request, const ListFirewallsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 872 873 /** 874 * <p>Retrieves the metadata for the rule groups that you have defined. Depending 875 * on your setting for max results and the number of rule groups, a single call 876 * might not return the full list. </p><p><h3>See Also:</h3> <a 877 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListRuleGroups">AWS 878 * API Reference</a></p> 879 */ 880 virtual Model::ListRuleGroupsOutcome ListRuleGroups(const Model::ListRuleGroupsRequest& request) const; 881 882 /** 883 * <p>Retrieves the metadata for the rule groups that you have defined. Depending 884 * on your setting for max results and the number of rule groups, a single call 885 * might not return the full list. </p><p><h3>See Also:</h3> <a 886 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListRuleGroups">AWS 887 * API Reference</a></p> 888 * 889 * returns a future to the operation so that it can be executed in parallel to other requests. 890 */ 891 virtual Model::ListRuleGroupsOutcomeCallable ListRuleGroupsCallable(const Model::ListRuleGroupsRequest& request) const; 892 893 /** 894 * <p>Retrieves the metadata for the rule groups that you have defined. Depending 895 * on your setting for max results and the number of rule groups, a single call 896 * might not return the full list. </p><p><h3>See Also:</h3> <a 897 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListRuleGroups">AWS 898 * API Reference</a></p> 899 * 900 * Queues the request into a thread executor and triggers associated callback when operation has finished. 901 */ 902 virtual void ListRuleGroupsAsync(const Model::ListRuleGroupsRequest& request, const ListRuleGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 903 904 /** 905 * <p>Retrieves the tags associated with the specified resource. Tags are key:value 906 * pairs that you can use to categorize and manage your resources, for purposes 907 * like billing. For example, you might set the tag key to "customer" and the value 908 * to the customer name or ID. You can specify one or more tags to add to each AWS 909 * resource, up to 50 tags for a resource.</p> <p>You can tag the AWS resources 910 * that you manage through AWS Network Firewall: firewalls, firewall policies, and 911 * rule groups. </p><p><h3>See Also:</h3> <a 912 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListTagsForResource">AWS 913 * API Reference</a></p> 914 */ 915 virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; 916 917 /** 918 * <p>Retrieves the tags associated with the specified resource. Tags are key:value 919 * pairs that you can use to categorize and manage your resources, for purposes 920 * like billing. For example, you might set the tag key to "customer" and the value 921 * to the customer name or ID. You can specify one or more tags to add to each AWS 922 * resource, up to 50 tags for a resource.</p> <p>You can tag the AWS resources 923 * that you manage through AWS Network Firewall: firewalls, firewall policies, and 924 * rule groups. </p><p><h3>See Also:</h3> <a 925 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListTagsForResource">AWS 926 * API Reference</a></p> 927 * 928 * returns a future to the operation so that it can be executed in parallel to other requests. 929 */ 930 virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; 931 932 /** 933 * <p>Retrieves the tags associated with the specified resource. Tags are key:value 934 * pairs that you can use to categorize and manage your resources, for purposes 935 * like billing. For example, you might set the tag key to "customer" and the value 936 * to the customer name or ID. You can specify one or more tags to add to each AWS 937 * resource, up to 50 tags for a resource.</p> <p>You can tag the AWS resources 938 * that you manage through AWS Network Firewall: firewalls, firewall policies, and 939 * rule groups. </p><p><h3>See Also:</h3> <a 940 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListTagsForResource">AWS 941 * API Reference</a></p> 942 * 943 * Queues the request into a thread executor and triggers associated callback when operation has finished. 944 */ 945 virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 946 947 /** 948 * <p>Creates or updates an AWS Identity and Access Management policy for your rule 949 * group or firewall policy. Use this to share rule groups and firewall policies 950 * between accounts. This operation works in conjunction with the AWS Resource 951 * Access Manager (RAM) service to manage resource sharing for Network Firewall. 952 * </p> <p>Use this operation to create or update a resource policy for your rule 953 * group or firewall policy. In the policy, you specify the accounts that you want 954 * to share the resource with and the operations that you want the accounts to be 955 * able to perform. </p> <p>When you add an account in the resource policy, you 956 * then run the following Resource Access Manager (RAM) operations to access and 957 * accept the shared rule group or firewall policy. </p> <ul> <li> <p> <a 958 * href="https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html">GetResourceShareInvitations</a> 959 * - Returns the Amazon Resource Names (ARNs) of the resource share invitations. 960 * </p> </li> <li> <p> <a 961 * href="https://docs.aws.amazon.com/ram/latest/APIReference/API_AcceptResourceShareInvitation.html">AcceptResourceShareInvitation</a> 962 * - Accepts the share invitation for a specified resource share. </p> </li> </ul> 963 * <p>For additional information about resource sharing using RAM, see <a 964 * href="https://docs.aws.amazon.com/ram/latest/userguide/what-is.html">AWS 965 * Resource Access Manager User Guide</a>.</p><p><h3>See Also:</h3> <a 966 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/PutResourcePolicy">AWS 967 * API Reference</a></p> 968 */ 969 virtual Model::PutResourcePolicyOutcome PutResourcePolicy(const Model::PutResourcePolicyRequest& request) const; 970 971 /** 972 * <p>Creates or updates an AWS Identity and Access Management policy for your rule 973 * group or firewall policy. Use this to share rule groups and firewall policies 974 * between accounts. This operation works in conjunction with the AWS Resource 975 * Access Manager (RAM) service to manage resource sharing for Network Firewall. 976 * </p> <p>Use this operation to create or update a resource policy for your rule 977 * group or firewall policy. In the policy, you specify the accounts that you want 978 * to share the resource with and the operations that you want the accounts to be 979 * able to perform. </p> <p>When you add an account in the resource policy, you 980 * then run the following Resource Access Manager (RAM) operations to access and 981 * accept the shared rule group or firewall policy. </p> <ul> <li> <p> <a 982 * href="https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html">GetResourceShareInvitations</a> 983 * - Returns the Amazon Resource Names (ARNs) of the resource share invitations. 984 * </p> </li> <li> <p> <a 985 * href="https://docs.aws.amazon.com/ram/latest/APIReference/API_AcceptResourceShareInvitation.html">AcceptResourceShareInvitation</a> 986 * - Accepts the share invitation for a specified resource share. </p> </li> </ul> 987 * <p>For additional information about resource sharing using RAM, see <a 988 * href="https://docs.aws.amazon.com/ram/latest/userguide/what-is.html">AWS 989 * Resource Access Manager User Guide</a>.</p><p><h3>See Also:</h3> <a 990 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/PutResourcePolicy">AWS 991 * API Reference</a></p> 992 * 993 * returns a future to the operation so that it can be executed in parallel to other requests. 994 */ 995 virtual Model::PutResourcePolicyOutcomeCallable PutResourcePolicyCallable(const Model::PutResourcePolicyRequest& request) const; 996 997 /** 998 * <p>Creates or updates an AWS Identity and Access Management policy for your rule 999 * group or firewall policy. Use this to share rule groups and firewall policies 1000 * between accounts. This operation works in conjunction with the AWS Resource 1001 * Access Manager (RAM) service to manage resource sharing for Network Firewall. 1002 * </p> <p>Use this operation to create or update a resource policy for your rule 1003 * group or firewall policy. In the policy, you specify the accounts that you want 1004 * to share the resource with and the operations that you want the accounts to be 1005 * able to perform. </p> <p>When you add an account in the resource policy, you 1006 * then run the following Resource Access Manager (RAM) operations to access and 1007 * accept the shared rule group or firewall policy. </p> <ul> <li> <p> <a 1008 * href="https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html">GetResourceShareInvitations</a> 1009 * - Returns the Amazon Resource Names (ARNs) of the resource share invitations. 1010 * </p> </li> <li> <p> <a 1011 * href="https://docs.aws.amazon.com/ram/latest/APIReference/API_AcceptResourceShareInvitation.html">AcceptResourceShareInvitation</a> 1012 * - Accepts the share invitation for a specified resource share. </p> </li> </ul> 1013 * <p>For additional information about resource sharing using RAM, see <a 1014 * href="https://docs.aws.amazon.com/ram/latest/userguide/what-is.html">AWS 1015 * Resource Access Manager User Guide</a>.</p><p><h3>See Also:</h3> <a 1016 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/PutResourcePolicy">AWS 1017 * API Reference</a></p> 1018 * 1019 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1020 */ 1021 virtual void PutResourcePolicyAsync(const Model::PutResourcePolicyRequest& request, const PutResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1022 1023 /** 1024 * <p>Adds the specified tags to the specified resource. Tags are key:value pairs 1025 * that you can use to categorize and manage your resources, for purposes like 1026 * billing. For example, you might set the tag key to "customer" and the value to 1027 * the customer name or ID. You can specify one or more tags to add to each AWS 1028 * resource, up to 50 tags for a resource.</p> <p>You can tag the AWS resources 1029 * that you manage through AWS Network Firewall: firewalls, firewall policies, and 1030 * rule groups. </p><p><h3>See Also:</h3> <a 1031 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/TagResource">AWS 1032 * API Reference</a></p> 1033 */ 1034 virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; 1035 1036 /** 1037 * <p>Adds the specified tags to the specified resource. Tags are key:value pairs 1038 * that you can use to categorize and manage your resources, for purposes like 1039 * billing. For example, you might set the tag key to "customer" and the value to 1040 * the customer name or ID. You can specify one or more tags to add to each AWS 1041 * resource, up to 50 tags for a resource.</p> <p>You can tag the AWS resources 1042 * that you manage through AWS Network Firewall: firewalls, firewall policies, and 1043 * rule groups. </p><p><h3>See Also:</h3> <a 1044 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/TagResource">AWS 1045 * API Reference</a></p> 1046 * 1047 * returns a future to the operation so that it can be executed in parallel to other requests. 1048 */ 1049 virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; 1050 1051 /** 1052 * <p>Adds the specified tags to the specified resource. Tags are key:value pairs 1053 * that you can use to categorize and manage your resources, for purposes like 1054 * billing. For example, you might set the tag key to "customer" and the value to 1055 * the customer name or ID. You can specify one or more tags to add to each AWS 1056 * resource, up to 50 tags for a resource.</p> <p>You can tag the AWS resources 1057 * that you manage through AWS Network Firewall: firewalls, firewall policies, and 1058 * rule groups. </p><p><h3>See Also:</h3> <a 1059 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/TagResource">AWS 1060 * API Reference</a></p> 1061 * 1062 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1063 */ 1064 virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1065 1066 /** 1067 * <p>Removes the tags with the specified keys from the specified resource. Tags 1068 * are key:value pairs that you can use to categorize and manage your resources, 1069 * for purposes like billing. For example, you might set the tag key to "customer" 1070 * and the value to the customer name or ID. You can specify one or more tags to 1071 * add to each AWS resource, up to 50 tags for a resource.</p> <p>You can manage 1072 * tags for the AWS resources that you manage through AWS Network Firewall: 1073 * firewalls, firewall policies, and rule groups. </p><p><h3>See Also:</h3> <a 1074 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UntagResource">AWS 1075 * API Reference</a></p> 1076 */ 1077 virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; 1078 1079 /** 1080 * <p>Removes the tags with the specified keys from the specified resource. Tags 1081 * are key:value pairs that you can use to categorize and manage your resources, 1082 * for purposes like billing. For example, you might set the tag key to "customer" 1083 * and the value to the customer name or ID. You can specify one or more tags to 1084 * add to each AWS resource, up to 50 tags for a resource.</p> <p>You can manage 1085 * tags for the AWS resources that you manage through AWS Network Firewall: 1086 * firewalls, firewall policies, and rule groups. </p><p><h3>See Also:</h3> <a 1087 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UntagResource">AWS 1088 * API Reference</a></p> 1089 * 1090 * returns a future to the operation so that it can be executed in parallel to other requests. 1091 */ 1092 virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; 1093 1094 /** 1095 * <p>Removes the tags with the specified keys from the specified resource. Tags 1096 * are key:value pairs that you can use to categorize and manage your resources, 1097 * for purposes like billing. For example, you might set the tag key to "customer" 1098 * and the value to the customer name or ID. You can specify one or more tags to 1099 * add to each AWS resource, up to 50 tags for a resource.</p> <p>You can manage 1100 * tags for the AWS resources that you manage through AWS Network Firewall: 1101 * firewalls, firewall policies, and rule groups. </p><p><h3>See Also:</h3> <a 1102 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UntagResource">AWS 1103 * API Reference</a></p> 1104 * 1105 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1106 */ 1107 virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1108 1109 /** 1110 * <p>Modifies the flag, <code>DeleteProtection</code>, which indicates whether it 1111 * is possible to delete the firewall. If the flag is set to <code>TRUE</code>, the 1112 * firewall is protected against deletion. This setting helps protect against 1113 * accidentally deleting a firewall that's in use. </p><p><h3>See Also:</h3> <a 1114 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallDeleteProtection">AWS 1115 * API Reference</a></p> 1116 */ 1117 virtual Model::UpdateFirewallDeleteProtectionOutcome UpdateFirewallDeleteProtection(const Model::UpdateFirewallDeleteProtectionRequest& request) const; 1118 1119 /** 1120 * <p>Modifies the flag, <code>DeleteProtection</code>, which indicates whether it 1121 * is possible to delete the firewall. If the flag is set to <code>TRUE</code>, the 1122 * firewall is protected against deletion. This setting helps protect against 1123 * accidentally deleting a firewall that's in use. </p><p><h3>See Also:</h3> <a 1124 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallDeleteProtection">AWS 1125 * API Reference</a></p> 1126 * 1127 * returns a future to the operation so that it can be executed in parallel to other requests. 1128 */ 1129 virtual Model::UpdateFirewallDeleteProtectionOutcomeCallable UpdateFirewallDeleteProtectionCallable(const Model::UpdateFirewallDeleteProtectionRequest& request) const; 1130 1131 /** 1132 * <p>Modifies the flag, <code>DeleteProtection</code>, which indicates whether it 1133 * is possible to delete the firewall. If the flag is set to <code>TRUE</code>, the 1134 * firewall is protected against deletion. This setting helps protect against 1135 * accidentally deleting a firewall that's in use. </p><p><h3>See Also:</h3> <a 1136 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallDeleteProtection">AWS 1137 * API Reference</a></p> 1138 * 1139 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1140 */ 1141 virtual void UpdateFirewallDeleteProtectionAsync(const Model::UpdateFirewallDeleteProtectionRequest& request, const UpdateFirewallDeleteProtectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1142 1143 /** 1144 * <p>Modifies the description for the specified firewall. Use the description to 1145 * help you identify the firewall when you're working with it. </p><p><h3>See 1146 * Also:</h3> <a 1147 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallDescription">AWS 1148 * API Reference</a></p> 1149 */ 1150 virtual Model::UpdateFirewallDescriptionOutcome UpdateFirewallDescription(const Model::UpdateFirewallDescriptionRequest& request) const; 1151 1152 /** 1153 * <p>Modifies the description for the specified firewall. Use the description to 1154 * help you identify the firewall when you're working with it. </p><p><h3>See 1155 * Also:</h3> <a 1156 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallDescription">AWS 1157 * API Reference</a></p> 1158 * 1159 * returns a future to the operation so that it can be executed in parallel to other requests. 1160 */ 1161 virtual Model::UpdateFirewallDescriptionOutcomeCallable UpdateFirewallDescriptionCallable(const Model::UpdateFirewallDescriptionRequest& request) const; 1162 1163 /** 1164 * <p>Modifies the description for the specified firewall. Use the description to 1165 * help you identify the firewall when you're working with it. </p><p><h3>See 1166 * Also:</h3> <a 1167 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallDescription">AWS 1168 * API Reference</a></p> 1169 * 1170 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1171 */ 1172 virtual void UpdateFirewallDescriptionAsync(const Model::UpdateFirewallDescriptionRequest& request, const UpdateFirewallDescriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1173 1174 /** 1175 * <p>Updates the properties of the specified firewall policy.</p><p><h3>See 1176 * Also:</h3> <a 1177 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallPolicy">AWS 1178 * API Reference</a></p> 1179 */ 1180 virtual Model::UpdateFirewallPolicyOutcome UpdateFirewallPolicy(const Model::UpdateFirewallPolicyRequest& request) const; 1181 1182 /** 1183 * <p>Updates the properties of the specified firewall policy.</p><p><h3>See 1184 * Also:</h3> <a 1185 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallPolicy">AWS 1186 * API Reference</a></p> 1187 * 1188 * returns a future to the operation so that it can be executed in parallel to other requests. 1189 */ 1190 virtual Model::UpdateFirewallPolicyOutcomeCallable UpdateFirewallPolicyCallable(const Model::UpdateFirewallPolicyRequest& request) const; 1191 1192 /** 1193 * <p>Updates the properties of the specified firewall policy.</p><p><h3>See 1194 * Also:</h3> <a 1195 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallPolicy">AWS 1196 * API Reference</a></p> 1197 * 1198 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1199 */ 1200 virtual void UpdateFirewallPolicyAsync(const Model::UpdateFirewallPolicyRequest& request, const UpdateFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1201 1202 /** 1203 * <p/><p><h3>See Also:</h3> <a 1204 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallPolicyChangeProtection">AWS 1205 * API Reference</a></p> 1206 */ 1207 virtual Model::UpdateFirewallPolicyChangeProtectionOutcome UpdateFirewallPolicyChangeProtection(const Model::UpdateFirewallPolicyChangeProtectionRequest& request) const; 1208 1209 /** 1210 * <p/><p><h3>See Also:</h3> <a 1211 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallPolicyChangeProtection">AWS 1212 * API Reference</a></p> 1213 * 1214 * returns a future to the operation so that it can be executed in parallel to other requests. 1215 */ 1216 virtual Model::UpdateFirewallPolicyChangeProtectionOutcomeCallable UpdateFirewallPolicyChangeProtectionCallable(const Model::UpdateFirewallPolicyChangeProtectionRequest& request) const; 1217 1218 /** 1219 * <p/><p><h3>See Also:</h3> <a 1220 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateFirewallPolicyChangeProtection">AWS 1221 * API Reference</a></p> 1222 * 1223 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1224 */ 1225 virtual void UpdateFirewallPolicyChangeProtectionAsync(const Model::UpdateFirewallPolicyChangeProtectionRequest& request, const UpdateFirewallPolicyChangeProtectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1226 1227 /** 1228 * <p>Sets the logging configuration for the specified firewall. </p> <p>To change 1229 * the logging configuration, retrieve the <a>LoggingConfiguration</a> by calling 1230 * <a>DescribeLoggingConfiguration</a>, then change it and provide the modified 1231 * object to this update call. You must change the logging configuration one 1232 * <a>LogDestinationConfig</a> at a time inside the retrieved 1233 * <a>LoggingConfiguration</a> object. </p> <p>You can perform only one of the 1234 * following actions in any call to <code>UpdateLoggingConfiguration</code>: </p> 1235 * <ul> <li> <p>Create a new log destination object by adding a single 1236 * <code>LogDestinationConfig</code> array element to 1237 * <code>LogDestinationConfigs</code>.</p> </li> <li> <p>Delete a log destination 1238 * object by removing a single <code>LogDestinationConfig</code> array element from 1239 * <code>LogDestinationConfigs</code>.</p> </li> <li> <p>Change the 1240 * <code>LogDestination</code> setting in a single 1241 * <code>LogDestinationConfig</code> array element.</p> </li> </ul> <p>You can't 1242 * change the <code>LogDestinationType</code> or <code>LogType</code> in a 1243 * <code>LogDestinationConfig</code>. To change these settings, delete the existing 1244 * <code>LogDestinationConfig</code> object and create a new one, using two 1245 * separate calls to this update operation.</p><p><h3>See Also:</h3> <a 1246 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateLoggingConfiguration">AWS 1247 * API Reference</a></p> 1248 */ 1249 virtual Model::UpdateLoggingConfigurationOutcome UpdateLoggingConfiguration(const Model::UpdateLoggingConfigurationRequest& request) const; 1250 1251 /** 1252 * <p>Sets the logging configuration for the specified firewall. </p> <p>To change 1253 * the logging configuration, retrieve the <a>LoggingConfiguration</a> by calling 1254 * <a>DescribeLoggingConfiguration</a>, then change it and provide the modified 1255 * object to this update call. You must change the logging configuration one 1256 * <a>LogDestinationConfig</a> at a time inside the retrieved 1257 * <a>LoggingConfiguration</a> object. </p> <p>You can perform only one of the 1258 * following actions in any call to <code>UpdateLoggingConfiguration</code>: </p> 1259 * <ul> <li> <p>Create a new log destination object by adding a single 1260 * <code>LogDestinationConfig</code> array element to 1261 * <code>LogDestinationConfigs</code>.</p> </li> <li> <p>Delete a log destination 1262 * object by removing a single <code>LogDestinationConfig</code> array element from 1263 * <code>LogDestinationConfigs</code>.</p> </li> <li> <p>Change the 1264 * <code>LogDestination</code> setting in a single 1265 * <code>LogDestinationConfig</code> array element.</p> </li> </ul> <p>You can't 1266 * change the <code>LogDestinationType</code> or <code>LogType</code> in a 1267 * <code>LogDestinationConfig</code>. To change these settings, delete the existing 1268 * <code>LogDestinationConfig</code> object and create a new one, using two 1269 * separate calls to this update operation.</p><p><h3>See Also:</h3> <a 1270 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateLoggingConfiguration">AWS 1271 * API Reference</a></p> 1272 * 1273 * returns a future to the operation so that it can be executed in parallel to other requests. 1274 */ 1275 virtual Model::UpdateLoggingConfigurationOutcomeCallable UpdateLoggingConfigurationCallable(const Model::UpdateLoggingConfigurationRequest& request) const; 1276 1277 /** 1278 * <p>Sets the logging configuration for the specified firewall. </p> <p>To change 1279 * the logging configuration, retrieve the <a>LoggingConfiguration</a> by calling 1280 * <a>DescribeLoggingConfiguration</a>, then change it and provide the modified 1281 * object to this update call. You must change the logging configuration one 1282 * <a>LogDestinationConfig</a> at a time inside the retrieved 1283 * <a>LoggingConfiguration</a> object. </p> <p>You can perform only one of the 1284 * following actions in any call to <code>UpdateLoggingConfiguration</code>: </p> 1285 * <ul> <li> <p>Create a new log destination object by adding a single 1286 * <code>LogDestinationConfig</code> array element to 1287 * <code>LogDestinationConfigs</code>.</p> </li> <li> <p>Delete a log destination 1288 * object by removing a single <code>LogDestinationConfig</code> array element from 1289 * <code>LogDestinationConfigs</code>.</p> </li> <li> <p>Change the 1290 * <code>LogDestination</code> setting in a single 1291 * <code>LogDestinationConfig</code> array element.</p> </li> </ul> <p>You can't 1292 * change the <code>LogDestinationType</code> or <code>LogType</code> in a 1293 * <code>LogDestinationConfig</code>. To change these settings, delete the existing 1294 * <code>LogDestinationConfig</code> object and create a new one, using two 1295 * separate calls to this update operation.</p><p><h3>See Also:</h3> <a 1296 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateLoggingConfiguration">AWS 1297 * API Reference</a></p> 1298 * 1299 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1300 */ 1301 virtual void UpdateLoggingConfigurationAsync(const Model::UpdateLoggingConfigurationRequest& request, const UpdateLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1302 1303 /** 1304 * <p>Updates the rule settings for the specified rule group. You use a rule group 1305 * by reference in one or more firewall policies. When you modify a rule group, you 1306 * modify all firewall policies that use the rule group. </p> <p>To update a rule 1307 * group, first call <a>DescribeRuleGroup</a> to retrieve the current 1308 * <a>RuleGroup</a> object, update the object as needed, and then provide the 1309 * updated object to this call. </p><p><h3>See Also:</h3> <a 1310 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateRuleGroup">AWS 1311 * API Reference</a></p> 1312 */ 1313 virtual Model::UpdateRuleGroupOutcome UpdateRuleGroup(const Model::UpdateRuleGroupRequest& request) const; 1314 1315 /** 1316 * <p>Updates the rule settings for the specified rule group. You use a rule group 1317 * by reference in one or more firewall policies. When you modify a rule group, you 1318 * modify all firewall policies that use the rule group. </p> <p>To update a rule 1319 * group, first call <a>DescribeRuleGroup</a> to retrieve the current 1320 * <a>RuleGroup</a> object, update the object as needed, and then provide the 1321 * updated object to this call. </p><p><h3>See Also:</h3> <a 1322 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateRuleGroup">AWS 1323 * API Reference</a></p> 1324 * 1325 * returns a future to the operation so that it can be executed in parallel to other requests. 1326 */ 1327 virtual Model::UpdateRuleGroupOutcomeCallable UpdateRuleGroupCallable(const Model::UpdateRuleGroupRequest& request) const; 1328 1329 /** 1330 * <p>Updates the rule settings for the specified rule group. You use a rule group 1331 * by reference in one or more firewall policies. When you modify a rule group, you 1332 * modify all firewall policies that use the rule group. </p> <p>To update a rule 1333 * group, first call <a>DescribeRuleGroup</a> to retrieve the current 1334 * <a>RuleGroup</a> object, update the object as needed, and then provide the 1335 * updated object to this call. </p><p><h3>See Also:</h3> <a 1336 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateRuleGroup">AWS 1337 * API Reference</a></p> 1338 * 1339 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1340 */ 1341 virtual void UpdateRuleGroupAsync(const Model::UpdateRuleGroupRequest& request, const UpdateRuleGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1342 1343 /** 1344 * <p/><p><h3>See Also:</h3> <a 1345 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateSubnetChangeProtection">AWS 1346 * API Reference</a></p> 1347 */ 1348 virtual Model::UpdateSubnetChangeProtectionOutcome UpdateSubnetChangeProtection(const Model::UpdateSubnetChangeProtectionRequest& request) const; 1349 1350 /** 1351 * <p/><p><h3>See Also:</h3> <a 1352 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateSubnetChangeProtection">AWS 1353 * API Reference</a></p> 1354 * 1355 * returns a future to the operation so that it can be executed in parallel to other requests. 1356 */ 1357 virtual Model::UpdateSubnetChangeProtectionOutcomeCallable UpdateSubnetChangeProtectionCallable(const Model::UpdateSubnetChangeProtectionRequest& request) const; 1358 1359 /** 1360 * <p/><p><h3>See Also:</h3> <a 1361 * href="http://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/UpdateSubnetChangeProtection">AWS 1362 * API Reference</a></p> 1363 * 1364 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1365 */ 1366 virtual void UpdateSubnetChangeProtectionAsync(const Model::UpdateSubnetChangeProtectionRequest& request, const UpdateSubnetChangeProtectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1367 1368 1369 void OverrideEndpoint(const Aws::String& endpoint); 1370 private: 1371 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 1372 void AssociateFirewallPolicyAsyncHelper(const Model::AssociateFirewallPolicyRequest& request, const AssociateFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1373 void AssociateSubnetsAsyncHelper(const Model::AssociateSubnetsRequest& request, const AssociateSubnetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1374 void CreateFirewallAsyncHelper(const Model::CreateFirewallRequest& request, const CreateFirewallResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1375 void CreateFirewallPolicyAsyncHelper(const Model::CreateFirewallPolicyRequest& request, const CreateFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1376 void CreateRuleGroupAsyncHelper(const Model::CreateRuleGroupRequest& request, const CreateRuleGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1377 void DeleteFirewallAsyncHelper(const Model::DeleteFirewallRequest& request, const DeleteFirewallResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1378 void DeleteFirewallPolicyAsyncHelper(const Model::DeleteFirewallPolicyRequest& request, const DeleteFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1379 void DeleteResourcePolicyAsyncHelper(const Model::DeleteResourcePolicyRequest& request, const DeleteResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1380 void DeleteRuleGroupAsyncHelper(const Model::DeleteRuleGroupRequest& request, const DeleteRuleGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1381 void DescribeFirewallAsyncHelper(const Model::DescribeFirewallRequest& request, const DescribeFirewallResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1382 void DescribeFirewallPolicyAsyncHelper(const Model::DescribeFirewallPolicyRequest& request, const DescribeFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1383 void DescribeLoggingConfigurationAsyncHelper(const Model::DescribeLoggingConfigurationRequest& request, const DescribeLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1384 void DescribeResourcePolicyAsyncHelper(const Model::DescribeResourcePolicyRequest& request, const DescribeResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1385 void DescribeRuleGroupAsyncHelper(const Model::DescribeRuleGroupRequest& request, const DescribeRuleGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1386 void DisassociateSubnetsAsyncHelper(const Model::DisassociateSubnetsRequest& request, const DisassociateSubnetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1387 void ListFirewallPoliciesAsyncHelper(const Model::ListFirewallPoliciesRequest& request, const ListFirewallPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1388 void ListFirewallsAsyncHelper(const Model::ListFirewallsRequest& request, const ListFirewallsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1389 void ListRuleGroupsAsyncHelper(const Model::ListRuleGroupsRequest& request, const ListRuleGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1390 void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1391 void PutResourcePolicyAsyncHelper(const Model::PutResourcePolicyRequest& request, const PutResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1392 void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1393 void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1394 void UpdateFirewallDeleteProtectionAsyncHelper(const Model::UpdateFirewallDeleteProtectionRequest& request, const UpdateFirewallDeleteProtectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1395 void UpdateFirewallDescriptionAsyncHelper(const Model::UpdateFirewallDescriptionRequest& request, const UpdateFirewallDescriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1396 void UpdateFirewallPolicyAsyncHelper(const Model::UpdateFirewallPolicyRequest& request, const UpdateFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1397 void UpdateFirewallPolicyChangeProtectionAsyncHelper(const Model::UpdateFirewallPolicyChangeProtectionRequest& request, const UpdateFirewallPolicyChangeProtectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1398 void UpdateLoggingConfigurationAsyncHelper(const Model::UpdateLoggingConfigurationRequest& request, const UpdateLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1399 void UpdateRuleGroupAsyncHelper(const Model::UpdateRuleGroupRequest& request, const UpdateRuleGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1400 void UpdateSubnetChangeProtectionAsyncHelper(const Model::UpdateSubnetChangeProtectionRequest& request, const UpdateSubnetChangeProtectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1401 1402 Aws::String m_uri; 1403 Aws::String m_configScheme; 1404 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 1405 }; 1406 1407 } // namespace NetworkFirewall 1408 } // namespace Aws 1409