pulumi-gcp 8.17.0a1738274430__py3-none-any.whl → 8.17.0a1738349438__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.
Files changed (83) hide show
  1. pulumi_gcp/__init__.py +91 -0
  2. pulumi_gcp/alloydb/cluster.py +75 -7
  3. pulumi_gcp/apigee/_inputs.py +91 -0
  4. pulumi_gcp/apigee/endpoint_attachment.py +0 -64
  5. pulumi_gcp/apigee/environment.py +54 -0
  6. pulumi_gcp/apigee/outputs.py +54 -0
  7. pulumi_gcp/apihub/__init__.py +10 -0
  8. pulumi_gcp/apihub/_inputs.py +154 -0
  9. pulumi_gcp/apihub/api_hub_instance.py +784 -0
  10. pulumi_gcp/apihub/outputs.py +124 -0
  11. pulumi_gcp/chronicle/__init__.py +1 -0
  12. pulumi_gcp/chronicle/_inputs.py +124 -0
  13. pulumi_gcp/chronicle/outputs.py +112 -0
  14. pulumi_gcp/chronicle/retrohunt.py +645 -0
  15. pulumi_gcp/cloudrunv2/_inputs.py +197 -0
  16. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  17. pulumi_gcp/cloudrunv2/outputs.py +256 -0
  18. pulumi_gcp/cloudrunv2/service.py +159 -0
  19. pulumi_gcp/colab/__init__.py +5 -0
  20. pulumi_gcp/colab/_inputs.py +131 -0
  21. pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
  22. pulumi_gcp/colab/outputs.py +92 -0
  23. pulumi_gcp/colab/runtime.py +696 -0
  24. pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
  25. pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
  26. pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
  27. pulumi_gcp/compute/__init__.py +4 -0
  28. pulumi_gcp/compute/_inputs.py +526 -0
  29. pulumi_gcp/compute/firewall_policy_rule.py +104 -22
  30. pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
  31. pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
  32. pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
  33. pulumi_gcp/compute/instance_template_iam_member.py +998 -0
  34. pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
  35. pulumi_gcp/compute/interconnect_attachment.py +189 -2
  36. pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
  37. pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
  38. pulumi_gcp/compute/outputs.py +352 -0
  39. pulumi_gcp/compute/project_metadata_item.py +12 -0
  40. pulumi_gcp/compute/public_advertised_prefix.py +87 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
  42. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
  43. pulumi_gcp/compute/router_peer.py +115 -3
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/filestore/get_instance.py +12 -1
  47. pulumi_gcp/filestore/instance.py +75 -0
  48. pulumi_gcp/gemini/code_repository_index.py +29 -33
  49. pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
  50. pulumi_gcp/gemini/repository_group.py +76 -26
  51. pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
  52. pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
  53. pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/get_key_handles.py +172 -0
  56. pulumi_gcp/kms/outputs.py +45 -0
  57. pulumi_gcp/networksecurity/_inputs.py +72 -0
  58. pulumi_gcp/networksecurity/outputs.py +76 -0
  59. pulumi_gcp/networksecurity/security_profile.py +233 -7
  60. pulumi_gcp/networksecurity/security_profile_group.py +218 -0
  61. pulumi_gcp/organizations/__init__.py +1 -0
  62. pulumi_gcp/organizations/get_s.py +128 -0
  63. pulumi_gcp/organizations/outputs.py +63 -0
  64. pulumi_gcp/parametermanager/__init__.py +3 -0
  65. pulumi_gcp/parametermanager/get_parameter.py +211 -0
  66. pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
  67. pulumi_gcp/parametermanager/outputs.py +210 -0
  68. pulumi_gcp/parametermanager/parameter_version.py +496 -0
  69. pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/_inputs.py +213 -1
  72. pulumi_gcp/pubsub/outputs.py +278 -2
  73. pulumi_gcp/pubsub/topic.py +42 -0
  74. pulumi_gcp/pulumi-plugin.json +1 -1
  75. pulumi_gcp/redis/__init__.py +1 -0
  76. pulumi_gcp/redis/_inputs.py +342 -6
  77. pulumi_gcp/redis/cluster.py +223 -102
  78. pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
  79. pulumi_gcp/redis/outputs.py +268 -4
  80. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/RECORD +83 -63
  82. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/top_level.txt +0 -0
