pub struct Client { /* private fields */ }
Expand description

Client for AWS Network Firewall

Client for invoking operations on AWS Network Firewall. Each operation on AWS Network Firewall is a method on this this struct. .send() MUST be invoked on the generated operations to dispatch the request to the service.

Examples

Constructing a client and invoking an operation

    // create a shared configuration. This can be used & shared between multiple service clients.
    let shared_config = aws_config::load_from_env().await;
    let client = aws_sdk_networkfirewall::Client::new(&shared_config);
    // invoke an operation
    /* let rsp = client
        .<operation_name>().
        .<param>("some value")
        .send().await; */

Constructing a client with custom configuration

use aws_config::RetryConfig;
    let shared_config = aws_config::load_from_env().await;
    let config = aws_sdk_networkfirewall::config::Builder::from(&shared_config)
        .retry_config(RetryConfig::disabled())
        .build();
    let client = aws_sdk_networkfirewall::Client::from_conf(config);

Implementations

Creates a client with the given service configuration.

Returns the client’s configuration.

Constructs a fluent builder for the AssociateFirewallPolicy operation.

  • The fluent builder is configurable:
    • update_token(impl Into<String>) / set_update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_arn(impl Into<String>) / set_firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

      You must specify the ARN or the name, and you can specify both.

    • firewall_name(impl Into<String>) / set_firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

      You must specify the ARN or the name, and you can specify both.

    • firewall_policy_arn(impl Into<String>) / set_firewall_policy_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall policy.

  • On success, responds with AssociateFirewallPolicyOutput with field(s):
    • firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

    • firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

    • firewall_policy_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall policy.

    • update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

  • On failure, responds with SdkError<AssociateFirewallPolicyError>

Constructs a fluent builder for the AssociateSubnets operation.

  • The fluent builder is configurable:
    • update_token(impl Into<String>) / set_update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_arn(impl Into<String>) / set_firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

      You must specify the ARN or the name, and you can specify both.

    • firewall_name(impl Into<String>) / set_firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

      You must specify the ARN or the name, and you can specify both.

    • subnet_mappings(Vec<SubnetMapping>) / set_subnet_mappings(Option<Vec<SubnetMapping>>):

      The IDs of the subnets that you want to associate with the firewall.

  • On success, responds with AssociateSubnetsOutput with field(s):
    • firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

    • firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

    • subnet_mappings(Option<Vec<SubnetMapping>>):

      The IDs of the subnets that are associated with the firewall.

    • update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

  • On failure, responds with SdkError<AssociateSubnetsError>

Constructs a fluent builder for the CreateFirewall operation.

Constructs a fluent builder for the CreateFirewallPolicy operation.

  • The fluent builder is configurable:
  • On success, responds with CreateFirewallPolicyOutput with field(s):
    • update_token(Option<String>):

      A token used for optimistic locking. Network Firewall returns a token to your requests that access the firewall policy. The token marks the state of the policy resource at the time of the request.

      To make changes to the policy, you provide the token in your request. Network Firewall uses the token to ensure that the policy hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall policy again to get a current copy of it with current token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_policy_response(Option<FirewallPolicyResponse>):

      The high-level properties of a firewall policy. This, along with the FirewallPolicy, define the policy. You can retrieve all objects for a firewall policy by calling DescribeFirewallPolicy.

  • On failure, responds with SdkError<CreateFirewallPolicyError>

