Package com.pulumi.aws.networkfirewall
Class FirewallPolicy
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.networkfirewall.FirewallPolicy
-
public class FirewallPolicy extends com.pulumi.resources.CustomResourceProvides an AWS Network Firewall Firewall Policy Resource ## Example Usage
### Policy with a HOME_NET Overridepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetRegionArgs; import com.pulumi.aws.inputs.GetPartitionArgs; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.networkfirewall.FirewallPolicy; import com.pulumi.aws.networkfirewall.FirewallPolicyArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { final var current = AwsFunctions.getRegion(GetRegionArgs.builder() .build()); final var currentGetPartition = AwsFunctions.getPartition(GetPartitionArgs.builder() .build()); final var currentGetCallerIdentity = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); var example = new FirewallPolicy("example", FirewallPolicyArgs.builder() .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder() .statelessRuleGroupReferences(FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs.builder() .priority(1) .resourceArn(exampleAwsNetworkfirewallRuleGroup.arn()) .build()) .statelessDefaultActions("aws:pass") .statelessFragmentDefaultActions("aws:drop") .tlsInspectionConfigurationArn(String.format("arn:%s:network-firewall:%s:%s:tls-configuration/example", currentGetPartition.partition(),current.region(),currentGetCallerIdentity.accountId())) .build()) .name("example") .tags(Map.ofEntries( Map.entry("Tag1", "Value1"), Map.entry("Tag2", "Value2") )) .build()); } }
### Policy with a Custom Action for Stateless Inspectionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.networkfirewall.FirewallPolicy; import com.pulumi.aws.networkfirewall.FirewallPolicyArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyPolicyVariablesArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new FirewallPolicy("example", FirewallPolicyArgs.builder() .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder() .policyVariables(FirewallPolicyFirewallPolicyPolicyVariablesArgs.builder() .ruleVariables(FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableArgs.builder() .ipSet(FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgs.builder() .definitions( "10.0.0.0/16", "10.1.0.0/24") .build()) .key("HOME_NET") .build()) .build()) .statelessRuleGroupReferences(FirewallPolicyFirewallPolicyStatelessRuleGroupReferenceArgs.builder() .priority(1) .resourceArn(exampleAwsNetworkfirewallRuleGroup.arn()) .build()) .statelessDefaultActions("aws:pass") .statelessFragmentDefaultActions("aws:drop") .build()) .name("example") .tags(Map.ofEntries( Map.entry("Tag1", "Value1"), Map.entry("Tag2", "Value2") )) .build()); } }
### Policy with Active Threat Defense in Action Orderpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.networkfirewall.FirewallPolicy; import com.pulumi.aws.networkfirewall.FirewallPolicyArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyStatelessCustomActionArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new FirewallPolicy("example", FirewallPolicyArgs.builder() .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder() .statelessCustomActions(FirewallPolicyFirewallPolicyStatelessCustomActionArgs.builder() .actionDefinition(FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionArgs.builder() .publishMetricAction(FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionArgs.builder() .dimensions(FirewallPolicyFirewallPolicyStatelessCustomActionActionDefinitionPublishMetricActionDimensionArgs.builder() .value("1") .build()) .build()) .build()) .actionName("ExampleCustomAction") .build()) .statelessDefaultActions( "aws:pass", "ExampleCustomAction") .statelessFragmentDefaultActions("aws:drop") .build()) .name("example") .build()); } }
### Policy with Active Threat Defense in Strict Orderpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetRegionArgs; import com.pulumi.aws.inputs.GetPartitionArgs; import com.pulumi.aws.networkfirewall.FirewallPolicy; import com.pulumi.aws.networkfirewall.FirewallPolicyArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { final var current = AwsFunctions.getRegion(GetRegionArgs.builder() .build()); final var currentGetPartition = AwsFunctions.getPartition(GetPartitionArgs.builder() .build()); var example = new FirewallPolicy("example", FirewallPolicyArgs.builder() .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder() .statefulRuleGroupReferences(FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceArgs.builder() .deepThreatInspection("true") .resourceArn(String.format("arn:%s:network-firewall:%s:aws-managed:stateful-rulegroup/AttackInfrastructureActionOrder", currentGetPartition.partition(),current.region())) .build()) .statelessFragmentDefaultActions("aws:drop") .statelessDefaultActions("aws:pass") .build()) .name("example") .build()); } }
## Import Using `pulumi import`, import Network Firewall Policies using their `arn`. For example: ```sh $ pulumi import aws:networkfirewall/firewallPolicy:FirewallPolicy example arn:aws:network-firewall:us-west-1:123456789012:firewall-policy/example ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetRegionArgs; import com.pulumi.aws.inputs.GetPartitionArgs; import com.pulumi.aws.networkfirewall.FirewallPolicy; import com.pulumi.aws.networkfirewall.FirewallPolicyArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs; import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { final var current = AwsFunctions.getRegion(GetRegionArgs.builder() .build()); final var currentGetPartition = AwsFunctions.getPartition(GetPartitionArgs.builder() .build()); var example = new FirewallPolicy("example", FirewallPolicyArgs.builder() .firewallPolicy(FirewallPolicyFirewallPolicyArgs.builder() .statefulEngineOptions(FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs.builder() .ruleOrder("STRICT_ORDER") .build()) .statefulRuleGroupReferences(FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceArgs.builder() .deepThreatInspection("false") .priority(1) .resourceArn(String.format("arn:%s:network-firewall:%s:aws-managed:stateful-rulegroup/AttackInfrastructureStrictOrder", currentGetPartition.partition(),current.region())) .build()) .statelessFragmentDefaultActions("aws:drop") .statelessDefaultActions("aws:pass") .build()) .name("example") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description FirewallPolicy(java.lang.String name)FirewallPolicy(java.lang.String name, FirewallPolicyArgs args)FirewallPolicy(java.lang.String name, FirewallPolicyArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.util.Optional<java.lang.String>>description()com.pulumi.core.Output<java.util.Optional<FirewallPolicyEncryptionConfiguration>>encryptionConfiguration()com.pulumi.core.Output<FirewallPolicyFirewallPolicy>firewallPolicy()static FirewallPolicyget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, FirewallPolicyState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.lang.String>updateToken()
-
-
-
Constructor Detail
-
FirewallPolicy
public FirewallPolicy(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
FirewallPolicy
public FirewallPolicy(java.lang.String name, FirewallPolicyArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
FirewallPolicy
public FirewallPolicy(java.lang.String name, FirewallPolicyArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN that identifies the firewall policy.
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- A friendly description of the firewall policy.
-
encryptionConfiguration
public com.pulumi.core.Output<java.util.Optional<FirewallPolicyEncryptionConfiguration>> encryptionConfiguration()
- Returns:
- KMS encryption configuration settings. See Encryption Configuration below for details.
-
firewallPolicy
public com.pulumi.core.Output<FirewallPolicyFirewallPolicy> firewallPolicy()
- Returns:
- A configuration block describing the rule groups and policy actions to use in the firewall policy. See Firewall Policy below for details.
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- A friendly name of the firewall policy.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
updateToken
public com.pulumi.core.Output<java.lang.String> updateToken()
- Returns:
- A string token used when updating a firewall policy.
-
get
public static FirewallPolicy get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable FirewallPolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-