pulumi-gcp 8.11.0a1734348982__py3-none-any.whl → 8.12.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. pulumi_gcp/__init__.py +123 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +6 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +6 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +6 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +6 -0
  6. pulumi_gcp/apigee/app_group.py +7 -7
  7. pulumi_gcp/applicationintegration/client.py +8 -6
  8. pulumi_gcp/artifactregistry/_inputs.py +24 -15
  9. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +12 -4
  10. pulumi_gcp/artifactregistry/outputs.py +32 -20
  11. pulumi_gcp/artifactregistry/repository.py +214 -39
  12. pulumi_gcp/artifactregistry/repository_iam_binding.py +42 -14
  13. pulumi_gcp/artifactregistry/repository_iam_member.py +42 -14
  14. pulumi_gcp/artifactregistry/repository_iam_policy.py +42 -14
  15. pulumi_gcp/assuredworkloads/workload.py +7 -7
  16. pulumi_gcp/backupdisasterrecovery/__init__.py +2 -0
  17. pulumi_gcp/backupdisasterrecovery/backup_plan.py +2 -2
  18. pulumi_gcp/backupdisasterrecovery/backup_vault.py +12 -8
  19. pulumi_gcp/backupdisasterrecovery/get_backup.py +153 -0
  20. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +415 -0
  21. pulumi_gcp/backupdisasterrecovery/outputs.py +63 -0
  22. pulumi_gcp/bigquery/app_profile.py +75 -0
  23. pulumi_gcp/billing/_inputs.py +6 -6
  24. pulumi_gcp/billing/outputs.py +4 -4
  25. pulumi_gcp/certificateauthority/_inputs.py +9 -9
  26. pulumi_gcp/certificateauthority/outputs.py +8 -8
  27. pulumi_gcp/cloudbuild/_inputs.py +53 -0
  28. pulumi_gcp/cloudbuild/outputs.py +50 -0
  29. pulumi_gcp/cloudbuild/worker_pool.py +47 -0
  30. pulumi_gcp/clouddeploy/_inputs.py +254 -0
  31. pulumi_gcp/clouddeploy/outputs.py +211 -0
  32. pulumi_gcp/clouddeploy/target.py +47 -0
  33. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -6
  34. pulumi_gcp/cloudfunctionsv2/outputs.py +8 -8
  35. pulumi_gcp/cloudrunv2/job.py +4 -4
  36. pulumi_gcp/cloudrunv2/service.py +4 -4
  37. pulumi_gcp/composer/get_user_workloads_config_map.py +4 -0
  38. pulumi_gcp/composer/get_user_workloads_secret.py +4 -0
  39. pulumi_gcp/composer/user_workloads_config_map.py +14 -0
  40. pulumi_gcp/composer/user_workloads_secret.py +6 -0
  41. pulumi_gcp/compute/_inputs.py +566 -25
  42. pulumi_gcp/compute/disk.py +21 -7
  43. pulumi_gcp/compute/firewall_policy_rule.py +12 -0
  44. pulumi_gcp/compute/get_forwarding_rules.py +2 -2
  45. pulumi_gcp/compute/get_global_forwarding_rule.py +23 -1
  46. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  47. pulumi_gcp/compute/get_network.py +35 -1
  48. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  49. pulumi_gcp/compute/get_region_network_endpoint_group.py +12 -1
  50. pulumi_gcp/compute/global_forwarding_rule.py +142 -2
  51. pulumi_gcp/compute/instance_group_manager.py +28 -0
  52. pulumi_gcp/compute/network.py +75 -0
  53. pulumi_gcp/compute/outputs.py +655 -26
  54. pulumi_gcp/compute/project_cloud_armor_tier.py +7 -7
  55. pulumi_gcp/compute/region_health_check.py +28 -0
  56. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  57. pulumi_gcp/compute/region_network_endpoint.py +28 -0
  58. pulumi_gcp/compute/region_network_endpoint_group.py +70 -2
  59. pulumi_gcp/compute/subnetwork.py +30 -2
  60. pulumi_gcp/compute/url_map.py +7 -7
  61. pulumi_gcp/config/__init__.pyi +2 -0
  62. pulumi_gcp/config/vars.py +4 -0
  63. pulumi_gcp/container/_inputs.py +201 -3
  64. pulumi_gcp/container/cluster.py +68 -14
  65. pulumi_gcp/container/get_cluster.py +12 -1
  66. pulumi_gcp/container/outputs.py +249 -3
  67. pulumi_gcp/dataproc/_inputs.py +209 -1
  68. pulumi_gcp/dataproc/batch.py +76 -0
  69. pulumi_gcp/dataproc/outputs.py +169 -3
  70. pulumi_gcp/diagflow/_inputs.py +3 -3
  71. pulumi_gcp/diagflow/outputs.py +2 -2
  72. pulumi_gcp/discoveryengine/search_engine.py +7 -7
  73. pulumi_gcp/firebase/_inputs.py +99 -0
  74. pulumi_gcp/firebase/database_instance.py +24 -6
  75. pulumi_gcp/firebase/hosting_version.py +96 -0
  76. pulumi_gcp/firebase/outputs.py +59 -0
  77. pulumi_gcp/firebase/project.py +6 -6
  78. pulumi_gcp/firebaserules/release.py +76 -0
  79. pulumi_gcp/firestore/field.py +4 -4
  80. pulumi_gcp/gemini/__init__.py +15 -0
  81. pulumi_gcp/gemini/_inputs.py +183 -0
  82. pulumi_gcp/gemini/code_repository_index.py +659 -0
  83. pulumi_gcp/gemini/get_repository_group_iam_policy.py +171 -0
  84. pulumi_gcp/gemini/outputs.py +130 -0
  85. pulumi_gcp/gemini/repository_group.py +586 -0
  86. pulumi_gcp/gemini/repository_group_iam_binding.py +604 -0
  87. pulumi_gcp/gemini/repository_group_iam_member.py +604 -0
  88. pulumi_gcp/gemini/repository_group_iam_policy.py +443 -0
  89. pulumi_gcp/gkehub/_inputs.py +30 -10
  90. pulumi_gcp/gkehub/membership_binding.py +6 -6
  91. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  92. pulumi_gcp/gkehub/namespace.py +4 -4
  93. pulumi_gcp/gkehub/outputs.py +21 -7
  94. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  95. pulumi_gcp/iam/__init__.py +1 -0
  96. pulumi_gcp/iam/_inputs.py +137 -0
  97. pulumi_gcp/iam/folders_policy_binding.py +16 -0
  98. pulumi_gcp/iam/organizations_policy_binding.py +16 -0
  99. pulumi_gcp/iam/outputs.py +99 -0
  100. pulumi_gcp/iam/principal_access_boundary_policy.py +16 -0
  101. pulumi_gcp/iam/projects_policy_binding.py +917 -0
  102. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  103. pulumi_gcp/identityplatform/_inputs.py +6 -6
  104. pulumi_gcp/identityplatform/config.py +2 -2
  105. pulumi_gcp/identityplatform/outputs.py +4 -4
  106. pulumi_gcp/integrationconnectors/_inputs.py +15 -15
  107. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  108. pulumi_gcp/integrationconnectors/outputs.py +10 -10
  109. pulumi_gcp/looker/instance.py +35 -14
  110. pulumi_gcp/monitoring/_inputs.py +13 -6
  111. pulumi_gcp/monitoring/outputs.py +10 -4
  112. pulumi_gcp/netapp/_inputs.py +3 -3
  113. pulumi_gcp/netapp/active_directory.py +7 -7
  114. pulumi_gcp/netapp/outputs.py +2 -2
  115. pulumi_gcp/netapp/volume.py +11 -11
  116. pulumi_gcp/networkconnectivity/_inputs.py +10 -12
  117. pulumi_gcp/networkconnectivity/outputs.py +6 -8
  118. pulumi_gcp/networkconnectivity/spoke.py +10 -10
  119. pulumi_gcp/networksecurity/__init__.py +7 -0
  120. pulumi_gcp/networksecurity/_inputs.py +2018 -0
  121. pulumi_gcp/networksecurity/authz_policy.py +1008 -0
  122. pulumi_gcp/networksecurity/intercept_deployment.py +846 -0
  123. pulumi_gcp/networksecurity/intercept_deployment_group.py +752 -0
  124. pulumi_gcp/networksecurity/mirroring_deployment.py +848 -0
  125. pulumi_gcp/networksecurity/mirroring_deployment_group.py +752 -0
  126. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +737 -0
  127. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +840 -0
  128. pulumi_gcp/networksecurity/outputs.py +1463 -0
  129. pulumi_gcp/networkservices/__init__.py +1 -0
  130. pulumi_gcp/networkservices/authz_extension.py +1080 -0
  131. pulumi_gcp/oracledatabase/autonomous_database.py +46 -8
  132. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +42 -4
  133. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +50 -8
  134. pulumi_gcp/oracledatabase/get_autonomous_database.py +12 -1
  135. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +12 -1
  136. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +12 -1
  137. pulumi_gcp/oracledatabase/outputs.py +21 -0
  138. pulumi_gcp/orgpolicy/_inputs.py +40 -0
  139. pulumi_gcp/orgpolicy/outputs.py +24 -0
  140. pulumi_gcp/orgpolicy/policy.py +66 -10
  141. pulumi_gcp/parallelstore/instance.py +4 -0
  142. pulumi_gcp/provider.py +20 -0
  143. pulumi_gcp/pubsub/subscription.py +6 -6
  144. pulumi_gcp/pulumi-plugin.json +1 -1
  145. pulumi_gcp/redis/_inputs.py +435 -3
  146. pulumi_gcp/redis/cluster.py +287 -16
  147. pulumi_gcp/redis/outputs.py +304 -2
  148. pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
  149. pulumi_gcp/serviceaccount/get_account_key.py +2 -2
  150. pulumi_gcp/sql/_inputs.py +3 -3
  151. pulumi_gcp/sql/database_instance.py +14 -14
  152. pulumi_gcp/sql/outputs.py +2 -2
  153. pulumi_gcp/storage/_inputs.py +53 -6
  154. pulumi_gcp/storage/get_bucket.py +2 -2
  155. pulumi_gcp/storage/get_bucket_object_content.py +2 -2
  156. pulumi_gcp/storage/outputs.py +33 -4
  157. pulumi_gcp/tpu/__init__.py +1 -0
  158. pulumi_gcp/tpu/_inputs.py +214 -24
  159. pulumi_gcp/tpu/outputs.py +182 -16
  160. pulumi_gcp/tpu/v2_queued_resource.py +434 -0
  161. pulumi_gcp/tpu/v2_vm.py +63 -0
  162. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  163. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  164. pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
  165. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/METADATA +1 -1
  166. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/RECORD +168 -147
  167. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/WHEEL +0 -0
  168. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/top_level.txt +0 -0