Constructs a fluent builder for the CreateRuleGroup operation.

  • The fluent builder is configurable:
    • rule_group_name(impl Into<String>) / set_rule_group_name(Option<String>):

      The descriptive name of the rule group. You can’t change the name of a rule group after you create it.

    • rule_group(RuleGroup) / set_rule_group(Option<RuleGroup>):

      An object that defines the rule group rules.

      You must provide either this rule group setting or a Rules setting, but not both.

    • rules(impl Into<String>) / set_rules(Option<String>):

      A string containing stateful rule group rules specifications in Suricata flat format, with one rule per line. Use this to import your existing Suricata compatible rule groups.

      You must provide either this rules setting or a populated RuleGroup setting, but not both.

      You can provide your rule group specification in Suricata flat format through this setting when you create or update your rule group. The call response returns a RuleGroup object that Network Firewall has populated from your string.

    • r#type(RuleGroupType) / set_type(Option<RuleGroupType>):

      Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains stateless rules. If it is stateful, it contains stateful rules.

    • description(impl Into<String>) / set_description(Option<String>):

      A description of the rule group.

    • capacity(i32) / set_capacity(Option<i32>):

      The maximum operating resources that this rule group can use. Rule group capacity is fixed at creation. When you update a rule group, you are limited to this capacity. When you reference a rule group from a firewall policy, Network Firewall reserves this capacity for the rule group.

      You can retrieve the capacity that would be required for a rule group before you create the rule group by calling CreateRuleGroup with DryRun set to TRUE.

      You can’t change or exceed this capacity when you update the rule group, so leave room for your rule group to grow.

      Capacity for a stateless rule group

      For a stateless rule group, the capacity required is the sum of the capacity requirements of the individual rules that you expect to have in the rule group.

      To calculate the capacity requirement of a single rule, multiply the capacity requirement values of each of the rule’s match settings:

      • A match setting with no criteria specified has a value of 1.

      • A match setting with Any specified has a value of 1.

      • All other match settings have a value equal to the number of elements provided in the setting. For example, a protocol setting [“UDP”] and a source setting [“10.0.0.0/24”] each have a value of 1. A protocol setting [“UDP”,“TCP”] has a value of 2. A source setting [“10.0.0.0/24”,“10.0.0.1/24”,“10.0.0.2/24”] has a value of 3.

      A rule with no criteria specified in any of its match settings has a capacity requirement of 1. A rule with protocol setting [“UDP”,“TCP”], source setting [“10.0.0.0/24”,“10.0.0.1/24”,“10.0.0.2/24”], and a single specification or no specification for each of the other match settings has a capacity requirement of 6.

      Capacity for a stateful rule group

      For a stateful rule group, the minimum capacity required is the number of individual rules that you expect to have in the rule group.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      The key:value pairs to associate with the resource.

    • dry_run(bool) / set_dry_run(bool):

      Indicates whether you want Network Firewall to just check the validity of the request, rather than run the request.

      If set to TRUE, Network Firewall checks whether the request can run successfully, but doesn’t actually make the requested changes. The call returns the value that the request would return if you ran it with dry run set to FALSE, but doesn’t make additions or changes to your resources. This option allows you to make sure that you have the required permissions to run the request and that your request parameters are valid.

      If set to FALSE, Network Firewall makes the requested changes to your resources.

  • On success, responds with CreateRuleGroupOutput with field(s):
    • update_token(Option<String>):

      A token used for optimistic locking. Network Firewall returns a token to your requests that access the rule group. The token marks the state of the rule group resource at the time of the request.

      To make changes to the rule group, you provide the token in your request. Network Firewall uses the token to ensure that the rule group hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token.

    • rule_group_response(Option<RuleGroupResponse>):

      The high-level properties of a rule group. This, along with the RuleGroup, define the rule group. You can retrieve all objects for a rule group by calling DescribeRuleGroup.

  • On failure, responds with SdkError<CreateRuleGroupError>

Constructs a fluent builder for the DeleteFirewall operation.

  • The fluent builder is configurable:
  • On success, responds with DeleteFirewallOutput with field(s):
    • firewall(Option<Firewall>):

      The firewall defines the configuration settings for an AWS Network Firewall firewall. These settings include the firewall policy, the subnets in your VPC to use for the firewall endpoints, and any tags that are attached to the firewall AWS resource.

      The status of the firewall, for example whether it’s ready to filter network traffic, is provided in the corresponding FirewallStatus. You can retrieve both objects by calling DescribeFirewall.

    • firewall_status(Option<FirewallStatus>):

      Detailed information about the current status of a Firewall. You can retrieve this for a firewall by calling DescribeFirewall and providing the firewall name and ARN.

  • On failure, responds with SdkError<DeleteFirewallError>

Constructs a fluent builder for the DeleteFirewallPolicy operation.

Constructs a fluent builder for the DeleteResourcePolicy operation.

Constructs a fluent builder for the DeleteRuleGroup operation.