@@ -170,12 +170,18 @@ class ProjectMetadataItem(pulumi.CustomResource):
170
170
 
171
171
  * `{{key}}`
172
172
 
173
+ * `projects/{{project}}/meta-data/{{key}}`
174
+
173
175
  When using the `pulumi import` command, project metadata items can be imported using one of the formats above. For example:
174
176
 
175
177
  ```sh
176
178
  $ pulumi import gcp:compute/projectMetadataItem:ProjectMetadataItem default {{key}}
177
179
  ```
178
180
 
181
+ ```sh
182
+ $ pulumi import gcp:compute/projectMetadataItem:ProjectMetadataItem default projects/{{project}}/meta-data/{{key}}
183
+ ```
184
+
179
185
  :param str resource_name: The name of the resource.
180
186
  :param pulumi.ResourceOptions opts: Options for the resource.
181
187
  :param pulumi.Input[str] key: The metadata key to set.
@@ -214,12 +220,18 @@ class ProjectMetadataItem(pulumi.CustomResource):
214
220
 
215
221
  * `{{key}}`
216
222
 
223
+ * `projects/{{project}}/meta-data/{{key}}`
224
+
217
225
  When using the `pulumi import` command, project metadata items can be imported using one of the formats above. For example:
218
226
 
219
227
  ```sh
220
228
  $ pulumi import gcp:compute/projectMetadataItem:ProjectMetadataItem default {{key}}
221
229
  ```
222
230
 
231
+ ```sh
232
+ $ pulumi import gcp:compute/projectMetadataItem:ProjectMetadataItem default projects/{{project}}/meta-data/{{key}}
233
+ ```
234
+
223
235
  :param str resource_name: The name of the resource.
224
236
  :param ProjectMetadataItemArgs args: The arguments to use to populate this resource's properties.
225
237
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -23,6 +23,7 @@ class PublicAdvertisedPrefixArgs:
23
23
  ip_cidr_range: pulumi.Input[str],
24
24
  description: Optional[pulumi.Input[str]] = None,
25
25
  name: Optional[pulumi.Input[str]] = None,
26
+ pdp_scope: Optional[pulumi.Input[str]] = None,
26
27
  project: Optional[pulumi.Input[str]] = None):
27
28
  """
28
29
  The set of arguments for constructing a PublicAdvertisedPrefix resource.
@@ -38,6 +39,9 @@ class PublicAdvertisedPrefixArgs:
38
39
  which means the first character must be a lowercase letter, and all
39
40
  following characters must be a dash, lowercase letter, or digit,
40
41
  except the last character, which cannot be a dash.
42
+ :param pulumi.Input[str] pdp_scope: Specifies how child public delegated prefix will be scoped. pdpScope
43
+ must be one of: GLOBAL, REGIONAL
44
+ Possible values are: `GLOBAL`, `REGIONAL`.
41
45
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
42
46
  If it is not provided, the provider project is used.
43
47
  """
@@ -47,6 +51,8 @@ class PublicAdvertisedPrefixArgs:
47
51
  pulumi.set(__self__, "description", description)
48
52
  if name is not None:
49
53
  pulumi.set(__self__, "name", name)
54
+ if pdp_scope is not None:
55
+ pulumi.set(__self__, "pdp_scope", pdp_scope)
50
56
  if project is not None:
51
57
  pulumi.set(__self__, "project", project)
52
58
 
@@ -106,6 +112,20 @@ class PublicAdvertisedPrefixArgs:
106
112
  def name(self, value: Optional[pulumi.Input[str]]):
107
113
  pulumi.set(self, "name", value)
108
114
 
