pulumi-gcp 8.40.0a1754721948__py3-none-any.whl → 8.40.0a1754951145__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 (157) hide show
  1. pulumi_gcp/__init__.py +128 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +24 -4
  3. pulumi_gcp/accesscontextmanager/outputs.py +15 -3
  4. pulumi_gcp/apigee/__init__.py +2 -0
  5. pulumi_gcp/apigee/_inputs.py +1435 -0
  6. pulumi_gcp/apigee/api_product.py +1698 -0
  7. pulumi_gcp/apigee/outputs.py +1081 -0
  8. pulumi_gcp/apigee/security_action.py +1010 -0
  9. pulumi_gcp/artifactregistry/__init__.py +1 -0
  10. pulumi_gcp/artifactregistry/get_docker_images.py +164 -0
  11. pulumi_gcp/artifactregistry/outputs.py +109 -2
  12. pulumi_gcp/artifactregistry/repository.py +6 -6
  13. pulumi_gcp/backupdisasterrecovery/backup_vault.py +56 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +12 -1
  15. pulumi_gcp/bigquery/_inputs.py +6 -0
  16. pulumi_gcp/bigquery/get_table.py +23 -1
  17. pulumi_gcp/bigquery/outputs.py +4 -0
  18. pulumi_gcp/bigquery/table.py +62 -0
  19. pulumi_gcp/bigqueryanalyticshub/_inputs.py +180 -0
  20. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +80 -0
  21. pulumi_gcp/bigqueryanalyticshub/listing.py +322 -2
  22. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +32 -0
  23. pulumi_gcp/bigqueryanalyticshub/outputs.py +159 -0
  24. pulumi_gcp/bigtable/__init__.py +1 -0
  25. pulumi_gcp/bigtable/_inputs.py +33 -0
  26. pulumi_gcp/bigtable/outputs.py +36 -0
  27. pulumi_gcp/bigtable/schema_bundle.py +568 -0
  28. pulumi_gcp/cloudfunctions/_inputs.py +48 -0
  29. pulumi_gcp/cloudfunctions/function.py +94 -0
  30. pulumi_gcp/cloudfunctions/get_function.py +23 -1
  31. pulumi_gcp/cloudfunctions/outputs.py +70 -0
  32. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  33. pulumi_gcp/cloudrunv2/job.py +2 -0
  34. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  35. pulumi_gcp/cloudrunv2/worker_pool.py +2 -0
  36. pulumi_gcp/compute/__init__.py +1 -0
  37. pulumi_gcp/compute/_inputs.py +713 -22
  38. pulumi_gcp/compute/firewall_policy_with_rules.py +66 -0
  39. pulumi_gcp/compute/forwarding_rule.py +0 -21
  40. pulumi_gcp/compute/get_router.py +12 -1
  41. pulumi_gcp/compute/outputs.py +562 -22
  42. pulumi_gcp/compute/preview_feature.py +396 -0
  43. pulumi_gcp/compute/region_url_map.py +392 -0
  44. pulumi_gcp/compute/reservation.py +4 -4
  45. pulumi_gcp/compute/router.py +54 -0
  46. pulumi_gcp/compute/storage_pool.py +154 -0
  47. pulumi_gcp/compute/subnetwork.py +54 -0
  48. pulumi_gcp/config/__init__.pyi +2 -0
  49. pulumi_gcp/config/vars.py +4 -0
  50. pulumi_gcp/container/_inputs.py +278 -8
  51. pulumi_gcp/container/cluster.py +61 -21
  52. pulumi_gcp/container/get_cluster.py +12 -1
  53. pulumi_gcp/container/outputs.py +352 -8
  54. pulumi_gcp/dataproc/_inputs.py +249 -14
  55. pulumi_gcp/dataproc/batch.py +6 -0
  56. pulumi_gcp/dataproc/cluster.py +2 -0
  57. pulumi_gcp/dataproc/outputs.py +215 -12
  58. pulumi_gcp/dataproc/session_template.py +14 -2
  59. pulumi_gcp/developerconnect/__init__.py +1 -0
  60. pulumi_gcp/developerconnect/_inputs.py +583 -0
  61. pulumi_gcp/developerconnect/insights_config.py +895 -0
  62. pulumi_gcp/developerconnect/outputs.py +442 -0
  63. pulumi_gcp/diagflow/__init__.py +1 -0
  64. pulumi_gcp/diagflow/_inputs.py +1165 -58
  65. pulumi_gcp/diagflow/cx_generator.py +636 -0
  66. pulumi_gcp/diagflow/cx_tool.py +2 -2
  67. pulumi_gcp/diagflow/cx_webhook.py +380 -36
  68. pulumi_gcp/diagflow/outputs.py +848 -25
  69. pulumi_gcp/discoveryengine/__init__.py +2 -0
  70. pulumi_gcp/discoveryengine/_inputs.py +465 -0
  71. pulumi_gcp/discoveryengine/cmek_config.py +707 -0
  72. pulumi_gcp/discoveryengine/outputs.py +412 -0
  73. pulumi_gcp/discoveryengine/recommendation_engine.py +813 -0
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +107 -9
  76. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +2 -2
  77. pulumi_gcp/gkehub/membership_binding.py +6 -6
  78. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  79. pulumi_gcp/gkehub/namespace.py +4 -4
  80. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  81. pulumi_gcp/iam/__init__.py +4 -0
  82. pulumi_gcp/iam/_inputs.py +98 -0
  83. pulumi_gcp/iam/get_workforce_pool_iam_policy.py +161 -0
  84. pulumi_gcp/iam/outputs.py +56 -0
  85. pulumi_gcp/iam/workforce_pool_iam_binding.py +761 -0
  86. pulumi_gcp/iam/workforce_pool_iam_member.py +761 -0
  87. pulumi_gcp/iam/workforce_pool_iam_policy.py +600 -0
  88. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  89. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  90. pulumi_gcp/looker/instance.py +28 -7
  91. pulumi_gcp/managedkafka/_inputs.py +127 -0
  92. pulumi_gcp/managedkafka/cluster.py +131 -1
  93. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  94. pulumi_gcp/managedkafka/connector.py +4 -4
  95. pulumi_gcp/managedkafka/outputs.py +128 -0
  96. pulumi_gcp/memorystore/instance.py +8 -12
  97. pulumi_gcp/modelarmor/__init__.py +1 -0
  98. pulumi_gcp/modelarmor/_inputs.py +683 -0
  99. pulumi_gcp/modelarmor/floorsetting.py +736 -0
  100. pulumi_gcp/modelarmor/outputs.py +618 -0
  101. pulumi_gcp/networkconnectivity/_inputs.py +60 -0
  102. pulumi_gcp/networkconnectivity/internal_range.py +136 -0
  103. pulumi_gcp/networkconnectivity/outputs.py +55 -0
  104. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  105. pulumi_gcp/oracledatabase/__init__.py +2 -0
  106. pulumi_gcp/oracledatabase/autonomous_database.py +262 -38
  107. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +314 -50
  108. pulumi_gcp/oracledatabase/get_autonomous_database.py +23 -1
  109. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +34 -1
  110. pulumi_gcp/oracledatabase/odb_network.py +721 -0
  111. pulumi_gcp/oracledatabase/odb_subnet.py +803 -0
  112. pulumi_gcp/oracledatabase/outputs.py +83 -0
  113. pulumi_gcp/orgpolicy/policy.py +2 -2
  114. pulumi_gcp/parametermanager/parameter_version.py +62 -0
  115. pulumi_gcp/parametermanager/regional_parameter_version.py +64 -0
  116. pulumi_gcp/provider.py +20 -0
  117. pulumi_gcp/pubsub/subscription.py +46 -6
  118. pulumi_gcp/pubsub/topic.py +36 -0
  119. pulumi_gcp/pulumi-plugin.json +1 -1
  120. pulumi_gcp/redis/cluster.py +70 -0
  121. pulumi_gcp/redis/get_cluster.py +12 -1
  122. pulumi_gcp/redis/instance.py +8 -12
  123. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  124. pulumi_gcp/secretmanager/get_secret.py +12 -1
  125. pulumi_gcp/secretmanager/outputs.py +30 -0
  126. pulumi_gcp/secretmanager/regional_secret.py +61 -0
  127. pulumi_gcp/secretmanager/secret.py +61 -0
  128. pulumi_gcp/securesourcemanager/branch_rule.py +16 -8
  129. pulumi_gcp/securesourcemanager/instance.py +112 -4
  130. pulumi_gcp/securesourcemanager/repository.py +112 -8
  131. pulumi_gcp/serviceaccount/get_account_key.py +1 -0
  132. pulumi_gcp/sql/_inputs.py +6 -6
  133. pulumi_gcp/sql/database.py +0 -12
  134. pulumi_gcp/sql/outputs.py +4 -4
  135. pulumi_gcp/storage/__init__.py +2 -0
  136. pulumi_gcp/storage/_inputs.py +451 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/bucket_object.py +34 -0
  139. pulumi_gcp/storage/get_bucket_object.py +12 -1
  140. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  141. pulumi_gcp/storage/get_insights_dataset_config.py +363 -0
  142. pulumi_gcp/storage/insights_dataset_config.py +1280 -0
  143. pulumi_gcp/storage/outputs.py +619 -0
  144. pulumi_gcp/vertex/__init__.py +1 -0
  145. pulumi_gcp/vertex/_inputs.py +3646 -3
  146. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  147. pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +940 -0
  148. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  149. pulumi_gcp/vertex/outputs.py +2609 -2
  150. pulumi_gcp/vmwareengine/network_peering.py +7 -7
  151. pulumi_gcp/workbench/_inputs.py +118 -0
  152. pulumi_gcp/workbench/instance.py +171 -2
  153. pulumi_gcp/workbench/outputs.py +91 -0
  154. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/METADATA +1 -1
  155. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/RECORD +157 -138
  156. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/WHEEL +0 -0
  157. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/top_level.txt +0 -0