Constructs a fluent builder for the DescribeFirewall operation.

  • The fluent builder is configurable:
  • On success, responds with DescribeFirewallOutput with field(s):
    • update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall(Option<Firewall>):

      The configuration settings for the firewall. These settings include the firewall policy and the subnets in your VPC to use for the firewall endpoints.

    • firewall_status(Option<FirewallStatus>):

      Detailed information about the current status of a Firewall. You can retrieve this for a firewall by calling DescribeFirewall and providing the firewall name and ARN.

  • On failure, responds with SdkError<DescribeFirewallError>

Constructs a fluent builder for the DescribeFirewallPolicy operation.

Constructs a fluent builder for the DescribeLoggingConfiguration operation.

Constructs a fluent builder for the DescribeResourcePolicy operation.

Constructs a fluent builder for the DescribeRuleGroup operation.

  • The fluent builder is configurable:
  • On success, responds with DescribeRuleGroupOutput with field(s):
    • update_token(Option<String>):

      A token used for optimistic locking. Network Firewall returns a token to your requests that access the rule group. The token marks the state of the rule group resource at the time of the request.

      To make changes to the rule group, you provide the token in your request. Network Firewall uses the token to ensure that the rule group hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token.

    • rule_group(Option<RuleGroup>):

      The object that defines the rules in a rule group. This, along with RuleGroupResponse, define the rule group. You can retrieve all objects for a rule group by calling DescribeRuleGroup.

      AWS Network Firewall uses a rule group to inspect and control network traffic. You define stateless rule groups to inspect individual packets and you define stateful rule groups to inspect packets in the context of their traffic flow.

      To use a rule group, you include it by reference in an Network Firewall firewall policy, then you use the policy in a firewall. You can reference a rule group from more than one firewall policy, and you can use a firewall policy in more than one firewall.

    • rule_group_response(Option<RuleGroupResponse>):

      The high-level properties of a rule group. This, along with the RuleGroup, define the rule group. You can retrieve all objects for a rule group by calling DescribeRuleGroup.

  • On failure, responds with SdkError<DescribeRuleGroupError>

Constructs a fluent builder for the DescribeRuleGroupMetadata operation.

  • The fluent builder is configurable:
  • On success, responds with DescribeRuleGroupMetadataOutput with field(s):
    • rule_group_arn(Option<String>):

      The descriptive name of the rule group. You can’t change the name of a rule group after you create it.

      You must specify the ARN or the name, and you can specify both.

    • rule_group_name(Option<String>):

      The descriptive name of the rule group. You can’t change the name of a rule group after you create it.

      You must specify the ARN or the name, and you can specify both.

    • description(Option<String>):

      Returns the metadata objects for the specified rule group.

    • r#type(Option<RuleGroupType>):

      Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains stateless rules. If it is stateful, it contains stateful rules.

      This setting is required for requests that do not include the RuleGroupARN.

    • capacity(Option<i32>):

      The maximum operating resources that this rule group can use. Rule group capacity is fixed at creation. When you update a rule group, you are limited to this capacity. When you reference a rule group from a firewall policy, Network Firewall reserves this capacity for the rule group.

      You can retrieve the capacity that would be required for a rule group before you create the rule group by calling CreateRuleGroup with DryRun set to TRUE.

    • stateful_rule_options(Option<StatefulRuleOptions>):

      Additional options governing how Network Firewall handles the rule group. You can only use these for stateful rule groups.

  • On failure, responds with SdkError<DescribeRuleGroupMetadataError>

Constructs a fluent builder for the DisassociateSubnets operation.

  • The fluent builder is configurable:
    • update_token(impl Into<String>) / set_update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_arn(impl Into<String>) / set_firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

      You must specify the ARN or the name, and you can specify both.

    • firewall_name(impl Into<String>) / set_firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

      You must specify the ARN or the name, and you can specify both.

    • subnet_ids(Vec<String>) / set_subnet_ids(Option<Vec<String>>):

      The unique identifiers for the subnets that you want to disassociate.

  • On success, responds with DisassociateSubnetsOutput with field(s):
    • firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

    • firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

    • subnet_mappings(Option<Vec<SubnetMapping>>):

      The IDs of the subnets that are associated with the firewall.

    • update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

  • On failure, responds with SdkError<DisassociateSubnetsError>

