com.pulumi.gcp.compute.kotlin.RegionNetworkFirewallPolicyWithRules.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.compute.kotlin
import com.pulumi.core.Output
import com.pulumi.gcp.compute.kotlin.outputs.RegionNetworkFirewallPolicyWithRulesPredefinedRule
import com.pulumi.gcp.compute.kotlin.outputs.RegionNetworkFirewallPolicyWithRulesRule
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import com.pulumi.gcp.compute.kotlin.outputs.RegionNetworkFirewallPolicyWithRulesPredefinedRule.Companion.toKotlin as regionNetworkFirewallPolicyWithRulesPredefinedRuleToKotlin
import com.pulumi.gcp.compute.kotlin.outputs.RegionNetworkFirewallPolicyWithRulesRule.Companion.toKotlin as regionNetworkFirewallPolicyWithRulesRuleToKotlin
/**
* Builder for [RegionNetworkFirewallPolicyWithRules].
*/
@PulumiTagMarker
public class RegionNetworkFirewallPolicyWithRulesResourceBuilder internal constructor() {
public var name: String? = null
public var args: RegionNetworkFirewallPolicyWithRulesArgs =
RegionNetworkFirewallPolicyWithRulesArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend RegionNetworkFirewallPolicyWithRulesArgsBuilder.() -> Unit) {
val builder = RegionNetworkFirewallPolicyWithRulesArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): RegionNetworkFirewallPolicyWithRules {
val builtJavaResource =
com.pulumi.gcp.compute.RegionNetworkFirewallPolicyWithRules(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return RegionNetworkFirewallPolicyWithRules(builtJavaResource)
}
}
/**
* ## Example Usage
* ### Compute Region Network Firewall Policy With Rules Full
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const project = gcp.organizations.getProject({});
* const addressGroup1 = new gcp.networksecurity.AddressGroup("address_group_1", {
* name: "tf-address-group",
* parent: project.then(project => project.id),
* description: "Regional address group",
* location: "us-west2",
* items: ["208.80.154.224/32"],
* type: "IPV4",
* capacity: 100,
* });
* const secureTagKey1 = new gcp.tags.TagKey("secure_tag_key_1", {
* description: "Tag key",
* parent: project.then(project => project.id),
* purpose: "GCE_FIREWALL",
* shortName: "tf-tag-key",
* purposeData: {
* network: project.then(project => `${project.name}/default`),
* },
* });
* const secureTagValue1 = new gcp.tags.TagValue("secure_tag_value_1", {
* description: "Tag value",
* parent: secureTagKey1.id,
* shortName: "tf-tag-value",
* });
* const region_network_firewall_policy_with_rules = new gcp.compute.RegionNetworkFirewallPolicyWithRules("region-network-firewall-policy-with-rules", {
* name: "tf-region-fw-policy-with-rules",
* region: "us-west2",
* description: "Terraform test",
* rules: [
* {
* description: "tcp rule",
* priority: 1000,
* enableLogging: true,
* action: "allow",
* direction: "EGRESS",
* match: {
* layer4Configs: [{
* ipProtocol: "tcp",
* ports: [
* "8080",
* "7070",
* ],
* }],
* destIpRanges: ["11.100.0.1/32"],
* destFqdns: [
* "www.yyy.com",
* "www.zzz.com",
* ],
* destRegionCodes: [
* "HK",
* "IN",
* ],
* destThreatIntelligences: [
* "iplist-search-engines-crawlers",
* "iplist-tor-exit-nodes",
* ],
* destAddressGroups: [addressGroup1.id],
* },
* targetSecureTags: [{
* name: secureTagValue1.id,
* }],
* },
* {
* description: "udp rule",
* ruleName: "test-rule",
* priority: 2000,
* enableLogging: false,
* action: "deny",
* direction: "INGRESS",
* match: {
* layer4Configs: [{
* ipProtocol: "udp",
* }],
* srcIpRanges: ["0.0.0.0/0"],
* srcFqdns: [
* "www.abc.com",
* "www.def.com",
* ],
* srcRegionCodes: [
* "US",
* "CA",
* ],
* srcThreatIntelligences: [
* "iplist-known-malicious-ips",
* "iplist-public-clouds",
* ],
* srcAddressGroups: [addressGroup1.id],
* srcSecureTags: [{
* name: secureTagValue1.id,
* }],
* },
* disabled: true,
* },
* ],
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* project = gcp.organizations.get_project()
* address_group1 = gcp.networksecurity.AddressGroup("address_group_1",
* name="tf-address-group",
* parent=project.id,
* description="Regional address group",
* location="us-west2",
* items=["208.80.154.224/32"],
* type="IPV4",
* capacity=100)
* secure_tag_key1 = gcp.tags.TagKey("secure_tag_key_1",
* description="Tag key",
* parent=project.id,
* purpose="GCE_FIREWALL",
* short_name="tf-tag-key",
* purpose_data={
* "network": f"{project.name}/default",
* })
* secure_tag_value1 = gcp.tags.TagValue("secure_tag_value_1",
* description="Tag value",
* parent=secure_tag_key1.id,
* short_name="tf-tag-value")
* region_network_firewall_policy_with_rules = gcp.compute.RegionNetworkFirewallPolicyWithRules("region-network-firewall-policy-with-rules",
* name="tf-region-fw-policy-with-rules",
* region="us-west2",
* description="Terraform test",
* rules=[
* {
* "description": "tcp rule",
* "priority": 1000,
* "enable_logging": True,
* "action": "allow",
* "direction": "EGRESS",
* "match": {
* "layer4_configs": [{
* "ip_protocol": "tcp",
* "ports": [
* "8080",
* "7070",
* ],
* }],
* "dest_ip_ranges": ["11.100.0.1/32"],
* "dest_fqdns": [
* "www.yyy.com",
* "www.zzz.com",
* ],
* "dest_region_codes": [
* "HK",
* "IN",
* ],
* "dest_threat_intelligences": [
* "iplist-search-engines-crawlers",
* "iplist-tor-exit-nodes",
* ],
* "dest_address_groups": [address_group1.id],
* },
* "target_secure_tags": [{
* "name": secure_tag_value1.id,
* }],
* },
* {
* "description": "udp rule",
* "rule_name": "test-rule",
* "priority": 2000,
* "enable_logging": False,
* "action": "deny",
* "direction": "INGRESS",
* "match": {
* "layer4_configs": [{
* "ip_protocol": "udp",
* }],
* "src_ip_ranges": ["0.0.0.0/0"],
* "src_fqdns": [
* "www.abc.com",
* "www.def.com",
* ],
* "src_region_codes": [
* "US",
* "CA",
* ],
* "src_threat_intelligences": [
* "iplist-known-malicious-ips",
* "iplist-public-clouds",
* ],
* "src_address_groups": [address_group1.id],
* "src_secure_tags": [{
* "name": secure_tag_value1.id,
* }],
* },
* "disabled": True,
* },
* ])
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var project = Gcp.Organizations.GetProject.Invoke();
* var addressGroup1 = new Gcp.NetworkSecurity.AddressGroup("address_group_1", new()
* {
* Name = "tf-address-group",
* Parent = project.Apply(getProjectResult => getProjectResult.Id),
* Description = "Regional address group",
* Location = "us-west2",
* Items = new[]
* {
* "208.80.154.224/32",
* },
* Type = "IPV4",
* Capacity = 100,
* });
* var secureTagKey1 = new Gcp.Tags.TagKey("secure_tag_key_1", new()
* {
* Description = "Tag key",
* Parent = project.Apply(getProjectResult => getProjectResult.Id),
* Purpose = "GCE_FIREWALL",
* ShortName = "tf-tag-key",
* PurposeData =
* {
* { "network", $"{project.Apply(getProjectResult => getProjectResult.Name)}/default" },
* },
* });
* var secureTagValue1 = new Gcp.Tags.TagValue("secure_tag_value_1", new()
* {
* Description = "Tag value",
* Parent = secureTagKey1.Id,
* ShortName = "tf-tag-value",
* });
* var region_network_firewall_policy_with_rules = new Gcp.Compute.RegionNetworkFirewallPolicyWithRules("region-network-firewall-policy-with-rules", new()
* {
* Name = "tf-region-fw-policy-with-rules",
* Region = "us-west2",
* Description = "Terraform test",
* Rules = new[]
* {
* new Gcp.Compute.Inputs.RegionNetworkFirewallPolicyWithRulesRuleArgs
* {
* Description = "tcp rule",
* Priority = 1000,
* EnableLogging = true,
* Action = "allow",
* Direction = "EGRESS",
* Match = new Gcp.Compute.Inputs.RegionNetworkFirewallPolicyWithRulesRuleMatchArgs
* {
* Layer4Configs = new[]
* {
* new Gcp.Compute.Inputs.RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs
* {
* IpProtocol = "tcp",
* Ports = new[]
* {
* "8080",
* "7070",
* },
* },
* },
* DestIpRanges = new[]
* {
* "11.100.0.1/32",
* },
* DestFqdns = new[]
* {
* "www.yyy.com",
* "www.zzz.com",
* },
* DestRegionCodes = new[]
* {
* "HK",
* "IN",
* },
* DestThreatIntelligences = new[]
* {
* "iplist-search-engines-crawlers",
* "iplist-tor-exit-nodes",
* },
* DestAddressGroups = new[]
* {
* addressGroup1.Id,
* },
* },
* TargetSecureTags = new[]
* {
* new Gcp.Compute.Inputs.RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs
* {
* Name = secureTagValue1.Id,
* },
* },
* },
* new Gcp.Compute.Inputs.RegionNetworkFirewallPolicyWithRulesRuleArgs
* {
* Description = "udp rule",
* RuleName = "test-rule",
* Priority = 2000,
* EnableLogging = false,
* Action = "deny",
* Direction = "INGRESS",
* Match = new Gcp.Compute.Inputs.RegionNetworkFirewallPolicyWithRulesRuleMatchArgs
* {
* Layer4Configs = new[]
* {
* new Gcp.Compute.Inputs.RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs
* {
* IpProtocol = "udp",
* },
* },
* SrcIpRanges = new[]
* {
* "0.0.0.0/0",
* },
* SrcFqdns = new[]
* {
* "www.abc.com",
* "www.def.com",
* },
* SrcRegionCodes = new[]
* {
* "US",
* "CA",
* },
* SrcThreatIntelligences = new[]
* {
* "iplist-known-malicious-ips",
* "iplist-public-clouds",
* },
* SrcAddressGroups = new[]
* {
* addressGroup1.Id,
* },
* SrcSecureTags = new[]
* {
* new Gcp.Compute.Inputs.RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgs
* {
* Name = secureTagValue1.Id,
* },
* },
* },
* Disabled = true,
* },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "fmt"
* "github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
* "github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networksecurity"
* "github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
* "github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/tags"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
* if err != nil {
* return err
* }
* addressGroup1, err := networksecurity.NewAddressGroup(ctx, "address_group_1", &networksecurity.AddressGroupArgs{
* Name: pulumi.String("tf-address-group"),
* Parent: pulumi.String(project.Id),
* Description: pulumi.String("Regional address group"),
* Location: pulumi.String("us-west2"),
* Items: pulumi.StringArray{
* pulumi.String("208.80.154.224/32"),
* },
* Type: pulumi.String("IPV4"),
* Capacity: pulumi.Int(100),
* })
* if err != nil {
* return err
* }
* secureTagKey1, err := tags.NewTagKey(ctx, "secure_tag_key_1", &tags.TagKeyArgs{
* Description: pulumi.String("Tag key"),
* Parent: pulumi.String(project.Id),
* Purpose: pulumi.String("GCE_FIREWALL"),
* ShortName: pulumi.String("tf-tag-key"),
* PurposeData: pulumi.StringMap{
* "network": pulumi.Sprintf("%v/default", project.Name),
* },
* })
* if err != nil {
* return err
* }
* secureTagValue1, err := tags.NewTagValue(ctx, "secure_tag_value_1", &tags.TagValueArgs{
* Description: pulumi.String("Tag value"),
* Parent: secureTagKey1.ID(),
* ShortName: pulumi.String("tf-tag-value"),
* })
* if err != nil {
* return err
* }
* _, err = compute.NewRegionNetworkFirewallPolicyWithRules(ctx, "region-network-firewall-policy-with-rules", &compute.RegionNetworkFirewallPolicyWithRulesArgs{
* Name: pulumi.String("tf-region-fw-policy-with-rules"),
* Region: pulumi.String("us-west2"),
* Description: pulumi.String("Terraform test"),
* Rules: compute.RegionNetworkFirewallPolicyWithRulesRuleArray{
* &compute.RegionNetworkFirewallPolicyWithRulesRuleArgs{
* Description: pulumi.String("tcp rule"),
* Priority: pulumi.Int(1000),
* EnableLogging: pulumi.Bool(true),
* Action: pulumi.String("allow"),
* Direction: pulumi.String("EGRESS"),
* Match: &compute.RegionNetworkFirewallPolicyWithRulesRuleMatchArgs{
* Layer4Configs: compute.RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArray{
* &compute.RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs{
* IpProtocol: pulumi.String("tcp"),
* Ports: pulumi.StringArray{
* pulumi.String("8080"),
* pulumi.String("7070"),
* },
* },
* },
* DestIpRanges: pulumi.StringArray{
* pulumi.String("11.100.0.1/32"),
* },
* DestFqdns: pulumi.StringArray{
* pulumi.String("www.yyy.com"),
* pulumi.String("www.zzz.com"),
* },
* DestRegionCodes: pulumi.StringArray{
* pulumi.String("HK"),
* pulumi.String("IN"),
* },
* DestThreatIntelligences: pulumi.StringArray{
* pulumi.String("iplist-search-engines-crawlers"),
* pulumi.String("iplist-tor-exit-nodes"),
* },
* DestAddressGroups: pulumi.StringArray{
* addressGroup1.ID(),
* },
* },
* TargetSecureTags: compute.RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArray{
* &compute.RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs{
* Name: secureTagValue1.ID(),
* },
* },
* },
* &compute.RegionNetworkFirewallPolicyWithRulesRuleArgs{
* Description: pulumi.String("udp rule"),
* RuleName: pulumi.String("test-rule"),
* Priority: pulumi.Int(2000),
* EnableLogging: pulumi.Bool(false),
* Action: pulumi.String("deny"),
* Direction: pulumi.String("INGRESS"),
* Match: &compute.RegionNetworkFirewallPolicyWithRulesRuleMatchArgs{
* Layer4Configs: compute.RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArray{
* &compute.RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs{
* IpProtocol: pulumi.String("udp"),
* },
* },
* SrcIpRanges: pulumi.StringArray{
* pulumi.String("0.0.0.0/0"),
* },
* SrcFqdns: pulumi.StringArray{
* pulumi.String("www.abc.com"),
* pulumi.String("www.def.com"),
* },
* SrcRegionCodes: pulumi.StringArray{
* pulumi.String("US"),
* pulumi.String("CA"),
* },
* SrcThreatIntelligences: pulumi.StringArray{
* pulumi.String("iplist-known-malicious-ips"),
* pulumi.String("iplist-public-clouds"),
* },
* SrcAddressGroups: pulumi.StringArray{
* addressGroup1.ID(),
* },
* SrcSecureTags: compute.RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArray{
* &compute.RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgs{
* Name: secureTagValue1.ID(),
* },
* },
* },
* Disabled: pulumi.Bool(true),
* },
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.organizations.OrganizationsFunctions;
* import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
* import com.pulumi.gcp.networksecurity.AddressGroup;
* import com.pulumi.gcp.networksecurity.AddressGroupArgs;
* import com.pulumi.gcp.tags.TagKey;
* import com.pulumi.gcp.tags.TagKeyArgs;
* import com.pulumi.gcp.tags.TagValue;
* import com.pulumi.gcp.tags.TagValueArgs;
* import com.pulumi.gcp.compute.RegionNetworkFirewallPolicyWithRules;
* import com.pulumi.gcp.compute.RegionNetworkFirewallPolicyWithRulesArgs;
* import com.pulumi.gcp.compute.inputs.RegionNetworkFirewallPolicyWithRulesRuleArgs;
* import com.pulumi.gcp.compute.inputs.RegionNetworkFirewallPolicyWithRulesRuleMatchArgs;
* 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) {
* final var project = OrganizationsFunctions.getProject();
* var addressGroup1 = new AddressGroup("addressGroup1", AddressGroupArgs.builder()
* .name("tf-address-group")
* .parent(project.applyValue(getProjectResult -> getProjectResult.id()))
* .description("Regional address group")
* .location("us-west2")
* .items("208.80.154.224/32")
* .type("IPV4")
* .capacity(100)
* .build());
* var secureTagKey1 = new TagKey("secureTagKey1", TagKeyArgs.builder()
* .description("Tag key")
* .parent(project.applyValue(getProjectResult -> getProjectResult.id()))
* .purpose("GCE_FIREWALL")
* .shortName("tf-tag-key")
* .purposeData(Map.of("network", String.format("%s/default", project.applyValue(getProjectResult -> getProjectResult.name()))))
* .build());
* var secureTagValue1 = new TagValue("secureTagValue1", TagValueArgs.builder()
* .description("Tag value")
* .parent(secureTagKey1.id())
* .shortName("tf-tag-value")
* .build());
* var region_network_firewall_policy_with_rules = new RegionNetworkFirewallPolicyWithRules("region-network-firewall-policy-with-rules", RegionNetworkFirewallPolicyWithRulesArgs.builder()
* .name("tf-region-fw-policy-with-rules")
* .region("us-west2")
* .description("Terraform test")
* .rules(
* RegionNetworkFirewallPolicyWithRulesRuleArgs.builder()
* .description("tcp rule")
* .priority(1000)
* .enableLogging(true)
* .action("allow")
* .direction("EGRESS")
* .match(RegionNetworkFirewallPolicyWithRulesRuleMatchArgs.builder()
* .layer4Configs(RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs.builder()
* .ipProtocol("tcp")
* .ports(
* 8080,
* 7070)
* .build())
* .destIpRanges("11.100.0.1/32")
* .destFqdns(
* "www.yyy.com",
* "www.zzz.com")
* .destRegionCodes(
* "HK",
* "IN")
* .destThreatIntelligences(
* "iplist-search-engines-crawlers",
* "iplist-tor-exit-nodes")
* .destAddressGroups(addressGroup1.id())
* .build())
* .targetSecureTags(RegionNetworkFirewallPolicyWithRulesRuleTargetSecureTagArgs.builder()
* .name(secureTagValue1.id())
* .build())
* .build(),
* RegionNetworkFirewallPolicyWithRulesRuleArgs.builder()
* .description("udp rule")
* .ruleName("test-rule")
* .priority(2000)
* .enableLogging(false)
* .action("deny")
* .direction("INGRESS")
* .match(RegionNetworkFirewallPolicyWithRulesRuleMatchArgs.builder()
* .layer4Configs(RegionNetworkFirewallPolicyWithRulesRuleMatchLayer4ConfigArgs.builder()
* .ipProtocol("udp")
* .build())
* .srcIpRanges("0.0.0.0/0")
* .srcFqdns(
* "www.abc.com",
* "www.def.com")
* .srcRegionCodes(
* "US",
* "CA")
* .srcThreatIntelligences(
* "iplist-known-malicious-ips",
* "iplist-public-clouds")
* .srcAddressGroups(addressGroup1.id())
* .srcSecureTags(RegionNetworkFirewallPolicyWithRulesRuleMatchSrcSecureTagArgs.builder()
* .name(secureTagValue1.id())
* .build())
* .build())
* .disabled(true)
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* region-network-firewall-policy-with-rules:
* type: gcp:compute:RegionNetworkFirewallPolicyWithRules
* properties:
* name: tf-region-fw-policy-with-rules
* region: us-west2
* description: Terraform test
* rules:
* - description: tcp rule
* priority: 1000
* enableLogging: true
* action: allow
* direction: EGRESS
* match:
* layer4Configs:
* - ipProtocol: tcp
* ports:
* - 8080
* - 7070
* destIpRanges:
* - 11.100.0.1/32
* destFqdns:
* - www.yyy.com
* - www.zzz.com
* destRegionCodes:
* - HK
* - IN
* destThreatIntelligences:
* - iplist-search-engines-crawlers
* - iplist-tor-exit-nodes
* destAddressGroups:
* - ${addressGroup1.id}
* targetSecureTags:
* - name: ${secureTagValue1.id}
* - description: udp rule
* ruleName: test-rule
* priority: 2000
* enableLogging: false
* action: deny
* direction: INGRESS
* match:
* layer4Configs:
* - ipProtocol: udp
* srcIpRanges:
* - 0.0.0.0/0
* srcFqdns:
* - www.abc.com
* - www.def.com
* srcRegionCodes:
* - US
* - CA
* srcThreatIntelligences:
* - iplist-known-malicious-ips
* - iplist-public-clouds
* srcAddressGroups:
* - ${addressGroup1.id}
* srcSecureTags:
* - name: ${secureTagValue1.id}
* disabled: true
* addressGroup1:
* type: gcp:networksecurity:AddressGroup
* name: address_group_1
* properties:
* name: tf-address-group
* parent: ${project.id}
* description: Regional address group
* location: us-west2
* items:
* - 208.80.154.224/32
* type: IPV4
* capacity: 100
* secureTagKey1:
* type: gcp:tags:TagKey
* name: secure_tag_key_1
* properties:
* description: Tag key
* parent: ${project.id}
* purpose: GCE_FIREWALL
* shortName: tf-tag-key
* purposeData:
* network: ${project.name}/default
* secureTagValue1:
* type: gcp:tags:TagValue
* name: secure_tag_value_1
* properties:
* description: Tag value
* parent: ${secureTagKey1.id}
* shortName: tf-tag-value
* variables:
* project:
* fn::invoke:
* function: gcp:organizations:getProject
* arguments: {}
* ```
*
* ## Import
* RegionNetworkFirewallPolicyWithRules can be imported using any of these accepted formats:
* * `projects/{{project}}/regions/{{region}}/firewallPolicies/{{name}}`
* * `{{project}}/{{region}}/{{name}}`
* * `{{region}}/{{name}}`
* * `{{name}}`
* When using the `pulumi import` command, RegionNetworkFirewallPolicyWithRules can be imported using one of the formats above. For example:
* ```sh
* $ pulumi import gcp:compute/regionNetworkFirewallPolicyWithRules:RegionNetworkFirewallPolicyWithRules default projects/{{project}}/regions/{{region}}/firewallPolicies/{{name}}
* ```
* ```sh
* $ pulumi import gcp:compute/regionNetworkFirewallPolicyWithRules:RegionNetworkFirewallPolicyWithRules default {{project}}/{{region}}/{{name}}
* ```
* ```sh
* $ pulumi import gcp:compute/regionNetworkFirewallPolicyWithRules:RegionNetworkFirewallPolicyWithRules default {{region}}/{{name}}
* ```
* ```sh
* $ pulumi import gcp:compute/regionNetworkFirewallPolicyWithRules:RegionNetworkFirewallPolicyWithRules default {{name}}
* ```
*/
public class RegionNetworkFirewallPolicyWithRules internal constructor(
override val javaResource: com.pulumi.gcp.compute.RegionNetworkFirewallPolicyWithRules,
) : KotlinCustomResource(javaResource, RegionNetworkFirewallPolicyWithRulesMapper) {
/**
* Creation timestamp in RFC3339 text format.
*/
public val creationTimestamp: Output
get() = javaResource.creationTimestamp().applyValue({ args0 -> args0 })
/**
* (Output)
* A description of the rule.
*/
public val description: Output?
get() = javaResource.description().applyValue({ args0 ->
args0.map({ args0 ->
args0
}).orElse(null)
})
/**
* Fingerprint of the resource. This field is used internally during updates of this resource.
*/
public val fingerprint: Output
get() = javaResource.fingerprint().applyValue({ args0 -> args0 })
/**
* User-provided name of the Network firewall policy.
* The name should be unique in the project in which the firewall policy is created.
* The name must be 1-63 characters long, and comply with RFC1035. Specifically,
* the name must be 1-63 characters long and match the regular expression a-z?
* which means the first character must be a lowercase letter, and all following characters must be a dash,
* lowercase letter, or digit, except the last character, which cannot be a dash.
*/
public val name: Output
get() = javaResource.name().applyValue({ args0 -> args0 })
/**
* The unique identifier for the resource. This identifier is defined by the server.
*/
public val networkFirewallPolicyId: Output
get() = javaResource.networkFirewallPolicyId().applyValue({ args0 -> args0 })
/**
* A list of firewall policy pre-defined rules.
* Structure is documented below.
*/
public val predefinedRules: Output>
get() = javaResource.predefinedRules().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> regionNetworkFirewallPolicyWithRulesPredefinedRuleToKotlin(args0) })
})
})
public val project: Output
get() = javaResource.project().applyValue({ args0 -> args0 })
/**
* The region of this resource.
*/
public val region: Output
get() = javaResource.region().applyValue({ args0 -> args0 })
/**
* Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.
*/
public val ruleTupleCount: Output
get() = javaResource.ruleTupleCount().applyValue({ args0 -> args0 })
/**
* A list of firewall policy rules.
* Structure is documented below.
*/
public val rules: Output>
get() = javaResource.rules().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
regionNetworkFirewallPolicyWithRulesRuleToKotlin(args0)
})
})
})
/**
* Server-defined URL for the resource.
*/
public val selfLink: Output
get() = javaResource.selfLink().applyValue({ args0 -> args0 })
/**
* Server-defined URL for this resource with the resource id.
*/
public val selfLinkWithId: Output
get() = javaResource.selfLinkWithId().applyValue({ args0 -> args0 })
}
public object RegionNetworkFirewallPolicyWithRulesMapper :
ResourceMapper {
override fun supportsMappingOfType(javaResource: Resource): Boolean =
com.pulumi.gcp.compute.RegionNetworkFirewallPolicyWithRules::class == javaResource::class
override fun map(javaResource: Resource): RegionNetworkFirewallPolicyWithRules =
RegionNetworkFirewallPolicyWithRules(
javaResource as
com.pulumi.gcp.compute.RegionNetworkFirewallPolicyWithRules,
)
}
/**
* @see [RegionNetworkFirewallPolicyWithRules].
* @param name The _unique_ name of the resulting resource.
* @param block Builder for [RegionNetworkFirewallPolicyWithRules].
*/
public suspend fun regionNetworkFirewallPolicyWithRules(
name: String,
block: suspend RegionNetworkFirewallPolicyWithRulesResourceBuilder.() -> Unit,
): RegionNetworkFirewallPolicyWithRules {
val builder = RegionNetworkFirewallPolicyWithRulesResourceBuilder()
builder.name(name)
block(builder)
return builder.build()
}
/**
* @see [RegionNetworkFirewallPolicyWithRules].
* @param name The _unique_ name of the resulting resource.
*/
public fun regionNetworkFirewallPolicyWithRules(name: String): RegionNetworkFirewallPolicyWithRules {
val builder = RegionNetworkFirewallPolicyWithRulesResourceBuilder()
builder.name(name)
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy