pulumi-gcp 8.36.0a1750484065__py3-none-any.whl → 8.37.0a1751903932__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 (117) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/alloydb/_inputs.py +26 -0
  3. pulumi_gcp/alloydb/outputs.py +34 -1
  4. pulumi_gcp/apihub/__init__.py +2 -0
  5. pulumi_gcp/apihub/_inputs.py +1658 -0
  6. pulumi_gcp/apihub/outputs.py +1374 -0
  7. pulumi_gcp/apihub/plugin.py +1146 -0
  8. pulumi_gcp/apihub/plugin_instance.py +808 -0
  9. pulumi_gcp/bigquery/table.py +16 -12
  10. pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
  11. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
  12. pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
  13. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
  15. pulumi_gcp/bigtable/table.py +82 -0
  16. pulumi_gcp/cloudidentity/group_membership.py +47 -0
  17. pulumi_gcp/cloudidentity/outputs.py +11 -0
  18. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
  19. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  20. pulumi_gcp/cloudrunv2/job.py +44 -0
  21. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  22. pulumi_gcp/cloudrunv2/service.py +0 -2
  23. pulumi_gcp/cloudrunv2/worker_pool.py +18 -20
  24. pulumi_gcp/compute/__init__.py +1 -0
  25. pulumi_gcp/compute/_inputs.py +787 -18
  26. pulumi_gcp/compute/disk.py +35 -28
  27. pulumi_gcp/compute/firewall_policy_rule.py +207 -0
  28. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  29. pulumi_gcp/compute/get_region_disk.py +12 -1
  30. pulumi_gcp/compute/instance.py +2 -2
  31. pulumi_gcp/compute/instance_group_manager.py +165 -14
  32. pulumi_gcp/compute/instance_template.py +2 -2
  33. pulumi_gcp/compute/interconnect.py +43 -11
  34. pulumi_gcp/compute/network.py +56 -0
  35. pulumi_gcp/compute/network_firewall_policy.py +68 -0
  36. pulumi_gcp/compute/network_firewall_policy_with_rules.py +61 -0
  37. pulumi_gcp/compute/node_template.py +21 -0
  38. pulumi_gcp/compute/outputs.py +620 -12
  39. pulumi_gcp/compute/region_disk.py +114 -0
  40. pulumi_gcp/compute/region_network_firewall_policy.py +90 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +109 -0
  42. pulumi_gcp/compute/service_attachment.py +76 -8
  43. pulumi_gcp/compute/wire_group.py +751 -0
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/contactcenterinsights/__init__.py +9 -0
  47. pulumi_gcp/contactcenterinsights/view.py +526 -0
  48. pulumi_gcp/container/_inputs.py +207 -28
  49. pulumi_gcp/container/cluster.py +54 -0
  50. pulumi_gcp/container/get_cluster.py +12 -1
  51. pulumi_gcp/container/get_engine_versions.py +15 -1
  52. pulumi_gcp/container/node_pool.py +14 -0
  53. pulumi_gcp/container/outputs.py +295 -21
  54. pulumi_gcp/dataplex/_inputs.py +431 -6
  55. pulumi_gcp/dataplex/datascan.py +251 -0
  56. pulumi_gcp/dataplex/entry_type.py +2 -2
  57. pulumi_gcp/dataplex/glossary_category.py +8 -8
  58. pulumi_gcp/dataplex/glossary_term.py +8 -8
  59. pulumi_gcp/dataplex/outputs.py +353 -4
  60. pulumi_gcp/dataplex/task.py +16 -16
  61. pulumi_gcp/dataproc/__init__.py +1 -0
  62. pulumi_gcp/dataproc/_inputs.py +486 -0
  63. pulumi_gcp/dataproc/batch.py +10 -10
  64. pulumi_gcp/dataproc/outputs.py +407 -0
  65. pulumi_gcp/dataproc/session_template.py +1084 -0
  66. pulumi_gcp/diagflow/__init__.py +2 -0
  67. pulumi_gcp/diagflow/_inputs.py +479 -0
  68. pulumi_gcp/diagflow/cx_generative_settings.py +625 -0
  69. pulumi_gcp/diagflow/cx_tool.py +2 -2
  70. pulumi_gcp/diagflow/encryption_spec.py +382 -0
  71. pulumi_gcp/diagflow/outputs.py +416 -0
  72. pulumi_gcp/dns/record_set.py +4 -2
  73. pulumi_gcp/firestore/database.py +0 -9
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gkehub/membership_binding.py +6 -6
  76. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  77. pulumi_gcp/gkehub/namespace.py +4 -4
  78. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  79. pulumi_gcp/iam/_inputs.py +36 -0
  80. pulumi_gcp/iam/outputs.py +38 -0
  81. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +88 -2
  82. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  83. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  84. pulumi_gcp/kms/autokey_config.py +28 -0
  85. pulumi_gcp/kms/get_autokey_config.py +12 -1
  86. pulumi_gcp/lustre/get_instance.py +12 -1
  87. pulumi_gcp/lustre/instance.py +143 -86
  88. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  89. pulumi_gcp/managedkafka/connector.py +4 -4
  90. pulumi_gcp/memorystore/get_instance.py +12 -1
  91. pulumi_gcp/memorystore/instance.py +49 -0
  92. pulumi_gcp/monitoring/metric_descriptor.py +55 -57
  93. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  94. pulumi_gcp/notebooks/instance.py +8 -8
  95. pulumi_gcp/orgpolicy/policy.py +2 -2
  96. pulumi_gcp/provider.py +20 -0
  97. pulumi_gcp/pubsub/subscription.py +6 -6
  98. pulumi_gcp/pulumi-plugin.json +1 -1
  99. pulumi_gcp/redis/get_instance.py +12 -1
  100. pulumi_gcp/redis/instance.py +44 -0
  101. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  102. pulumi_gcp/secretmanager/outputs.py +7 -0
  103. pulumi_gcp/secretmanager/regional_secret.py +38 -2
  104. pulumi_gcp/spanner/_inputs.py +24 -1
  105. pulumi_gcp/spanner/outputs.py +17 -1
  106. pulumi_gcp/storage/_inputs.py +43 -3
  107. pulumi_gcp/storage/bucket_object.py +56 -0
  108. pulumi_gcp/storage/get_bucket_object.py +12 -1
  109. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  110. pulumi_gcp/storage/outputs.py +53 -3
  111. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  112. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  113. pulumi_gcp/workbench/instance.py +2 -0
  114. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/METADATA +2 -2
  115. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/RECORD +117 -109
  116. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/WHEEL +0 -0
  117. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/top_level.txt +0 -0