115
+ @property
116
+ @pulumi.getter(name="pdpScope")
117
+ def pdp_scope(self) -> Optional[pulumi.Input[str]]:
118
+ """
119
+ Specifies how child public delegated prefix will be scoped. pdpScope
120
+ must be one of: GLOBAL, REGIONAL
121
+ Possible values are: `GLOBAL`, `REGIONAL`.
122
+ """
123
+ return pulumi.get(self, "pdp_scope")
124
+
125
+ @pdp_scope.setter
126
+ def pdp_scope(self, value: Optional[pulumi.Input[str]]):
127
+ pulumi.set(self, "pdp_scope", value)
128
+
109
129
  @property
110
130
  @pulumi.getter
111
131
  def project(self) -> Optional[pulumi.Input[str]]:
@@ -127,6 +147,7 @@ class _PublicAdvertisedPrefixState:
127
147
  dns_verification_ip: Optional[pulumi.Input[str]] = None,
128
148
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
129
149
  name: Optional[pulumi.Input[str]] = None,
150
+ pdp_scope: Optional[pulumi.Input[str]] = None,
130
151
  project: Optional[pulumi.Input[str]] = None,
131
152
  self_link: Optional[pulumi.Input[str]] = None,
132
153
  shared_secret: Optional[pulumi.Input[str]] = None):
@@ -144,6 +165,9 @@ class _PublicAdvertisedPrefixState:
144
165
  which means the first character must be a lowercase letter, and all
145
166
  following characters must be a dash, lowercase letter, or digit,
146
167
  except the last character, which cannot be a dash.
168
+ :param pulumi.Input[str] pdp_scope: Specifies how child public delegated prefix will be scoped. pdpScope
169
+ must be one of: GLOBAL, REGIONAL
170
+ Possible values are: `GLOBAL`, `REGIONAL`.
147
171
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
148
172
  If it is not provided, the provider project is used.
149
173
  :param pulumi.Input[str] self_link: The URI of the created resource.
@@ -157,6 +181,8 @@ class _PublicAdvertisedPrefixState:
157
181
  pulumi.set(__self__, "ip_cidr_range", ip_cidr_range)
158
182
  if name is not None:
159
183
  pulumi.set(__self__, "name", name)
184
+ if pdp_scope is not None:
185
+ pulumi.set(__self__, "pdp_scope", pdp_scope)
160
186
  if project is not None:
161
187
  pulumi.set(__self__, "project", project)
162
188
  if self_link is not None:
@@ -220,6 +246,20 @@ class _PublicAdvertisedPrefixState:
220
246
  def name(self, value: Optional[pulumi.Input[str]]):
221
247
  pulumi.set(self, "name", value)
222
248
 
249
+ @property
250
+ @pulumi.getter(name="pdpScope")
251
+ def pdp_scope(self) -> Optional[pulumi.Input[str]]:
252
+ """
253
+ Specifies how child public delegated prefix will be scoped. pdpScope
254
+ must be one of: GLOBAL, REGIONAL
255
+ Possible values are: `GLOBAL`, `REGIONAL`.
256
+ """
257
+ return pulumi.get(self, "pdp_scope")
258
+
259
+ @pdp_scope.setter
260
+ def pdp_scope(self, value: Optional[pulumi.Input[str]]):
261
+ pulumi.set(self, "pdp_scope", value)
262
+
223
263
  @property
224
264
  @pulumi.getter
225
265
  def project(self) -> Optional[pulumi.Input[str]]:
@@ -267,6 +307,7 @@ class PublicAdvertisedPrefix(pulumi.CustomResource):
267
307
  dns_verification_ip: Optional[pulumi.Input[str]] = None,
268
308
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
269
309
  name: Optional[pulumi.Input[str]] = None,
310
+ pdp_scope: Optional[pulumi.Input[str]] = None,
270
311
  project: Optional[pulumi.Input[str]] = None,
271
312
  __props__=None):