Constructs a fluent builder for the ListFirewallPolicies operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • next_token(impl Into<String>) / set_next_token(Option<String>):

      When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Network Firewall returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of objects that you want Network Firewall to return for this request. If more objects are available, in the response, Network Firewall provides a NextToken value that you can use in a subsequent call to get the next batch of objects.

  • On success, responds with ListFirewallPoliciesOutput with field(s):
    • next_token(Option<String>):

      When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Network Firewall returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.

    • firewall_policies(Option<Vec<FirewallPolicyMetadata>>):

      The metadata for the firewall policies. Depending on your setting for max results and the number of firewall policies that you have, this might not be the full list.

  • On failure, responds with SdkError<ListFirewallPoliciesError>

Constructs a fluent builder for the ListFirewalls operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • next_token(impl Into<String>) / set_next_token(Option<String>):

      When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Network Firewall returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.

    • vpc_ids(Vec<String>) / set_vpc_ids(Option<Vec<String>>):

      The unique identifiers of the VPCs that you want Network Firewall to retrieve the firewalls for. Leave this blank to retrieve all firewalls that you have defined.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of objects that you want Network Firewall to return for this request. If more objects are available, in the response, Network Firewall provides a NextToken value that you can use in a subsequent call to get the next batch of objects.

  • On success, responds with ListFirewallsOutput with field(s):
    • next_token(Option<String>):

      When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Network Firewall returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.

    • firewalls(Option<Vec<FirewallMetadata>>):

      The firewall metadata objects for the VPCs that you specified. Depending on your setting for max results and the number of firewalls you have, a single call might not be the full list.

  • On failure, responds with SdkError<ListFirewallsError>

Constructs a fluent builder for the ListRuleGroups operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • next_token(impl Into<String>) / set_next_token(Option<String>):

      When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Network Firewall returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of objects that you want Network Firewall to return for this request. If more objects are available, in the response, Network Firewall provides a NextToken value that you can use in a subsequent call to get the next batch of objects.

    • scope(ResourceManagedStatus) / set_scope(Option<ResourceManagedStatus>):

      The scope of the request. The default setting of ACCOUNT or a setting of NULL returns all of the rule groups in your account. A setting of MANAGED returns all available managed rule groups.

  • On success, responds with ListRuleGroupsOutput with field(s):
    • next_token(Option<String>):

      When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Network Firewall returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.

    • rule_groups(Option<Vec<RuleGroupMetadata>>):

      The rule group metadata objects that you’ve defined. Depending on your setting for max results and the number of rule groups, this might not be the full list.

  • On failure, responds with SdkError<ListRuleGroupsError>

Constructs a fluent builder for the ListTagsForResource operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
  • On success, responds with ListTagsForResourceOutput with field(s):
    • next_token(Option<String>):

      When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Network Firewall returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.

    • tags(Option<Vec<Tag>>):

      The tags that are associated with the resource.

  • On failure, responds with SdkError<ListTagsForResourceError>

Constructs a fluent builder for the PutResourcePolicy operation.

  • The fluent builder is configurable:
    • resource_arn(impl Into<String>) / set_resource_arn(Option<String>):

      The Amazon Resource Name (ARN) of the account that you want to share rule groups and firewall policies with.

    • policy(impl Into<String>) / set_policy(Option<String>):

      The AWS Identity and Access Management policy statement that lists the accounts that you want to share your rule group or firewall policy with and the operations that you want the accounts to be able to perform.

      For a rule group resource, you can specify the following operations in the Actions section of the statement:

      • network-firewall:CreateFirewallPolicy

      • network-firewall:UpdateFirewallPolicy

      • network-firewall:ListRuleGroups

      For a firewall policy resource, you can specify the following operations in the Actions section of the statement:

      • network-firewall:CreateFirewall

      • network-firewall:UpdateFirewall

      • network-firewall:AssociateFirewallPolicy

      • network-firewall:ListFirewallPolicies

      In the Resource section of the statement, you specify the ARNs for the rule groups and firewall policies that you want to share with the account that you specified in Arn.

  • On success, responds with PutResourcePolicyOutput
  • On failure, responds with SdkError<PutResourcePolicyError>

Constructs a fluent builder for the TagResource operation.

Constructs a fluent builder for the UntagResource operation.