@@ -153,12 +153,20 @@ __all__ = [
153
153
  'FirewallPolicyWithRulesPredefinedRuleMatchArgsDict',
154
154
  'FirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgs',
155
155
  'FirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgsDict',
156
+ 'FirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs',
157
+ 'FirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgsDict',
158
+ 'FirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs',
159
+ 'FirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgsDict',
156
160
  'FirewallPolicyWithRulesRuleArgs',
157
161
  'FirewallPolicyWithRulesRuleArgsDict',
158
162
  'FirewallPolicyWithRulesRuleMatchArgs',
159
163
  'FirewallPolicyWithRulesRuleMatchArgsDict',
160
164
  'FirewallPolicyWithRulesRuleMatchLayer4ConfigArgs',
161
165
  'FirewallPolicyWithRulesRuleMatchLayer4ConfigArgsDict',
166
+ 'FirewallPolicyWithRulesRuleMatchSrcSecureTagArgs',
167
+ 'FirewallPolicyWithRulesRuleMatchSrcSecureTagArgsDict',
168
+ 'FirewallPolicyWithRulesRuleTargetSecureTagArgs',
169
+ 'FirewallPolicyWithRulesRuleTargetSecureTagArgsDict',
162
170
  'ForwardingRuleServiceDirectoryRegistrationsArgs',
163
171
  'ForwardingRuleServiceDirectoryRegistrationsArgsDict',
164
172
  'FutureReservationAggregateReservationArgs',
@@ -679,6 +687,10 @@ __all__ = [
679
687
  'PerInstanceConfigPreservedStateInternalIpArgsDict',
680
688
  'PerInstanceConfigPreservedStateInternalIpIpAddressArgs',
681
689
  'PerInstanceConfigPreservedStateInternalIpIpAddressArgsDict',
690
+ 'PreviewFeatureRolloutOperationArgs',
691
+ 'PreviewFeatureRolloutOperationArgsDict',
692
+ 'PreviewFeatureRolloutOperationRolloutInputArgs',
693
+ 'PreviewFeatureRolloutOperationRolloutInputArgsDict',
682
694
  'RegionAutoscalerAutoscalingPolicyArgs',
683
695
  'RegionAutoscalerAutoscalingPolicyArgsDict',
684
696
  'RegionAutoscalerAutoscalingPolicyCpuUtilizationArgs',
@@ -1251,6 +1263,8 @@ __all__ = [
1251
1263
  'RouterNatRuleActionArgsDict',
1252
1264
  'RouterNatSubnetworkArgs',
1253
1265
  'RouterNatSubnetworkArgsDict',
1266
+ 'RouterParamsArgs',
1267
+ 'RouterParamsArgsDict',
1254
1268
  'RouterPeerAdvertisedIpRangeArgs',
1255
1269
  'RouterPeerAdvertisedIpRangeArgsDict',
1256
1270
  'RouterPeerBfdArgs',
@@ -1359,6 +1373,8 @@ __all__ = [
1359
1373
  'SubnetworkIAMMemberConditionArgsDict',
1360
1374
  'SubnetworkLogConfigArgs',
1361
1375
  'SubnetworkLogConfigArgsDict',
1376
+ 'SubnetworkParamsArgs',
1377
+ 'SubnetworkParamsArgsDict',
1362
1378
  'SubnetworkSecondaryIpRangeArgs',
1363
1379
  'SubnetworkSecondaryIpRangeArgsDict',
1364
1380
  'URLMapDefaultCustomErrorResponsePolicyArgs',
@@ -8077,6 +8093,22 @@ if not MYPY:
8077
8093
  this rule. If this field is left blank, all VMs
8078
8094
  within the organization will receive the rule.
8079
8095
  """
8096
+ target_secure_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgsDict']]]]
8097
+ """
8098
+ (Output)
8099
+ A list of secure tags that controls which instances the firewall rule
8100
+ applies to. If <code>targetSecureTag</code> are specified, then the
8101
+ firewall rule applies only to instances in the VPC network that have one
8102
+ of those EFFECTIVE secure tags, if all the target_secure_tag are in
8103
+ INEFFECTIVE state, then this rule will be ignored.
8104
+ <code>targetSecureTag</code> may not be set at the same time as
8105
+ <code>targetServiceAccounts</code>.
8106
+ If neither <code>targetServiceAccounts</code> nor
8107
+ <code>targetSecureTag</code> are specified, the firewall rule applies
8108
+ to all instances on the specified network.
8109
+ Maximum number of target secure tags allowed is 256.
8110
+ Structure is documented below.
8111
+ """
8080
8112
  target_service_accounts: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
8081
8113
  """
8082
8114
  (Output)
@@ -8105,6 +8137,7 @@ class FirewallPolicyWithRulesPredefinedRuleArgs:
8105
8137
  rule_name: Optional[pulumi.Input[_builtins.str]] = None,
8106
8138
  security_profile_group: Optional[pulumi.Input[_builtins.str]] = None,
8107
8139
  target_resources: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
8140
+ target_secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs']]]] = None,
8108
8141
  target_service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
8109
8142
  tls_inspect: Optional[pulumi.Input[_builtins.bool]] = None):
8110
8143
  """
@@ -8143,6 +8176,19 @@ class FirewallPolicyWithRulesPredefinedRuleArgs:
8143
8176
  This field allows you to control which network's VMs get
8144
8177
  this rule. If this field is left blank, all VMs
8145
8178
  within the organization will receive the rule.
8179
+ :param pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs']]] target_secure_tags: (Output)
8180
+ A list of secure tags that controls which instances the firewall rule
8181
+ applies to. If <code>targetSecureTag</code> are specified, then the
8182
+ firewall rule applies only to instances in the VPC network that have one
8183
+ of those EFFECTIVE secure tags, if all the target_secure_tag are in
8184
+ INEFFECTIVE state, then this rule will be ignored.
8185
+ <code>targetSecureTag</code> may not be set at the same time as
8186
+ <code>targetServiceAccounts</code>.
8187
+ If neither <code>targetServiceAccounts</code> nor
8188
+ <code>targetSecureTag</code> are specified, the firewall rule applies
8189
+ to all instances on the specified network.
8190
+ Maximum number of target secure tags allowed is 256.
8191
+ Structure is documented below.
8146
8192
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] target_service_accounts: (Output)
8147
8193
  A list of service accounts indicating the sets of
8148
8194
  instances that are applied with this rule.
@@ -8170,6 +8216,8 @@ class FirewallPolicyWithRulesPredefinedRuleArgs:
8170
8216
  pulumi.set(__self__, "security_profile_group", security_profile_group)
8171
8217
  if target_resources is not None:
8172
8218
  pulumi.set(__self__, "target_resources", target_resources)
8219
+ if target_secure_tags is not None:
8220
+ pulumi.set(__self__, "target_secure_tags", target_secure_tags)
8173
8221
  if target_service_accounts is not None:
8174
8222
  pulumi.set(__self__, "target_service_accounts", target_service_accounts)
8175
8223
  if tls_inspect is not None:
@@ -8320,6 +8368,30 @@ class FirewallPolicyWithRulesPredefinedRuleArgs:
8320
8368
  def target_resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
8321
8369
  pulumi.set(self, "target_resources", value)
8322
8370
 
8371
+ @_builtins.property
8372
+ @pulumi.getter(name="targetSecureTags")
8373
+ def target_secure_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs']]]]:
8374
+ """
8375
+ (Output)
8376
+ A list of secure tags that controls which instances the firewall rule
8377
+ applies to. If <code>targetSecureTag</code> are specified, then the
8378
+ firewall rule applies only to instances in the VPC network that have one
8379
+ of those EFFECTIVE secure tags, if all the target_secure_tag are in
8380
+ INEFFECTIVE state, then this rule will be ignored.
8381
+ <code>targetSecureTag</code> may not be set at the same time as
8382
+ <code>targetServiceAccounts</code>.
8383
+ If neither <code>targetServiceAccounts</code> nor
8384
+ <code>targetSecureTag</code> are specified, the firewall rule applies
8385
+ to all instances on the specified network.
8386
+ Maximum number of target secure tags allowed is 256.
8387
+ Structure is documented below.
8388
+ """
8389
+ return pulumi.get(self, "target_secure_tags")
8390
+
8391
+ @target_secure_tags.setter
8392
+ def target_secure_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs']]]]):
8393
+ pulumi.set(self, "target_secure_tags", value)
8394
+
8323
8395
  @_builtins.property
8324
8396
  @pulumi.getter(name="targetServiceAccounts")
8325
8397
  def target_service_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
@@ -8382,9 +8454,6 @@ if not MYPY:
8382
8454
  """
8383
8455
  Pairs of IP protocols and ports that the rule should match.
8384
8456
  Structure is documented below.
8385
-
8386
-
8387
- <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
8388
8457
  """
8389
8458
  src_address_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
8390
8459
  """
@@ -8408,6 +8477,15 @@ if not MYPY:
8408
8477
  ISO 3166 alpha-2 country codes. ex."US"
8409
8478
  Maximum number of source region codes allowed is 5000.
8410
8479
  """
8480
+ src_secure_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgsDict']]]]
8481
+ """
8482
+ List of secure tag values, which should be matched at the source
8483
+ of the traffic.
8484
+ For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
8485
+ and there is no <code>srcIpRange</code>, this rule will be ignored.
8486
+ Maximum number of source tag values allowed is 256.
8487
+ Structure is documented below.
8488
+ """
8411
8489
  src_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
8412
8490
  """
8413
8491
  Names of Network Threat Intelligence lists.
@@ -8429,6 +8507,7 @@ class FirewallPolicyWithRulesPredefinedRuleMatchArgs:
8429
8507
  src_fqdns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
8430
8508
  src_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
8431
8509
  src_region_codes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
8510
+ src_secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs']]]] = None,
8432
8511
  src_threat_intelligences: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
8433
8512
  """
8434
8513
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] dest_address_groups: Address groups which should be matched against the traffic destination.
@@ -8445,9 +8524,6 @@ class FirewallPolicyWithRulesPredefinedRuleMatchArgs:
8445
8524
  The IPs in these lists will be matched against traffic destination.
8446
8525
  :param pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgs']]] layer4_configs: Pairs of IP protocols and ports that the rule should match.
8447
8526
  Structure is documented below.
8448
-
8449
-
8450
- <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
8451
8527
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] src_address_groups: Address groups which should be matched against the traffic source.
8452
8528
  Maximum number of source address groups is 10.
8453
8529
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] src_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
@@ -8458,6 +8534,12 @@ class FirewallPolicyWithRulesPredefinedRuleMatchArgs:
8458
8534
  of traffic. Should be specified as 2 letter country code defined as per
8459
8535
  ISO 3166 alpha-2 country codes. ex."US"
8460
8536
  Maximum number of source region codes allowed is 5000.
8537
+ :param pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs']]] src_secure_tags: List of secure tag values, which should be matched at the source
8538
+ of the traffic.
8539
+ For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
8540
+ and there is no <code>srcIpRange</code>, this rule will be ignored.
8541
+ Maximum number of source tag values allowed is 256.
8542
+ Structure is documented below.
8461
8543
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] src_threat_intelligences: Names of Network Threat Intelligence lists.
8462
8544
  The IPs in these lists will be matched against traffic source.
8463
8545
  """
@@ -8481,6 +8563,8 @@ class FirewallPolicyWithRulesPredefinedRuleMatchArgs:
8481
8563
  pulumi.set(__self__, "src_ip_ranges", src_ip_ranges)
8482
8564
  if src_region_codes is not None:
8483
8565
  pulumi.set(__self__, "src_region_codes", src_region_codes)
8566
+ if src_secure_tags is not None:
8567
+ pulumi.set(__self__, "src_secure_tags", src_secure_tags)
8484
8568
  if src_threat_intelligences is not None:
8485
8569
  pulumi.set(__self__, "src_threat_intelligences", src_threat_intelligences)
8486
8570
 
@@ -8557,9 +8641,6 @@ class FirewallPolicyWithRulesPredefinedRuleMatchArgs:
8557
8641
  """
8558
8642
  Pairs of IP protocols and ports that the rule should match.
8559
8643
  Structure is documented below.
8560
-
8561
-
8562
- <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
8563
8644
  """
8564
8645
  return pulumi.get(self, "layer4_configs")
8565
8646
 
@@ -8621,6 +8702,23 @@ class FirewallPolicyWithRulesPredefinedRuleMatchArgs:
8621
8702
  def src_region_codes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
8622
8703
  pulumi.set(self, "src_region_codes", value)
8623
8704
 
8705
+ @_builtins.property
8706
+ @pulumi.getter(name="srcSecureTags")
8707
+ def src_secure_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs']]]]:
8708
+ """
8709
+ List of secure tag values, which should be matched at the source
8710
+ of the traffic.
8711
+ For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
8712
+ and there is no <code>srcIpRange</code>, this rule will be ignored.
8713
+ Maximum number of source tag values allowed is 256.
8714
+ Structure is documented below.
8715
+ """
8716
+ return pulumi.get(self, "src_secure_tags")
8717
+
8718
+ @src_secure_tags.setter
8719
+ def src_secure_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs']]]]):
8720
+ pulumi.set(self, "src_secure_tags", value)
8721
+
8624
8722
  @_builtins.property
8625
8723
  @pulumi.getter(name="srcThreatIntelligences")
8626
8724
  def src_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
@@ -8720,6 +8818,140 @@ class FirewallPolicyWithRulesPredefinedRuleMatchLayer4ConfigArgs:
8720
8818
  pulumi.set(self, "ports", value)
8721
8819
 
8722
8820
 
8821
+ if not MYPY:
8822
+ class FirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgsDict(TypedDict):
8823
+ name: NotRequired[pulumi.Input[_builtins.str]]
8824
+ """
8825
+ Name of the secure tag, created with TagManager's TagValue API.
8826
+ @pattern tagValues/[0-9]+
8827
+ """
8828
+ state: NotRequired[pulumi.Input[_builtins.str]]
8829
+ """
8830
+ (Output)
8831
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
8832
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
8833
+ or its network is deleted.
8834
+
8835
+ <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
8836
+ """
8837
+ elif False:
8838
+ FirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgsDict: TypeAlias = Mapping[str, Any]
8839
+
8840
+ @pulumi.input_type
8841
+ class FirewallPolicyWithRulesPredefinedRuleMatchSrcSecureTagArgs:
8842
+ def __init__(__self__, *,
8843
+ name: Optional[pulumi.Input[_builtins.str]] = None,
8844
+ state: Optional[pulumi.Input[_builtins.str]] = None):
8845
+ """
8846
+ :param pulumi.Input[_builtins.str] name: Name of the secure tag, created with TagManager's TagValue API.
8847
+ @pattern tagValues/[0-9]+
8848
+ :param pulumi.Input[_builtins.str] state: (Output)
8849
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
8850
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
8851
+ or its network is deleted.
8852
+
8853
+ <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
8854
+ """
8855
+ if name is not None:
8856
+ pulumi.set(__self__, "name", name)
8857
+ if state is not None:
8858
+ pulumi.set(__self__, "state", state)
8859
+
8860
+ @_builtins.property
8861
+ @pulumi.getter
8862
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
8863
+ """
8864
+ Name of the secure tag, created with TagManager's TagValue API.
8865
+ @pattern tagValues/[0-9]+
8866
+ """
8867
+ return pulumi.get(self, "name")
8868
+
8869
+ @name.setter
8870
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
8871
+ pulumi.set(self, "name", value)
8872
+
8873
+ @_builtins.property
8874
+ @pulumi.getter
8875
+ def state(self) -> Optional[pulumi.Input[_builtins.str]]:
8876
+ """
8877
+ (Output)
8878
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
8879
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
8880
+ or its network is deleted.
8881
+
8882
+ <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
8883
+ """
8884
+ return pulumi.get(self, "state")
8885
+
8886
+ @state.setter
8887
+ def state(self, value: Optional[pulumi.Input[_builtins.str]]):
8888
+ pulumi.set(self, "state", value)
8889
+
8890
+
8891
+ if not MYPY:
8892
+ class FirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgsDict(TypedDict):
8893
+ name: NotRequired[pulumi.Input[_builtins.str]]
8894
+ """
8895
+ Name of the secure tag, created with TagManager's TagValue API.
8896
+ @pattern tagValues/[0-9]+
8897
+ """
8898
+ state: NotRequired[pulumi.Input[_builtins.str]]
8899
+ """
8900
+ (Output)
8901
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
8902
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
8903
+ or its network is deleted.
8904
+ """
8905
+ elif False:
8906
+ FirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgsDict: TypeAlias = Mapping[str, Any]
8907
+
8908
+ @pulumi.input_type
8909
+ class FirewallPolicyWithRulesPredefinedRuleTargetSecureTagArgs:
8910
+ def __init__(__self__, *,
8911
+ name: Optional[pulumi.Input[_builtins.str]] = None,
8912
+ state: Optional[pulumi.Input[_builtins.str]] = None):
8913
+ """
8914
+ :param pulumi.Input[_builtins.str] name: Name of the secure tag, created with TagManager's TagValue API.
8915
+ @pattern tagValues/[0-9]+
8916
+ :param pulumi.Input[_builtins.str] state: (Output)
8917
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
8918
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
8919
+ or its network is deleted.
8920
+ """
8921
+ if name is not None:
8922
+ pulumi.set(__self__, "name", name)
8923
+ if state is not None:
8924
+ pulumi.set(__self__, "state", state)
8925
+
8926
+ @_builtins.property
8927
+ @pulumi.getter
8928
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
8929
+ """
8930
+ Name of the secure tag, created with TagManager's TagValue API.
8931
+ @pattern tagValues/[0-9]+
8932
+ """
8933
+ return pulumi.get(self, "name")
8934
+
8935
+ @name.setter
8936
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
8937
+ pulumi.set(self, "name", value)
8938
+
8939
+ @_builtins.property
8940
+ @pulumi.getter
8941
+ def state(self) -> Optional[pulumi.Input[_builtins.str]]:
8942
+ """
8943
+ (Output)
8944
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
8945
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
8946
+ or its network is deleted.
8947
+ """
8948
+ return pulumi.get(self, "state")
8949
+
8950
+ @state.setter
8951
+ def state(self, value: Optional[pulumi.Input[_builtins.str]]):
8952
+ pulumi.set(self, "state", value)
8953
+
8954
+
8723
8955
  if not MYPY:
8724
8956
  class FirewallPolicyWithRulesRuleArgsDict(TypedDict):
8725
8957
  action: pulumi.Input[_builtins.str]
@@ -8779,6 +9011,21 @@ if not MYPY:
8779
9011
  this rule. If this field is left blank, all VMs
8780
9012
  within the organization will receive the rule.
8781
9013
  """
9014
+ target_secure_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesRuleTargetSecureTagArgsDict']]]]
9015
+ """
9016
+ A list of secure tags that controls which instances the firewall rule
9017
+ applies to. If <code>targetSecureTag</code> are specified, then the
9018
+ firewall rule applies only to instances in the VPC network that have one
9019
+ of those EFFECTIVE secure tags, if all the target_secure_tag are in
9020
+ INEFFECTIVE state, then this rule will be ignored.
9021
+ <code>targetSecureTag</code> may not be set at the same time as
9022
+ <code>targetServiceAccounts</code>.
9023
+ If neither <code>targetServiceAccounts</code> nor
9024
+ <code>targetSecureTag</code> are specified, the firewall rule applies
9025
+ to all instances on the specified network.
9026
+ Maximum number of target secure tags allowed is 256.
9027
+ Structure is documented below.
9028
+ """
8782
9029
  target_service_accounts: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
8783
9030
  """
8784
9031
  A list of service accounts indicating the sets of
@@ -8805,6 +9052,7 @@ class FirewallPolicyWithRulesRuleArgs:
8805
9052
  rule_name: Optional[pulumi.Input[_builtins.str]] = None,
8806
9053
  security_profile_group: Optional[pulumi.Input[_builtins.str]] = None,
8807
9054
  target_resources: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
9055
+ target_secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesRuleTargetSecureTagArgs']]]] = None,
8808
9056
  target_service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
8809
9057
  tls_inspect: Optional[pulumi.Input[_builtins.bool]] = None):
8810
9058
  """
@@ -8835,6 +9083,18 @@ class FirewallPolicyWithRulesRuleArgs:
8835
9083
  This field allows you to control which network's VMs get
8836
9084
  this rule. If this field is left blank, all VMs
8837
9085
  within the organization will receive the rule.
9086
+ :param pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesRuleTargetSecureTagArgs']]] target_secure_tags: A list of secure tags that controls which instances the firewall rule
9087
+ applies to. If <code>targetSecureTag</code> are specified, then the
9088
+ firewall rule applies only to instances in the VPC network that have one
9089
+ of those EFFECTIVE secure tags, if all the target_secure_tag are in
9090
+ INEFFECTIVE state, then this rule will be ignored.
9091
+ <code>targetSecureTag</code> may not be set at the same time as
9092
+ <code>targetServiceAccounts</code>.
9093
+ If neither <code>targetServiceAccounts</code> nor
9094
+ <code>targetSecureTag</code> are specified, the firewall rule applies
9095
+ to all instances on the specified network.
9096
+ Maximum number of target secure tags allowed is 256.
9097
+ Structure is documented below.
8838
9098
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] target_service_accounts: A list of service accounts indicating the sets of
8839
9099
  instances that are applied with this rule.
8840
9100
  :param pulumi.Input[_builtins.bool] tls_inspect: Boolean flag indicating if the traffic should be TLS decrypted.
@@ -8857,6 +9117,8 @@ class FirewallPolicyWithRulesRuleArgs:
8857
9117
  pulumi.set(__self__, "security_profile_group", security_profile_group)
8858
9118
  if target_resources is not None:
8859
9119
  pulumi.set(__self__, "target_resources", target_resources)
9120
+ if target_secure_tags is not None:
9121
+ pulumi.set(__self__, "target_secure_tags", target_secure_tags)
8860
9122
  if target_service_accounts is not None:
8861
9123
  pulumi.set(__self__, "target_service_accounts", target_service_accounts)
8862
9124
  if tls_inspect is not None:
@@ -8999,6 +9261,29 @@ class FirewallPolicyWithRulesRuleArgs:
8999
9261
  def target_resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
9000
9262
  pulumi.set(self, "target_resources", value)
9001
9263
 
9264
+ @_builtins.property
9265
+ @pulumi.getter(name="targetSecureTags")
9266
+ def target_secure_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesRuleTargetSecureTagArgs']]]]:
9267
+ """
9268
+ A list of secure tags that controls which instances the firewall rule
9269
+ applies to. If <code>targetSecureTag</code> are specified, then the
9270
+ firewall rule applies only to instances in the VPC network that have one
9271
+ of those EFFECTIVE secure tags, if all the target_secure_tag are in
9272
+ INEFFECTIVE state, then this rule will be ignored.
9273
+ <code>targetSecureTag</code> may not be set at the same time as
9274
+ <code>targetServiceAccounts</code>.
9275
+ If neither <code>targetServiceAccounts</code> nor
9276
+ <code>targetSecureTag</code> are specified, the firewall rule applies
9277
+ to all instances on the specified network.
9278
+ Maximum number of target secure tags allowed is 256.
9279
+ Structure is documented below.
9280
+ """
9281
+ return pulumi.get(self, "target_secure_tags")
9282
+
9283
+ @target_secure_tags.setter
9284
+ def target_secure_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesRuleTargetSecureTagArgs']]]]):
9285
+ pulumi.set(self, "target_secure_tags", value)
9286
+
9002
9287
  @_builtins.property
9003
9288
  @pulumi.getter(name="targetServiceAccounts")
9004
9289
  def target_service_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
@@ -9032,9 +9317,6 @@ if not MYPY:
9032
9317
  """
9033
9318
  Pairs of IP protocols and ports that the rule should match.
9034
9319
  Structure is documented below.
9035
-
9036
-
9037
- <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
9038
9320
  """
9039
9321
  dest_address_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
9040
9322
  """
@@ -9099,6 +9381,15 @@ if not MYPY:
9099
9381
  ISO 3166 alpha-2 country codes. ex."US"
9100
9382
  Maximum number of source region codes allowed is 5000.
9101
9383
  """
9384
+ src_secure_tags: NotRequired[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesRuleMatchSrcSecureTagArgsDict']]]]
9385
+ """
9386
+ List of secure tag values, which should be matched at the source
9387
+ of the traffic.
9388
+ For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
9389
+ and there is no <code>srcIpRange</code>, this rule will be ignored.
9390
+ Maximum number of source tag values allowed is 256.
9391
+ Structure is documented below.
9392
+ """
9102
9393
  src_threat_intelligences: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
9103
9394
  """
9104
9395
  Names of Network Threat Intelligence lists.
@@ -9123,13 +9414,11 @@ class FirewallPolicyWithRulesRuleMatchArgs:
9123
9414
  src_network_scope: Optional[pulumi.Input[_builtins.str]] = None,
9124
9415
  src_networks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
9125
9416
  src_region_codes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
9417
+ src_secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesRuleMatchSrcSecureTagArgs']]]] = None,
9126
9418
  src_threat_intelligences: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
9127
9419
  """
9128
9420
  :param pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesRuleMatchLayer4ConfigArgs']]] layer4_configs: Pairs of IP protocols and ports that the rule should match.
9129
9421
  Structure is documented below.
9130
-
9131
-
9132
- <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
9133
9422
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] dest_address_groups: Address groups which should be matched against the traffic destination.
9134
9423
  Maximum number of destination address groups is 10.
9135
9424
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] dest_fqdns: Fully Qualified Domain Name (FQDN) which should be matched against
@@ -9157,6 +9446,12 @@ class FirewallPolicyWithRulesRuleMatchArgs:
9157
9446
  of traffic. Should be specified as 2 letter country code defined as per
9158
9447
  ISO 3166 alpha-2 country codes. ex."US"
9159
9448
  Maximum number of source region codes allowed is 5000.
9449
+ :param pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesRuleMatchSrcSecureTagArgs']]] src_secure_tags: List of secure tag values, which should be matched at the source
9450
+ of the traffic.
9451
+ For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
9452
+ and there is no <code>srcIpRange</code>, this rule will be ignored.
9453
+ Maximum number of source tag values allowed is 256.
9454
+ Structure is documented below.
9160
9455
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] src_threat_intelligences: Names of Network Threat Intelligence lists.
9161
9456
  The IPs in these lists will be matched against traffic source.
9162
9457
  """
@@ -9185,6 +9480,8 @@ class FirewallPolicyWithRulesRuleMatchArgs:
9185
9480
  pulumi.set(__self__, "src_networks", src_networks)
9186
9481
  if src_region_codes is not None:
9187
9482
  pulumi.set(__self__, "src_region_codes", src_region_codes)
9483
+ if src_secure_tags is not None:
9484
+ pulumi.set(__self__, "src_secure_tags", src_secure_tags)
9188
9485
  if src_threat_intelligences is not None:
9189
9486
  pulumi.set(__self__, "src_threat_intelligences", src_threat_intelligences)
9190
9487
 
@@ -9194,9 +9491,6 @@ class FirewallPolicyWithRulesRuleMatchArgs:
9194
9491
  """
9195
9492
  Pairs of IP protocols and ports that the rule should match.
9196
9493
  Structure is documented below.
9197
-
9198
-
9199
- <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
9200
9494
  """
9201
9495
  return pulumi.get(self, "layer4_configs")
9202
9496
 
@@ -9363,6 +9657,23 @@ class FirewallPolicyWithRulesRuleMatchArgs:
9363
9657
  def src_region_codes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
9364
9658
  pulumi.set(self, "src_region_codes", value)
9365
9659
 
9660
+ @_builtins.property
9661
+ @pulumi.getter(name="srcSecureTags")
9662
+ def src_secure_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesRuleMatchSrcSecureTagArgs']]]]:
9663
+ """
9664
+ List of secure tag values, which should be matched at the source
9665
+ of the traffic.
9666
+ For INGRESS rule, if all the <code>srcSecureTag</code> are INEFFECTIVE,
9667
+ and there is no <code>srcIpRange</code>, this rule will be ignored.
9668
+ Maximum number of source tag values allowed is 256.
9669
+ Structure is documented below.
9670
+ """
9671
+ return pulumi.get(self, "src_secure_tags")
9672
+
9673
+ @src_secure_tags.setter
9674
+ def src_secure_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FirewallPolicyWithRulesRuleMatchSrcSecureTagArgs']]]]):
9675
+ pulumi.set(self, "src_secure_tags", value)
9676
+
9366
9677
  @_builtins.property
9367
9678
  @pulumi.getter(name="srcThreatIntelligences")
9368
9679
  def src_threat_intelligences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
@@ -9461,6 +9772,140 @@ class FirewallPolicyWithRulesRuleMatchLayer4ConfigArgs:
9461
9772
  pulumi.set(self, "ports", value)
9462
9773
 
9463
9774
 
9775
+ if not MYPY:
9776
+ class FirewallPolicyWithRulesRuleMatchSrcSecureTagArgsDict(TypedDict):
9777
+ name: NotRequired[pulumi.Input[_builtins.str]]
9778
+ """
9779
+ Name of the secure tag, created with TagManager's TagValue API.
9780
+ @pattern tagValues/[0-9]+
9781
+ """
9782
+ state: NotRequired[pulumi.Input[_builtins.str]]
9783
+ """
9784
+ (Output)
9785
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
9786
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
9787
+ or its network is deleted.
9788
+
9789
+ <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
9790
+ """
9791
+ elif False:
9792
+ FirewallPolicyWithRulesRuleMatchSrcSecureTagArgsDict: TypeAlias = Mapping[str, Any]
9793
+
9794
+ @pulumi.input_type
9795
+ class FirewallPolicyWithRulesRuleMatchSrcSecureTagArgs:
9796
+ def __init__(__self__, *,
9797
+ name: Optional[pulumi.Input[_builtins.str]] = None,
9798
+ state: Optional[pulumi.Input[_builtins.str]] = None):
9799
+ """
9800
+ :param pulumi.Input[_builtins.str] name: Name of the secure tag, created with TagManager's TagValue API.
9801
+ @pattern tagValues/[0-9]+
9802
+ :param pulumi.Input[_builtins.str] state: (Output)
9803
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
9804
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
9805
+ or its network is deleted.
9806
+
9807
+ <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
9808
+ """
9809
+ if name is not None:
9810
+ pulumi.set(__self__, "name", name)
9811
+ if state is not None:
9812
+ pulumi.set(__self__, "state", state)
9813
+
9814
+ @_builtins.property
9815
+ @pulumi.getter
9816
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
9817
+ """
9818
+ Name of the secure tag, created with TagManager's TagValue API.
9819
+ @pattern tagValues/[0-9]+
9820
+ """
9821
+ return pulumi.get(self, "name")
9822
+
9823
+ @name.setter
9824
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
9825
+ pulumi.set(self, "name", value)
9826
+
9827
+ @_builtins.property
9828
+ @pulumi.getter
9829
+ def state(self) -> Optional[pulumi.Input[_builtins.str]]:
9830
+ """
9831
+ (Output)
9832
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
9833
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
9834
+ or its network is deleted.
9835
+
9836
+ <a name="nested_rule_rule_match_layer4_config"></a>The `layer4_config` block supports:
9837
+ """
9838
+ return pulumi.get(self, "state")
9839
+
9840
+ @state.setter
9841
+ def state(self, value: Optional[pulumi.Input[_builtins.str]]):
9842
+ pulumi.set(self, "state", value)
9843
+
9844
+
9845
+ if not MYPY:
9846
+ class FirewallPolicyWithRulesRuleTargetSecureTagArgsDict(TypedDict):
9847
+ name: NotRequired[pulumi.Input[_builtins.str]]
9848
+ """
9849
+ Name of the secure tag, created with TagManager's TagValue API.
9850
+ @pattern tagValues/[0-9]+
9851
+ """
9852
+ state: NotRequired[pulumi.Input[_builtins.str]]
9853
+ """
9854
+ (Output)
9855
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
9856
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
9857
+ or its network is deleted.
9858
+ """
9859
+ elif False:
9860
+ FirewallPolicyWithRulesRuleTargetSecureTagArgsDict: TypeAlias = Mapping[str, Any]
9861
+
9862
+ @pulumi.input_type
9863
+ class FirewallPolicyWithRulesRuleTargetSecureTagArgs:
9864
+ def __init__(__self__, *,
9865
+ name: Optional[pulumi.Input[_builtins.str]] = None,
9866
+ state: Optional[pulumi.Input[_builtins.str]] = None):
9867
+ """
9868
+ :param pulumi.Input[_builtins.str] name: Name of the secure tag, created with TagManager's TagValue API.
9869
+ @pattern tagValues/[0-9]+
9870
+ :param pulumi.Input[_builtins.str] state: (Output)
9871
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
9872
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
9873
+ or its network is deleted.
9874
+ """
9875
+ if name is not None:
9876
+ pulumi.set(__self__, "name", name)
9877
+ if state is not None:
9878
+ pulumi.set(__self__, "state", state)
9879
+
9880
+ @_builtins.property
9881
+ @pulumi.getter
9882
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
9883
+ """
9884
+ Name of the secure tag, created with TagManager's TagValue API.
9885
+ @pattern tagValues/[0-9]+
9886
+ """
9887
+ return pulumi.get(self, "name")
9888
+
9889
+ @name.setter
9890
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
9891
+ pulumi.set(self, "name", value)
9892
+
9893
+ @_builtins.property
9894
+ @pulumi.getter
9895
+ def state(self) -> Optional[pulumi.Input[_builtins.str]]:
9896
+ """
9897
+ (Output)
9898
+ [Output Only] State of the secure tag, either `EFFECTIVE` or
9899
+ `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted
9900
+ or its network is deleted.
9901
+ """
9902
+ return pulumi.get(self, "state")
9903
+
9904
+ @state.setter
9905
+ def state(self, value: Optional[pulumi.Input[_builtins.str]]):
9906
+ pulumi.set(self, "state", value)
9907
+
9908
+
9464
9909
  if not MYPY:
9465
9910
  class ForwardingRuleServiceDirectoryRegistrationsArgsDict(TypedDict):
9466
9911
  namespace: NotRequired[pulumi.Input[_builtins.str]]
@@ -34527,6 +34972,75 @@ class PerInstanceConfigPreservedStateInternalIpIpAddressArgs:
34527
34972
  pulumi.set(self, "address", value)
34528
34973
 
34529
34974
 
34975
+ if not MYPY:
34976
+ class PreviewFeatureRolloutOperationArgsDict(TypedDict):
34977
+ rollout_input: NotRequired[pulumi.Input['PreviewFeatureRolloutOperationRolloutInputArgsDict']]
34978
+ """
34979
+ The input for the rollout operation.
34980
+ Structure is documented below.
34981
+ """
34982
+ elif False:
34983
+ PreviewFeatureRolloutOperationArgsDict: TypeAlias = Mapping[str, Any]
34984
+
34985
+ @pulumi.input_type
34986
+ class PreviewFeatureRolloutOperationArgs:
34987
+ def __init__(__self__, *,
34988
+ rollout_input: Optional[pulumi.Input['PreviewFeatureRolloutOperationRolloutInputArgs']] = None):
34989
+ """
34990
+ :param pulumi.Input['PreviewFeatureRolloutOperationRolloutInputArgs'] rollout_input: The input for the rollout operation.
34991
+ Structure is documented below.
34992
+ """
34993
+ if rollout_input is not None:
34994
+ pulumi.set(__self__, "rollout_input", rollout_input)
34995
+
34996
+ @_builtins.property
34997
+ @pulumi.getter(name="rolloutInput")
34998
+ def rollout_input(self) -> Optional[pulumi.Input['PreviewFeatureRolloutOperationRolloutInputArgs']]:
34999
+ """
35000
+ The input for the rollout operation.
35001
+ Structure is documented below.
35002
+ """
35003
+ return pulumi.get(self, "rollout_input")
35004
+
35005
+ @rollout_input.setter
35006
+ def rollout_input(self, value: Optional[pulumi.Input['PreviewFeatureRolloutOperationRolloutInputArgs']]):
35007
+ pulumi.set(self, "rollout_input", value)
35008
+
35009
+
35010
+ if not MYPY:
35011
+ class PreviewFeatureRolloutOperationRolloutInputArgsDict(TypedDict):
35012
+ predefined_rollout_plan: pulumi.Input[_builtins.str]
35013
+ """
35014
+ Predefined rollout plans.
35015
+ Possible values are: `ROLLOUT_PLAN_FAST_ROLLOUT`.
35016
+ """
35017
+ elif False:
35018
+ PreviewFeatureRolloutOperationRolloutInputArgsDict: TypeAlias = Mapping[str, Any]
35019
+
35020
+ @pulumi.input_type
35021
+ class PreviewFeatureRolloutOperationRolloutInputArgs:
35022
+ def __init__(__self__, *,
35023
+ predefined_rollout_plan: pulumi.Input[_builtins.str]):
35024
+ """
35025
+ :param pulumi.Input[_builtins.str] predefined_rollout_plan: Predefined rollout plans.
35026
+ Possible values are: `ROLLOUT_PLAN_FAST_ROLLOUT`.
35027
+ """
35028
+ pulumi.set(__self__, "predefined_rollout_plan", predefined_rollout_plan)
35029
+
35030
+ @_builtins.property
35031
+ @pulumi.getter(name="predefinedRolloutPlan")
35032
+ def predefined_rollout_plan(self) -> pulumi.Input[_builtins.str]:
35033
+ """
35034
+ Predefined rollout plans.
35035
+ Possible values are: `ROLLOUT_PLAN_FAST_ROLLOUT`.
35036
+ """
35037
+ return pulumi.get(self, "predefined_rollout_plan")
35038
+
35039
+ @predefined_rollout_plan.setter
35040
+ def predefined_rollout_plan(self, value: pulumi.Input[_builtins.str]):
35041
+ pulumi.set(self, "predefined_rollout_plan", value)
35042
+
35043
+
34530
35044
  if not MYPY:
34531
35045
  class RegionAutoscalerAutoscalingPolicyArgsDict(TypedDict):
34532
35046
  max_replicas: pulumi.Input[_builtins.int]
@@ -51153,20 +51667,30 @@ if not MYPY:
51153
51667
  The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map.
51154
51668
  Serverless NEG backends are not currently supported as a mirrored backend service.
51155
51669
  """
51670
+ mirror_percent: NotRequired[pulumi.Input[_builtins.float]]
51671
+ """
51672
+ The percentage of requests to be mirrored to backendService.
51673
+ The value must be between 0.0 and 100.0 inclusive.
51674
+ """
51156
51675
  elif False:
51157
51676
  RegionUrlMapDefaultRouteActionRequestMirrorPolicyArgsDict: TypeAlias = Mapping[str, Any]
51158
51677
 
51159
51678
  @pulumi.input_type
51160
51679
  class RegionUrlMapDefaultRouteActionRequestMirrorPolicyArgs:
51161
51680
  def __init__(__self__, *,
51162
- backend_service: Optional[pulumi.Input[_builtins.str]] = None):
51681
+ backend_service: Optional[pulumi.Input[_builtins.str]] = None,
51682
+ mirror_percent: Optional[pulumi.Input[_builtins.float]] = None):
51163
51683
  """
51164
51684
  :param pulumi.Input[_builtins.str] backend_service: The full or partial URL to the RegionBackendService resource being mirrored to.
51165
51685
  The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map.
51166
51686
  Serverless NEG backends are not currently supported as a mirrored backend service.
51687
+ :param pulumi.Input[_builtins.float] mirror_percent: The percentage of requests to be mirrored to backendService.
51688
+ The value must be between 0.0 and 100.0 inclusive.
51167
51689
  """
51168
51690
  if backend_service is not None:
51169
51691
  pulumi.set(__self__, "backend_service", backend_service)
51692
+ if mirror_percent is not None:
51693
+ pulumi.set(__self__, "mirror_percent", mirror_percent)
51170
51694
 
51171
51695
  @_builtins.property
51172
51696
  @pulumi.getter(name="backendService")
@@ -51182,6 +51706,19 @@ class RegionUrlMapDefaultRouteActionRequestMirrorPolicyArgs:
51182
51706
  def backend_service(self, value: Optional[pulumi.Input[_builtins.str]]):
51183
51707
  pulumi.set(self, "backend_service", value)
51184
51708
 
51709
+ @_builtins.property
51710
+ @pulumi.getter(name="mirrorPercent")
51711
+ def mirror_percent(self) -> Optional[pulumi.Input[_builtins.float]]:
51712
+ """
51713
+ The percentage of requests to be mirrored to backendService.
51714
+ The value must be between 0.0 and 100.0 inclusive.
51715
+ """
51716
+ return pulumi.get(self, "mirror_percent")
51717
+
51718
+ @mirror_percent.setter
51719
+ def mirror_percent(self, value: Optional[pulumi.Input[_builtins.float]]):
51720
+ pulumi.set(self, "mirror_percent", value)
51721
+
51185
51722
 
51186
51723
  if not MYPY:
51187
51724
  class RegionUrlMapDefaultRouteActionRetryPolicyArgsDict(TypedDict):
@@ -53030,19 +53567,29 @@ if not MYPY:
53030
53567
  The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map.
53031
53568
  Serverless NEG backends are not currently supported as a mirrored backend service.
53032
53569
  """
53570
+ mirror_percent: NotRequired[pulumi.Input[_builtins.float]]
53571
+ """
53572
+ The percentage of requests to be mirrored to backendService.
53573
+ The value must be between 0.0 and 100.0 inclusive.
53574
+ """
53033
53575
  elif False:
53034
53576
  RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgsDict: TypeAlias = Mapping[str, Any]
53035
53577
 
53036
53578
  @pulumi.input_type
53037
53579
  class RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs:
53038
53580
  def __init__(__self__, *,
53039
- backend_service: pulumi.Input[_builtins.str]):
53581
+ backend_service: pulumi.Input[_builtins.str],
53582
+ mirror_percent: Optional[pulumi.Input[_builtins.float]] = None):
53040
53583
  """
53041
53584
  :param pulumi.Input[_builtins.str] backend_service: The full or partial URL to the RegionBackendService resource being mirrored to.
53042
53585
  The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map.
53043
53586
  Serverless NEG backends are not currently supported as a mirrored backend service.
53587
+ :param pulumi.Input[_builtins.float] mirror_percent: The percentage of requests to be mirrored to backendService.
53588
+ The value must be between 0.0 and 100.0 inclusive.
53044
53589
  """
53045
53590
  pulumi.set(__self__, "backend_service", backend_service)
53591
+ if mirror_percent is not None:
53592
+ pulumi.set(__self__, "mirror_percent", mirror_percent)
53046
53593
 
53047
53594
  @_builtins.property
53048
53595
  @pulumi.getter(name="backendService")
@@ -53058,6 +53605,19 @@ class RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs:
53058
53605
  def backend_service(self, value: pulumi.Input[_builtins.str]):
53059
53606
  pulumi.set(self, "backend_service", value)
53060
53607
 
53608
+ @_builtins.property
53609
+ @pulumi.getter(name="mirrorPercent")
53610
+ def mirror_percent(self) -> Optional[pulumi.Input[_builtins.float]]:
53611
+ """
53612
+ The percentage of requests to be mirrored to backendService.
53613
+ The value must be between 0.0 and 100.0 inclusive.
53614
+ """
53615
+ return pulumi.get(self, "mirror_percent")
53616
+
53617
+ @mirror_percent.setter
53618
+ def mirror_percent(self, value: Optional[pulumi.Input[_builtins.float]]):
53619
+ pulumi.set(self, "mirror_percent", value)
53620
+
53061
53621
 
53062
53622
  if not MYPY:
53063
53623
  class RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyArgsDict(TypedDict):
@@ -54725,19 +55285,29 @@ if not MYPY:
54725
55285
  The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map.
54726
55286
  Serverless NEG backends are not currently supported as a mirrored backend service.
54727
55287
  """
55288
+ mirror_percent: NotRequired[pulumi.Input[_builtins.float]]
55289
+ """
55290
+ The percentage of requests to be mirrored to backendService.
55291
+ The value must be between 0.0 and 100.0 inclusive.
55292
+ """
54728
55293
  elif False:
54729
55294
  RegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgsDict: TypeAlias = Mapping[str, Any]
54730
55295
 
54731
55296
  @pulumi.input_type
54732
55297
  class RegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgs:
54733
55298
  def __init__(__self__, *,
54734
- backend_service: pulumi.Input[_builtins.str]):
55299
+ backend_service: pulumi.Input[_builtins.str],
55300
+ mirror_percent: Optional[pulumi.Input[_builtins.float]] = None):
54735
55301
  """
54736
55302
  :param pulumi.Input[_builtins.str] backend_service: The full or partial URL to the RegionBackendService resource being mirrored to.
54737
55303
  The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map.
54738
55304
  Serverless NEG backends are not currently supported as a mirrored backend service.
55305
+ :param pulumi.Input[_builtins.float] mirror_percent: The percentage of requests to be mirrored to backendService.
55306
+ The value must be between 0.0 and 100.0 inclusive.
54739
55307
  """
54740
55308
  pulumi.set(__self__, "backend_service", backend_service)
55309
+ if mirror_percent is not None:
55310
+ pulumi.set(__self__, "mirror_percent", mirror_percent)
54741
55311
 
54742
55312
  @_builtins.property
54743
55313
  @pulumi.getter(name="backendService")
@@ -54753,6 +55323,19 @@ class RegionUrlMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgs:
54753
55323
  def backend_service(self, value: pulumi.Input[_builtins.str]):
54754
55324
  pulumi.set(self, "backend_service", value)
54755
55325
 
55326
+ @_builtins.property
55327
+ @pulumi.getter(name="mirrorPercent")
55328
+ def mirror_percent(self) -> Optional[pulumi.Input[_builtins.float]]:
55329
+ """
55330
+ The percentage of requests to be mirrored to backendService.
55331
+ The value must be between 0.0 and 100.0 inclusive.
55332
+ """
55333
+ return pulumi.get(self, "mirror_percent")
55334
+
55335
+ @mirror_percent.setter
55336
+ def mirror_percent(self, value: Optional[pulumi.Input[_builtins.float]]):
55337
+ pulumi.set(self, "mirror_percent", value)
55338
+
54756
55339
 
54757
55340
  if not MYPY:
54758
55341
  class RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyArgsDict(TypedDict):
@@ -57522,19 +58105,29 @@ if not MYPY:
57522
58105
  The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map.
57523
58106
  Serverless NEG backends are not currently supported as a mirrored backend service.
57524
58107
  """
58108
+ mirror_percent: NotRequired[pulumi.Input[_builtins.float]]
58109
+ """
58110
+ The percentage of requests to be mirrored to backendService.
58111
+ The value must be between 0.0 and 100.0 inclusive.
58112
+ """
57525
58113
  elif False:
57526
58114
  RegionUrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyArgsDict: TypeAlias = Mapping[str, Any]
57527
58115
 
57528
58116
  @pulumi.input_type
57529
58117
  class RegionUrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyArgs:
57530
58118
  def __init__(__self__, *,
57531
- backend_service: pulumi.Input[_builtins.str]):
58119
+ backend_service: pulumi.Input[_builtins.str],
58120
+ mirror_percent: Optional[pulumi.Input[_builtins.float]] = None):
57532
58121
  """
57533
58122
  :param pulumi.Input[_builtins.str] backend_service: The full or partial URL to the RegionBackendService resource being mirrored to.
57534
58123
  The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map.
57535
58124
  Serverless NEG backends are not currently supported as a mirrored backend service.
58125
+ :param pulumi.Input[_builtins.float] mirror_percent: The percentage of requests to be mirrored to backendService.
58126
+ The value must be between 0.0 and 100.0 inclusive.
57536
58127
  """