@@ -25,6 +25,7 @@ class RegionNetworkFirewallPolicyWithRulesArgs:
25
25
  rules: pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesRuleArgs']]],
26
26
  description: Optional[pulumi.Input[builtins.str]] = None,
27
27
  name: Optional[pulumi.Input[builtins.str]] = None,
28
+ policy_type: Optional[pulumi.Input[builtins.str]] = None,
28
29
  project: Optional[pulumi.Input[builtins.str]] = None,
29
30
  region: Optional[pulumi.Input[builtins.str]] = None):
30
31
  """
@@ -39,6 +40,9 @@ class RegionNetworkFirewallPolicyWithRulesArgs:
39
40
  the name must be 1-63 characters long and match the regular expression a-z?
40
41
  which means the first character must be a lowercase letter, and all following characters must be a dash,
41
42
  lowercase letter, or digit, except the last character, which cannot be a dash.
43
+ :param pulumi.Input[builtins.str] policy_type: Policy type is used to determine which resources (networks) the policy can be associated with. A policy can be
44
+ associated with a network only if the network has the matching policyType in its network profile. Different policy types
45
+ may support some of the Firewall Rules features. Possible values: ["VPC_POLICY", "RDMA_ROCE_POLICY"]
42
46
  :param pulumi.Input[builtins.str] region: The region of this resource.
43
47
  """
44
48
  pulumi.set(__self__, "rules", rules)
@@ -46,6 +50,8 @@ class RegionNetworkFirewallPolicyWithRulesArgs:
46
50
  pulumi.set(__self__, "description", description)
47
51
  if name is not None:
48
52
  pulumi.set(__self__, "name", name)
53
+ if policy_type is not None:
54
+ pulumi.set(__self__, "policy_type", policy_type)
49
55
  if project is not None:
50
56
  pulumi.set(__self__, "project", project)
51
57
  if region is not None:
@@ -94,6 +100,20 @@ class RegionNetworkFirewallPolicyWithRulesArgs:
94
100
  def name(self, value: Optional[pulumi.Input[builtins.str]]):
95
101
  pulumi.set(self, "name", value)
96
102
 
103
+ @property
104
+ @pulumi.getter(name="policyType")
105
+ def policy_type(self) -> Optional[pulumi.Input[builtins.str]]:
106
+ """
107
+ Policy type is used to determine which resources (networks) the policy can be associated with. A policy can be
108
+ associated with a network only if the network has the matching policyType in its network profile. Different policy types
109
+ may support some of the Firewall Rules features. Possible values: ["VPC_POLICY", "RDMA_ROCE_POLICY"]
110
+ """
111
+ return pulumi.get(self, "policy_type")
112
+
113
+ @policy_type.setter
114
+ def policy_type(self, value: Optional[pulumi.Input[builtins.str]]):
115
+ pulumi.set(self, "policy_type", value)
116
+
97
117
  @property
