pulumi-gcp 8.17.0a1738274430__py3-none-any.whl → 8.18.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +115 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
- pulumi_gcp/alloydb/cluster.py +75 -7
- pulumi_gcp/alloydb/user.py +10 -1
- pulumi_gcp/apigee/_inputs.py +91 -0
- pulumi_gcp/apigee/endpoint_attachment.py +0 -64
- pulumi_gcp/apigee/environment.py +54 -0
- pulumi_gcp/apigee/outputs.py +54 -0
- pulumi_gcp/apihub/__init__.py +10 -0
- pulumi_gcp/apihub/_inputs.py +154 -0
- pulumi_gcp/apihub/api_hub_instance.py +784 -0
- pulumi_gcp/apihub/outputs.py +124 -0
- pulumi_gcp/assuredworkloads/workload.py +7 -7
- pulumi_gcp/beyondcorp/__init__.py +4 -0
- pulumi_gcp/beyondcorp/_inputs.py +130 -0
- pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +180 -0
- pulumi_gcp/beyondcorp/outputs.py +76 -0
- pulumi_gcp/beyondcorp/security_gateway.py +52 -25
- pulumi_gcp/beyondcorp/security_gateway_iam_binding.py +1075 -0
- pulumi_gcp/beyondcorp/security_gateway_iam_member.py +1075 -0
- pulumi_gcp/beyondcorp/security_gateway_iam_policy.py +894 -0
- pulumi_gcp/bigquery/_inputs.py +33 -0
- pulumi_gcp/bigquery/dataset.py +7 -7
- pulumi_gcp/bigquery/outputs.py +36 -0
- pulumi_gcp/bigquery/table.py +61 -7
- pulumi_gcp/chronicle/__init__.py +1 -0
- pulumi_gcp/chronicle/_inputs.py +124 -0
- pulumi_gcp/chronicle/outputs.py +112 -0
- pulumi_gcp/chronicle/retrohunt.py +629 -0
- pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +23 -23
- pulumi_gcp/cloudrunv2/_inputs.py +197 -0
- pulumi_gcp/cloudrunv2/get_service.py +12 -1
- pulumi_gcp/cloudrunv2/outputs.py +256 -0
- pulumi_gcp/cloudrunv2/service.py +159 -0
- pulumi_gcp/colab/__init__.py +5 -0
- pulumi_gcp/colab/_inputs.py +131 -0
- pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
- pulumi_gcp/colab/outputs.py +92 -0
- pulumi_gcp/colab/runtime.py +696 -0
- pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
- pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
- pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
- pulumi_gcp/compute/__init__.py +4 -0
- pulumi_gcp/compute/_inputs.py +535 -9
- pulumi_gcp/compute/firewall_policy_rule.py +104 -22
- pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
- pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
- pulumi_gcp/compute/get_network.py +3 -3
- pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
- pulumi_gcp/compute/instance_template_iam_member.py +998 -0
- pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
- pulumi_gcp/compute/interconnect_attachment.py +189 -2
- pulumi_gcp/compute/network.py +7 -7
- pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
- pulumi_gcp/compute/outputs.py +358 -6
- pulumi_gcp/compute/project_metadata_item.py +12 -0
- pulumi_gcp/compute/public_advertised_prefix.py +87 -0
- pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
- pulumi_gcp/compute/router_peer.py +227 -3
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +79 -20
- pulumi_gcp/container/outputs.py +75 -12
- pulumi_gcp/dataproc/_inputs.py +34 -0
- pulumi_gcp/dataproc/outputs.py +37 -0
- pulumi_gcp/dataproc/workflow_template.py +47 -0
- pulumi_gcp/filestore/get_instance.py +12 -1
- pulumi_gcp/filestore/instance.py +75 -0
- pulumi_gcp/firestore/field.py +60 -0
- pulumi_gcp/gemini/code_repository_index.py +29 -33
- pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
- pulumi_gcp/gemini/repository_group.py +76 -26
- pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
- pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
- pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
- pulumi_gcp/gkehub/_inputs.py +20 -0
- pulumi_gcp/gkehub/membership_binding.py +6 -6
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- pulumi_gcp/gkehub/outputs.py +26 -1
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/kms/__init__.py +1 -0
- pulumi_gcp/kms/get_key_handles.py +172 -0
- pulumi_gcp/kms/outputs.py +45 -0
- pulumi_gcp/netapp/storage_pool.py +1 -1
- pulumi_gcp/networkconnectivity/spoke.py +76 -14
- pulumi_gcp/networksecurity/_inputs.py +72 -0
- pulumi_gcp/networksecurity/outputs.py +76 -0
- pulumi_gcp/networksecurity/security_profile.py +233 -7
- pulumi_gcp/networksecurity/security_profile_group.py +218 -0
- pulumi_gcp/organizations/__init__.py +1 -0
- pulumi_gcp/organizations/get_s.py +128 -0
- pulumi_gcp/organizations/outputs.py +63 -0
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/parametermanager/__init__.py +6 -0
- pulumi_gcp/parametermanager/get_parameter.py +211 -0
- pulumi_gcp/parametermanager/get_parameter_version.py +216 -0
- pulumi_gcp/parametermanager/get_parameters.py +140 -0
- pulumi_gcp/parametermanager/get_regional_parameter_version.py +235 -0
- pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
- pulumi_gcp/parametermanager/outputs.py +366 -0
- pulumi_gcp/parametermanager/parameter_version.py +496 -0
- pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/_inputs.py +477 -1
- pulumi_gcp/pubsub/outputs.py +631 -2
- pulumi_gcp/pubsub/subscription.py +6 -6
- pulumi_gcp/pubsub/topic.py +112 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/__init__.py +1 -0
- pulumi_gcp/redis/_inputs.py +342 -6
- pulumi_gcp/redis/cluster.py +223 -102
- pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
- pulumi_gcp/redis/outputs.py +268 -4
- pulumi_gcp/resourcemanager/lien.py +12 -0
- pulumi_gcp/secretmanager/regional_secret.py +4 -0
- pulumi_gcp/secretmanager/regional_secret_version.py +12 -0
- pulumi_gcp/secretmanager/secret.py +4 -0
- pulumi_gcp/secretmanager/secret_version.py +12 -0
- pulumi_gcp/securityposture/posture.py +4 -0
- pulumi_gcp/securityposture/posture_deployment.py +4 -0
- pulumi_gcp/serviceaccount/get_s.py +98 -8
- pulumi_gcp/spanner/_inputs.py +68 -0
- pulumi_gcp/spanner/backup_schedule.py +70 -4
- pulumi_gcp/spanner/outputs.py +60 -0
- pulumi_gcp/storage/get_bucket_object_content.py +4 -4
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- pulumi_gcp/workflows/workflow.py +175 -0
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/RECORD +137 -110
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/top_level.txt +0 -0
@@ -609,7 +609,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
609
609
|
import pulumi_gcp as gcp
|
610
610
|
|
611
611
|
basic_global_networksecurity_address_group = gcp.networksecurity.AddressGroup("basic_global_networksecurity_address_group",
|
612
|
-
name="address",
|
612
|
+
name="address-group",
|
613
613
|
parent="projects/my-project-name",
|
614
614
|
description="Sample global networksecurity_address_group",
|
615
615
|
location="global",
|
@@ -617,7 +617,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
617
617
|
type="IPV4",
|
618
618
|
capacity=100)
|
619
619
|
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
620
|
-
name="policy",
|
620
|
+
name="fw-policy",
|
621
621
|
description="Sample global network firewall policy",
|
622
622
|
project="my-project-name")
|
623
623
|
basic_network = gcp.compute.Network("basic_network", name="network")
|
@@ -625,14 +625,14 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
625
625
|
description="For keyname resources.",
|
626
626
|
parent="organizations/123456789",
|
627
627
|
purpose="GCE_FIREWALL",
|
628
|
-
short_name="
|
628
|
+
short_name="tag-key",
|
629
629
|
purpose_data={
|
630
630
|
"network": basic_network.name.apply(lambda name: f"my-project-name/{name}"),
|
631
631
|
})
|
632
632
|
basic_value = gcp.tags.TagValue("basic_value",
|
633
633
|
description="For valuename resources.",
|
634
634
|
parent=basic_key.id,
|
635
|
-
short_name="
|
635
|
+
short_name="tag-value")
|
636
636
|
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
637
637
|
action="allow",
|
638
638
|
description="This is a simple rule description",
|
@@ -644,6 +644,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
644
644
|
rule_name="test-rule",
|
645
645
|
target_service_accounts=["my@service-account.com"],
|
646
646
|
match={
|
647
|
+
"src_address_groups": [basic_global_networksecurity_address_group.id],
|
647
648
|
"src_ip_ranges": ["10.100.0.1/32"],
|
648
649
|
"src_fqdns": ["google.com"],
|
649
650
|
"src_region_codes": ["US"],
|
@@ -654,7 +655,62 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
654
655
|
"layer4_configs": [{
|
655
656
|
"ip_protocol": "all",
|
656
657
|
}],
|
657
|
-
|
658
|
+
})
|
659
|
+
```
|
660
|
+
### Network Firewall Policy Rule Network Scope Egress
|
661
|
+
|
662
|
+
```python
|
663
|
+
import pulumi
|
664
|
+
import pulumi_gcp as gcp
|
665
|
+
|
666
|
+
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
667
|
+
name="fw-policy",
|
668
|
+
description="Sample global network firewall policy",
|
669
|
+
project="my-project-name")
|
670
|
+
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
671
|
+
action="allow",
|
672
|
+
description="This is a simple rule description",
|
673
|
+
direction="EGRESS",
|
674
|
+
disabled=False,
|
675
|
+
enable_logging=True,
|
676
|
+
firewall_policy=basic_network_firewall_policy.name,
|
677
|
+
priority=1000,
|
678
|
+
rule_name="test-rule",
|
679
|
+
match={
|
680
|
+
"dest_ip_ranges": ["10.100.0.1/32"],
|
681
|
+
"dest_network_scope": "INTERNET",
|
682
|
+
"layer4_configs": [{
|
683
|
+
"ip_protocol": "all",
|
684
|
+
}],
|
685
|
+
})
|
686
|
+
```
|
687
|
+
### Network Firewall Policy Rule Network Scope Ingress
|
688
|
+
|
689
|
+
```python
|
690
|
+
import pulumi
|
691
|
+
import pulumi_gcp as gcp
|
692
|
+
|
693
|
+
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
694
|
+
name="fw-policy",
|
695
|
+
description="Sample global network firewall policy",
|
696
|
+
project="my-project-name")
|
697
|
+
network = gcp.compute.Network("network", name="network")
|
698
|
+
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
699
|
+
action="allow",
|
700
|
+
description="This is a simple rule description",
|
701
|
+
direction="INGRESS",
|
702
|
+
disabled=False,
|
703
|
+
enable_logging=True,
|
704
|
+
firewall_policy=basic_network_firewall_policy.name,
|
705
|
+
priority=1000,
|
706
|
+
rule_name="test-rule",
|
707
|
+
match={
|
708
|
+
"src_ip_ranges": ["11.100.0.1/32"],
|
709
|
+
"src_network_scope": "VPC_NETWORKS",
|
710
|
+
"src_networks": [network.id],
|
711
|
+
"layer4_configs": [{
|
712
|
+
"ip_protocol": "all",
|
713
|
+
}],
|
658
714
|
})
|
659
715
|
```
|
660
716
|
|
@@ -734,7 +790,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
734
790
|
import pulumi_gcp as gcp
|
735
791
|
|
736
792
|
basic_global_networksecurity_address_group = gcp.networksecurity.AddressGroup("basic_global_networksecurity_address_group",
|
737
|
-
name="address",
|
793
|
+
name="address-group",
|
738
794
|
parent="projects/my-project-name",
|
739
795
|
description="Sample global networksecurity_address_group",
|
740
796
|
location="global",
|
@@ -742,7 +798,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
742
798
|
type="IPV4",
|
743
799
|
capacity=100)
|
744
800
|
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
745
|
-
name="policy",
|
801
|
+
name="fw-policy",
|
746
802
|
description="Sample global network firewall policy",
|
747
803
|
project="my-project-name")
|
748
804
|
basic_network = gcp.compute.Network("basic_network", name="network")
|
@@ -750,14 +806,14 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
750
806
|
description="For keyname resources.",
|
751
807
|
parent="organizations/123456789",
|
752
808
|
purpose="GCE_FIREWALL",
|
753
|
-
short_name="
|
809
|
+
short_name="tag-key",
|
754
810
|
purpose_data={
|
755
811
|
"network": basic_network.name.apply(lambda name: f"my-project-name/{name}"),
|
756
812
|
})
|
757
813
|
basic_value = gcp.tags.TagValue("basic_value",
|
758
814
|
description="For valuename resources.",
|
759
815
|
parent=basic_key.id,
|
760
|
-
short_name="
|
816
|
+
short_name="tag-value")
|
761
817
|
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
762
818
|
action="allow",
|
763
819
|
description="This is a simple rule description",
|
@@ -769,6 +825,7 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
769
825
|
rule_name="test-rule",
|
770
826
|
target_service_accounts=["my@service-account.com"],
|
771
827
|
match={
|
828
|
+
"src_address_groups": [basic_global_networksecurity_address_group.id],
|
772
829
|
"src_ip_ranges": ["10.100.0.1/32"],
|
773
830
|
"src_fqdns": ["google.com"],
|
774
831
|
"src_region_codes": ["US"],
|
@@ -779,7 +836,62 @@ class NetworkFirewallPolicyRule(pulumi.CustomResource):
|
|
779
836
|
"layer4_configs": [{
|
780
837
|
"ip_protocol": "all",
|
781
838
|
}],
|
782
|
-
|
839
|
+
})
|
840
|
+
```
|
841
|
+
### Network Firewall Policy Rule Network Scope Egress
|
842
|
+
|
843
|
+
```python
|
844
|
+
import pulumi
|
845
|
+
import pulumi_gcp as gcp
|
846
|
+
|
847
|
+
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
848
|
+
name="fw-policy",
|
849
|
+
description="Sample global network firewall policy",
|
850
|
+
project="my-project-name")
|
851
|
+
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
852
|
+
action="allow",
|
853
|
+
description="This is a simple rule description",
|
854
|
+
direction="EGRESS",
|
855
|
+
disabled=False,
|
856
|
+
enable_logging=True,
|
857
|
+
firewall_policy=basic_network_firewall_policy.name,
|
858
|
+
priority=1000,
|
859
|
+
rule_name="test-rule",
|
860
|
+
match={
|
861
|
+
"dest_ip_ranges": ["10.100.0.1/32"],
|
862
|
+
"dest_network_scope": "INTERNET",
|
863
|
+
"layer4_configs": [{
|
864
|
+
"ip_protocol": "all",
|
865
|
+
}],
|
866
|
+
})
|
867
|
+
```
|
868
|
+
### Network Firewall Policy Rule Network Scope Ingress
|
869
|
+
|
870
|
+
```python
|
871
|
+
import pulumi
|
872
|
+
import pulumi_gcp as gcp
|
873
|
+
|
874
|
+
basic_network_firewall_policy = gcp.compute.NetworkFirewallPolicy("basic_network_firewall_policy",
|
875
|
+
name="fw-policy",
|
876
|
+
description="Sample global network firewall policy",
|
877
|
+
project="my-project-name")
|
878
|
+
network = gcp.compute.Network("network", name="network")
|
879
|
+
primary = gcp.compute.NetworkFirewallPolicyRule("primary",
|
880
|
+
action="allow",
|
881
|
+
description="This is a simple rule description",
|
882
|
+
direction="INGRESS",
|
883
|
+
disabled=False,
|
884
|
+
enable_logging=True,
|
885
|
+
firewall_policy=basic_network_firewall_policy.name,
|
886
|
+
priority=1000,
|
887
|
+
rule_name="test-rule",
|
888
|
+
match={
|
889
|
+
"src_ip_ranges": ["11.100.0.1/32"],
|
890
|
+
"src_network_scope": "VPC_NETWORKS",
|
891
|
+
"src_networks": [network.id],
|
892
|
+
"layer4_configs": [{
|
893
|
+
"ip_protocol": "all",
|
894
|
+
}],
|
783
895
|
})
|
784
896
|
```
|
785
897
|
|
@@ -316,7 +316,7 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
316
316
|
|
317
317
|
project = gcp.organizations.get_project()
|
318
318
|
address_group1 = gcp.networksecurity.AddressGroup("address_group_1",
|
319
|
-
name="
|
319
|
+
name="address-group",
|
320
320
|
parent=project.id,
|
321
321
|
description="Global address group",
|
322
322
|
location="global",
|
@@ -327,26 +327,29 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
327
327
|
description="Tag key",
|
328
328
|
parent=project.id,
|
329
329
|
purpose="GCE_FIREWALL",
|
330
|
-
short_name="
|
330
|
+
short_name="tag-key",
|
331
331
|
purpose_data={
|
332
332
|
"network": f"{project.name}/default",
|
333
333
|
})
|
334
334
|
secure_tag_value1 = gcp.tags.TagValue("secure_tag_value_1",
|
335
335
|
description="Tag value",
|
336
336
|
parent=secure_tag_key1.id,
|
337
|
-
short_name="
|
337
|
+
short_name="tag-value")
|
338
338
|
security_profile1 = gcp.networksecurity.SecurityProfile("security_profile_1",
|
339
|
-
name="
|
339
|
+
name="sp",
|
340
340
|
type="THREAT_PREVENTION",
|
341
341
|
parent="organizations/123456789",
|
342
342
|
location="global")
|
343
343
|
security_profile_group1 = gcp.networksecurity.SecurityProfileGroup("security_profile_group_1",
|
344
|
-
name="
|
344
|
+
name="spg",
|
345
345
|
parent="organizations/123456789",
|
346
346
|
description="my description",
|
347
347
|
threat_prevention_profile=security_profile1.id)
|
348
|
-
|
349
|
-
name="
|
348
|
+
network = gcp.compute.Network("network",
|
349
|
+
name="network",
|
350
|
+
auto_create_subnetworks=False)
|
351
|
+
primary = gcp.compute.NetworkFirewallPolicyWithRules("primary",
|
352
|
+
name="fw-policy",
|
350
353
|
description="Terraform test",
|
351
354
|
rules=[
|
352
355
|
{
|
@@ -356,13 +359,6 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
356
359
|
"action": "allow",
|
357
360
|
"direction": "EGRESS",
|
358
361
|
"match": {
|
359
|
-
"layer4_configs": [{
|
360
|
-
"ip_protocol": "tcp",
|
361
|
-
"ports": [
|
362
|
-
"8080",
|
363
|
-
"7070",
|
364
|
-
],
|
365
|
-
}],
|
366
362
|
"dest_ip_ranges": ["11.100.0.1/32"],
|
367
363
|
"dest_fqdns": [
|
368
364
|
"www.yyy.com",
|
@@ -377,6 +373,13 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
377
373
|
"iplist-tor-exit-nodes",
|
378
374
|
],
|
379
375
|
"dest_address_groups": [address_group1.id],
|
376
|
+
"layer4_configs": [{
|
377
|
+
"ip_protocol": "tcp",
|
378
|
+
"ports": [
|
379
|
+
"8080",
|
380
|
+
"7070",
|
381
|
+
],
|
382
|
+
}],
|
380
383
|
},
|
381
384
|
"target_secure_tags": [{
|
382
385
|
"name": secure_tag_value1.id,
|
@@ -388,10 +391,8 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
388
391
|
"enable_logging": False,
|
389
392
|
"action": "deny",
|
390
393
|
"direction": "INGRESS",
|
394
|
+
"disabled": True,
|
391
395
|
"match": {
|
392
|
-
"layer4_configs": [{
|
393
|
-
"ip_protocol": "udp",
|
394
|
-
}],
|
395
396
|
"src_ip_ranges": ["0.0.0.0/0"],
|
396
397
|
"src_fqdns": [
|
397
398
|
"www.abc.com",
|
@@ -409,8 +410,10 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
409
410
|
"src_secure_tags": [{
|
410
411
|
"name": secure_tag_value1.id,
|
411
412
|
}],
|
413
|
+
"layer4_configs": [{
|
414
|
+
"ip_protocol": "udp",
|
415
|
+
}],
|
412
416
|
},
|
413
|
-
"disabled": True,
|
414
417
|
},
|
415
418
|
{
|
416
419
|
"description": "security profile group rule",
|
@@ -419,15 +422,48 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
419
422
|
"enable_logging": False,
|
420
423
|
"action": "apply_security_profile_group",
|
421
424
|
"direction": "INGRESS",
|
425
|
+
"target_service_accounts": ["test@google.com"],
|
426
|
+
"security_profile_group": security_profile_group1.id.apply(lambda id: f"//networksecurity.googleapis.com/{id}"),
|
427
|
+
"tls_inspect": True,
|
428
|
+
"match": {
|
429
|
+
"src_ip_ranges": ["0.0.0.0/0"],
|
430
|
+
"layer4_configs": [{
|
431
|
+
"ip_protocol": "tcp",
|
432
|
+
}],
|
433
|
+
},
|
434
|
+
},
|
435
|
+
{
|
436
|
+
"description": "network scope rule 1",
|
437
|
+
"rule_name": "network scope 1",
|
438
|
+
"priority": 4000,
|
439
|
+
"enable_logging": False,
|
440
|
+
"action": "allow",
|
441
|
+
"direction": "INGRESS",
|
422
442
|
"match": {
|
443
|
+
"src_ip_ranges": ["11.100.0.1/32"],
|
444
|
+
"src_network_scope": "VPC_NETWORKS",
|
445
|
+
"src_networks": [network.id],
|
423
446
|
"layer4_configs": [{
|
424
447
|
"ip_protocol": "tcp",
|
448
|
+
"ports": ["8080"],
|
449
|
+
}],
|
450
|
+
},
|
451
|
+
},
|
452
|
+
{
|
453
|
+
"description": "network scope rule 2",
|
454
|
+
"rule_name": "network scope 2",
|
455
|
+
"priority": 5000,
|
456
|
+
"enable_logging": False,
|
457
|
+
"action": "allow",
|
458
|
+
"direction": "EGRESS",
|
459
|
+
"match": {
|
460
|
+
"dest_ip_ranges": ["0.0.0.0/0"],
|
461
|
+
"dest_network_scope": "INTERNET",
|
462
|
+
"layer4_configs": [{
|
463
|
+
"ip_protocol": "tcp",
|
464
|
+
"ports": ["8080"],
|
425
465
|
}],
|
426
|
-
"src_ip_ranges": ["0.0.0.0/0"],
|
427
466
|
},
|
428
|
-
"target_service_accounts": ["test@google.com"],
|
429
|
-
"security_profile_group": security_profile_group1.id.apply(lambda id: f"//networksecurity.googleapis.com/{id}"),
|
430
|
-
"tls_inspect": True,
|
431
467
|
},
|
432
468
|
])
|
433
469
|
```
|
@@ -486,7 +522,7 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
486
522
|
|
487
523
|
project = gcp.organizations.get_project()
|
488
524
|
address_group1 = gcp.networksecurity.AddressGroup("address_group_1",
|
489
|
-
name="
|
525
|
+
name="address-group",
|
490
526
|
parent=project.id,
|
491
527
|
description="Global address group",
|
492
528
|
location="global",
|
@@ -497,26 +533,29 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
497
533
|
description="Tag key",
|
498
534
|
parent=project.id,
|
499
535
|
purpose="GCE_FIREWALL",
|
500
|
-
short_name="
|
536
|
+
short_name="tag-key",
|
501
537
|
purpose_data={
|
502
538
|
"network": f"{project.name}/default",
|
503
539
|
})
|
504
540
|
secure_tag_value1 = gcp.tags.TagValue("secure_tag_value_1",
|
505
541
|
description="Tag value",
|
506
542
|
parent=secure_tag_key1.id,
|
507
|
-
short_name="
|
543
|
+
short_name="tag-value")
|
508
544
|
security_profile1 = gcp.networksecurity.SecurityProfile("security_profile_1",
|
509
|
-
name="
|
545
|
+
name="sp",
|
510
546
|
type="THREAT_PREVENTION",
|
511
547
|
parent="organizations/123456789",
|
512
548
|
location="global")
|
513
549
|
security_profile_group1 = gcp.networksecurity.SecurityProfileGroup("security_profile_group_1",
|
514
|
-
name="
|
550
|
+
name="spg",
|
515
551
|
parent="organizations/123456789",
|
516
552
|
description="my description",
|
517
553
|
threat_prevention_profile=security_profile1.id)
|
518
|
-
|
519
|
-
name="
|
554
|
+
network = gcp.compute.Network("network",
|
555
|
+
name="network",
|
556
|
+
auto_create_subnetworks=False)
|
557
|
+
primary = gcp.compute.NetworkFirewallPolicyWithRules("primary",
|
558
|
+
name="fw-policy",
|
520
559
|
description="Terraform test",
|
521
560
|
rules=[
|
522
561
|
{
|
@@ -526,13 +565,6 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
526
565
|
"action": "allow",
|
527
566
|
"direction": "EGRESS",
|
528
567
|
"match": {
|
529
|
-
"layer4_configs": [{
|
530
|
-
"ip_protocol": "tcp",
|
531
|
-
"ports": [
|
532
|
-
"8080",
|
533
|
-
"7070",
|
534
|
-
],
|
535
|
-
}],
|
536
568
|
"dest_ip_ranges": ["11.100.0.1/32"],
|
537
569
|
"dest_fqdns": [
|
538
570
|
"www.yyy.com",
|
@@ -547,6 +579,13 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
547
579
|
"iplist-tor-exit-nodes",
|
548
580
|
],
|
549
581
|
"dest_address_groups": [address_group1.id],
|
582
|
+
"layer4_configs": [{
|
583
|
+
"ip_protocol": "tcp",
|
584
|
+
"ports": [
|
585
|
+
"8080",
|
586
|
+
"7070",
|
587
|
+
],
|
588
|
+
}],
|
550
589
|
},
|
551
590
|
"target_secure_tags": [{
|
552
591
|
"name": secure_tag_value1.id,
|
@@ -558,10 +597,8 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
558
597
|
"enable_logging": False,
|
559
598
|
"action": "deny",
|
560
599
|
"direction": "INGRESS",
|
600
|
+
"disabled": True,
|
561
601
|
"match": {
|
562
|
-
"layer4_configs": [{
|
563
|
-
"ip_protocol": "udp",
|
564
|
-
}],
|
565
602
|
"src_ip_ranges": ["0.0.0.0/0"],
|
566
603
|
"src_fqdns": [
|
567
604
|
"www.abc.com",
|
@@ -579,8 +616,10 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
579
616
|
"src_secure_tags": [{
|
580
617
|
"name": secure_tag_value1.id,
|
581
618
|
}],
|
619
|
+
"layer4_configs": [{
|
620
|
+
"ip_protocol": "udp",
|
621
|
+
}],
|
582
622
|
},
|
583
|
-
"disabled": True,
|
584
623
|
},
|
585
624
|
{
|
586
625
|
"description": "security profile group rule",
|
@@ -589,15 +628,48 @@ class NetworkFirewallPolicyWithRules(pulumi.CustomResource):
|
|
589
628
|
"enable_logging": False,
|
590
629
|
"action": "apply_security_profile_group",
|
591
630
|
"direction": "INGRESS",
|
631
|
+
"target_service_accounts": ["test@google.com"],
|
632
|
+
"security_profile_group": security_profile_group1.id.apply(lambda id: f"//networksecurity.googleapis.com/{id}"),
|
633
|
+
"tls_inspect": True,
|
634
|
+
"match": {
|
635
|
+
"src_ip_ranges": ["0.0.0.0/0"],
|
636
|
+
"layer4_configs": [{
|
637
|
+
"ip_protocol": "tcp",
|
638
|
+
}],
|
639
|
+
},
|
640
|
+
},
|
641
|
+
{
|
642
|
+
"description": "network scope rule 1",
|
643
|
+
"rule_name": "network scope 1",
|
644
|
+
"priority": 4000,
|
645
|
+
"enable_logging": False,
|
646
|
+
"action": "allow",
|
647
|
+
"direction": "INGRESS",
|
592
648
|
"match": {
|
649
|
+
"src_ip_ranges": ["11.100.0.1/32"],
|
650
|
+
"src_network_scope": "VPC_NETWORKS",
|
651
|
+
"src_networks": [network.id],
|
593
652
|
"layer4_configs": [{
|
594
653
|
"ip_protocol": "tcp",
|
654
|
+
"ports": ["8080"],
|
655
|
+
}],
|
656
|
+
},
|
657
|
+
},
|
658
|
+
{
|
659
|
+
"description": "network scope rule 2",
|
660
|
+
"rule_name": "network scope 2",
|
661
|
+
"priority": 5000,
|
662
|
+
"enable_logging": False,
|
663
|
+
"action": "allow",
|
664
|
+
"direction": "EGRESS",
|
665
|
+
"match": {
|
666
|
+
"dest_ip_ranges": ["0.0.0.0/0"],
|
667
|
+
"dest_network_scope": "INTERNET",
|
668
|
+
"layer4_configs": [{
|
669
|
+
"ip_protocol": "tcp",
|
670
|
+
"ports": ["8080"],
|
595
671
|
}],
|
596
|
-
"src_ip_ranges": ["0.0.0.0/0"],
|
597
672
|
},
|
598
|
-
"target_service_accounts": ["test@google.com"],
|
599
|
-
"security_profile_group": security_profile_group1.id.apply(lambda id: f"//networksecurity.googleapis.com/{id}"),
|
600
|
-
"tls_inspect": True,
|
601
673
|
},
|
602
674
|
])
|
603
675
|
```
|