FirewallPolicyAssociationArgs

data class FirewallPolicyAssociationArgs(val attachmentTarget: Output<String>? = null, val firewallPolicy: Output<String>? = null, val name: Output<String>? = null) : ConvertibleToJava<FirewallPolicyAssociationArgs>

Allows associating hierarchical firewall policies with the target where they are applied. This allows creating policies and rules in a different location than they are applied. For more information on applying hierarchical firewall policies see the official documentation

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.compute.FirewallPolicy("default", {
parent: "organizations/12345",
shortName: "my-policy",
description: "Example Resource",
});
const defaultFirewallPolicyAssociation = new gcp.compute.FirewallPolicyAssociation("default", {
firewallPolicy: _default.id,
attachmentTarget: folder.name,
name: "my-association",
});
import pulumi
import pulumi_gcp as gcp
default = gcp.compute.FirewallPolicy("default",
parent="organizations/12345",
short_name="my-policy",
description="Example Resource")
default_firewall_policy_association = gcp.compute.FirewallPolicyAssociation("default",
firewall_policy=default.id,
attachment_target=folder["name"],
name="my-association")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.Compute.FirewallPolicy("default", new()
{
Parent = "organizations/12345",
ShortName = "my-policy",
Description = "Example Resource",
});
var defaultFirewallPolicyAssociation = new Gcp.Compute.FirewallPolicyAssociation("default", new()
{
FirewallPolicy = @default.Id,
AttachmentTarget = folder.Name,
Name = "my-association",
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := compute.NewFirewallPolicy(ctx, "default", &compute.FirewallPolicyArgs{
Parent: pulumi.String("organizations/12345"),
ShortName: pulumi.String("my-policy"),
Description: pulumi.String("Example Resource"),
})
if err != nil {
return err
}
_, err = compute.NewFirewallPolicyAssociation(ctx, "default", &compute.FirewallPolicyAssociationArgs{
FirewallPolicy: _default.ID(),
AttachmentTarget: pulumi.Any(folder.Name),
Name: pulumi.String("my-association"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.FirewallPolicy;
import com.pulumi.gcp.compute.FirewallPolicyArgs;
import com.pulumi.gcp.compute.FirewallPolicyAssociation;
import com.pulumi.gcp.compute.FirewallPolicyAssociationArgs;
import java.util.List;
import java.util.ArrayList;
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 default_ = new FirewallPolicy("default", FirewallPolicyArgs.builder()
.parent("organizations/12345")
.shortName("my-policy")
.description("Example Resource")
.build());
var defaultFirewallPolicyAssociation = new FirewallPolicyAssociation("defaultFirewallPolicyAssociation", FirewallPolicyAssociationArgs.builder()
.firewallPolicy(default_.id())
.attachmentTarget(folder.name())
.name("my-association")
.build());
}
}
resources:
default:
type: gcp:compute:FirewallPolicy
properties:
parent: organizations/12345
shortName: my-policy
description: Example Resource
defaultFirewallPolicyAssociation:
type: gcp:compute:FirewallPolicyAssociation
name: default
properties:
firewallPolicy: ${default.id}
attachmentTarget: ${folder.name}
name: my-association

Import

FirewallPolicyAssociation can be imported using any of these accepted formats:

  • locations/global/firewallPolicies/{{firewall_policy}}/associations/{{name}}

  • {{firewall_policy}}/{{name}} When using the pulumi import command, FirewallPolicyAssociation can be imported using one of the formats above. For example:

$ pulumi import gcp:compute/firewallPolicyAssociation:FirewallPolicyAssociation default locations/global/firewallPolicies/{{firewall_policy}}/associations/{{name}}
$ pulumi import gcp:compute/firewallPolicyAssociation:FirewallPolicyAssociation default {{firewall_policy}}/{{name}}

Constructors

Link copied to clipboard
constructor(attachmentTarget: Output<String>? = null, firewallPolicy: Output<String>? = null, name: Output<String>? = null)

Properties

Link copied to clipboard
val attachmentTarget: Output<String>? = null

The target that the firewall policy is attached to.

Link copied to clipboard
val firewallPolicy: Output<String>? = null

The firewall policy ID of the association.

Link copied to clipboard
val name: Output<String>? = null

The name for an association.

Functions

Link copied to clipboard
open override fun toJava(): FirewallPolicyAssociationArgs