98
118
  @pulumi.getter
99
119
  def project(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -124,6 +144,7 @@ class _RegionNetworkFirewallPolicyWithRulesState:
124
144
  fingerprint: Optional[pulumi.Input[builtins.str]] = None,
125
145
  name: Optional[pulumi.Input[builtins.str]] = None,
126
146
  network_firewall_policy_id: Optional[pulumi.Input[builtins.str]] = None,
147
+ policy_type: Optional[pulumi.Input[builtins.str]] = None,
127
148
  predefined_rules: Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgs']]]] = None,
128
149
  project: Optional[pulumi.Input[builtins.str]] = None,
129
150
  region: Optional[pulumi.Input[builtins.str]] = None,
@@ -144,6 +165,9 @@ class _RegionNetworkFirewallPolicyWithRulesState:
144
165
  which means the first character must be a lowercase letter, and all following characters must be a dash,
145
166
  lowercase letter, or digit, except the last character, which cannot be a dash.
146
167
  :param pulumi.Input[builtins.str] network_firewall_policy_id: The unique identifier for the resource. This identifier is defined by the server.
168
+ :param pulumi.Input[builtins.str] policy_type: Policy type is used to determine which resources (networks) the policy can be associated with. A policy can be
169
+ associated with a network only if the network has the matching policyType in its network profile. Different policy types
170
+ may support some of the Firewall Rules features. Possible values: ["VPC_POLICY", "RDMA_ROCE_POLICY"]
147
171
  :param pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgs']]] predefined_rules: A list of firewall policy pre-defined rules.
148
172
  Structure is documented below.
149
173
  :param pulumi.Input[builtins.str] region: The region of this resource.
@@ -163,6 +187,8 @@ class _RegionNetworkFirewallPolicyWithRulesState:
163
187
  pulumi.set(__self__, "name", name)
164
188
  if network_firewall_policy_id is not None:
165
189
  pulumi.set(__self__, "network_firewall_policy_id", network_firewall_policy_id)
190
+ if policy_type is not None:
191
+ pulumi.set(__self__, "policy_type", policy_type)
166
192
  if predefined_rules is not None:
167
193
  pulumi.set(__self__, "predefined_rules", predefined_rules)
168
194
  if project is not None:
@@ -244,6 +270,20 @@ class _RegionNetworkFirewallPolicyWithRulesState:
244
270
  def network_firewall_policy_id(self, value: Optional[pulumi.Input[builtins.str]]):
245
271
  pulumi.set(self, "network_firewall_policy_id", value)
246
272
 
273
+ @property
274
+ @pulumi.getter(name="policyType")
275
+ def policy_type(self) -> Optional[pulumi.Input[builtins.str]]:
276
+ """
277
+ Policy type is used to determine which resources (networks) the policy can be associated with. A policy can be
278
+ associated with a network only if the network has the matching policyType in its network profile. Different policy types
279
+ may support some of the Firewall Rules features. Possible values: ["VPC_POLICY", "RDMA_ROCE_POLICY"]
280
+ """
281
+ return pulumi.get(self, "policy_type")
282
+
283
+ @policy_type.setter
284
+ def policy_type(self, value: Optional[pulumi.Input[builtins.str]]):
285
+ pulumi.set(self, "policy_type", value)
286
+
247
287
  @property
248
288
  @pulumi.getter(name="predefinedRules")
249
289
  def predefined_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgs']]]]:
@@ -336,6 +376,7 @@ class RegionNetworkFirewallPolicyWithRules(pulumi.CustomResource):
336
376
  opts: Optional[pulumi.ResourceOptions] = None,
337
377
  description: Optional[pulumi.Input[builtins.str]] = None,
338
378
  name: Optional[pulumi.Input[builtins.str]] = None,
379
+ policy_type: Optional[pulumi.Input[builtins.str]] = None,
339
380
  project: Optional[pulumi.Input[builtins.str]] = None,
340
381
  region: Optional[pulumi.Input[builtins.str]] = None,
341
382
  rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegionNetworkFirewallPolicyWithRulesRuleArgs', 'RegionNetworkFirewallPolicyWithRulesRuleArgsDict']]]]] = None,
@@ -443,6 +484,30 @@ class RegionNetworkFirewallPolicyWithRules(pulumi.CustomResource):
443
484
  },