272
313
  """
@@ -292,6 +333,19 @@ class PublicAdvertisedPrefix(pulumi.CustomResource):
292
333
  dns_verification_ip="127.127.0.0",
293
334
  ip_cidr_range="127.127.0.0/16")
294
335
  ```
336
+ ### Public Advertised Prefixes Pdp Scope
337
+
338
+ ```python
339
+ import pulumi
340
+ import pulumi_gcp as gcp
341
+
342
+ prefixes = gcp.compute.PublicAdvertisedPrefix("prefixes",
343
+ name="my-pap",
344
+ description="description",
345
+ dns_verification_ip="127.127.0.0",
346
+ ip_cidr_range="127.127.0.0/16",
347
+ pdp_scope="REGIONAL")
348
+ ```
295
349
 
296
350
  ## Import
297
351
 
@@ -331,6 +385,9 @@ class PublicAdvertisedPrefix(pulumi.CustomResource):
331
385
  which means the first character must be a lowercase letter, and all
332
386
  following characters must be a dash, lowercase letter, or digit,
333
387
  except the last character, which cannot be a dash.
388
+ :param pulumi.Input[str] pdp_scope: Specifies how child public delegated prefix will be scoped. pdpScope
389
+ must be one of: GLOBAL, REGIONAL
390
+ Possible values are: `GLOBAL`, `REGIONAL`.
334
391
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
335
392
  If it is not provided, the provider project is used.
336
393
  """
@@ -363,6 +420,19 @@ class PublicAdvertisedPrefix(pulumi.CustomResource):
363
420
  dns_verification_ip="127.127.0.0",
364
421
  ip_cidr_range="127.127.0.0/16")