@@ -337,6 +337,7 @@ __all__ = [
337
337
  'RegionNetworkEndpointGroupAppEngine',
338
338
  'RegionNetworkEndpointGroupCloudFunction',
339
339
  'RegionNetworkEndpointGroupCloudRun',
340
+ 'RegionNetworkEndpointGroupPscData',
340
341
  'RegionNetworkEndpointGroupServerlessDeployment',
341
342
  'RegionNetworkFirewallPolicyRuleMatch',
342
343
  'RegionNetworkFirewallPolicyRuleMatchLayer4Config',
@@ -514,6 +515,8 @@ __all__ = [
514
515
  'SecurityPolicyAdaptiveProtectionConfig',
515
516
  'SecurityPolicyAdaptiveProtectionConfigAutoDeployConfig',
516
517
  'SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig',
518
+ 'SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig',
519
+ 'SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig',
517
520
  'SecurityPolicyAdvancedOptionsConfig',
518
521
  'SecurityPolicyAdvancedOptionsConfigJsonCustomConfig',
519
522
  'SecurityPolicyRecaptchaOptionsConfig',
@@ -802,6 +805,7 @@ __all__ = [
802
805
  'GetRegionNetworkEndpointGroupAppEngineResult',
803
806
  'GetRegionNetworkEndpointGroupCloudFunctionResult',
804
807
  'GetRegionNetworkEndpointGroupCloudRunResult',
808
+ 'GetRegionNetworkEndpointGroupPscDataResult',
805
809
  'GetRegionNetworkEndpointGroupServerlessDeploymentResult',
806
810
  'GetReservationShareSettingResult',
807
811
  'GetReservationShareSettingProjectMapResult',
@@ -833,6 +837,8 @@ __all__ = [
833
837
  'GetSecurityPolicyAdaptiveProtectionConfigResult',
834
838
  'GetSecurityPolicyAdaptiveProtectionConfigAutoDeployConfigResult',
835
839
  'GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigResult',
840
+ 'GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigResult',
841
+ 'GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfigResult',
836
842
  'GetSecurityPolicyAdvancedOptionsConfigResult',
837
843
  'GetSecurityPolicyAdvancedOptionsConfigJsonCustomConfigResult',
838
844
  'GetSecurityPolicyRecaptchaOptionsConfigResult',
@@ -7207,6 +7213,10 @@ class InstanceAdvancedMachineFeatures(dict):
7207
7213
  suggest = None
7208
7214
  if key == "enableNestedVirtualization":
7209
7215
  suggest = "enable_nested_virtualization"
7216
+ elif key == "enableUefiNetworking":
7217
+ suggest = "enable_uefi_networking"
7218
+ elif key == "performanceMonitoringUnit":
7219
+ suggest = "performance_monitoring_unit"
7210
7220
  elif key == "threadsPerCore":
7211
7221
  suggest = "threads_per_core"
7212
7222
  elif key == "turboMode":
@@ -7227,17 +7237,25 @@ class InstanceAdvancedMachineFeatures(dict):
7227
7237
 
7228
7238
  def __init__(__self__, *,
7229
7239
  enable_nested_virtualization: Optional[bool] = None,
7240
+ enable_uefi_networking: Optional[bool] = None,
7241
+ performance_monitoring_unit: Optional[str] = None,
7230
7242
  threads_per_core: Optional[int] = None,
7231
7243
  turbo_mode: Optional[str] = None,
7232
7244
  visible_core_count: Optional[int] = None):
7233
7245
  """
7234
7246
  :param bool enable_nested_virtualization: Defines whether the instance should have nested virtualization enabled. Defaults to false.
7247
+ :param bool enable_uefi_networking: Whether to enable UEFI networking for instance creation.
7248
+ :param str performance_monitoring_unit: [The PMU](https://cloud.google.com/compute/docs/pmu-overview) is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are `STANDARD`, `ENHANCED`, and `ARCHITECTURAL`.
7235
7249
  :param int threads_per_core: The number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
7236
7250
  :param str turbo_mode: Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
7237
7251
  :param int visible_core_count: The number of physical cores to expose to an instance. [visible cores info (VC)](https://cloud.google.com/compute/docs/instances/customize-visible-cores).
7238
7252
  """
7239
7253
  if enable_nested_virtualization is not None:
7240
7254
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
7255
+ if enable_uefi_networking is not None:
7256
+ pulumi.set(__self__, "enable_uefi_networking", enable_uefi_networking)
7257
+ if performance_monitoring_unit is not None:
7258
+ pulumi.set(__self__, "performance_monitoring_unit", performance_monitoring_unit)
7241
7259
  if threads_per_core is not None:
7242
7260
  pulumi.set(__self__, "threads_per_core", threads_per_core)
7243
7261
  if turbo_mode is not None:
@@ -7253,6 +7271,22 @@ class InstanceAdvancedMachineFeatures(dict):
7253
7271
  """
7254
7272
  return pulumi.get(self, "enable_nested_virtualization")
7255
7273
 
7274
+ @property
7275
+ @pulumi.getter(name="enableUefiNetworking")
7276
+ def enable_uefi_networking(self) -> Optional[bool]:
7277
+ """
7278
+ Whether to enable UEFI networking for instance creation.
7279
+ """
7280
+ return pulumi.get(self, "enable_uefi_networking")
7281
+
7282
+ @property
7283
+ @pulumi.getter(name="performanceMonitoringUnit")
7284
+ def performance_monitoring_unit(self) -> Optional[str]:
7285
+ """
7286
+ [The PMU](https://cloud.google.com/compute/docs/pmu-overview) is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are `STANDARD`, `ENHANCED`, and `ARCHITECTURAL`.
7287
+ """
7288
+ return pulumi.get(self, "performance_monitoring_unit")
7289
+
7256
7290
  @property
7257
7291
  @pulumi.getter(name="threadsPerCore")
7258
7292
  def threads_per_core(self) -> Optional[int]:
@@ -7645,10 +7679,12 @@ class InstanceBootDiskInitializeParams(dict):
7645
7679
  :param str resource_policies: A list of self_links of resource policies to attach to the instance's boot disk. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
7646
7680
  :param int size: The size of the image in gigabytes. If not specified, it
7647
7681
  will inherit the size of its base image.
7648
- :param str storage_pool: The URL of the storage pool in which the new disk is created.
7682
+ :param str storage_pool: The URL or the name of the storage pool in which the new disk is created.
7649
7683
  For example:
7650
7684
  * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
7651
7685
  * /projects/{project}/zones/{zone}/storagePools/{storagePool}
7686
+ * /zones/{zone}/storagePools/{storagePool}
7687
+ * /{storagePool}
7652
7688
  :param str type: The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
7653
7689
  """
7654
7690
  if enable_confidential_compute is not None:
@@ -7763,10 +7799,12 @@ class InstanceBootDiskInitializeParams(dict):
7763
7799
  @pulumi.getter(name="storagePool")
7764
7800
  def storage_pool(self) -> Optional[str]:
7765
7801
  """
7766
- The URL of the storage pool in which the new disk is created.
7802
+ The URL or the name of the storage pool in which the new disk is created.
7767
7803
  For example:
7768
7804
  * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
7769
7805
  * /projects/{project}/zones/{zone}/storagePools/{storagePool}
7806
+ * /zones/{zone}/storagePools/{storagePool}
7807
+ * /{storagePool}
7770
7808
  """
7771
7809
  return pulumi.get(self, "storage_pool")
7772
7810
 
@@ -7836,6 +7874,10 @@ class InstanceFromMachineImageAdvancedMachineFeatures(dict):
7836
7874
  suggest = None
7837
7875
  if key == "enableNestedVirtualization":
7838
7876
  suggest = "enable_nested_virtualization"
7877
+ elif key == "enableUefiNetworking":
7878
+ suggest = "enable_uefi_networking"
7879
+ elif key == "performanceMonitoringUnit":
7880
+ suggest = "performance_monitoring_unit"
7839
7881
  elif key == "threadsPerCore":
7840
7882
  suggest = "threads_per_core"
7841
7883
  elif key == "turboMode":
@@ -7856,17 +7898,25 @@ class InstanceFromMachineImageAdvancedMachineFeatures(dict):
7856
7898
 
7857
7899
  def __init__(__self__, *,
7858
7900
  enable_nested_virtualization: Optional[bool] = None,
7901
+ enable_uefi_networking: Optional[bool] = None,
7902
+ performance_monitoring_unit: Optional[str] = None,
7859
7903
  threads_per_core: Optional[int] = None,
7860
7904
  turbo_mode: Optional[str] = None,
7861
7905
  visible_core_count: Optional[int] = None):
7862
7906
  """
7863
7907
  :param bool enable_nested_virtualization: Whether to enable nested virtualization or not.
7908
+ :param bool enable_uefi_networking: Whether to enable UEFI networking for the instance.
7909
+ :param str performance_monitoring_unit: The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are "STANDARD", "ENHANCED", and "ARCHITECTURAL".
7864
7910
  :param int threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
7865
7911
  :param str turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
7866
7912
  :param int visible_core_count: The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance\\'s nominal CPU count and the underlying platform\\'s SMT width.
7867
7913
  """
7868
7914
  if enable_nested_virtualization is not None:
7869
7915
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
7916
+ if enable_uefi_networking is not None:
7917
+ pulumi.set(__self__, "enable_uefi_networking", enable_uefi_networking)
7918
+ if performance_monitoring_unit is not None:
7919
+ pulumi.set(__self__, "performance_monitoring_unit", performance_monitoring_unit)
7870
7920
  if threads_per_core is not None:
7871
7921
  pulumi.set(__self__, "threads_per_core", threads_per_core)
7872
7922
  if turbo_mode is not None:
@@ -7882,6 +7932,22 @@ class InstanceFromMachineImageAdvancedMachineFeatures(dict):
7882
7932
  """
7883
7933
  return pulumi.get(self, "enable_nested_virtualization")
7884
7934
 
7935
+ @property
7936
+ @pulumi.getter(name="enableUefiNetworking")
7937
+ def enable_uefi_networking(self) -> Optional[bool]:
7938
+ """
7939
+ Whether to enable UEFI networking for the instance.
7940
+ """
7941
+ return pulumi.get(self, "enable_uefi_networking")
7942
+
7943
+ @property
7944
+ @pulumi.getter(name="performanceMonitoringUnit")
7945
+ def performance_monitoring_unit(self) -> Optional[str]:
7946
+ """
7947
+ The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are "STANDARD", "ENHANCED", and "ARCHITECTURAL".
7948
+ """
7949
+ return pulumi.get(self, "performance_monitoring_unit")
7950
+
7885
7951
  @property
7886
7952
  @pulumi.getter(name="threadsPerCore")
7887
7953
  def threads_per_core(self) -> Optional[int]:
@@ -8461,7 +8527,7 @@ class InstanceFromMachineImageNetworkInterface(dict):
8461
8527
  :param str network: The name or self_link of the network attached to this interface.
8462
8528
  :param str network_attachment: The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
8463
8529
  :param str network_ip: The private IP address assigned to the instance.
8464
- :param str nic_type: The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF
8530
+ :param str nic_type: The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF, MRDMA, and IRDMA
8465
8531
  :param int queue_count: The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
8466
8532
  :param str security_policy: A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
8467
8533
  :param str stack_type: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
@@ -8586,7 +8652,7 @@ class InstanceFromMachineImageNetworkInterface(dict):
8586
8652
  @pulumi.getter(name="nicType")
8587
8653
  def nic_type(self) -> Optional[str]:
8588
8654
  """
8589
- The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF
8655
+ The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF, MRDMA, and IRDMA
8590
8656
  """
8591
8657
  return pulumi.get(self, "nic_type")
8592
8658
 
@@ -9498,6 +9564,10 @@ class InstanceFromTemplateAdvancedMachineFeatures(dict):
9498
9564
  suggest = None
9499
9565
  if key == "enableNestedVirtualization":
9500
9566
  suggest = "enable_nested_virtualization"
9567
+ elif key == "enableUefiNetworking":
9568
+ suggest = "enable_uefi_networking"
9569
+ elif key == "performanceMonitoringUnit":
9570
+ suggest = "performance_monitoring_unit"
9501
9571
  elif key == "threadsPerCore":
9502
9572
  suggest = "threads_per_core"
9503
9573
  elif key == "turboMode":
@@ -9518,17 +9588,25 @@ class InstanceFromTemplateAdvancedMachineFeatures(dict):
9518
9588
 
9519
9589
  def __init__(__self__, *,
9520
9590
  enable_nested_virtualization: Optional[bool] = None,
9591
+ enable_uefi_networking: Optional[bool] = None,
9592
+ performance_monitoring_unit: Optional[str] = None,
9521
9593
  threads_per_core: Optional[int] = None,
9522
9594
  turbo_mode: Optional[str] = None,
9523
9595
  visible_core_count: Optional[int] = None):
9524
9596
  """
9525
9597
  :param bool enable_nested_virtualization: Whether to enable nested virtualization or not.
9598
+ :param bool enable_uefi_networking: Whether to enable UEFI networking for the instance.
9599
+ :param str performance_monitoring_unit: The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are "STANDARD", "ENHANCED", and "ARCHITECTURAL".
9526
9600
  :param int threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
9527
9601
  :param str turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
9528
9602
  :param int visible_core_count: The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance\\'s nominal CPU count and the underlying platform\\'s SMT width.
9529
9603
  """
9530
9604
  if enable_nested_virtualization is not None:
9531
9605
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
9606
+ if enable_uefi_networking is not None:
9607
+ pulumi.set(__self__, "enable_uefi_networking", enable_uefi_networking)
9608
+ if performance_monitoring_unit is not None:
9609
+ pulumi.set(__self__, "performance_monitoring_unit", performance_monitoring_unit)
9532
9610
  if threads_per_core is not None:
9533
9611
  pulumi.set(__self__, "threads_per_core", threads_per_core)
9534
9612
  if turbo_mode is not None:
@@ -9544,6 +9622,22 @@ class InstanceFromTemplateAdvancedMachineFeatures(dict):
9544
9622
  """
9545
9623
  return pulumi.get(self, "enable_nested_virtualization")
9546
9624
 
9625
+ @property
9626
+ @pulumi.getter(name="enableUefiNetworking")
9627
+ def enable_uefi_networking(self) -> Optional[bool]:
9628
+ """
9629
+ Whether to enable UEFI networking for the instance.
9630
+ """
9631
+ return pulumi.get(self, "enable_uefi_networking")
9632
+
9633
+ @property
9634
+ @pulumi.getter(name="performanceMonitoringUnit")
9635
+ def performance_monitoring_unit(self) -> Optional[str]:
9636
+ """
9637
+ The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are "STANDARD", "ENHANCED", and "ARCHITECTURAL".
9638
+ """
9639
+ return pulumi.get(self, "performance_monitoring_unit")
9640
+
9547
9641
  @property
9548
9642
  @pulumi.getter(name="threadsPerCore")
9549
9643
  def threads_per_core(self) -> Optional[int]:
@@ -10123,7 +10217,7 @@ class InstanceFromTemplateNetworkInterface(dict):
10123
10217
  :param str network: The name or self_link of the network attached to this interface.
10124
10218
  :param str network_attachment: The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
10125
10219
  :param str network_ip: The private IP address assigned to the instance.
10126
- :param str nic_type: The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF
10220
+ :param str nic_type: The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF, MRDMA, and IRDMA
10127
10221
  :param int queue_count: The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
10128
10222
  :param str security_policy: A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
10129
10223
  :param str stack_type: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
@@ -10248,7 +10342,7 @@ class InstanceFromTemplateNetworkInterface(dict):
10248
10342
  @pulumi.getter(name="nicType")
10249
10343
  def nic_type(self) -> Optional[str]:
10250
10344
  """
10251
- The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF
10345
+ The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF, MRDMA, and IRDMA
10252
10346
  """
10253
10347
  return pulumi.get(self, "nic_type")
10254
10348
 
@@ -12290,7 +12384,7 @@ class InstanceNetworkInterface(dict):
12290
12384
  :param str network_attachment: The URL of the network attachment that this interface should connect to in the following format: `projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}`.
12291
12385
  :param str network_ip: The private IP address to assign to the instance. If
12292
12386
  empty, the address will be automatically assigned.
12293
- :param str nic_type: The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, IDPF.
12387
+ :param str nic_type: The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, IDPF. In the beta provider the additional values of MRDMA and IRDMA are supported.
12294
12388
  :param int queue_count: The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
12295
12389
  :param str security_policy: A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
12296
12390
  :param str stack_type: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
@@ -12432,7 +12526,7 @@ class InstanceNetworkInterface(dict):
12432
12526
  @pulumi.getter(name="nicType")
12433
12527
  def nic_type(self) -> Optional[str]:
12434
12528
  """
12435
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, IDPF.
12529
+ The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET, IDPF. In the beta provider the additional values of MRDMA and IRDMA are supported.
12436
12530
  """
12437
12531
  return pulumi.get(self, "nic_type")
12438
12532
 
@@ -13454,6 +13548,10 @@ class InstanceTemplateAdvancedMachineFeatures(dict):
13454
13548
  suggest = None
13455
13549
  if key == "enableNestedVirtualization":
13456
13550
  suggest = "enable_nested_virtualization"
13551
+ elif key == "enableUefiNetworking":
13552
+ suggest = "enable_uefi_networking"
13553
+ elif key == "performanceMonitoringUnit":
13554
+ suggest = "performance_monitoring_unit"
13457
13555
  elif key == "threadsPerCore":
13458
13556
  suggest = "threads_per_core"
13459
13557
  elif key == "turboMode":
@@ -13474,17 +13572,25 @@ class InstanceTemplateAdvancedMachineFeatures(dict):
13474
13572
 
13475
13573
  def __init__(__self__, *,
13476
13574
  enable_nested_virtualization: Optional[bool] = None,
13575
+ enable_uefi_networking: Optional[bool] = None,
13576
+ performance_monitoring_unit: Optional[str] = None,
13477
13577
  threads_per_core: Optional[int] = None,
13478
13578
  turbo_mode: Optional[str] = None,
13479
13579
  visible_core_count: Optional[int] = None):
13480
13580
  """
13481
13581
  :param bool enable_nested_virtualization: Defines whether the instance should have nested virtualization enabled. Defaults to false.
13582
+ :param bool enable_uefi_networking: Whether to enable UEFI networking for instance creation.
13583
+ :param str performance_monitoring_unit: [The PMU](https://cloud.google.com/compute/docs/pmu-overview) is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are `STANDARD`, `ENHANCED`, and `ARCHITECTURAL`.
13482
13584
  :param int threads_per_core: The number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
13483
13585
  :param str turbo_mode: Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
13484
13586
  :param int visible_core_count: The number of physical cores to expose to an instance. [visible cores info (VC)](https://cloud.google.com/compute/docs/instances/customize-visible-cores).
13485
13587
  """
13486
13588
  if enable_nested_virtualization is not None:
13487
13589
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
13590
+ if enable_uefi_networking is not None:
13591
+ pulumi.set(__self__, "enable_uefi_networking", enable_uefi_networking)
13592
+ if performance_monitoring_unit is not None:
13593
+ pulumi.set(__self__, "performance_monitoring_unit", performance_monitoring_unit)
13488
13594
  if threads_per_core is not None:
13489
13595
  pulumi.set(__self__, "threads_per_core", threads_per_core)
13490
13596
  if turbo_mode is not None:
@@ -13500,6 +13606,22 @@ class InstanceTemplateAdvancedMachineFeatures(dict):
13500
13606
  """
13501
13607
  return pulumi.get(self, "enable_nested_virtualization")
13502
13608
 
13609
+ @property
13610
+ @pulumi.getter(name="enableUefiNetworking")
13611
+ def enable_uefi_networking(self) -> Optional[bool]:
13612
+ """
13613
+ Whether to enable UEFI networking for instance creation.
13614
+ """
13615
+ return pulumi.get(self, "enable_uefi_networking")
13616
+
13617
+ @property
13618
+ @pulumi.getter(name="performanceMonitoringUnit")
13619
+ def performance_monitoring_unit(self) -> Optional[str]:
13620
+ """
13621
+ [The PMU](https://cloud.google.com/compute/docs/pmu-overview) is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are `STANDARD`, `ENHANCED`, and `ARCHITECTURAL`.
13622
+ """
13623
+ return pulumi.get(self, "performance_monitoring_unit")
13624
+
13503
13625
  @property
13504
13626
  @pulumi.getter(name="threadsPerCore")
13505
13627
  def threads_per_core(self) -> Optional[int]:
@@ -14206,7 +14328,7 @@ class InstanceTemplateNetworkInterface(dict):
14206
14328
  :param str network_attachment: The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
14207
14329
  :param str network_ip: The private IP address to assign to the instance. If
14208
14330
  empty, the address will be automatically assigned.
14209
- :param str nic_type: The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
14331
+ :param str nic_type: The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET. In the beta provider the additional values of MRDMA and IRDMA are supported.
14210
14332
  :param int queue_count: The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
14211
14333
  :param str stack_type: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
14212
14334
  :param str subnetwork: the name of the subnetwork to attach this interface
@@ -14343,7 +14465,7 @@ class InstanceTemplateNetworkInterface(dict):
14343
14465
  @pulumi.getter(name="nicType")
14344
14466
  def nic_type(self) -> Optional[str]:
14345
14467
  """
14346
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
14468
+ The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET. In the beta provider the additional values of MRDMA and IRDMA are supported.
14347
14469
  """
14348
14470
  return pulumi.get(self, "nic_type")
14349
14471
 
@@ -23591,6 +23713,10 @@ class RegionInstanceTemplateAdvancedMachineFeatures(dict):
23591
23713
  suggest = None
23592
23714
  if key == "enableNestedVirtualization":
23593
23715
  suggest = "enable_nested_virtualization"
23716
+ elif key == "enableUefiNetworking":
23717
+ suggest = "enable_uefi_networking"
23718
+ elif key == "performanceMonitoringUnit":
23719
+ suggest = "performance_monitoring_unit"
23594
23720
  elif key == "threadsPerCore":
23595
23721
  suggest = "threads_per_core"
23596
23722
  elif key == "turboMode":
@@ -23611,17 +23737,25 @@ class RegionInstanceTemplateAdvancedMachineFeatures(dict):
23611
23737
 
23612
23738
  def __init__(__self__, *,
23613
23739
  enable_nested_virtualization: Optional[bool] = None,
23740
+ enable_uefi_networking: Optional[bool] = None,
23741
+ performance_monitoring_unit: Optional[str] = None,
23614
23742
  threads_per_core: Optional[int] = None,
23615
23743
  turbo_mode: Optional[str] = None,
23616
23744
  visible_core_count: Optional[int] = None):
23617
23745
  """
23618
23746
  :param bool enable_nested_virtualization: Defines whether the instance should have nested virtualization enabled. Defaults to false.
23747
+ :param bool enable_uefi_networking: Whether to enable UEFI networking for instance creation.
23748
+ :param str performance_monitoring_unit: [The PMU](https://cloud.google.com/compute/docs/pmu-overview) is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are `STANDARD`, `ENHANCED`, and `ARCHITECTURAL`.
23619
23749
  :param int threads_per_core: The number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.
23620
23750
  :param str turbo_mode: Turbo frequency mode to use for the instance. Supported modes are currently either `ALL_CORE_MAX` or unset (default).
23621
23751
  :param int visible_core_count: The number of physical cores to expose to an instance. [visible cores info (VC)](https://cloud.google.com/compute/docs/instances/customize-visible-cores).
23622
23752
  """
23623
23753
  if enable_nested_virtualization is not None:
23624
23754
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
23755
+ if enable_uefi_networking is not None:
23756
+ pulumi.set(__self__, "enable_uefi_networking", enable_uefi_networking)
23757
+ if performance_monitoring_unit is not None:
23758
+ pulumi.set(__self__, "performance_monitoring_unit", performance_monitoring_unit)
23625
23759
  if threads_per_core is not None:
23626
23760
  pulumi.set(__self__, "threads_per_core", threads_per_core)
23627
23761
  if turbo_mode is not None:
@@ -23637,6 +23771,22 @@ class RegionInstanceTemplateAdvancedMachineFeatures(dict):
23637
23771
  """
23638
23772
  return pulumi.get(self, "enable_nested_virtualization")
23639
23773
 
23774
+ @property
23775
+ @pulumi.getter(name="enableUefiNetworking")
23776
+ def enable_uefi_networking(self) -> Optional[bool]:
23777
+ """
23778
+ Whether to enable UEFI networking for instance creation.
23779
+ """
23780
+ return pulumi.get(self, "enable_uefi_networking")
23781
+
23782
+ @property
23783
+ @pulumi.getter(name="performanceMonitoringUnit")
23784
+ def performance_monitoring_unit(self) -> Optional[str]:
23785
+ """
23786
+ [The PMU](https://cloud.google.com/compute/docs/pmu-overview) is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are `STANDARD`, `ENHANCED`, and `ARCHITECTURAL`.
23787
+ """
23788
+ return pulumi.get(self, "performance_monitoring_unit")
23789
+
23640
23790
  @property
23641
23791
  @pulumi.getter(name="threadsPerCore")
23642
23792
  def threads_per_core(self) -> Optional[int]:
@@ -24332,7 +24482,7 @@ class RegionInstanceTemplateNetworkInterface(dict):
24332
24482
  `subnetwork` for custom subnetted networks.
24333
24483
  :param str network_ip: The private IP address to assign to the instance. If
24334
24484
  empty, the address will be automatically assigned.
24335
- :param str nic_type: The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
24485
+ :param str nic_type: The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET. In the beta provider the additional values of MRDMA and IRDMA are supported.
24336
24486
  :param int queue_count: The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
24337
24487
  :param str stack_type: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.
24338
24488
  :param str subnetwork: the name of the subnetwork to attach this interface
@@ -24450,7 +24600,7 @@ class RegionInstanceTemplateNetworkInterface(dict):
24450
24600
  @pulumi.getter(name="nicType")
24451
24601
  def nic_type(self) -> Optional[str]:
24452
24602
  """
24453
- The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.
24603
+ The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET. In the beta provider the additional values of MRDMA and IRDMA are supported.
24454
24604
  """
24455
24605
  return pulumi.get(self, "nic_type")
24456
24606
 
@@ -25533,6 +25683,48 @@ class RegionNetworkEndpointGroupCloudRun(dict):
25533
25683
  return pulumi.get(self, "url_mask")
25534
25684
 
25535
25685
 
25686
+ @pulumi.output_type
25687
+ class RegionNetworkEndpointGroupPscData(dict):
25688
+ @staticmethod
25689
+ def __key_warning(key: str):
25690
+ suggest = None
25691
+ if key == "producerPort":
25692
+ suggest = "producer_port"
25693
+
25694
+ if suggest:
25695
+ pulumi.log.warn(f"Key '{key}' not found in RegionNetworkEndpointGroupPscData. Access the value via the '{suggest}' property getter instead.")
25696
+
25697
+ def __getitem__(self, key: str) -> Any:
25698
+ RegionNetworkEndpointGroupPscData.__key_warning(key)
25699
+ return super().__getitem__(key)
25700
+
25701
+ def get(self, key: str, default = None) -> Any:
25702
+ RegionNetworkEndpointGroupPscData.__key_warning(key)
25703
+ return super().get(key, default)
25704
+
25705
+ def __init__(__self__, *,
25706
+ producer_port: Optional[str] = None):
25707
+ """
25708
+ :param str producer_port: The PSC producer port to use when consumer PSC NEG connects to a producer. If
25709
+ this flag isn't specified for a PSC NEG with endpoint type
25710
+ private-service-connect, then PSC NEG will be connected to a first port in the
25711
+ available PSC producer port range.
25712
+ """
25713
+ if producer_port is not None:
25714
+ pulumi.set(__self__, "producer_port", producer_port)
25715
+
25716
+ @property
25717
+ @pulumi.getter(name="producerPort")
25718
+ def producer_port(self) -> Optional[str]:
25719
+ """
25720
+ The PSC producer port to use when consumer PSC NEG connects to a producer. If
25721
+ this flag isn't specified for a PSC NEG with endpoint type
25722
+ private-service-connect, then PSC NEG will be connected to a first port in the
25723
+ available PSC producer port range.
25724
+ """
25725
+ return pulumi.get(self, "producer_port")
25726
+
25727
+
25536
25728
  @pulumi.output_type
25537
25729
  class RegionNetworkEndpointGroupServerlessDeployment(dict):
25538
25730
  @staticmethod
@@ -38442,6 +38634,8 @@ class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig(dict):
38442
38634
  suggest = None
38443
38635
  if key == "ruleVisibility":
38444
38636
  suggest = "rule_visibility"
38637
+ elif key == "thresholdConfigs":
38638
+ suggest = "threshold_configs"
38445
38639
 
38446
38640
  if suggest:
38447
38641
  pulumi.log.warn(f"Key '{key}' not found in SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig. Access the value via the '{suggest}' property getter instead.")
@@ -38456,15 +38650,19 @@ class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig(dict):
38456
38650
 
38457
38651
  def __init__(__self__, *,
38458
38652
  enable: Optional[bool] = None,
38459
- rule_visibility: Optional[str] = None):
38653
+ rule_visibility: Optional[str] = None,
38654
+ threshold_configs: Optional[Sequence['outputs.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig']] = None):
38460
38655
  """
38461
38656
  :param bool enable: If set to true, enables CAAP for L7 DDoS detection.
38462
38657
  :param str rule_visibility: Rule visibility. Supported values include: "STANDARD", "PREMIUM".
38658
+ :param Sequence['SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigArgs'] threshold_configs: Configuration options for layer7 adaptive protection for various customizable thresholds.
38463
38659
  """
38464
38660
  if enable is not None:
38465
38661
  pulumi.set(__self__, "enable", enable)
38466
38662
  if rule_visibility is not None:
38467
38663
  pulumi.set(__self__, "rule_visibility", rule_visibility)
38664
+ if threshold_configs is not None:
38665
+ pulumi.set(__self__, "threshold_configs", threshold_configs)
38468
38666
 
38469
38667
  @property
38470
38668
  @pulumi.getter
@@ -38482,6 +38680,222 @@ class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig(dict):
38482
38680
  """
38483
38681
  return pulumi.get(self, "rule_visibility")
38484
38682
 
38683
+ @property
38684
+ @pulumi.getter(name="thresholdConfigs")
38685
+ def threshold_configs(self) -> Optional[Sequence['outputs.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig']]:
38686
+ """
38687
+ Configuration options for layer7 adaptive protection for various customizable thresholds.
38688
+ """
38689
+ return pulumi.get(self, "threshold_configs")
38690
+
38691
+
38692
+ @pulumi.output_type
38693
+ class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig(dict):
38694
+ @staticmethod
38695
+ def __key_warning(key: str):
38696
+ suggest = None
38697
+ if key == "autoDeployConfidenceThreshold":
38698
+ suggest = "auto_deploy_confidence_threshold"
38699
+ elif key == "autoDeployExpirationSec":
38700
+ suggest = "auto_deploy_expiration_sec"
38701
+ elif key == "autoDeployImpactedBaselineThreshold":
38702
+ suggest = "auto_deploy_impacted_baseline_threshold"
38703
+ elif key == "autoDeployLoadThreshold":
38704
+ suggest = "auto_deploy_load_threshold"
38705
+ elif key == "detectionAbsoluteQps":
38706
+ suggest = "detection_absolute_qps"
38707
+ elif key == "detectionLoadThreshold":
38708
+ suggest = "detection_load_threshold"
38709
+ elif key == "detectionRelativeToBaselineQps":
38710
+ suggest = "detection_relative_to_baseline_qps"
38711
+ elif key == "trafficGranularityConfigs":
38712
+ suggest = "traffic_granularity_configs"
38713
+
38714
+ if suggest:
38715
+ pulumi.log.warn(f"Key '{key}' not found in SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig. Access the value via the '{suggest}' property getter instead.")
38716
+
38717
+ def __getitem__(self, key: str) -> Any:
38718
+ SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig.__key_warning(key)
38719
+ return super().__getitem__(key)
38720
+
38721
+ def get(self, key: str, default = None) -> Any:
38722
+ SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig.__key_warning(key)
38723
+ return super().get(key, default)
38724
+
38725
+ def __init__(__self__, *,
38726
+ name: str,
38727
+ auto_deploy_confidence_threshold: Optional[float] = None,
38728
+ auto_deploy_expiration_sec: Optional[int] = None,
38729
+ auto_deploy_impacted_baseline_threshold: Optional[float] = None,
38730
+ auto_deploy_load_threshold: Optional[float] = None,
38731
+ detection_absolute_qps: Optional[float] = None,
38732
+ detection_load_threshold: Optional[float] = None,
38733
+ detection_relative_to_baseline_qps: Optional[float] = None,
38734
+ traffic_granularity_configs: Optional[Sequence['outputs.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig']] = None):
38735
+ """
38736
+ :param str name: The name of config. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the security policy.
38737
+ :param float auto_deploy_confidence_threshold: Confidence threshold above which Adaptive Protection's auto-deploy takes actions.
38738
+ :param int auto_deploy_expiration_sec: Duration over which Adaptive Protection's auto-deployed actions last.
38739
+ :param float auto_deploy_impacted_baseline_threshold: Impacted baseline threshold below which Adaptive Protection's auto-deploy takes actions.
38740
+ :param float auto_deploy_load_threshold: Load threshold above which Adaptive Protection automatically deploy threshold based on the backend load threshold and detect a new rule during an alerted attack.
38741
+ :param float detection_absolute_qps: Detection threshold based on absolute QPS.
38742
+ :param float detection_load_threshold: Detection threshold based on the backend service's load.
38743
+ :param float detection_relative_to_baseline_qps: Detection threshold based on QPS relative to the average of baseline traffic.
38744
+ :param Sequence['SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfigArgs'] traffic_granularity_configs: Configuration options for enabling Adaptive Protection to work on the specified service granularity. Structure is documented below.
38745
+ """
38746
+ pulumi.set(__self__, "name", name)
38747
+ if auto_deploy_confidence_threshold is not None:
38748
+ pulumi.set(__self__, "auto_deploy_confidence_threshold", auto_deploy_confidence_threshold)
38749
+ if auto_deploy_expiration_sec is not None:
38750
+ pulumi.set(__self__, "auto_deploy_expiration_sec", auto_deploy_expiration_sec)
38751
+ if auto_deploy_impacted_baseline_threshold is not None:
38752
+ pulumi.set(__self__, "auto_deploy_impacted_baseline_threshold", auto_deploy_impacted_baseline_threshold)
38753
+ if auto_deploy_load_threshold is not None:
38754
+ pulumi.set(__self__, "auto_deploy_load_threshold", auto_deploy_load_threshold)
38755
+ if detection_absolute_qps is not None:
38756
+ pulumi.set(__self__, "detection_absolute_qps", detection_absolute_qps)
38757
+ if detection_load_threshold is not None:
38758
+ pulumi.set(__self__, "detection_load_threshold", detection_load_threshold)
38759
+ if detection_relative_to_baseline_qps is not None:
38760
+ pulumi.set(__self__, "detection_relative_to_baseline_qps", detection_relative_to_baseline_qps)
38761
+ if traffic_granularity_configs is not None:
38762
+ pulumi.set(__self__, "traffic_granularity_configs", traffic_granularity_configs)
38763
+
38764
+ @property
38765
+ @pulumi.getter
38766
+ def name(self) -> str:
38767
+ """
38768
+ The name of config. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the security policy.
38769
+ """
38770
+ return pulumi.get(self, "name")
38771
+
38772
+ @property
38773
+ @pulumi.getter(name="autoDeployConfidenceThreshold")
38774
+ def auto_deploy_confidence_threshold(self) -> Optional[float]:
38775
+ """
38776
+ Confidence threshold above which Adaptive Protection's auto-deploy takes actions.
38777
+ """
38778
+ return pulumi.get(self, "auto_deploy_confidence_threshold")
38779
+
38780
+ @property
38781
+ @pulumi.getter(name="autoDeployExpirationSec")
38782
+ def auto_deploy_expiration_sec(self) -> Optional[int]:
38783
+ """
38784
+ Duration over which Adaptive Protection's auto-deployed actions last.
38785
+ """
38786
+ return pulumi.get(self, "auto_deploy_expiration_sec")
38787
+
38788
+ @property
38789
+ @pulumi.getter(name="autoDeployImpactedBaselineThreshold")
38790
+ def auto_deploy_impacted_baseline_threshold(self) -> Optional[float]:
38791
+ """
38792
+ Impacted baseline threshold below which Adaptive Protection's auto-deploy takes actions.
38793
+ """
38794
+ return pulumi.get(self, "auto_deploy_impacted_baseline_threshold")
38795
+
38796
+ @property
38797
+ @pulumi.getter(name="autoDeployLoadThreshold")
38798
+ def auto_deploy_load_threshold(self) -> Optional[float]:
38799
+ """
38800
+ Load threshold above which Adaptive Protection automatically deploy threshold based on the backend load threshold and detect a new rule during an alerted attack.
38801
+ """
38802
+ return pulumi.get(self, "auto_deploy_load_threshold")
38803
+
38804
+ @property
38805
+ @pulumi.getter(name="detectionAbsoluteQps")
38806
+ def detection_absolute_qps(self) -> Optional[float]:
38807
+ """
38808
+ Detection threshold based on absolute QPS.
38809
+ """
38810
+ return pulumi.get(self, "detection_absolute_qps")
38811
+
38812
+ @property
38813
+ @pulumi.getter(name="detectionLoadThreshold")
38814
+ def detection_load_threshold(self) -> Optional[float]:
38815
+ """
38816
+ Detection threshold based on the backend service's load.
38817
+ """
38818
+ return pulumi.get(self, "detection_load_threshold")
38819
+
38820
+ @property
38821
+ @pulumi.getter(name="detectionRelativeToBaselineQps")
38822
+ def detection_relative_to_baseline_qps(self) -> Optional[float]:
38823
+ """
38824
+ Detection threshold based on QPS relative to the average of baseline traffic.
38825
+ """
38826
+ return pulumi.get(self, "detection_relative_to_baseline_qps")
38827
+
38828
+ @property
38829
+ @pulumi.getter(name="trafficGranularityConfigs")
38830
+ def traffic_granularity_configs(self) -> Optional[Sequence['outputs.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig']]:
38831
+ """
38832
+ Configuration options for enabling Adaptive Protection to work on the specified service granularity. Structure is documented below.
38833
+ """
38834
+ return pulumi.get(self, "traffic_granularity_configs")
38835
+
38836
+
38837
+ @pulumi.output_type
38838
+ class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig(dict):
38839
+ @staticmethod
38840
+ def __key_warning(key: str):
38841
+ suggest = None
38842
+ if key == "enableEachUniqueValue":
38843
+ suggest = "enable_each_unique_value"
38844
+
38845
+ if suggest:
38846
+ pulumi.log.warn(f"Key '{key}' not found in SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig. Access the value via the '{suggest}' property getter instead.")
38847
+
38848
+ def __getitem__(self, key: str) -> Any:
38849
+ SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig.__key_warning(key)
38850
+ return super().__getitem__(key)
38851
+
38852
+ def get(self, key: str, default = None) -> Any:
38853
+ SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig.__key_warning(key)
38854
+ return super().get(key, default)
38855
+
38856
+ def __init__(__self__, *,
38857
+ type: str,
38858
+ enable_each_unique_value: Optional[bool] = None,
38859
+ value: Optional[str] = None):
38860
+ """
38861
+ :param str type: The type of this configuration, a granular traffic unit can be one of the following:
38862
+ * `HTTP_HEADER_HOST`
38863
+ * `HTTP_PATH`
38864
+ :param bool enable_each_unique_value: If enabled, traffic matching each unique value for the specified type constitutes a separate traffic unit. It can only be set to true if value is empty.
38865
+ :param str value: Requests that match this value constitute a granular traffic unit.
38866
+ """
38867
+ pulumi.set(__self__, "type", type)
38868
+ if enable_each_unique_value is not None:
38869
+ pulumi.set(__self__, "enable_each_unique_value", enable_each_unique_value)
38870
+ if value is not None:
38871
+ pulumi.set(__self__, "value", value)
38872
+
38873
+ @property
38874
+ @pulumi.getter
38875
+ def type(self) -> str:
38876
+ """
38877
+ The type of this configuration, a granular traffic unit can be one of the following:
38878
+ * `HTTP_HEADER_HOST`
38879
+ * `HTTP_PATH`
38880
+ """
38881
+ return pulumi.get(self, "type")
38882
+
38883
+ @property
38884
+ @pulumi.getter(name="enableEachUniqueValue")
38885
+ def enable_each_unique_value(self) -> Optional[bool]:
38886
+ """
38887
+ If enabled, traffic matching each unique value for the specified type constitutes a separate traffic unit. It can only be set to true if value is empty.
38888
+ """
38889
+ return pulumi.get(self, "enable_each_unique_value")
38890
+
38891
+ @property
38892
+ @pulumi.getter
38893
+ def value(self) -> Optional[str]:
38894
+ """
38895
+ Requests that match this value constitute a granular traffic unit.
38896
+ """
38897
+ return pulumi.get(self, "value")
38898
+
38485
38899
 
38486
38900
  @pulumi.output_type
38487
38901
  class SecurityPolicyAdvancedOptionsConfig(dict):
@@ -42363,7 +42777,7 @@ class URLMapPathMatcher(dict):
42363
42777
  route_rules: Optional[Sequence['outputs.URLMapPathMatcherRouteRule']] = None):
42364
42778
  """
42365
42779
  :param str name: The name to which this PathMatcher is referred by the HostRule.
42366
- :param 'URLMapPathMatcherDefaultCustomErrorResponsePolicyArgs' default_custom_error_response_policy: defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
42780
+ :param 'URLMapPathMatcherDefaultCustomErrorResponsePolicyArgs' default_custom_error_response_policy: defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendService or BackendBucket responds with an error.
42367
42781
  This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect.
42368
42782
  For example, consider a UrlMap with the following configuration:
42369
42783
  UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
@@ -42434,7 +42848,7 @@ class URLMapPathMatcher(dict):
42434
42848
  @pulumi.getter(name="defaultCustomErrorResponsePolicy")
42435
42849
  def default_custom_error_response_policy(self) -> Optional['outputs.URLMapPathMatcherDefaultCustomErrorResponsePolicy']:
42436
42850
  """
42437
- defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
42851
+ defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendService or BackendBucket responds with an error.
42438
42852
  This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect.
42439
42853
  For example, consider a UrlMap with the following configuration:
42440
42854
  UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
@@ -44101,7 +44515,7 @@ class URLMapPathMatcherPathRule(dict):
44101
44515
  \\* is allowed is at the end following a /. The string fed to the path matcher
44102
44516
  does not include any text after the first ? or #, and those chars are not
44103
44517
  allowed here.
44104
- :param 'URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgs' custom_error_response_policy: customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
44518
+ :param 'URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgs' custom_error_response_policy: customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendService or BackendBucket responds with an error.
44105
44519
  If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect.
44106
44520
  For example, consider a UrlMap with the following configuration:
44107
44521
  UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors
@@ -44147,7 +44561,7 @@ class URLMapPathMatcherPathRule(dict):
44147
44561
  @pulumi.getter(name="customErrorResponsePolicy")
44148
44562
  def custom_error_response_policy(self) -> Optional['outputs.URLMapPathMatcherPathRuleCustomErrorResponsePolicy']:
44149
44563
  """
44150
- customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
44564
+ customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendService or BackendBucket responds with an error.
44151
44565
  If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect.
44152
44566
  For example, consider a UrlMap with the following configuration:
44153
44567
  UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors
@@ -50025,7 +50439,7 @@ class GetForwardingRulesRuleResult(dict):
50025
50439
  and default labels configured on the provider.
50026
50440
  :param str region: The region you want to get the forwarding rules from.
50027
50441
 
50028
- These arguments must be set in either the provider or the resouce in order for the information to be queried.
50442
+ These arguments must be set in either the provider or the resource in order for the information to be queried.
50029
50443
  :param str self_link: The URI of the resource.
50030
50444
  :param Sequence['GetForwardingRulesRuleServiceDirectoryRegistrationArgs'] service_directory_registrations: Service Directory resources to register this forwarding rule with.
50031
50445
 
@@ -50487,7 +50901,7 @@ class GetForwardingRulesRuleResult(dict):
50487
50901
  """
50488
50902
  The region you want to get the forwarding rules from.
50489
50903
 
50490
- These arguments must be set in either the provider or the resouce in order for the information to be queried.
50904
+ These arguments must be set in either the provider or the resource in order for the information to be queried.
50491
50905
  """
50492
50906
  return pulumi.get(self, "region")
50493
50907
 
@@ -51501,16 +51915,22 @@ class GetHealthCheckTcpHealthCheckResult(dict):
51501
51915
  class GetInstanceAdvancedMachineFeatureResult(dict):
51502
51916
  def __init__(__self__, *,
51503
51917
  enable_nested_virtualization: bool,
51918
+ enable_uefi_networking: bool,
51919
+ performance_monitoring_unit: str,
51504
51920
  threads_per_core: int,
51505
51921
  turbo_mode: str,
51506
51922
  visible_core_count: int):
51507
51923
  """
51508
51924
  :param bool enable_nested_virtualization: Whether to enable nested virtualization or not.
51925
+ :param bool enable_uefi_networking: Whether to enable UEFI networking for the instance.
51926
+ :param str performance_monitoring_unit: The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are "STANDARD", "ENHANCED", and "ARCHITECTURAL".
51509
51927
  :param int threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
51510
51928
  :param str turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
51511
51929
  :param int visible_core_count: The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance\\'s nominal CPU count and the underlying platform\\'s SMT width.
51512
51930
  """
51513
51931
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
51932
+ pulumi.set(__self__, "enable_uefi_networking", enable_uefi_networking)
51933
+ pulumi.set(__self__, "performance_monitoring_unit", performance_monitoring_unit)
51514
51934
  pulumi.set(__self__, "threads_per_core", threads_per_core)
51515
51935
  pulumi.set(__self__, "turbo_mode", turbo_mode)
51516
51936
  pulumi.set(__self__, "visible_core_count", visible_core_count)
@@ -51523,6 +51943,22 @@ class GetInstanceAdvancedMachineFeatureResult(dict):
51523
51943
  """
51524
51944
  return pulumi.get(self, "enable_nested_virtualization")
51525
51945
 
51946
+ @property
51947
+ @pulumi.getter(name="enableUefiNetworking")
51948
+ def enable_uefi_networking(self) -> bool:
51949
+ """
51950
+ Whether to enable UEFI networking for the instance.
51951
+ """
51952
+ return pulumi.get(self, "enable_uefi_networking")
51953
+
51954
+ @property
51955
+ @pulumi.getter(name="performanceMonitoringUnit")
51956
+ def performance_monitoring_unit(self) -> str:
51957
+ """
51958
+ The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are "STANDARD", "ENHANCED", and "ARCHITECTURAL".
51959
+ """
51960
+ return pulumi.get(self, "performance_monitoring_unit")
51961
+
51526
51962
  @property
51527
51963
  @pulumi.getter(name="threadsPerCore")
51528
51964
  def threads_per_core(self) -> int:
@@ -52588,7 +53024,7 @@ class GetInstanceNetworkInterfaceResult(dict):
52588
53024
  :param str network: The name or self_link of the network attached to this interface.
52589
53025
  :param str network_attachment: Beta The URL of the network attachment to this interface.
52590
53026
  :param str network_ip: The internal ip address of the instance, either manually or dynamically assigned.
52591
- :param str nic_type: The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF
53027
+ :param str nic_type: The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF, MRDMA, and IRDMA
52592
53028
  :param int queue_count: The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
52593
53029
  :param str security_policy: A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.
52594
53030
  :param str stack_type: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
@@ -52697,7 +53133,7 @@ class GetInstanceNetworkInterfaceResult(dict):
52697
53133
  @pulumi.getter(name="nicType")
52698
53134
  def nic_type(self) -> str:
52699
53135
  """
52700
- The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF
53136
+ The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, IDPF, MRDMA, and IRDMA
52701
53137
  """
52702
53138
  return pulumi.get(self, "nic_type")
52703
53139
 
@@ -53373,16 +53809,22 @@ class GetInstanceShieldedInstanceConfigResult(dict):
53373
53809
  class GetInstanceTemplateAdvancedMachineFeatureResult(dict):
53374
53810
  def __init__(__self__, *,
53375
53811
  enable_nested_virtualization: bool,
53812
+ enable_uefi_networking: bool,
53813
+ performance_monitoring_unit: str,
53376
53814
  threads_per_core: int,
53377
53815
  turbo_mode: str,
53378
53816
  visible_core_count: int):
53379
53817
  """
53380
53818
  :param bool enable_nested_virtualization: Whether to enable nested virtualization or not.
53819
+ :param bool enable_uefi_networking: Whether to enable UEFI networking or not.
53820
+ :param str performance_monitoring_unit: The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are "STANDARD", "ENHANCED", and "ARCHITECTURAL".
53381
53821
  :param int threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
53382
53822
  :param str turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
53383
53823
  :param int visible_core_count: The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance\\'s nominal CPU count and the underlying platform\\'s SMT width.
53384
53824
  """
53385
53825
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
53826
+ pulumi.set(__self__, "enable_uefi_networking", enable_uefi_networking)
53827
+ pulumi.set(__self__, "performance_monitoring_unit", performance_monitoring_unit)
53386
53828
  pulumi.set(__self__, "threads_per_core", threads_per_core)
53387
53829
  pulumi.set(__self__, "turbo_mode", turbo_mode)
53388
53830
  pulumi.set(__self__, "visible_core_count", visible_core_count)
@@ -53395,6 +53837,22 @@ class GetInstanceTemplateAdvancedMachineFeatureResult(dict):
53395
53837
  """
53396
53838
  return pulumi.get(self, "enable_nested_virtualization")
53397
53839
 
53840
+ @property
53841
+ @pulumi.getter(name="enableUefiNetworking")
53842
+ def enable_uefi_networking(self) -> bool:
53843
+ """
53844
+ Whether to enable UEFI networking or not.
53845
+ """
53846
+ return pulumi.get(self, "enable_uefi_networking")
53847
+
53848
+ @property
53849
+ @pulumi.getter(name="performanceMonitoringUnit")
53850
+ def performance_monitoring_unit(self) -> str:
53851
+ """
53852
+ The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are "STANDARD", "ENHANCED", and "ARCHITECTURAL".
53853
+ """
53854
+ return pulumi.get(self, "performance_monitoring_unit")
53855
+
53398
53856
  @property
53399
53857
  @pulumi.getter(name="threadsPerCore")
53400
53858
  def threads_per_core(self) -> int:
@@ -53902,7 +54360,7 @@ class GetInstanceTemplateNetworkInterfaceResult(dict):
53902
54360
  :param str network_attachment: The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}.
53903
54361
  :param str network_ip: The private IP address to assign to the instance. If
53904
54362
  empty, the address will be automatically assigned.
53905
- :param str nic_type: The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET
54363
+ :param str nic_type: The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, MRDMA, and IRDMA
53906
54364
  :param int queue_count: The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
53907
54365
  :param str stack_type: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
53908
54366
  :param str subnetwork: the name of the subnetwork to attach this interface
@@ -54021,7 +54479,7 @@ class GetInstanceTemplateNetworkInterfaceResult(dict):
54021
54479
  @pulumi.getter(name="nicType")
54022
54480
  def nic_type(self) -> str:
54023
54481
  """
54024
- The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET
54482
+ The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, MRDMA, and IRDMA
54025
54483
  """
54026
54484
  return pulumi.get(self, "nic_type")
54027
54485
 
@@ -55709,16 +56167,22 @@ class GetRegionInstanceGroupManagerVersionTargetSizeResult(dict):
55709
56167
  class GetRegionInstanceTemplateAdvancedMachineFeatureResult(dict):
55710
56168
  def __init__(__self__, *,
55711
56169
  enable_nested_virtualization: bool,
56170
+ enable_uefi_networking: bool,
56171
+ performance_monitoring_unit: str,
55712
56172
  threads_per_core: int,
55713
56173
  turbo_mode: str,
55714
56174
  visible_core_count: int):
55715
56175
  """
55716
56176
  :param bool enable_nested_virtualization: Whether to enable nested virtualization or not.
56177
+ :param bool enable_uefi_networking: Whether to enable UEFI networking or not.
56178
+ :param str performance_monitoring_unit: The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are "STANDARD", "ENHANCED", and "ARCHITECTURAL".
55717
56179
  :param int threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
55718
56180
  :param str turbo_mode: Turbo frequency mode to use for the instance. Currently supported modes is "ALL_CORE_MAX".
55719
56181
  :param int visible_core_count: The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance\\'s nominal CPU count and the underlying platform\\'s SMT width.
55720
56182
  """
55721
56183
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
56184
+ pulumi.set(__self__, "enable_uefi_networking", enable_uefi_networking)
56185
+ pulumi.set(__self__, "performance_monitoring_unit", performance_monitoring_unit)
55722
56186
  pulumi.set(__self__, "threads_per_core", threads_per_core)
55723
56187
  pulumi.set(__self__, "turbo_mode", turbo_mode)
55724
56188
  pulumi.set(__self__, "visible_core_count", visible_core_count)
@@ -55731,6 +56195,22 @@ class GetRegionInstanceTemplateAdvancedMachineFeatureResult(dict):
55731
56195
  """
55732
56196
  return pulumi.get(self, "enable_nested_virtualization")
55733
56197
 
56198
+ @property
56199
+ @pulumi.getter(name="enableUefiNetworking")
56200
+ def enable_uefi_networking(self) -> bool:
56201
+ """
56202
+ Whether to enable UEFI networking or not.
56203
+ """
56204
+ return pulumi.get(self, "enable_uefi_networking")
56205
+
56206
+ @property
56207
+ @pulumi.getter(name="performanceMonitoringUnit")
56208
+ def performance_monitoring_unit(self) -> str:
56209
+ """
56210
+ The PMU is a hardware component within the CPU core that monitors how the processor runs code. Valid values for the level of PMU are "STANDARD", "ENHANCED", and "ARCHITECTURAL".
56211
+ """
56212
+ return pulumi.get(self, "performance_monitoring_unit")
56213
+
55734
56214
  @property
55735
56215
  @pulumi.getter(name="threadsPerCore")
55736
56216
  def threads_per_core(self) -> int:
@@ -56230,7 +56710,7 @@ class GetRegionInstanceTemplateNetworkInterfaceResult(dict):
56230
56710
  `subnetwork` for custom subnetted networks.
56231
56711
  :param str network_ip: The private IP address to assign to the instance. If
56232
56712
  empty, the address will be automatically assigned.
56233
- :param str nic_type: The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET
56713
+ :param str nic_type: The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, MRDMA, and IRDMA
56234
56714
  :param int queue_count: The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.
56235
56715
  :param str stack_type: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
56236
56716
  :param str subnetwork: the name of the subnetwork to attach this interface
@@ -56332,7 +56812,7 @@ class GetRegionInstanceTemplateNetworkInterfaceResult(dict):
56332
56812
  @pulumi.getter(name="nicType")
56333
56813
  def nic_type(self) -> str:
56334
56814
  """
56335
- The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET
56815
+ The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET, MRDMA, and IRDMA
56336
56816
  """
56337
56817
  return pulumi.get(self, "nic_type")
56338
56818
 
@@ -57140,6 +57620,30 @@ class GetRegionNetworkEndpointGroupCloudRunResult(dict):
57140
57620
  return pulumi.get(self, "url_mask")
57141
57621
 
57142
57622
 
57623
+ @pulumi.output_type
57624
+ class GetRegionNetworkEndpointGroupPscDataResult(dict):
57625
+ def __init__(__self__, *,
57626
+ producer_port: str):
57627
+ """
57628
+ :param str producer_port: The PSC producer port to use when consumer PSC NEG connects to a producer. If
57629
+ this flag isn't specified for a PSC NEG with endpoint type
57630
+ private-service-connect, then PSC NEG will be connected to a first port in the
57631
+ available PSC producer port range.
57632
+ """
57633
+ pulumi.set(__self__, "producer_port", producer_port)
57634
+
57635
+ @property
57636
+ @pulumi.getter(name="producerPort")
57637
+ def producer_port(self) -> str:
57638
+ """
57639
+ The PSC producer port to use when consumer PSC NEG connects to a producer. If
57640
+ this flag isn't specified for a PSC NEG with endpoint type
57641
+ private-service-connect, then PSC NEG will be connected to a first port in the
57642
+ available PSC producer port range.
57643
+ """
57644
+ return pulumi.get(self, "producer_port")
57645
+
57646
+
57143
57647
  @pulumi.output_type
57144
57648
  class GetRegionNetworkEndpointGroupServerlessDeploymentResult(dict):
57145
57649
  def __init__(__self__, *,
@@ -58903,13 +59407,16 @@ class GetSecurityPolicyAdaptiveProtectionConfigAutoDeployConfigResult(dict):
58903
59407
  class GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigResult(dict):
58904
59408
  def __init__(__self__, *,
58905
59409
  enable: bool,
58906
- rule_visibility: str):
59410
+ rule_visibility: str,
59411
+ threshold_configs: Sequence['outputs.GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigResult']):
58907
59412
  """
58908
59413
  :param bool enable: If set to true, enables CAAP for L7 DDoS detection.
58909
59414
  :param str rule_visibility: Rule visibility. Supported values include: "STANDARD", "PREMIUM".
59415
+ :param Sequence['GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigArgs'] threshold_configs: Configuration options for layer7 adaptive protection for various customizable thresholds.
58910
59416
  """
58911
59417
  pulumi.set(__self__, "enable", enable)
58912
59418
  pulumi.set(__self__, "rule_visibility", rule_visibility)
59419
+ pulumi.set(__self__, "threshold_configs", threshold_configs)
58913
59420
 
58914
59421
  @property
58915
59422
  @pulumi.getter
@@ -58927,6 +59434,128 @@ class GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigResult(dic
58927
59434
  """
58928
59435
  return pulumi.get(self, "rule_visibility")
58929
59436
 
59437
+ @property
59438
+ @pulumi.getter(name="thresholdConfigs")
59439
+ def threshold_configs(self) -> Sequence['outputs.GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigResult']:
59440
+ """
59441
+ Configuration options for layer7 adaptive protection for various customizable thresholds.
59442
+ """
59443
+ return pulumi.get(self, "threshold_configs")
59444
+
59445
+
59446
+ @pulumi.output_type
59447
+ class GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigResult(dict):
59448
+ def __init__(__self__, *,
59449
+ auto_deploy_confidence_threshold: float,
59450
+ auto_deploy_expiration_sec: int,
59451
+ auto_deploy_impacted_baseline_threshold: float,
59452
+ auto_deploy_load_threshold: float,
59453
+ detection_absolute_qps: float,
59454
+ detection_load_threshold: float,
59455
+ detection_relative_to_baseline_qps: float,
59456
+ name: str,
59457
+ traffic_granularity_configs: Sequence['outputs.GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfigResult']):
59458
+ """
59459
+ :param str name: The name of the security policy. Provide either this or a `self_link`.
59460
+ """
59461
+ pulumi.set(__self__, "auto_deploy_confidence_threshold", auto_deploy_confidence_threshold)
59462
+ pulumi.set(__self__, "auto_deploy_expiration_sec", auto_deploy_expiration_sec)
59463
+ pulumi.set(__self__, "auto_deploy_impacted_baseline_threshold", auto_deploy_impacted_baseline_threshold)
59464
+ pulumi.set(__self__, "auto_deploy_load_threshold", auto_deploy_load_threshold)
59465
+ pulumi.set(__self__, "detection_absolute_qps", detection_absolute_qps)
59466
+ pulumi.set(__self__, "detection_load_threshold", detection_load_threshold)
59467
+ pulumi.set(__self__, "detection_relative_to_baseline_qps", detection_relative_to_baseline_qps)
59468
+ pulumi.set(__self__, "name", name)
59469
+ pulumi.set(__self__, "traffic_granularity_configs", traffic_granularity_configs)
59470
+
59471
+ @property
59472
+ @pulumi.getter(name="autoDeployConfidenceThreshold")
59473
+ def auto_deploy_confidence_threshold(self) -> float:
59474
+ return pulumi.get(self, "auto_deploy_confidence_threshold")
59475
+
59476
+ @property
59477
+ @pulumi.getter(name="autoDeployExpirationSec")
59478
+ def auto_deploy_expiration_sec(self) -> int:
59479
+ return pulumi.get(self, "auto_deploy_expiration_sec")
59480
+
59481
+ @property
59482
+ @pulumi.getter(name="autoDeployImpactedBaselineThreshold")
59483
+ def auto_deploy_impacted_baseline_threshold(self) -> float:
59484
+ return pulumi.get(self, "auto_deploy_impacted_baseline_threshold")
59485
+
59486
+ @property
59487
+ @pulumi.getter(name="autoDeployLoadThreshold")
59488
+ def auto_deploy_load_threshold(self) -> float:
59489
+ return pulumi.get(self, "auto_deploy_load_threshold")
59490
+
59491
+ @property
59492
+ @pulumi.getter(name="detectionAbsoluteQps")
59493
+ def detection_absolute_qps(self) -> float:
59494
+ return pulumi.get(self, "detection_absolute_qps")
59495
+
59496
+ @property
59497
+ @pulumi.getter(name="detectionLoadThreshold")
59498
+ def detection_load_threshold(self) -> float:
59499
+ return pulumi.get(self, "detection_load_threshold")
59500
+
59501
+ @property
59502
+ @pulumi.getter(name="detectionRelativeToBaselineQps")
59503
+ def detection_relative_to_baseline_qps(self) -> float:
59504
+ return pulumi.get(self, "detection_relative_to_baseline_qps")
59505
+
59506
+ @property
59507
+ @pulumi.getter
59508
+ def name(self) -> str:
59509
+ """
59510
+ The name of the security policy. Provide either this or a `self_link`.
59511
+ """
59512
+ return pulumi.get(self, "name")
59513
+
59514
+ @property
59515
+ @pulumi.getter(name="trafficGranularityConfigs")
59516
+ def traffic_granularity_configs(self) -> Sequence['outputs.GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfigResult']:
59517
+ return pulumi.get(self, "traffic_granularity_configs")
59518
+
59519
+
59520
+ @pulumi.output_type
59521
+ class GetSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfigResult(dict):
59522
+ def __init__(__self__, *,
59523
+ enable_each_unique_value: bool,
59524
+ type: str,
59525
+ value: str):
59526
+ """
59527
+ :param bool enable_each_unique_value: If enabled, traffic matching each unique value for the specified type constitutes a separate traffic unit. It can only be set to true if value is empty.
59528
+ :param str type: Type of this configuration.
59529
+ :param str value: Requests that match this value constitute a granular traffic unit.
59530
+ """
59531
+ pulumi.set(__self__, "enable_each_unique_value", enable_each_unique_value)
59532
+ pulumi.set(__self__, "type", type)
59533
+ pulumi.set(__self__, "value", value)
59534
+
59535
+ @property
59536
+ @pulumi.getter(name="enableEachUniqueValue")
59537
+ def enable_each_unique_value(self) -> bool:
59538
+ """
59539
+ If enabled, traffic matching each unique value for the specified type constitutes a separate traffic unit. It can only be set to true if value is empty.
59540
+ """
59541
+ return pulumi.get(self, "enable_each_unique_value")
59542
+
59543
+ @property
59544
+ @pulumi.getter
59545
+ def type(self) -> str:
59546
+ """
59547
+ Type of this configuration.
59548
+ """
59549
+ return pulumi.get(self, "type")
59550
+
59551
+ @property
59552
+ @pulumi.getter
59553
+ def value(self) -> str:
59554
+ """
59555
+ Requests that match this value constitute a granular traffic unit.
59556
+ """
59557
+ return pulumi.get(self, "value")
59558
+
58930
59559
 
58931
59560
  @pulumi.output_type
58932
59561
  class GetSecurityPolicyAdvancedOptionsConfigResult(dict):