444
485
  ])
445
486
  ```
487
+ ### Compute Region Network Firewall Policy With Rules Roce
488
+
489
+ ```python
490
+ import pulumi
491
+ import pulumi_gcp as gcp
492
+
493
+ policy = gcp.compute.RegionNetworkFirewallPolicyWithRules("policy",
494
+ name="rnf-policy",
495
+ description="Terraform test",
496
+ policy_type="RDMA_ROCE_POLICY",
497
+ rules=[{
498
+ "description": "deny all rule",
499
+ "priority": 1000,
500
+ "enable_logging": True,
501
+ "action": "deny",
502
+ "direction": "INGRESS",
503
+ "match": {
504
+ "src_ip_ranges": ["0.0.0.0/0"],
505
+ "layer4_configs": [{
506
+ "ip_protocol": "all",
507
+ }],
508
+ },
509
+ }])
510
+ ```
446
511
 
447
512
  ## Import
448
513
 
@@ -484,6 +549,9 @@ class RegionNetworkFirewallPolicyWithRules(pulumi.CustomResource):
484
549
  the name must be 1-63 characters long and match the regular expression a-z?
485
550
  which means the first character must be a lowercase letter, and all following characters must be a dash,
486
551
  lowercase letter, or digit, except the last character, which cannot be a dash.
552
+ :param pulumi.Input[builtins.str] policy_type: Policy type is used to determine which resources (networks) the policy can be associated with. A policy can be
553
+ associated with a network only if the network has the matching policyType in its network profile. Different policy types
554
+ may support some of the Firewall Rules features. Possible values: ["VPC_POLICY", "RDMA_ROCE_POLICY"]
487
555
  :param pulumi.Input[builtins.str] region: The region of this resource.
488
556
  :param pulumi.Input[Sequence[pulumi.Input[Union['RegionNetworkFirewallPolicyWithRulesRuleArgs', 'RegionNetworkFirewallPolicyWithRulesRuleArgsDict']]]] rules: A list of firewall policy rules.
489
557
  Structure is documented below.
@@ -597,6 +665,30 @@ class RegionNetworkFirewallPolicyWithRules(pulumi.CustomResource):
597
665
  },
598
666
  ])
599
667
  ```
668
+ ### Compute Region Network Firewall Policy With Rules Roce
669
+
670
+ ```python
671
+ import pulumi
672
+ import pulumi_gcp as gcp
673
+
674
+ policy = gcp.compute.RegionNetworkFirewallPolicyWithRules("policy",
675
+ name="rnf-policy",
676
+ description="Terraform test",
677
+ policy_type="RDMA_ROCE_POLICY",
678
+ rules=[{
679
+ "description": "deny all rule",
680
+ "priority": 1000,
681
+ "enable_logging": True,
682
+ "action": "deny",
683
+ "direction": "INGRESS",
684
+ "match": {
685
+ "src_ip_ranges": ["0.0.0.0/0"],
686
+ "layer4_configs": [{
687
+ "ip_protocol": "all",
688
+ }],
689
+ },
690
+ }])
691
+ ```
600
692
 
601
693
  ## Import
602
694
 
@@ -645,6 +737,7 @@ class RegionNetworkFirewallPolicyWithRules(pulumi.CustomResource):
645
737
  opts: Optional[pulumi.ResourceOptions] = None,
646
738
  description: Optional[pulumi.Input[builtins.str]] = None,
647
739
  name: Optional[pulumi.Input[builtins.str]] = None,
740
+ policy_type: Optional[pulumi.Input[builtins.str]] = None,
648
741
  project: Optional[pulumi.Input[builtins.str]] = None,
649
742
  region: Optional[pulumi.Input[builtins.str]] = None,
650
743
  rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegionNetworkFirewallPolicyWithRulesRuleArgs', 'RegionNetworkFirewallPolicyWithRulesRuleArgsDict']]]]] = None,
@@ -659,6 +752,7 @@ class RegionNetworkFirewallPolicyWithRules(pulumi.CustomResource):
659
752
 
660
753
  __props__.__dict__["description"] = description
661
754
  __props__.__dict__["name"] = name
755
+ __props__.__dict__["policy_type"] = policy_type
662
756
  __props__.__dict__["project"] = project
663
757
  __props__.__dict__["region"] = region
664
758
  if rules is None and not opts.urn:
@@ -686,6 +780,7 @@ class RegionNetworkFirewallPolicyWithRules(pulumi.CustomResource):
686
780
  fingerprint: Optional[pulumi.Input[builtins.str]] = None,