365
422
  ```
423
+ ### Public Advertised Prefixes Pdp Scope
424
+
425
+ ```python
426
+ import pulumi
427
+ import pulumi_gcp as gcp
428
+
429
+ prefixes = gcp.compute.PublicAdvertisedPrefix("prefixes",
430
+ name="my-pap",
431
+ description="description",
432
+ dns_verification_ip="127.127.0.0",
433
+ ip_cidr_range="127.127.0.0/16",
434
+ pdp_scope="REGIONAL")
435
+ ```
366
436
 
367
437
  ## Import
368
438
 
@@ -407,6 +477,7 @@ class PublicAdvertisedPrefix(pulumi.CustomResource):
407
477
  dns_verification_ip: Optional[pulumi.Input[str]] = None,
408
478
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
409
479
  name: Optional[pulumi.Input[str]] = None,
480
+ pdp_scope: Optional[pulumi.Input[str]] = None,
410
481
  project: Optional[pulumi.Input[str]] = None,
411
482
  __props__=None):
412
483
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -425,6 +496,7 @@ class PublicAdvertisedPrefix(pulumi.CustomResource):
425
496
  raise TypeError("Missing required property 'ip_cidr_range'")
426
497
  __props__.__dict__["ip_cidr_range"] = ip_cidr_range
427
498
  __props__.__dict__["name"] = name
499
+ __props__.__dict__["pdp_scope"] = pdp_scope
428
500
  __props__.__dict__["project"] = project
429
501
  __props__.__dict__["self_link"] = None
430
502
  __props__.__dict__["shared_secret"] = None
@@ -442,6 +514,7 @@ class PublicAdvertisedPrefix(pulumi.CustomResource):
442
514
  dns_verification_ip: Optional[pulumi.Input[str]] = None,
443
515
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
444
516
  name: Optional[pulumi.Input[str]] = None,
517
+ pdp_scope: Optional[pulumi.Input[str]] = None,
445
518
  project: Optional[pulumi.Input[str]] = None,
446
519
  self_link: Optional[pulumi.Input[str]] = None,
447
520
  shared_secret: Optional[pulumi.Input[str]] = None) -> 'PublicAdvertisedPrefix':
@@ -464,6 +537,9 @@ class PublicAdvertisedPrefix(pulumi.CustomResource):
464
537
  which means the first character must be a lowercase letter, and all
465
538
  following characters must be a dash, lowercase letter, or digit,
466
539
  except the last character, which cannot be a dash.
540
+ :param pulumi.Input[str] pdp_scope: Specifies how child public delegated prefix will be scoped. pdpScope
541
+ must be one of: GLOBAL, REGIONAL
542
+ Possible values are: `GLOBAL`, `REGIONAL`.
467
543
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
468
544
  If it is not provided, the provider project is used.
469
545
  :param pulumi.Input[str] self_link: The URI of the created resource.
@@ -477,6 +553,7 @@ class PublicAdvertisedPrefix(pulumi.CustomResource):
477
553
  __props__.__dict__["dns_verification_ip"] = dns_verification_ip
478
554
  __props__.__dict__["ip_cidr_range"] = ip_cidr_range
479
555
  __props__.__dict__["name"] = name
556
+ __props__.__dict__["pdp_scope"] = pdp_scope
480
557
  __props__.__dict__["project"] = project
481
558
  __props__.__dict__["self_link"] = self_link
482
559
  __props__.__dict__["shared_secret"] = shared_secret
@@ -522,6 +599,16 @@ class PublicAdvertisedPrefix(pulumi.CustomResource):
522
599
  """
523
600
  return pulumi.get(self, "name")
524
601
 
602
+ @property
603
+ @pulumi.getter(name="pdpScope")
604
+ def pdp_scope(self) -> pulumi.Output[Optional[str]]:
605
+ """
606
+ Specifies how child public delegated prefix will be scoped. pdpScope
607
+ must be one of: GLOBAL, REGIONAL
608
+ Possible values are: `GLOBAL`, `REGIONAL`.
609
+ """
610
+ return pulumi.get(self, "pdp_scope")
611
+
525
612
  @property
526
613
  @pulumi.getter
527
614
  def project(self) -> pulumi.Output[str]:
@@ -646,7 +646,7 @@ class RegionNetworkFirewallPolicyRule(pulumi.CustomResource):
646
646
  import pulumi_gcp as gcp
647
647
 
648
648
  basic_regional_networksecurity_address_group = gcp.networksecurity.AddressGroup("basic_regional_networksecurity_address_group",
649
- name="address",
649
+ name="address-group",
650
650
  parent="projects/my-project-name",
651
651
  description="Sample regional networksecurity_address_group",
652
652
  location="us-west1",
@@ -654,7 +654,7 @@ class RegionNetworkFirewallPolicyRule(pulumi.CustomResource):
654
654
  type="IPV4",
655
655
  capacity=100)
656
656
  basic_regional_network_firewall_policy = gcp.compute.RegionNetworkFirewallPolicy("basic_regional_network_firewall_policy",
657
- name="policy",
657
+ name="fw-policy",
658
658
  description="Sample regional network firewall policy",
659
659
  project="my-project-name",
660
660
  region="us-west1")
@@ -663,14 +663,14 @@ class RegionNetworkFirewallPolicyRule(pulumi.CustomResource):
663
663
  description="For keyname resources.",
664
664
  parent="organizations/123456789",
665
665
  purpose="GCE_FIREWALL",
666
- short_name="tagkey",
666
+ short_name="tag-key",
667
667
  purpose_data={
668
668
  "network": basic_network.name.apply(lambda name: f"my-project-name/{name}"),
669
669
  })
670
670
  basic_value = gcp.tags.TagValue("basic_value",
671
671
  description="For valuename resources.",
672
672
  parent=basic_key.id,
673
- short_name="tagvalue")
673
+ short_name="tag-value")
674
674
  primary = gcp.compute.RegionNetworkFirewallPolicyRule("primary",
675
675
  action="allow",
676
676
  description="This is a simple rule description",
@@ -683,6 +683,7 @@ class RegionNetworkFirewallPolicyRule(pulumi.CustomResource):
683
683
  rule_name="test-rule",
684
684
  target_service_accounts=["my@service-account.com"],
685
685
  match={
686
+ "src_address_groups": [basic_regional_networksecurity_address_group.id],
686
687
  "src_ip_ranges": ["10.100.0.1/32"],
687
688
  "src_fqdns": ["example.com"],
688
689
  "src_region_codes": ["US"],
@@ -693,7 +694,66 @@ class RegionNetworkFirewallPolicyRule(pulumi.CustomResource):
693
694
  "src_secure_tags": [{
694
695
  "name": basic_value.id,
695
696
  }],
696
- "src_address_groups": [basic_regional_networksecurity_address_group.id],
697
+ })
698
+ ```
699
+ ### Region Network Firewall Policy Rule Network Scope Egress
700
+
701
+ ```python
702
+ import pulumi
703
+ import pulumi_gcp as gcp
704
+
705
+ basic_regional_network_firewall_policy = gcp.compute.RegionNetworkFirewallPolicy("basic_regional_network_firewall_policy",
706
+ name="fw-policy",
707
+ description="Sample regional network firewall policy",
708
+ project="my-project-name",
709
+ region="us-west1")
710
+ primary = gcp.compute.RegionNetworkFirewallPolicyRule("primary",
711
+ action="allow",
712
+ description="This is a simple rule description",
713
+ direction="EGRESS",
714
+ disabled=False,
715
+ enable_logging=True,
716
+ firewall_policy=basic_regional_network_firewall_policy.name,
717
+ priority=1000,
718
+ region="us-west1",
719
+ rule_name="test-rule",
720
+ match={
721
+ "dest_ip_ranges": ["10.100.0.1/32"],
722
+ "dest_network_scope": "INTERNET",
723
+ "layer4_configs": [{
724
+ "ip_protocol": "all",
725
+ }],
726
+ })
727
+ ```
728
+ ### Region Network Firewall Policy Rule Network Scope Ingress
729
+
730
+ ```python
731
+ import pulumi
732
+ import pulumi_gcp as gcp
733
+
734
+ basic_regional_network_firewall_policy = gcp.compute.RegionNetworkFirewallPolicy("basic_regional_network_firewall_policy",
735
+ name="fw-policy",
736
+ description="Sample regional network firewall policy",
737
+ project="my-project-name",
738
+ region="us-west1")
739
+ network = gcp.compute.Network("network", name="network")
740
+ primary = gcp.compute.RegionNetworkFirewallPolicyRule("primary",
741
+ action="allow",
742
+ description="This is a simple rule description",
743
+ direction="INGRESS",
744
+ disabled=False,
745
+ enable_logging=True,
746
+ firewall_policy=basic_regional_network_firewall_policy.name,
747
+ priority=1000,
748
+ region="us-west1",
749
+ rule_name="test-rule",
750
+ match={
751
+ "src_ip_ranges": ["10.100.0.1/32"],
752
+ "src_network_scope": "VPC_NETWORKS",
753
+ "src_networks": [network.id],
754
+ "layer4_configs": [{
755
+ "ip_protocol": "all",
756
+ }],
697
757
  })
698
758
  ```