Constructs a fluent builder for the UpdateFirewallDeleteProtection operation.

  • The fluent builder is configurable:
    • update_token(impl Into<String>) / set_update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_arn(impl Into<String>) / set_firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

      You must specify the ARN or the name, and you can specify both.

    • firewall_name(impl Into<String>) / set_firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

      You must specify the ARN or the name, and you can specify both.

    • delete_protection(bool) / set_delete_protection(bool):

      A flag indicating whether it is possible to delete the firewall. A setting of TRUE indicates that the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to TRUE.

  • On success, responds with UpdateFirewallDeleteProtectionOutput with field(s):
    • firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

    • firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

    • delete_protection(bool):

      A flag indicating whether it is possible to delete the firewall. A setting of TRUE indicates that the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to TRUE.

    • update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

  • On failure, responds with SdkError<UpdateFirewallDeleteProtectionError>

Constructs a fluent builder for the UpdateFirewallDescription operation.

  • The fluent builder is configurable:
    • update_token(impl Into<String>) / set_update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_arn(impl Into<String>) / set_firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

      You must specify the ARN or the name, and you can specify both.

    • firewall_name(impl Into<String>) / set_firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

      You must specify the ARN or the name, and you can specify both.

    • description(impl Into<String>) / set_description(Option<String>):

      The new description for the firewall. If you omit this setting, Network Firewall removes the description for the firewall.

  • On success, responds with UpdateFirewallDescriptionOutput with field(s):
    • firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

    • firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

    • description(Option<String>):

      A description of the firewall.

    • update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

  • On failure, responds with SdkError<UpdateFirewallDescriptionError>

Constructs a fluent builder for the UpdateFirewallPolicy operation.

  • The fluent builder is configurable:
    • update_token(impl Into<String>) / set_update_token(Option<String>):

      A token used for optimistic locking. Network Firewall returns a token to your requests that access the firewall policy. The token marks the state of the policy resource at the time of the request.

      To make changes to the policy, you provide the token in your request. Network Firewall uses the token to ensure that the policy hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall policy again to get a current copy of it with current token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_policy_arn(impl Into<String>) / set_firewall_policy_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall policy.

      You must specify the ARN or the name, and you can specify both.

    • firewall_policy_name(impl Into<String>) / set_firewall_policy_name(Option<String>):

      The descriptive name of the firewall policy. You can’t change the name of a firewall policy after you create it.

      You must specify the ARN or the name, and you can specify both.

    • firewall_policy(FirewallPolicy) / set_firewall_policy(Option<FirewallPolicy>):

      The updated firewall policy to use for the firewall.

    • description(impl Into<String>) / set_description(Option<String>):

      A description of the firewall policy.

    • dry_run(bool) / set_dry_run(bool):

      Indicates whether you want Network Firewall to just check the validity of the request, rather than run the request.

      If set to TRUE, Network Firewall checks whether the request can run successfully, but doesn’t actually make the requested changes. The call returns the value that the request would return if you ran it with dry run set to FALSE, but doesn’t make additions or changes to your resources. This option allows you to make sure that you have the required permissions to run the request and that your request parameters are valid.

      If set to FALSE, Network Firewall makes the requested changes to your resources.

  • On success, responds with UpdateFirewallPolicyOutput with field(s):
    • update_token(Option<String>):

      A token used for optimistic locking. Network Firewall returns a token to your requests that access the firewall policy. The token marks the state of the policy resource at the time of the request.

      To make changes to the policy, you provide the token in your request. Network Firewall uses the token to ensure that the policy hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall policy again to get a current copy of it with current token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_policy_response(Option<FirewallPolicyResponse>):

      The high-level properties of a firewall policy. This, along with the FirewallPolicy, define the policy. You can retrieve all objects for a firewall policy by calling DescribeFirewallPolicy.

  • On failure, responds with SdkError<UpdateFirewallPolicyError>

Constructs a fluent builder for the UpdateFirewallPolicyChangeProtection operation.

  • The fluent builder is configurable:
    • update_token(impl Into<String>) / set_update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_arn(impl Into<String>) / set_firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

      You must specify the ARN or the name, and you can specify both.

    • firewall_name(impl Into<String>) / set_firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

      You must specify the ARN or the name, and you can specify both.

    • firewall_policy_change_protection(bool) / set_firewall_policy_change_protection(bool):

      A setting indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

  • On success, responds with UpdateFirewallPolicyChangeProtectionOutput with field(s):
    • update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

    • firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

    • firewall_policy_change_protection(bool):

      A setting indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

  • On failure, responds with SdkError<UpdateFirewallPolicyChangeProtectionError>