57537
58128
  pulumi.set(__self__, "backend_service", backend_service)
58129
+ if mirror_percent is not None:
58130
+ pulumi.set(__self__, "mirror_percent", mirror_percent)
57538
58131
 
57539
58132
  @_builtins.property
57540
58133
  @pulumi.getter(name="backendService")
@@ -57550,6 +58143,19 @@ class RegionUrlMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyArgs:
57550
58143
  def backend_service(self, value: pulumi.Input[_builtins.str]):
57551
58144
  pulumi.set(self, "backend_service", value)
57552
58145
 
58146
+ @_builtins.property
58147
+ @pulumi.getter(name="mirrorPercent")
58148
+ def mirror_percent(self) -> Optional[pulumi.Input[_builtins.float]]:
58149
+ """
58150
+ The percentage of requests to be mirrored to backendService.
58151
+ The value must be between 0.0 and 100.0 inclusive.
58152
+ """
58153
+ return pulumi.get(self, "mirror_percent")
58154
+
58155
+ @mirror_percent.setter
58156
+ def mirror_percent(self, value: Optional[pulumi.Input[_builtins.float]]):
58157
+ pulumi.set(self, "mirror_percent", value)
58158
+
57553
58159
 
57554
58160
  if not MYPY:
57555
58161
  class RegionUrlMapPathMatcherRouteRuleRouteActionRetryPolicyArgsDict(TypedDict):