699
759
 
@@ -781,7 +841,7 @@ class RegionNetworkFirewallPolicyRule(pulumi.CustomResource):
781
841
  import pulumi_gcp as gcp
782
842
 
783
843
  basic_regional_networksecurity_address_group = gcp.networksecurity.AddressGroup("basic_regional_networksecurity_address_group",
784
- name="address",
844
+ name="address-group",
785
845
  parent="projects/my-project-name",
786
846
  description="Sample regional networksecurity_address_group",
787
847
  location="us-west1",
@@ -789,7 +849,7 @@ class RegionNetworkFirewallPolicyRule(pulumi.CustomResource):
789
849
  type="IPV4",
790
850
  capacity=100)
791
851
  basic_regional_network_firewall_policy = gcp.compute.RegionNetworkFirewallPolicy("basic_regional_network_firewall_policy",
792
- name="policy",
852
+ name="fw-policy",
793
853
  description="Sample regional network firewall policy",
794
854
  project="my-project-name",
795
855
  region="us-west1")
@@ -798,14 +858,14 @@ class RegionNetworkFirewallPolicyRule(pulumi.CustomResource):
798
858
  description="For keyname resources.",
799
859
  parent="organizations/123456789",
800
860
  purpose="GCE_FIREWALL",
801
- short_name="tagkey",
861
+ short_name="tag-key",
802
862
  purpose_data={
803
863
  "network": basic_network.name.apply(lambda name: f"my-project-name/{name}"),
804
864
  })