Constructs a fluent builder for the UpdateLoggingConfiguration operation.

Constructs a fluent builder for the UpdateRuleGroup operation.

  • The fluent builder is configurable:
    • update_token(impl Into<String>) / set_update_token(Option<String>):

      A token used for optimistic locking. Network Firewall returns a token to your requests that access the rule group. The token marks the state of the rule group resource at the time of the request.

      To make changes to the rule group, you provide the token in your request. Network Firewall uses the token to ensure that the rule group hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token.

    • rule_group_arn(impl Into<String>) / set_rule_group_arn(Option<String>):

      The Amazon Resource Name (ARN) of the rule group.

      You must specify the ARN or the name, and you can specify both.

    • rule_group_name(impl Into<String>) / set_rule_group_name(Option<String>):

      The descriptive name of the rule group. You can’t change the name of a rule group after you create it.

      You must specify the ARN or the name, and you can specify both.

    • rule_group(RuleGroup) / set_rule_group(Option<RuleGroup>):

      An object that defines the rule group rules.

      You must provide either this rule group setting or a Rules setting, but not both.

    • rules(impl Into<String>) / set_rules(Option<String>):

      A string containing stateful rule group rules specifications in Suricata flat format, with one rule per line. Use this to import your existing Suricata compatible rule groups.

      You must provide either this rules setting or a populated RuleGroup setting, but not both.

      You can provide your rule group specification in Suricata flat format through this setting when you create or update your rule group. The call response returns a RuleGroup object that Network Firewall has populated from your string.

    • r#type(RuleGroupType) / set_type(Option<RuleGroupType>):

      Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains stateless rules. If it is stateful, it contains stateful rules.

      This setting is required for requests that do not include the RuleGroupARN.

    • description(impl Into<String>) / set_description(Option<String>):

      A description of the rule group.

    • dry_run(bool) / set_dry_run(bool):

      Indicates whether you want Network Firewall to just check the validity of the request, rather than run the request.

      If set to TRUE, Network Firewall checks whether the request can run successfully, but doesn’t actually make the requested changes. The call returns the value that the request would return if you ran it with dry run set to FALSE, but doesn’t make additions or changes to your resources. This option allows you to make sure that you have the required permissions to run the request and that your request parameters are valid.

      If set to FALSE, Network Firewall makes the requested changes to your resources.

  • On success, responds with UpdateRuleGroupOutput with field(s):
    • update_token(Option<String>):

      A token used for optimistic locking. Network Firewall returns a token to your requests that access the rule group. The token marks the state of the rule group resource at the time of the request.

      To make changes to the rule group, you provide the token in your request. Network Firewall uses the token to ensure that the rule group hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token.

    • rule_group_response(Option<RuleGroupResponse>):

      The high-level properties of a rule group. This, along with the RuleGroup, define the rule group. You can retrieve all objects for a rule group by calling DescribeRuleGroup.

  • On failure, responds with SdkError<UpdateRuleGroupError>

Constructs a fluent builder for the UpdateSubnetChangeProtection operation.

  • The fluent builder is configurable:
    • update_token(impl Into<String>) / set_update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_arn(impl Into<String>) / set_firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

      You must specify the ARN or the name, and you can specify both.

    • firewall_name(impl Into<String>) / set_firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

      You must specify the ARN or the name, and you can specify both.

    • subnet_change_protection(bool) / set_subnet_change_protection(bool):

      A setting indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

  • On success, responds with UpdateSubnetChangeProtectionOutput with field(s):
    • update_token(Option<String>):

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn’t changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

    • firewall_arn(Option<String>):

      The Amazon Resource Name (ARN) of the firewall.

    • firewall_name(Option<String>):

      The descriptive name of the firewall. You can’t change the name of a firewall after you create it.

    • subnet_change_protection(bool):

      A setting indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

  • On failure, responds with SdkError<UpdateSubnetChangeProtectionError>

Creates a client with the given service config and connector override.

Creates a new client from a shared config.

Creates a new client from the service Config.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more