@@ -62498,6 +63104,44 @@ class RouterNatSubnetworkArgs:
62498
63104
  pulumi.set(self, "secondary_ip_range_names", value)
62499
63105
 
62500
63106
 
63107
+ if not MYPY:
63108
+ class RouterParamsArgsDict(TypedDict):
63109
+ resource_manager_tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
63110
+ """
63111
+ Resource manager tags to be bound to the router. Tag keys and values have the
63112
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
63113
+ and values are in the format tagValues/456.
63114
+ """
63115
+ elif False:
63116
+ RouterParamsArgsDict: TypeAlias = Mapping[str, Any]
63117
+
63118
+ @pulumi.input_type
63119
+ class RouterParamsArgs:
63120
+ def __init__(__self__, *,
63121
+ resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None):
63122
+ """
63123
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] resource_manager_tags: Resource manager tags to be bound to the router. Tag keys and values have the
63124
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
63125
+ and values are in the format tagValues/456.
63126
+ """
63127
+ if resource_manager_tags is not None:
63128
+ pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
63129
+
63130
+ @_builtins.property
63131
+ @pulumi.getter(name="resourceManagerTags")
63132
+ def resource_manager_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
63133
+ """
63134
+ Resource manager tags to be bound to the router. Tag keys and values have the
63135
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
63136
+ and values are in the format tagValues/456.
63137
+ """
63138
+ return pulumi.get(self, "resource_manager_tags")
63139
+
63140
+ @resource_manager_tags.setter
63141
+ def resource_manager_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
63142
+ pulumi.set(self, "resource_manager_tags", value)
63143
+
63144
+
62501
63145
  if not MYPY:
62502
63146
  class RouterPeerAdvertisedIpRangeArgsDict(TypedDict):
62503
63147
  range: pulumi.Input[_builtins.str]
@@ -67194,6 +67838,53 @@ class SubnetworkLogConfigArgs:
67194
67838
  pulumi.set(self, "metadata_fields", value)
67195
67839
 
67196
67840
 
67841
+ if not MYPY:
67842
+ class SubnetworkParamsArgsDict(TypedDict):
67843
+ resource_manager_tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
67844
+ """
67845
+ Resource manager tags to be bound to the subnetwork. Tag keys and values have the
67846
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
67847
+ and values are in the format tagValues/456. The field is ignored when empty.
67848
+ The field is immutable and causes resource replacement when mutated. This field is only
67849
+ set at create time and modifying this field after creation will trigger recreation.
67850
+ To apply tags to an existing resource, see the tags.TagBinding resource.
67851
+ """
67852
+ elif False:
67853
+ SubnetworkParamsArgsDict: TypeAlias = Mapping[str, Any]
67854
+
67855
+ @pulumi.input_type
67856
+ class SubnetworkParamsArgs:
67857
+ def __init__(__self__, *,
67858
+ resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None):
67859
+ """
67860
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] resource_manager_tags: Resource manager tags to be bound to the subnetwork. Tag keys and values have the
67861
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
67862
+ and values are in the format tagValues/456. The field is ignored when empty.
67863
+ The field is immutable and causes resource replacement when mutated. This field is only
67864
+ set at create time and modifying this field after creation will trigger recreation.
67865
+ To apply tags to an existing resource, see the tags.TagBinding resource.
67866
+ """
67867
+ if resource_manager_tags is not None:
67868
+ pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
67869
+
67870
+ @_builtins.property
67871
+ @pulumi.getter(name="resourceManagerTags")
67872
+ def resource_manager_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
67873
+ """
67874
+ Resource manager tags to be bound to the subnetwork. Tag keys and values have the
67875
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
67876
+ and values are in the format tagValues/456. The field is ignored when empty.
67877
+ The field is immutable and causes resource replacement when mutated. This field is only
67878
+ set at create time and modifying this field after creation will trigger recreation.
67879
+ To apply tags to an existing resource, see the tags.TagBinding resource.
67880
+ """
67881
+ return pulumi.get(self, "resource_manager_tags")
67882
+
67883
+ @resource_manager_tags.setter
67884
+ def resource_manager_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
67885
+ pulumi.set(self, "resource_manager_tags", value)
67886
+
67887
+
67197
67888
  if not MYPY:
67198
67889
  class SubnetworkSecondaryIpRangeArgsDict(TypedDict):
67199
67890
  range_name: pulumi.Input[_builtins.str]