805
865
  basic_value = gcp.tags.TagValue("basic_value",
806
866
  description="For valuename resources.",
807
867
  parent=basic_key.id,
808
- short_name="tagvalue")
868
+ short_name="tag-value")
809
869
  primary = gcp.compute.RegionNetworkFirewallPolicyRule("primary",
810
870
  action="allow",
811
871
  description="This is a simple rule description",
@@ -818,6 +878,7 @@ class RegionNetworkFirewallPolicyRule(pulumi.CustomResource):
818
878
  rule_name="test-rule",
819
879
  target_service_accounts=["my@service-account.com"],
820
880
  match={
881
+ "src_address_groups": [basic_regional_networksecurity_address_group.id],
821
882
  "src_ip_ranges": ["10.100.0.1/32"],
822
883
  "src_fqdns": ["example.com"],
823
884
  "src_region_codes": ["US"],
@@ -828,7 +889,66 @@ class RegionNetworkFirewallPolicyRule(pulumi.CustomResource):
828
889
  "src_secure_tags": [{
829
890
  "name": basic_value.id,
830
891
  }],
831
- "src_address_groups": [basic_regional_networksecurity_address_group.id],
892
+ })
893
+ ```
894
+ ### Region Network Firewall Policy Rule Network Scope Egress
895
+
896
+ ```python
897
+ import pulumi
898
+ import pulumi_gcp as gcp
899
+
900
+ basic_regional_network_firewall_policy = gcp.compute.RegionNetworkFirewallPolicy("basic_regional_network_firewall_policy",
901
+ name="fw-policy",
902
+ description="Sample regional network firewall policy",
903
+ project="my-project-name",
904
+ region="us-west1")
905
+ primary = gcp.compute.RegionNetworkFirewallPolicyRule("primary",
906
+ action="allow",
907
+ description="This is a simple rule description",
908
+ direction="EGRESS",
909
+ disabled=False,
910
+ enable_logging=True,
911
+ firewall_policy=basic_regional_network_firewall_policy.name,
912
+ priority=1000,
913
+ region="us-west1",
914
+ rule_name="test-rule",
915
+ match={
916
+ "dest_ip_ranges": ["10.100.0.1/32"],
917
+ "dest_network_scope": "INTERNET",
918
+ "layer4_configs": [{
919
+ "ip_protocol": "all",
920
+ }],
921
+ })
922
+ ```
923
+ ### Region Network Firewall Policy Rule Network Scope Ingress
924
+
925
+ ```python
926
+ import pulumi
927
+ import pulumi_gcp as gcp
928
+
929
+ basic_regional_network_firewall_policy = gcp.compute.RegionNetworkFirewallPolicy("basic_regional_network_firewall_policy",
930
+ name="fw-policy",
931
+ description="Sample regional network firewall policy",
932
+ project="my-project-name",
933
+ region="us-west1")
934
+ network = gcp.compute.Network("network", name="network")
935
+ primary = gcp.compute.RegionNetworkFirewallPolicyRule("primary",
936
+ action="allow",
937
+ description="This is a simple rule description",
938
+ direction="INGRESS",
939
+ disabled=False,
940
+ enable_logging=True,
941
+ firewall_policy=basic_regional_network_firewall_policy.name,
942
+ priority=1000,
943
+ region="us-west1",
944
+ rule_name="test-rule",
945
+ match={
946
+ "src_ip_ranges": ["10.100.0.1/32"],
947
+ "src_network_scope": "VPC_NETWORKS",
948
+ "src_networks": [network.id],
949
+ "layer4_configs": [{
950
+ "ip_protocol": "all",
951
+ }],
832
952
  })
833
953
  ```
834
954