687
781
  name: Optional[pulumi.Input[builtins.str]] = None,
688
782
  network_firewall_policy_id: Optional[pulumi.Input[builtins.str]] = None,
783
+ policy_type: Optional[pulumi.Input[builtins.str]] = None,
689
784
  predefined_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgs', 'RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgsDict']]]]] = None,
690
785
  project: Optional[pulumi.Input[builtins.str]] = None,
691
786
  region: Optional[pulumi.Input[builtins.str]] = None,
@@ -711,6 +806,9 @@ class RegionNetworkFirewallPolicyWithRules(pulumi.CustomResource):
711
806
  which means the first character must be a lowercase letter, and all following characters must be a dash,
712
807
  lowercase letter, or digit, except the last character, which cannot be a dash.
713
808
  :param pulumi.Input[builtins.str] network_firewall_policy_id: The unique identifier for the resource. This identifier is defined by the server.
809
+ :param pulumi.Input[builtins.str] policy_type: Policy type is used to determine which resources (networks) the policy can be associated with. A policy can be
810
+ associated with a network only if the network has the matching policyType in its network profile. Different policy types
811
+ may support some of the Firewall Rules features. Possible values: ["VPC_POLICY", "RDMA_ROCE_POLICY"]
714
812
  :param pulumi.Input[Sequence[pulumi.Input[Union['RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgs', 'RegionNetworkFirewallPolicyWithRulesPredefinedRuleArgsDict']]]] predefined_rules: A list of firewall policy pre-defined rules.
715
813
  Structure is documented below.
716
814
  :param pulumi.Input[builtins.str] region: The region of this resource.
@@ -729,6 +827,7 @@ class RegionNetworkFirewallPolicyWithRules(pulumi.CustomResource):
729
827
  __props__.__dict__["fingerprint"] = fingerprint
730
828
  __props__.__dict__["name"] = name
731
829
  __props__.__dict__["network_firewall_policy_id"] = network_firewall_policy_id
830
+ __props__.__dict__["policy_type"] = policy_type
732
831
  __props__.__dict__["predefined_rules"] = predefined_rules
733
832
  __props__.__dict__["project"] = project
734
833
  __props__.__dict__["region"] = region
@@ -784,6 +883,16 @@ class RegionNetworkFirewallPolicyWithRules(pulumi.CustomResource):
784
883
  """
785
884
  return pulumi.get(self, "network_firewall_policy_id")
786
885
 
886
+ @property
887
+ @pulumi.getter(name="policyType")
888
+ def policy_type(self) -> pulumi.Output[builtins.str]:
889
+ """
890
+ Policy type is used to determine which resources (networks) the policy can be associated with. A policy can be
891
+ associated with a network only if the network has the matching policyType in its network profile. Different policy types
892
+ may support some of the Firewall Rules features. Possible values: ["VPC_POLICY", "RDMA_ROCE_POLICY"]
893
+ """
894
+ return pulumi.get(self, "policy_type")
895
+
787
896
  @property
788
897
  @pulumi.getter(name="predefinedRules")
789
898
  def predefined_rules(self) -> pulumi.Output[Sequence['outputs.RegionNetworkFirewallPolicyWithRulesPredefinedRule']]:
@@ -34,7 +34,8 @@ class ServiceAttachmentArgs:
34
34
  project: Optional[pulumi.Input[builtins.str]] = None,
35
35
  propagated_connection_limit: Optional[pulumi.Input[builtins.int]] = None,
36
36
  reconcile_connections: Optional[pulumi.Input[builtins.bool]] = None,
37
- region: Optional[pulumi.Input[builtins.str]] = None):
37
+ region: Optional[pulumi.Input[builtins.str]] = None,
38
+ send_propagated_connection_limit_if_zero: Optional[pulumi.Input[builtins.bool]] = None):
38
39
  """
39
40
  The set of arguments for constructing a ServiceAttachment resource.
40
41
  :param pulumi.Input[builtins.str] connection_preference: The connection preference to use for this service attachment. Valid
@@ -69,11 +70,15 @@ class ServiceAttachmentArgs:
69
70
  This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer.
70
71
  If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list.
71
72
  If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint.
72
- If unspecified, the default propagated connection limit is 250.
73
+ If unspecified, the default propagated connection limit is 250. To explicitly send a zero value, set `send_propagated_connection_limit_if_zero = true`.
73
74
  :param pulumi.Input[builtins.bool] reconcile_connections: This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints.
74
75
  If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified .
75
76
  If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list.
76
77
  :param pulumi.Input[builtins.str] region: URL of the region where the resource resides.
