/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace NetworkFirewall
{
/**
* This is the API Reference for Network Firewall. This guide is for developers
* who need detailed information about the Network Firewall API actions, data
* types, and errors.
-
The REST API requires you to handle
* connection details, such as calculating signatures, handling request retries,
* and error handling. For general information about using the Amazon Web Services
* REST APIs, see Amazon Web
* Services APIs.
To access Network Firewall using the REST API
* endpoint: https://network-firewall.<region>.amazonaws.com
*
-
Alternatively, you can use one of the Amazon Web Services
* SDKs to access an API that's tailored to the programming language or platform
* that you're using. For more information, see Amazon Web Services SDKs.
* -
For descriptions of Network Firewall features, including and
* step-by-step instructions on how to use them through the Network Firewall
* console, see the Network
* Firewall Developer Guide.
Network Firewall is a stateful,
* managed, network firewall and intrusion detection and prevention service for
* Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter
* traffic at the perimeter of your VPC. This includes filtering traffic going to
* and coming from an internet gateway, NAT gateway, or over VPN or Direct Connect.
* Network Firewall uses rules that are compatible with Suricata, a free, open
* source network analysis and threat detection engine. Network Firewall supports
* Suricata version 6.0.9. For information about Suricata, see the Suricata website.
You can use Network
* Firewall to monitor and protect your VPC traffic in a number of ways. The
* following are just a few examples:
-
Allow domains or IP
* addresses for known Amazon Web Services service endpoints, such as Amazon S3,
* and block all other forms of traffic.
-
Use custom lists of
* known bad domains to limit the types of domain names that your applications can
* access.
-
Perform deep packet inspection on traffic entering or
* leaving your VPC.
-
Use stateful protocol detection to filter
* protocols like HTTPS, regardless of the port used.
To enable
* Network Firewall for your VPCs, you perform steps in both Amazon VPC and in
* Network Firewall. For information about using Amazon VPC, see Amazon VPC User
* Guide.
To start using Network Firewall, do the following:
* -
(Optional) If you don't already have a VPC that you want to protect,
* create it in Amazon VPC.
-
In Amazon VPC, in each Availability
* Zone where you want to have a firewall endpoint, create a subnet for the sole
* use of Network Firewall.
-
In Network Firewall, create
* stateless and stateful rule groups, to define the components of the network
* traffic filtering behavior that you want your firewall to have.
-
*
In Network Firewall, create a firewall policy that uses your rule groups and
* specifies additional default traffic filtering behavior.
-
In
* Network Firewall, create a firewall and specify your new firewall policy and VPC
* subnets. Network Firewall creates a firewall endpoint in each subnet that you
* specify, with the behavior that's defined in the firewall policy.
-
*
In Amazon VPC, use ingress routing enhancements to route traffic through the
* new firewall endpoints.
*/
class AWS_NETWORKFIREWALL_API NetworkFirewallClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef NetworkFirewallClientConfiguration ClientConfigurationType;
typedef NetworkFirewallEndpointProvider EndpointProviderType;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
NetworkFirewallClient(const Aws::NetworkFirewall::NetworkFirewallClientConfiguration& clientConfiguration = Aws::NetworkFirewall::NetworkFirewallClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
NetworkFirewallClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::NetworkFirewall::NetworkFirewallClientConfiguration& clientConfiguration = Aws::NetworkFirewall::NetworkFirewallClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
NetworkFirewallClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::NetworkFirewall::NetworkFirewallClientConfiguration& clientConfiguration = Aws::NetworkFirewall::NetworkFirewallClientConfiguration());
/* Legacy constructors due deprecation */
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
NetworkFirewallClient(const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
NetworkFirewallClient(const Aws::Auth::AWSCredentials& credentials,
const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
NetworkFirewallClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~NetworkFirewallClient();
/**
* Associates a FirewallPolicy to a Firewall.
A firewall
* policy defines how to monitor and manage your VPC network traffic, using a
* collection of inspection rule groups and other settings. Each firewall requires
* one firewall policy association, and you can use the same firewall policy for
* multiple firewalls.
See Also:
AWS
* API Reference
*/
virtual Model::AssociateFirewallPolicyOutcome AssociateFirewallPolicy(const Model::AssociateFirewallPolicyRequest& request) const;
/**
* A Callable wrapper for AssociateFirewallPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssociateFirewallPolicyOutcomeCallable AssociateFirewallPolicyCallable(const AssociateFirewallPolicyRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::AssociateFirewallPolicy, request);
}
/**
* An Async wrapper for AssociateFirewallPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssociateFirewallPolicyAsync(const AssociateFirewallPolicyRequestT& request, const AssociateFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::AssociateFirewallPolicy, request, handler, context);
}
/**
* Associates the specified subnets in the Amazon VPC to the firewall. You can
* specify one subnet for each of the Availability Zones that the VPC spans.
* This request creates an Network Firewall firewall endpoint in each of the
* subnets. To enable the firewall's protections, you must also modify the VPC's
* route tables for each subnet's Availability Zone, to redirect the traffic that's
* coming into and going out of the zone through the firewall endpoint.
*
See Also:
AWS
* API Reference
*/
virtual Model::AssociateSubnetsOutcome AssociateSubnets(const Model::AssociateSubnetsRequest& request) const;
/**
* A Callable wrapper for AssociateSubnets that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssociateSubnetsOutcomeCallable AssociateSubnetsCallable(const AssociateSubnetsRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::AssociateSubnets, request);
}
/**
* An Async wrapper for AssociateSubnets that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssociateSubnetsAsync(const AssociateSubnetsRequestT& request, const AssociateSubnetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::AssociateSubnets, request, handler, context);
}
/**
* Creates an Network Firewall Firewall and accompanying
* FirewallStatus for a VPC.
The firewall defines the configuration
* settings for an Network Firewall firewall. The settings that you can define at
* creation include the firewall policy, the subnets in your VPC to use for the
* firewall endpoints, and any tags that are attached to the firewall Amazon Web
* Services resource.
After you create a firewall, you can provide
* additional settings, like the logging configuration.
To update the
* settings for a firewall, you use the operations that apply to the settings
* themselves, for example UpdateLoggingConfiguration,
* AssociateSubnets, and UpdateFirewallDeleteProtection.
To
* manage a firewall's tags, use the standard Amazon Web Services resource tagging
* operations, ListTagsForResource, TagResource, and
* UntagResource.
To retrieve information about firewalls, use
* ListFirewalls and DescribeFirewall.
See Also:
AWS
* API Reference
*/
virtual Model::CreateFirewallOutcome CreateFirewall(const Model::CreateFirewallRequest& request) const;
/**
* A Callable wrapper for CreateFirewall that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateFirewallOutcomeCallable CreateFirewallCallable(const CreateFirewallRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::CreateFirewall, request);
}
/**
* An Async wrapper for CreateFirewall that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateFirewallAsync(const CreateFirewallRequestT& request, const CreateFirewallResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::CreateFirewall, request, handler, context);
}
/**
* Creates the firewall policy for the firewall according to the specifications.
*
An Network Firewall firewall policy defines the behavior of a firewall,
* in a collection of stateless and stateful rule groups and other settings. You
* can use one firewall policy for multiple firewalls.
See Also:
* AWS
* API Reference
*/
virtual Model::CreateFirewallPolicyOutcome CreateFirewallPolicy(const Model::CreateFirewallPolicyRequest& request) const;
/**
* A Callable wrapper for CreateFirewallPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateFirewallPolicyOutcomeCallable CreateFirewallPolicyCallable(const CreateFirewallPolicyRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::CreateFirewallPolicy, request);
}
/**
* An Async wrapper for CreateFirewallPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateFirewallPolicyAsync(const CreateFirewallPolicyRequestT& request, const CreateFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::CreateFirewallPolicy, request, handler, context);
}
/**
* Creates the specified stateless or stateful rule group, which includes the
* rules for network traffic inspection, a capacity setting, and tags.
You
* provide your rule group specification in your request using either
* RuleGroup
or Rules
.
See Also:
AWS
* API Reference
*/
virtual Model::CreateRuleGroupOutcome CreateRuleGroup(const Model::CreateRuleGroupRequest& request) const;
/**
* A Callable wrapper for CreateRuleGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateRuleGroupOutcomeCallable CreateRuleGroupCallable(const CreateRuleGroupRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::CreateRuleGroup, request);
}
/**
* An Async wrapper for CreateRuleGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateRuleGroupAsync(const CreateRuleGroupRequestT& request, const CreateRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::CreateRuleGroup, request, handler, context);
}
/**
* Creates an Network Firewall TLS inspection configuration. A TLS inspection
* configuration contains the Certificate Manager certificate references that
* Network Firewall uses to decrypt and re-encrypt inbound traffic.
After
* you create a TLS inspection configuration, you associate it with a firewall
* policy.
To update the settings for a TLS inspection configuration, use
* UpdateTLSInspectionConfiguration.
To manage a TLS inspection
* configuration's tags, use the standard Amazon Web Services resource tagging
* operations, ListTagsForResource, TagResource, and
* UntagResource.
To retrieve information about TLS inspection
* configurations, use ListTLSInspectionConfigurations and
* DescribeTLSInspectionConfiguration.
For more information about
* TLS inspection configurations, see Decrypting
* SSL/TLS traffic with TLS inspection configurations in the Network
* Firewall Developer Guide.
See Also:
AWS
* API Reference
*/
virtual Model::CreateTLSInspectionConfigurationOutcome CreateTLSInspectionConfiguration(const Model::CreateTLSInspectionConfigurationRequest& request) const;
/**
* A Callable wrapper for CreateTLSInspectionConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateTLSInspectionConfigurationOutcomeCallable CreateTLSInspectionConfigurationCallable(const CreateTLSInspectionConfigurationRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::CreateTLSInspectionConfiguration, request);
}
/**
* An Async wrapper for CreateTLSInspectionConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateTLSInspectionConfigurationAsync(const CreateTLSInspectionConfigurationRequestT& request, const CreateTLSInspectionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::CreateTLSInspectionConfiguration, request, handler, context);
}
/**
* Deletes the specified Firewall and its FirewallStatus. This
* operation requires the firewall's DeleteProtection
flag to be
* FALSE
. You can't revert this operation.
You can check
* whether a firewall is in use by reviewing the route tables for the Availability
* Zones where you have firewall subnet mappings. Retrieve the subnet mappings by
* calling DescribeFirewall. You define and update the route tables through
* Amazon VPC. As needed, update the route tables for the zones to remove the
* firewall endpoints. When the route tables no longer use the firewall endpoints,
* you can remove the firewall safely.
To delete a firewall, remove the
* delete protection if you need to using UpdateFirewallDeleteProtection,
* then delete the firewall by calling DeleteFirewall.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteFirewallOutcome DeleteFirewall(const Model::DeleteFirewallRequest& request) const;
/**
* A Callable wrapper for DeleteFirewall that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteFirewallOutcomeCallable DeleteFirewallCallable(const DeleteFirewallRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DeleteFirewall, request);
}
/**
* An Async wrapper for DeleteFirewall that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteFirewallAsync(const DeleteFirewallRequestT& request, const DeleteFirewallResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DeleteFirewall, request, handler, context);
}
/**
* Deletes the specified FirewallPolicy.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteFirewallPolicyOutcome DeleteFirewallPolicy(const Model::DeleteFirewallPolicyRequest& request) const;
/**
* A Callable wrapper for DeleteFirewallPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteFirewallPolicyOutcomeCallable DeleteFirewallPolicyCallable(const DeleteFirewallPolicyRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DeleteFirewallPolicy, request);
}
/**
* An Async wrapper for DeleteFirewallPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteFirewallPolicyAsync(const DeleteFirewallPolicyRequestT& request, const DeleteFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DeleteFirewallPolicy, request, handler, context);
}
/**
* Deletes a resource policy that you created in a PutResourcePolicy
* request.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteResourcePolicyOutcome DeleteResourcePolicy(const Model::DeleteResourcePolicyRequest& request) const;
/**
* A Callable wrapper for DeleteResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteResourcePolicyOutcomeCallable DeleteResourcePolicyCallable(const DeleteResourcePolicyRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DeleteResourcePolicy, request);
}
/**
* An Async wrapper for DeleteResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteResourcePolicyAsync(const DeleteResourcePolicyRequestT& request, const DeleteResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DeleteResourcePolicy, request, handler, context);
}
/**
* Deletes the specified RuleGroup.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteRuleGroupOutcome DeleteRuleGroup(const Model::DeleteRuleGroupRequest& request) const;
/**
* A Callable wrapper for DeleteRuleGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteRuleGroupOutcomeCallable DeleteRuleGroupCallable(const DeleteRuleGroupRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DeleteRuleGroup, request);
}
/**
* An Async wrapper for DeleteRuleGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteRuleGroupAsync(const DeleteRuleGroupRequestT& request, const DeleteRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DeleteRuleGroup, request, handler, context);
}
/**
* Deletes the specified TLSInspectionConfiguration.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteTLSInspectionConfigurationOutcome DeleteTLSInspectionConfiguration(const Model::DeleteTLSInspectionConfigurationRequest& request) const;
/**
* A Callable wrapper for DeleteTLSInspectionConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteTLSInspectionConfigurationOutcomeCallable DeleteTLSInspectionConfigurationCallable(const DeleteTLSInspectionConfigurationRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DeleteTLSInspectionConfiguration, request);
}
/**
* An Async wrapper for DeleteTLSInspectionConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteTLSInspectionConfigurationAsync(const DeleteTLSInspectionConfigurationRequestT& request, const DeleteTLSInspectionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DeleteTLSInspectionConfiguration, request, handler, context);
}
/**
* Returns the data objects for the specified firewall.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeFirewallOutcome DescribeFirewall(const Model::DescribeFirewallRequest& request) const;
/**
* A Callable wrapper for DescribeFirewall that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeFirewallOutcomeCallable DescribeFirewallCallable(const DescribeFirewallRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DescribeFirewall, request);
}
/**
* An Async wrapper for DescribeFirewall that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeFirewallAsync(const DescribeFirewallRequestT& request, const DescribeFirewallResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DescribeFirewall, request, handler, context);
}
/**
* Returns the data objects for the specified firewall policy.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeFirewallPolicyOutcome DescribeFirewallPolicy(const Model::DescribeFirewallPolicyRequest& request) const;
/**
* A Callable wrapper for DescribeFirewallPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeFirewallPolicyOutcomeCallable DescribeFirewallPolicyCallable(const DescribeFirewallPolicyRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DescribeFirewallPolicy, request);
}
/**
* An Async wrapper for DescribeFirewallPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeFirewallPolicyAsync(const DescribeFirewallPolicyRequestT& request, const DescribeFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DescribeFirewallPolicy, request, handler, context);
}
/**
* Returns the logging configuration for the specified firewall.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeLoggingConfigurationOutcome DescribeLoggingConfiguration(const Model::DescribeLoggingConfigurationRequest& request) const;
/**
* A Callable wrapper for DescribeLoggingConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeLoggingConfigurationOutcomeCallable DescribeLoggingConfigurationCallable(const DescribeLoggingConfigurationRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DescribeLoggingConfiguration, request);
}
/**
* An Async wrapper for DescribeLoggingConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeLoggingConfigurationAsync(const DescribeLoggingConfigurationRequestT& request, const DescribeLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DescribeLoggingConfiguration, request, handler, context);
}
/**
* Retrieves a resource policy that you created in a PutResourcePolicy
* request.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeResourcePolicyOutcome DescribeResourcePolicy(const Model::DescribeResourcePolicyRequest& request) const;
/**
* A Callable wrapper for DescribeResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeResourcePolicyOutcomeCallable DescribeResourcePolicyCallable(const DescribeResourcePolicyRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DescribeResourcePolicy, request);
}
/**
* An Async wrapper for DescribeResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeResourcePolicyAsync(const DescribeResourcePolicyRequestT& request, const DescribeResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DescribeResourcePolicy, request, handler, context);
}
/**
* Returns the data objects for the specified rule group.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeRuleGroupOutcome DescribeRuleGroup(const Model::DescribeRuleGroupRequest& request) const;
/**
* A Callable wrapper for DescribeRuleGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeRuleGroupOutcomeCallable DescribeRuleGroupCallable(const DescribeRuleGroupRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DescribeRuleGroup, request);
}
/**
* An Async wrapper for DescribeRuleGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeRuleGroupAsync(const DescribeRuleGroupRequestT& request, const DescribeRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DescribeRuleGroup, request, handler, context);
}
/**
* High-level information about a rule group, returned by operations like create
* and describe. You can use the information provided in the metadata to retrieve
* and manage a rule group. You can retrieve all objects for a rule group by
* calling DescribeRuleGroup.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeRuleGroupMetadataOutcome DescribeRuleGroupMetadata(const Model::DescribeRuleGroupMetadataRequest& request) const;
/**
* A Callable wrapper for DescribeRuleGroupMetadata that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeRuleGroupMetadataOutcomeCallable DescribeRuleGroupMetadataCallable(const DescribeRuleGroupMetadataRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DescribeRuleGroupMetadata, request);
}
/**
* An Async wrapper for DescribeRuleGroupMetadata that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeRuleGroupMetadataAsync(const DescribeRuleGroupMetadataRequestT& request, const DescribeRuleGroupMetadataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DescribeRuleGroupMetadata, request, handler, context);
}
/**
* Returns the data objects for the specified TLS inspection
* configuration.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeTLSInspectionConfigurationOutcome DescribeTLSInspectionConfiguration(const Model::DescribeTLSInspectionConfigurationRequest& request) const;
/**
* A Callable wrapper for DescribeTLSInspectionConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeTLSInspectionConfigurationOutcomeCallable DescribeTLSInspectionConfigurationCallable(const DescribeTLSInspectionConfigurationRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DescribeTLSInspectionConfiguration, request);
}
/**
* An Async wrapper for DescribeTLSInspectionConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeTLSInspectionConfigurationAsync(const DescribeTLSInspectionConfigurationRequestT& request, const DescribeTLSInspectionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DescribeTLSInspectionConfiguration, request, handler, context);
}
/**
* Removes the specified subnet associations from the firewall. This removes the
* firewall endpoints from the subnets and removes any network filtering
* protections that the endpoints were providing.
See Also:
AWS
* API Reference
*/
virtual Model::DisassociateSubnetsOutcome DisassociateSubnets(const Model::DisassociateSubnetsRequest& request) const;
/**
* A Callable wrapper for DisassociateSubnets that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DisassociateSubnetsOutcomeCallable DisassociateSubnetsCallable(const DisassociateSubnetsRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::DisassociateSubnets, request);
}
/**
* An Async wrapper for DisassociateSubnets that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DisassociateSubnetsAsync(const DisassociateSubnetsRequestT& request, const DisassociateSubnetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::DisassociateSubnets, request, handler, context);
}
/**
* Retrieves the metadata for the firewall policies that you have defined.
* Depending on your setting for max results and the number of firewall policies, a
* single call might not return the full list.
See Also:
AWS
* API Reference
*/
virtual Model::ListFirewallPoliciesOutcome ListFirewallPolicies(const Model::ListFirewallPoliciesRequest& request) const;
/**
* A Callable wrapper for ListFirewallPolicies that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListFirewallPoliciesOutcomeCallable ListFirewallPoliciesCallable(const ListFirewallPoliciesRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::ListFirewallPolicies, request);
}
/**
* An Async wrapper for ListFirewallPolicies that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListFirewallPoliciesAsync(const ListFirewallPoliciesRequestT& request, const ListFirewallPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::ListFirewallPolicies, request, handler, context);
}
/**
* Retrieves the metadata for the firewalls that you have defined. If you
* provide VPC identifiers in your request, this returns only the firewalls for
* those VPCs.
Depending on your setting for max results and the number of
* firewalls, a single call might not return the full list.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListFirewallsOutcome ListFirewalls(const Model::ListFirewallsRequest& request) const;
/**
* A Callable wrapper for ListFirewalls that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListFirewallsOutcomeCallable ListFirewallsCallable(const ListFirewallsRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::ListFirewalls, request);
}
/**
* An Async wrapper for ListFirewalls that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListFirewallsAsync(const ListFirewallsRequestT& request, const ListFirewallsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::ListFirewalls, request, handler, context);
}
/**
* Retrieves the metadata for the rule groups that you have defined. Depending
* on your setting for max results and the number of rule groups, a single call
* might not return the full list.
See Also:
AWS
* API Reference
*/
virtual Model::ListRuleGroupsOutcome ListRuleGroups(const Model::ListRuleGroupsRequest& request) const;
/**
* A Callable wrapper for ListRuleGroups that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListRuleGroupsOutcomeCallable ListRuleGroupsCallable(const ListRuleGroupsRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::ListRuleGroups, request);
}
/**
* An Async wrapper for ListRuleGroups that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListRuleGroupsAsync(const ListRuleGroupsRequestT& request, const ListRuleGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::ListRuleGroups, request, handler, context);
}
/**
* Retrieves the metadata for the TLS inspection configurations that you have
* defined. Depending on your setting for max results and the number of TLS
* inspection configurations, a single call might not return the full
* list.
See Also:
AWS
* API Reference
*/
virtual Model::ListTLSInspectionConfigurationsOutcome ListTLSInspectionConfigurations(const Model::ListTLSInspectionConfigurationsRequest& request) const;
/**
* A Callable wrapper for ListTLSInspectionConfigurations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTLSInspectionConfigurationsOutcomeCallable ListTLSInspectionConfigurationsCallable(const ListTLSInspectionConfigurationsRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::ListTLSInspectionConfigurations, request);
}
/**
* An Async wrapper for ListTLSInspectionConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTLSInspectionConfigurationsAsync(const ListTLSInspectionConfigurationsRequestT& request, const ListTLSInspectionConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::ListTLSInspectionConfigurations, request, handler, context);
}
/**
* Retrieves the tags associated with the specified resource. Tags are key:value
* pairs that you can use to categorize and manage your resources, for purposes
* like billing. For example, you might set the tag key to "customer" and the value
* to the customer name or ID. You can specify one or more tags to add to each
* Amazon Web Services resource, up to 50 tags for a resource.
You can tag
* the Amazon Web Services resources that you manage through Network Firewall:
* firewalls, firewall policies, and rule groups.
See Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::ListTagsForResource, request, handler, context);
}
/**
* Creates or updates an IAM policy for your rule group or firewall policy. Use
* this to share rule groups and firewall policies between accounts. This operation
* works in conjunction with the Amazon Web Services Resource Access Manager (RAM)
* service to manage resource sharing for Network Firewall.
Use this
* operation to create or update a resource policy for your rule group or firewall
* policy. In the policy, you specify the accounts that you want to share the
* resource with and the operations that you want the accounts to be able to
* perform.
When you add an account in the resource policy, you then run
* the following Resource Access Manager (RAM) operations to access and accept the
* shared rule group or firewall policy.
* For additional information about resource sharing using RAM, see Resource
* Access Manager User Guide.
See Also:
AWS
* API Reference
*/
virtual Model::PutResourcePolicyOutcome PutResourcePolicy(const Model::PutResourcePolicyRequest& request) const;
/**
* A Callable wrapper for PutResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutResourcePolicyOutcomeCallable PutResourcePolicyCallable(const PutResourcePolicyRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::PutResourcePolicy, request);
}
/**
* An Async wrapper for PutResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutResourcePolicyAsync(const PutResourcePolicyRequestT& request, const PutResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::PutResourcePolicy, request, handler, context);
}
/**
* Adds the specified tags to the specified resource. Tags are key:value pairs
* that you can use to categorize and manage your resources, for purposes like
* billing. For example, you might set the tag key to "customer" and the value to
* the customer name or ID. You can specify one or more tags to add to each Amazon
* Web Services resource, up to 50 tags for a resource.
You can tag the
* Amazon Web Services resources that you manage through Network Firewall:
* firewalls, firewall policies, and rule groups.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::TagResource, request, handler, context);
}
/**
* Removes the tags with the specified keys from the specified resource. Tags
* are key:value pairs that you can use to categorize and manage your resources,
* for purposes like billing. For example, you might set the tag key to "customer"
* and the value to the customer name or ID. You can specify one or more tags to
* add to each Amazon Web Services resource, up to 50 tags for a resource.
* You can manage tags for the Amazon Web Services resources that you manage
* through Network Firewall: firewalls, firewall policies, and rule groups.
*
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::UntagResource, request, handler, context);
}
/**
* Modifies the flag, DeleteProtection
, which indicates whether it
* is possible to delete the firewall. If the flag is set to TRUE
, the
* firewall is protected against deletion. This setting helps protect against
* accidentally deleting a firewall that's in use.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateFirewallDeleteProtectionOutcome UpdateFirewallDeleteProtection(const Model::UpdateFirewallDeleteProtectionRequest& request) const;
/**
* A Callable wrapper for UpdateFirewallDeleteProtection that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateFirewallDeleteProtectionOutcomeCallable UpdateFirewallDeleteProtectionCallable(const UpdateFirewallDeleteProtectionRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::UpdateFirewallDeleteProtection, request);
}
/**
* An Async wrapper for UpdateFirewallDeleteProtection that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateFirewallDeleteProtectionAsync(const UpdateFirewallDeleteProtectionRequestT& request, const UpdateFirewallDeleteProtectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::UpdateFirewallDeleteProtection, request, handler, context);
}
/**
* Modifies the description for the specified firewall. Use the description to
* help you identify the firewall when you're working with it.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateFirewallDescriptionOutcome UpdateFirewallDescription(const Model::UpdateFirewallDescriptionRequest& request) const;
/**
* A Callable wrapper for UpdateFirewallDescription that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateFirewallDescriptionOutcomeCallable UpdateFirewallDescriptionCallable(const UpdateFirewallDescriptionRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::UpdateFirewallDescription, request);
}
/**
* An Async wrapper for UpdateFirewallDescription that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateFirewallDescriptionAsync(const UpdateFirewallDescriptionRequestT& request, const UpdateFirewallDescriptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::UpdateFirewallDescription, request, handler, context);
}
/**
* A complex type that contains settings for encryption of your firewall
* resources.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateFirewallEncryptionConfigurationOutcome UpdateFirewallEncryptionConfiguration(const Model::UpdateFirewallEncryptionConfigurationRequest& request) const;
/**
* A Callable wrapper for UpdateFirewallEncryptionConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateFirewallEncryptionConfigurationOutcomeCallable UpdateFirewallEncryptionConfigurationCallable(const UpdateFirewallEncryptionConfigurationRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::UpdateFirewallEncryptionConfiguration, request);
}
/**
* An Async wrapper for UpdateFirewallEncryptionConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateFirewallEncryptionConfigurationAsync(const UpdateFirewallEncryptionConfigurationRequestT& request, const UpdateFirewallEncryptionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::UpdateFirewallEncryptionConfiguration, request, handler, context);
}
/**
* Updates the properties of the specified firewall policy.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateFirewallPolicyOutcome UpdateFirewallPolicy(const Model::UpdateFirewallPolicyRequest& request) const;
/**
* A Callable wrapper for UpdateFirewallPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateFirewallPolicyOutcomeCallable UpdateFirewallPolicyCallable(const UpdateFirewallPolicyRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::UpdateFirewallPolicy, request);
}
/**
* An Async wrapper for UpdateFirewallPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateFirewallPolicyAsync(const UpdateFirewallPolicyRequestT& request, const UpdateFirewallPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::UpdateFirewallPolicy, request, handler, context);
}
/**
* Modifies the flag, ChangeProtection
, which indicates whether it
* is possible to change the firewall. If the flag is set to TRUE
, the
* firewall is protected from changes. This setting helps protect against
* accidentally changing a firewall that's in use.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateFirewallPolicyChangeProtectionOutcome UpdateFirewallPolicyChangeProtection(const Model::UpdateFirewallPolicyChangeProtectionRequest& request) const;
/**
* A Callable wrapper for UpdateFirewallPolicyChangeProtection that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateFirewallPolicyChangeProtectionOutcomeCallable UpdateFirewallPolicyChangeProtectionCallable(const UpdateFirewallPolicyChangeProtectionRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::UpdateFirewallPolicyChangeProtection, request);
}
/**
* An Async wrapper for UpdateFirewallPolicyChangeProtection that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateFirewallPolicyChangeProtectionAsync(const UpdateFirewallPolicyChangeProtectionRequestT& request, const UpdateFirewallPolicyChangeProtectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::UpdateFirewallPolicyChangeProtection, request, handler, context);
}
/**
* Sets the logging configuration for the specified firewall.
To change
* the logging configuration, retrieve the LoggingConfiguration by calling
* DescribeLoggingConfiguration, then change it and provide the modified
* object to this update call. You must change the logging configuration one
* LogDestinationConfig at a time inside the retrieved
* LoggingConfiguration object.
You can perform only one of the
* following actions in any call to UpdateLoggingConfiguration
:
* -
Create a new log destination object by adding a single
* LogDestinationConfig
array element to
* LogDestinationConfigs
.
-
Delete a log destination
* object by removing a single LogDestinationConfig
array element from
* LogDestinationConfigs
.
-
Change the
* LogDestination
setting in a single
* LogDestinationConfig
array element.
You can't
* change the LogDestinationType
or LogType
in a
* LogDestinationConfig
. To change these settings, delete the existing
* LogDestinationConfig
object and create a new one, using two
* separate calls to this update operation.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateLoggingConfigurationOutcome UpdateLoggingConfiguration(const Model::UpdateLoggingConfigurationRequest& request) const;
/**
* A Callable wrapper for UpdateLoggingConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateLoggingConfigurationOutcomeCallable UpdateLoggingConfigurationCallable(const UpdateLoggingConfigurationRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::UpdateLoggingConfiguration, request);
}
/**
* An Async wrapper for UpdateLoggingConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateLoggingConfigurationAsync(const UpdateLoggingConfigurationRequestT& request, const UpdateLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::UpdateLoggingConfiguration, request, handler, context);
}
/**
* Updates the rule settings for the specified rule group. You use a rule group
* by reference in one or more firewall policies. When you modify a rule group, you
* modify all firewall policies that use the rule group.
To update a rule
* group, first call DescribeRuleGroup to retrieve the current
* RuleGroup object, update the object as needed, and then provide the
* updated object to this call.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateRuleGroupOutcome UpdateRuleGroup(const Model::UpdateRuleGroupRequest& request) const;
/**
* A Callable wrapper for UpdateRuleGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateRuleGroupOutcomeCallable UpdateRuleGroupCallable(const UpdateRuleGroupRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::UpdateRuleGroup, request);
}
/**
* An Async wrapper for UpdateRuleGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateRuleGroupAsync(const UpdateRuleGroupRequestT& request, const UpdateRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::UpdateRuleGroup, request, handler, context);
}
/**
* See Also:
AWS
* API Reference
*/
virtual Model::UpdateSubnetChangeProtectionOutcome UpdateSubnetChangeProtection(const Model::UpdateSubnetChangeProtectionRequest& request) const;
/**
* A Callable wrapper for UpdateSubnetChangeProtection that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateSubnetChangeProtectionOutcomeCallable UpdateSubnetChangeProtectionCallable(const UpdateSubnetChangeProtectionRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::UpdateSubnetChangeProtection, request);
}
/**
* An Async wrapper for UpdateSubnetChangeProtection that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateSubnetChangeProtectionAsync(const UpdateSubnetChangeProtectionRequestT& request, const UpdateSubnetChangeProtectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::UpdateSubnetChangeProtection, request, handler, context);
}
/**
* Updates the TLS inspection configuration settings for the specified TLS
* inspection configuration. You use a TLS inspection configuration by reference in
* one or more firewall policies. When you modify a TLS inspection configuration,
* you modify all firewall policies that use the TLS inspection configuration.
* To update a TLS inspection configuration, first call
* DescribeTLSInspectionConfiguration to retrieve the current
* TLSInspectionConfiguration object, update the object as needed, and then
* provide the updated object to this call.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateTLSInspectionConfigurationOutcome UpdateTLSInspectionConfiguration(const Model::UpdateTLSInspectionConfigurationRequest& request) const;
/**
* A Callable wrapper for UpdateTLSInspectionConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateTLSInspectionConfigurationOutcomeCallable UpdateTLSInspectionConfigurationCallable(const UpdateTLSInspectionConfigurationRequestT& request) const
{
return SubmitCallable(&NetworkFirewallClient::UpdateTLSInspectionConfiguration, request);
}
/**
* An Async wrapper for UpdateTLSInspectionConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateTLSInspectionConfigurationAsync(const UpdateTLSInspectionConfigurationRequestT& request, const UpdateTLSInspectionConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&NetworkFirewallClient::UpdateTLSInspectionConfiguration, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const NetworkFirewallClientConfiguration& clientConfiguration);
NetworkFirewallClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace NetworkFirewall
} // namespace Aws