78
+ :param pulumi.Input[builtins.bool] send_propagated_connection_limit_if_zero: Controls the behavior of propagated_connection_limit.
79
+ When false, setting propagated_connection_limit to zero causes the provider to use to the API's default value.
80
+ When true, the provider will set propagated_connection_limit to zero.
81
+ Defaults to false.
77
82
  """
78
83
  pulumi.set(__self__, "connection_preference", connection_preference)
79
84
  pulumi.set(__self__, "enable_proxy_protocol", enable_proxy_protocol)
@@ -97,6 +102,8 @@ class ServiceAttachmentArgs:
97
102
  pulumi.set(__self__, "reconcile_connections", reconcile_connections)
98
103
  if region is not None:
99
104
  pulumi.set(__self__, "region", region)
105
+ if send_propagated_connection_limit_if_zero is not None:
106
+ pulumi.set(__self__, "send_propagated_connection_limit_if_zero", send_propagated_connection_limit_if_zero)
100
107
 
101
108
  @property
102
109
  @pulumi.getter(name="connectionPreference")
@@ -244,7 +251,7 @@ class ServiceAttachmentArgs:
244
251
  This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer.
245
252
  If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list.
246
253
  If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint.
247
- If unspecified, the default propagated connection limit is 250.
254
+ If unspecified, the default propagated connection limit is 250. To explicitly send a zero value, set `send_propagated_connection_limit_if_zero = true`.
248
255
  """
249
256
  return pulumi.get(self, "propagated_connection_limit")
250
257
 
@@ -278,6 +285,21 @@ class ServiceAttachmentArgs:
278
285
  def region(self, value: Optional[pulumi.Input[builtins.str]]):
279
286
  pulumi.set(self, "region", value)
280
287
 
288
+ @property
289
+ @pulumi.getter(name="sendPropagatedConnectionLimitIfZero")
290
+ def send_propagated_connection_limit_if_zero(self) -> Optional[pulumi.Input[builtins.bool]]:
291
+ """
292
+ Controls the behavior of propagated_connection_limit.
293
+ When false, setting propagated_connection_limit to zero causes the provider to use to the API's default value.
294
+ When true, the provider will set propagated_connection_limit to zero.
295
+ Defaults to false.
296
+ """
297
+ return pulumi.get(self, "send_propagated_connection_limit_if_zero")
298
+
299
+ @send_propagated_connection_limit_if_zero.setter
300
+ def send_propagated_connection_limit_if_zero(self, value: Optional[pulumi.Input[builtins.bool]]):
301
+ pulumi.set(self, "send_propagated_connection_limit_if_zero", value)
302
+
281
303
 
282
304
  @pulumi.input_type
283
305
  class _ServiceAttachmentState:
@@ -297,6 +319,7 @@ class _ServiceAttachmentState:
297
319
  reconcile_connections: Optional[pulumi.Input[builtins.bool]] = None,
298
320
  region: Optional[pulumi.Input[builtins.str]] = None,
299
321
  self_link: Optional[pulumi.Input[builtins.str]] = None,
322
+ send_propagated_connection_limit_if_zero: Optional[pulumi.Input[builtins.bool]] = None,
300
323
  target_service: Optional[pulumi.Input[builtins.str]] = None):
301
324
  """
302
325
  Input properties used for looking up and filtering ServiceAttachment resources.
@@ -336,12 +359,16 @@ class _ServiceAttachmentState:
336
359
  This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer.
337
360
  If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list.
338
361
  If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint.
339
- If unspecified, the default propagated connection limit is 250.
362
+ If unspecified, the default propagated connection limit is 250. To explicitly send a zero value, set `send_propagated_connection_limit_if_zero = true`.
340
363
  :param pulumi.Input[builtins.bool] reconcile_connections: This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints.
341
364
  If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified .
342
365
  If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list.
343
366
  :param pulumi.Input[builtins.str] region: URL of the region where the resource resides.
344
367
  :param pulumi.Input[builtins.str] self_link: The URI of the created resource.
368
+ :param pulumi.Input[builtins.bool] send_propagated_connection_limit_if_zero: Controls the behavior of propagated_connection_limit.
369
+ When false, setting propagated_connection_limit to zero causes the provider to use to the API's default value.
370
+ When true, the provider will set propagated_connection_limit to zero.
371
+ Defaults to false.
345
372
  :param pulumi.Input[builtins.str] target_service: The URL of a service serving the endpoint identified by this service attachment.
346
373
  """
347
374
  if connected_endpoints is not None:
@@ -374,6 +401,8 @@ class _ServiceAttachmentState:
374
401
  pulumi.set(__self__, "region", region)
375
402
  if self_link is not None:
376
403
  pulumi.set(__self__, "self_link", self_link)
404
+ if send_propagated_connection_limit_if_zero is not None:
405
+ pulumi.set(__self__, "send_propagated_connection_limit_if_zero", send_propagated_connection_limit_if_zero)
377
406
  if target_service is not None:
378
407
  pulumi.set(__self__, "target_service", target_service)
379
408
 
@@ -538,7 +567,7 @@ class _ServiceAttachmentState:
538
567
  This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer.
539
568
  If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list.
540
569
  If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint.
541
- If unspecified, the default propagated connection limit is 250.
570
+ If unspecified, the default propagated connection limit is 250. To explicitly send a zero value, set `send_propagated_connection_limit_if_zero = true`.
542
571
  """
543
572
  return pulumi.get(self, "propagated_connection_limit")
544
573
 
@@ -584,6 +613,21 @@ class _ServiceAttachmentState:
584
613
  def self_link(self, value: Optional[pulumi.Input[builtins.str]]):
585
614
  pulumi.set(self, "self_link", value)
586
615
 
616
+ @property
617
+ @pulumi.getter(name="sendPropagatedConnectionLimitIfZero")
618
+ def send_propagated_connection_limit_if_zero(self) -> Optional[pulumi.Input[builtins.bool]]:
619
+ """
620
+ Controls the behavior of propagated_connection_limit.
621
+ When false, setting propagated_connection_limit to zero causes the provider to use to the API's default value.
622
+ When true, the provider will set propagated_connection_limit to zero.
623
+ Defaults to false.
624
+ """
625
+ return pulumi.get(self, "send_propagated_connection_limit_if_zero")
626
+
627
+ @send_propagated_connection_limit_if_zero.setter
628
+ def send_propagated_connection_limit_if_zero(self, value: Optional[pulumi.Input[builtins.bool]]):
629
+ pulumi.set(self, "send_propagated_connection_limit_if_zero", value)
630
+
587
631
  @property
588
632
  @pulumi.getter(name="targetService")
589
633
  def target_service(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -615,6 +659,7 @@ class ServiceAttachment(pulumi.CustomResource):
615
659
  propagated_connection_limit: Optional[pulumi.Input[builtins.int]] = None,
616
660
  reconcile_connections: Optional[pulumi.Input[builtins.bool]] = None,
617
661
  region: Optional[pulumi.Input[builtins.str]] = None,
662
+ send_propagated_connection_limit_if_zero: Optional[pulumi.Input[builtins.bool]] = None,
618
663
  target_service: Optional[pulumi.Input[builtins.str]] = None,
619
664
  __props__=None):
620
665
  """
@@ -953,11 +998,15 @@ class ServiceAttachment(pulumi.CustomResource):
953
998
  This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer.
954
999
  If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list.
955
1000
  If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint.
956
- If unspecified, the default propagated connection limit is 250.
1001
+ If unspecified, the default propagated connection limit is 250. To explicitly send a zero value, set `send_propagated_connection_limit_if_zero = true`.
957
1002
  :param pulumi.Input[builtins.bool] reconcile_connections: This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints.
958
1003
  If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified .
959
1004
  If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list.
960
1005
  :param pulumi.Input[builtins.str] region: URL of the region where the resource resides.
1006
+ :param pulumi.Input[builtins.bool] send_propagated_connection_limit_if_zero: Controls the behavior of propagated_connection_limit.
1007
+ When false, setting propagated_connection_limit to zero causes the provider to use to the API's default value.
1008
+ When true, the provider will set propagated_connection_limit to zero.
1009
+ Defaults to false.
961
1010
  :param pulumi.Input[builtins.str] target_service: The URL of a service serving the endpoint identified by this service attachment.
962
1011
  """
963
1012
  ...
@@ -1296,6 +1345,7 @@ class ServiceAttachment(pulumi.CustomResource):
1296
1345
  propagated_connection_limit: Optional[pulumi.Input[builtins.int]] = None,
1297
1346
  reconcile_connections: Optional[pulumi.Input[builtins.bool]] = None,
1298
1347
  region: Optional[pulumi.Input[builtins.str]] = None,
1348
+ send_propagated_connection_limit_if_zero: Optional[pulumi.Input[builtins.bool]] = None,
1299
1349
  target_service: Optional[pulumi.Input[builtins.str]] = None,
1300
1350
  __props__=None):
1301
1351
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -1324,6 +1374,7 @@ class ServiceAttachment(pulumi.CustomResource):
1324
1374
  __props__.__dict__["propagated_connection_limit"] = propagated_connection_limit
1325
1375
  __props__.__dict__["reconcile_connections"] = reconcile_connections
1326
1376
  __props__.__dict__["region"] = region
1377
+ __props__.__dict__["send_propagated_connection_limit_if_zero"] = send_propagated_connection_limit_if_zero
1327
1378
  if target_service is None and not opts.urn:
1328
1379
  raise TypeError("Missing required property 'target_service'")
1329
1380
  __props__.__dict__["target_service"] = target_service
@@ -1355,6 +1406,7 @@ class ServiceAttachment(pulumi.CustomResource):
1355
1406
  reconcile_connections: Optional[pulumi.Input[builtins.bool]] = None,
1356
1407
  region: Optional[pulumi.Input[builtins.str]] = None,
1357
1408
  self_link: Optional[pulumi.Input[builtins.str]] = None,
1409
+ send_propagated_connection_limit_if_zero: Optional[pulumi.Input[builtins.bool]] = None,
1358
1410
  target_service: Optional[pulumi.Input[builtins.str]] = None) -> 'ServiceAttachment':
1359
1411
  """
1360
1412
  Get an existing ServiceAttachment resource's state with the given name, id, and optional extra
@@ -1399,12 +1451,16 @@ class ServiceAttachment(pulumi.CustomResource):
1399
1451
  This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer.
1400
1452
  If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list.
1401
1453
  If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint.
1402
- If unspecified, the default propagated connection limit is 250.
1454
+ If unspecified, the default propagated connection limit is 250. To explicitly send a zero value, set `send_propagated_connection_limit_if_zero = true`.
1403
1455
  :param pulumi.Input[builtins.bool] reconcile_connections: This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints.
1404
1456
  If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified .
1405
1457
  If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list.
1406
1458
  :param pulumi.Input[builtins.str] region: URL of the region where the resource resides.
1407
1459
  :param pulumi.Input[builtins.str] self_link: The URI of the created resource.
1460
+ :param pulumi.Input[builtins.bool] send_propagated_connection_limit_if_zero: Controls the behavior of propagated_connection_limit.
1461
+ When false, setting propagated_connection_limit to zero causes the provider to use to the API's default value.
1462
+ When true, the provider will set propagated_connection_limit to zero.
1463
+ Defaults to false.
1408
1464
  :param pulumi.Input[builtins.str] target_service: The URL of a service serving the endpoint identified by this service attachment.
1409
1465
  """
1410
1466
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -1426,6 +1482,7 @@ class ServiceAttachment(pulumi.CustomResource):
1426
1482
  __props__.__dict__["reconcile_connections"] = reconcile_connections
1427
1483
  __props__.__dict__["region"] = region
1428
1484
  __props__.__dict__["self_link"] = self_link
1485
+ __props__.__dict__["send_propagated_connection_limit_if_zero"] = send_propagated_connection_limit_if_zero
1429
1486
  __props__.__dict__["target_service"] = target_service
1430
1487
  return ServiceAttachment(resource_name, opts=opts, __props__=__props__)
1431
1488
 
@@ -1546,7 +1603,7 @@ class ServiceAttachment(pulumi.CustomResource):
1546
1603
  This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer.
1547
1604
  If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list.
1548
1605
  If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint.
1549
- If unspecified, the default propagated connection limit is 250.
1606
+ If unspecified, the default propagated connection limit is 250. To explicitly send a zero value, set `send_propagated_connection_limit_if_zero = true`.
1550
1607
  """
1551
1608
  return pulumi.get(self, "propagated_connection_limit")
1552
1609
 
@@ -1576,6 +1633,17 @@ class ServiceAttachment(pulumi.CustomResource):
1576
1633
  """
1577
1634
  return pulumi.get(self, "self_link")
1578
1635
 
1636
+ @property
1637
+ @pulumi.getter(name="sendPropagatedConnectionLimitIfZero")
1638
+ def send_propagated_connection_limit_if_zero(self) -> pulumi.Output[Optional[builtins.bool]]:
1639
+ """
1640
+ Controls the behavior of propagated_connection_limit.
1641
+ When false, setting propagated_connection_limit to zero causes the provider to use to the API's default value.
1642
+ When true, the provider will set propagated_connection_limit to zero.
1643
+ Defaults to false.
1644
+ """
1645
+ return pulumi.get(self, "send_propagated_connection_limit_if_zero")
1646
+
1579
1647
  @property
1580
1648
  @pulumi.getter(name="targetService")
1581
1649
  def target_service(self) -> pulumi.Output[builtins.str]: