pulumi-gcp 8.11.0a1734157575__py3-none-any.whl → 8.11.0a1734385115__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 (142) hide show
  1. pulumi_gcp/__init__.py +91 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +29 -0
  3. pulumi_gcp/accesscontextmanager/outputs.py +18 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter.py +36 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +6 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +6 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +6 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +6 -0
  9. pulumi_gcp/apigee/app_group.py +7 -7
  10. pulumi_gcp/applicationintegration/client.py +8 -6
  11. pulumi_gcp/artifactregistry/_inputs.py +24 -15
  12. pulumi_gcp/artifactregistry/outputs.py +32 -20
  13. pulumi_gcp/artifactregistry/repository.py +128 -0
  14. pulumi_gcp/assuredworkloads/workload.py +7 -7
  15. pulumi_gcp/backupdisasterrecovery/__init__.py +2 -0
  16. pulumi_gcp/backupdisasterrecovery/backup_plan.py +2 -2
  17. pulumi_gcp/backupdisasterrecovery/backup_vault.py +12 -8
  18. pulumi_gcp/backupdisasterrecovery/get_backup.py +153 -0
  19. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +415 -0
  20. pulumi_gcp/backupdisasterrecovery/outputs.py +63 -0
  21. pulumi_gcp/bigquery/app_profile.py +75 -0
  22. pulumi_gcp/billing/_inputs.py +6 -6
  23. pulumi_gcp/billing/outputs.py +4 -4
  24. pulumi_gcp/certificateauthority/_inputs.py +9 -9
  25. pulumi_gcp/certificateauthority/outputs.py +8 -8
  26. pulumi_gcp/cloudbuild/_inputs.py +53 -0
  27. pulumi_gcp/cloudbuild/outputs.py +50 -0
  28. pulumi_gcp/cloudbuild/worker_pool.py +47 -0
  29. pulumi_gcp/clouddeploy/_inputs.py +254 -0
  30. pulumi_gcp/clouddeploy/outputs.py +211 -0
  31. pulumi_gcp/clouddeploy/target.py +47 -0
  32. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -6
  33. pulumi_gcp/cloudfunctionsv2/outputs.py +8 -8
  34. pulumi_gcp/cloudrunv2/job.py +4 -4
  35. pulumi_gcp/cloudrunv2/service.py +4 -4
  36. pulumi_gcp/composer/get_user_workloads_config_map.py +4 -0
  37. pulumi_gcp/composer/get_user_workloads_secret.py +4 -0
  38. pulumi_gcp/composer/user_workloads_config_map.py +14 -0
  39. pulumi_gcp/composer/user_workloads_secret.py +6 -0
  40. pulumi_gcp/compute/_inputs.py +566 -25
  41. pulumi_gcp/compute/disk.py +21 -7
  42. pulumi_gcp/compute/firewall_policy_rule.py +12 -0
  43. pulumi_gcp/compute/get_forwarding_rules.py +2 -2
  44. pulumi_gcp/compute/get_global_forwarding_rule.py +12 -1
  45. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  46. pulumi_gcp/compute/get_network.py +35 -1
  47. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  48. pulumi_gcp/compute/get_region_network_endpoint_group.py +12 -1
  49. pulumi_gcp/compute/global_forwarding_rule.py +28 -0
  50. pulumi_gcp/compute/instance_group_manager.py +28 -0
  51. pulumi_gcp/compute/network.py +75 -0
  52. pulumi_gcp/compute/outputs.py +655 -26
  53. pulumi_gcp/compute/region_health_check.py +28 -0
  54. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  55. pulumi_gcp/compute/region_network_endpoint.py +28 -0
  56. pulumi_gcp/compute/region_network_endpoint_group.py +70 -2
  57. pulumi_gcp/compute/subnetwork.py +30 -2
  58. pulumi_gcp/compute/url_map.py +7 -7
  59. pulumi_gcp/config/__init__.pyi +2 -0
  60. pulumi_gcp/config/vars.py +4 -0
  61. pulumi_gcp/container/_inputs.py +201 -3
  62. pulumi_gcp/container/cluster.py +68 -14
  63. pulumi_gcp/container/get_cluster.py +12 -1
  64. pulumi_gcp/container/outputs.py +249 -3
  65. pulumi_gcp/dataproc/_inputs.py +209 -1
  66. pulumi_gcp/dataproc/batch.py +76 -0
  67. pulumi_gcp/dataproc/outputs.py +169 -3
  68. pulumi_gcp/diagflow/_inputs.py +3 -3
  69. pulumi_gcp/diagflow/outputs.py +2 -2
  70. pulumi_gcp/discoveryengine/search_engine.py +7 -7
  71. pulumi_gcp/firebaserules/release.py +76 -0
  72. pulumi_gcp/firestore/field.py +4 -4
  73. pulumi_gcp/gemini/__init__.py +15 -0
  74. pulumi_gcp/gemini/_inputs.py +183 -0
  75. pulumi_gcp/gemini/code_repository_index.py +659 -0
  76. pulumi_gcp/gemini/get_repository_group_iam_policy.py +171 -0
  77. pulumi_gcp/gemini/outputs.py +130 -0
  78. pulumi_gcp/gemini/repository_group.py +586 -0
  79. pulumi_gcp/gemini/repository_group_iam_binding.py +604 -0
  80. pulumi_gcp/gemini/repository_group_iam_member.py +604 -0
  81. pulumi_gcp/gemini/repository_group_iam_policy.py +443 -0
  82. pulumi_gcp/gkehub/_inputs.py +30 -10
  83. pulumi_gcp/gkehub/membership_binding.py +6 -6
  84. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  85. pulumi_gcp/gkehub/namespace.py +4 -4
  86. pulumi_gcp/gkehub/outputs.py +21 -7
  87. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  88. pulumi_gcp/iam/__init__.py +1 -0
  89. pulumi_gcp/iam/_inputs.py +137 -0
  90. pulumi_gcp/iam/folders_policy_binding.py +16 -0
  91. pulumi_gcp/iam/organizations_policy_binding.py +16 -0
  92. pulumi_gcp/iam/outputs.py +99 -0
  93. pulumi_gcp/iam/principal_access_boundary_policy.py +16 -0
  94. pulumi_gcp/iam/projects_policy_binding.py +917 -0
  95. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  96. pulumi_gcp/integrationconnectors/_inputs.py +15 -15
  97. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  98. pulumi_gcp/integrationconnectors/outputs.py +10 -10
  99. pulumi_gcp/monitoring/_inputs.py +13 -6
  100. pulumi_gcp/monitoring/outputs.py +10 -4
  101. pulumi_gcp/netapp/_inputs.py +3 -3
  102. pulumi_gcp/netapp/active_directory.py +7 -7
  103. pulumi_gcp/netapp/outputs.py +2 -2
  104. pulumi_gcp/netapp/volume.py +11 -11
  105. pulumi_gcp/networkconnectivity/spoke.py +10 -10
  106. pulumi_gcp/networksecurity/__init__.py +4 -0
  107. pulumi_gcp/networksecurity/_inputs.py +115 -0
  108. pulumi_gcp/networksecurity/mirroring_deployment.py +848 -0
  109. pulumi_gcp/networksecurity/mirroring_deployment_group.py +752 -0
  110. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +737 -0
  111. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +840 -0
  112. pulumi_gcp/networksecurity/outputs.py +70 -0
  113. pulumi_gcp/oracledatabase/autonomous_database.py +42 -4
  114. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +42 -4
  115. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +50 -8
  116. pulumi_gcp/oracledatabase/get_autonomous_database.py +12 -1
  117. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +12 -1
  118. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +12 -1
  119. pulumi_gcp/oracledatabase/outputs.py +21 -0
  120. pulumi_gcp/orgpolicy/policy.py +2 -2
  121. pulumi_gcp/parallelstore/instance.py +4 -0
  122. pulumi_gcp/provider.py +20 -0
  123. pulumi_gcp/pubsub/subscription.py +6 -6
  124. pulumi_gcp/pulumi-plugin.json +1 -1
  125. pulumi_gcp/redis/_inputs.py +435 -3
  126. pulumi_gcp/redis/cluster.py +287 -16
  127. pulumi_gcp/redis/outputs.py +304 -2
  128. pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
  129. pulumi_gcp/serviceaccount/get_account_key.py +2 -2
  130. pulumi_gcp/storage/get_bucket.py +2 -2
  131. pulumi_gcp/storage/get_bucket_object_content.py +2 -2
  132. pulumi_gcp/tpu/__init__.py +1 -0
  133. pulumi_gcp/tpu/_inputs.py +188 -6
  134. pulumi_gcp/tpu/outputs.py +164 -4
  135. pulumi_gcp/tpu/v2_queued_resource.py +434 -0
  136. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  137. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  138. pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
  139. {pulumi_gcp-8.11.0a1734157575.dist-info → pulumi_gcp-8.11.0a1734385115.dist-info}/METADATA +3 -3
  140. {pulumi_gcp-8.11.0a1734157575.dist-info → pulumi_gcp-8.11.0a1734385115.dist-info}/RECORD +142 -125
  141. {pulumi_gcp-8.11.0a1734157575.dist-info → pulumi_gcp-8.11.0a1734385115.dist-info}/WHEEL +0 -0
  142. {pulumi_gcp-8.11.0a1734157575.dist-info → pulumi_gcp-8.11.0a1734385115.dist-info}/top_level.txt +0 -0
@@ -39,6 +39,8 @@ __all__ = [
39
39
  'BatchPysparkBatchArgsDict',
40
40
  'BatchRuntimeConfigArgs',
41
41
  'BatchRuntimeConfigArgsDict',
42
+ 'BatchRuntimeConfigAutotuningConfigArgs',
43
+ 'BatchRuntimeConfigAutotuningConfigArgsDict',
42
44
  'BatchRuntimeInfoArgs',
43
45
  'BatchRuntimeInfoArgsDict',
44
46
  'BatchRuntimeInfoApproximateUsageArgs',
@@ -77,6 +79,8 @@ __all__ = [
77
79
  'ClusterClusterConfigEndpointConfigArgsDict',
78
80
  'ClusterClusterConfigGceClusterConfigArgs',
79
81
  'ClusterClusterConfigGceClusterConfigArgsDict',
82
+ 'ClusterClusterConfigGceClusterConfigConfidentialInstanceConfigArgs',
83
+ 'ClusterClusterConfigGceClusterConfigConfidentialInstanceConfigArgsDict',
80
84
  'ClusterClusterConfigGceClusterConfigNodeGroupAffinityArgs',
81
85
  'ClusterClusterConfigGceClusterConfigNodeGroupAffinityArgsDict',
82
86
  'ClusterClusterConfigGceClusterConfigReservationAffinityArgs',
@@ -105,6 +109,8 @@ __all__ = [
105
109
  'ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstanceSelectionListArgsDict',
106
110
  'ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultArgs',
107
111
  'ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultArgsDict',
112
+ 'ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixArgs',
113
+ 'ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixArgsDict',
108
114
  'ClusterClusterConfigSecurityConfigArgs',
109
115
  'ClusterClusterConfigSecurityConfigArgsDict',
110
116
  'ClusterClusterConfigSecurityConfigKerberosConfigArgs',
@@ -1367,6 +1373,15 @@ class BatchPysparkBatchArgs:
1367
1373
 
1368
1374
  if not MYPY:
1369
1375
  class BatchRuntimeConfigArgsDict(TypedDict):
1376
+ autotuning_config: NotRequired[pulumi.Input['BatchRuntimeConfigAutotuningConfigArgsDict']]
1377
+ """
1378
+ Optional. Autotuning configuration of the workload.
1379
+ Structure is documented below.
1380
+ """
1381
+ cohort: NotRequired[pulumi.Input[str]]
1382
+ """
1383
+ Optional. Cohort identifier. Identifies families of the workloads having the same shape, e.g. daily ETL jobs.
1384
+ """
1370
1385
  container_image: NotRequired[pulumi.Input[str]]
1371
1386
  """
1372
1387
  Optional custom container image for the job runtime environment. If not specified, a default container image will be used.
@@ -1390,17 +1405,26 @@ elif False:
1390
1405
  @pulumi.input_type
1391
1406
  class BatchRuntimeConfigArgs:
1392
1407
  def __init__(__self__, *,
1408
+ autotuning_config: Optional[pulumi.Input['BatchRuntimeConfigAutotuningConfigArgs']] = None,
1409
+ cohort: Optional[pulumi.Input[str]] = None,
1393
1410
  container_image: Optional[pulumi.Input[str]] = None,
1394
1411
  effective_properties: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1395
1412
  properties: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1396
1413
  version: Optional[pulumi.Input[str]] = None):
1397
1414
  """
1415
+ :param pulumi.Input['BatchRuntimeConfigAutotuningConfigArgs'] autotuning_config: Optional. Autotuning configuration of the workload.
1416
+ Structure is documented below.
1417
+ :param pulumi.Input[str] cohort: Optional. Cohort identifier. Identifies families of the workloads having the same shape, e.g. daily ETL jobs.
1398
1418
  :param pulumi.Input[str] container_image: Optional custom container image for the job runtime environment. If not specified, a default container image will be used.
1399
1419
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_properties: (Output)
1400
1420
  A mapping of property names to values, which are used to configure workload execution.
1401
1421
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] properties: A mapping of property names to values, which are used to configure workload execution.
1402
1422
  :param pulumi.Input[str] version: Version of the batch runtime.
1403
1423
  """
1424
+ if autotuning_config is not None:
1425
+ pulumi.set(__self__, "autotuning_config", autotuning_config)
1426
+ if cohort is not None:
1427
+ pulumi.set(__self__, "cohort", cohort)
1404
1428
  if container_image is not None:
1405
1429
  pulumi.set(__self__, "container_image", container_image)
1406
1430
  if effective_properties is not None:
@@ -1410,6 +1434,31 @@ class BatchRuntimeConfigArgs:
1410
1434
  if version is not None:
1411
1435
  pulumi.set(__self__, "version", version)
1412
1436
 
1437
+ @property
1438
+ @pulumi.getter(name="autotuningConfig")
1439
+ def autotuning_config(self) -> Optional[pulumi.Input['BatchRuntimeConfigAutotuningConfigArgs']]:
1440
+ """
1441
+ Optional. Autotuning configuration of the workload.
1442
+ Structure is documented below.
1443
+ """
1444
+ return pulumi.get(self, "autotuning_config")
1445
+
1446
+ @autotuning_config.setter
1447
+ def autotuning_config(self, value: Optional[pulumi.Input['BatchRuntimeConfigAutotuningConfigArgs']]):
1448
+ pulumi.set(self, "autotuning_config", value)
1449
+
1450
+ @property
1451
+ @pulumi.getter
1452
+ def cohort(self) -> Optional[pulumi.Input[str]]:
1453
+ """
1454
+ Optional. Cohort identifier. Identifies families of the workloads having the same shape, e.g. daily ETL jobs.
1455
+ """
1456
+ return pulumi.get(self, "cohort")
1457
+
1458
+ @cohort.setter
1459
+ def cohort(self, value: Optional[pulumi.Input[str]]):
1460
+ pulumi.set(self, "cohort", value)
1461
+
1413
1462
  @property
1414
1463
  @pulumi.getter(name="containerImage")
1415
1464
  def container_image(self) -> Optional[pulumi.Input[str]]:
@@ -1460,6 +1509,41 @@ class BatchRuntimeConfigArgs:
1460
1509
  pulumi.set(self, "version", value)
1461
1510
 
1462
1511
 
1512
+ if not MYPY:
1513
+ class BatchRuntimeConfigAutotuningConfigArgsDict(TypedDict):
1514
+ scenarios: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1515
+ """
1516
+ Optional. Scenarios for which tunings are applied.
1517
+ Each value may be one of: `SCALING`, `BROADCAST_HASH_JOIN`, `MEMORY`.
1518
+ """
1519
+ elif False:
1520
+ BatchRuntimeConfigAutotuningConfigArgsDict: TypeAlias = Mapping[str, Any]
1521
+
1522
+ @pulumi.input_type
1523
+ class BatchRuntimeConfigAutotuningConfigArgs:
1524
+ def __init__(__self__, *,
1525
+ scenarios: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
1526
+ """
1527
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] scenarios: Optional. Scenarios for which tunings are applied.
1528
+ Each value may be one of: `SCALING`, `BROADCAST_HASH_JOIN`, `MEMORY`.
1529
+ """
1530
+ if scenarios is not None:
1531
+ pulumi.set(__self__, "scenarios", scenarios)
1532
+
1533
+ @property
1534
+ @pulumi.getter
1535
+ def scenarios(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1536
+ """
1537
+ Optional. Scenarios for which tunings are applied.
1538
+ Each value may be one of: `SCALING`, `BROADCAST_HASH_JOIN`, `MEMORY`.
1539
+ """
1540
+ return pulumi.get(self, "scenarios")
1541
+
1542
+ @scenarios.setter
1543
+ def scenarios(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1544
+ pulumi.set(self, "scenarios", value)
1545
+
1546
+
1463
1547
  if not MYPY:
1464
1548
  class BatchRuntimeInfoArgsDict(TypedDict):
1465
1549
  approximate_usages: NotRequired[pulumi.Input[Sequence[pulumi.Input['BatchRuntimeInfoApproximateUsageArgsDict']]]]
@@ -3390,6 +3474,10 @@ class ClusterClusterConfigEndpointConfigArgs:
3390
3474
 
3391
3475
  if not MYPY:
3392
3476
  class ClusterClusterConfigGceClusterConfigArgsDict(TypedDict):
3477
+ confidential_instance_config: NotRequired[pulumi.Input['ClusterClusterConfigGceClusterConfigConfidentialInstanceConfigArgsDict']]
3478
+ """
3479
+ Confidential Instance Config for clusters using [Confidential VMs](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/confidential-compute)
3480
+ """
3393
3481
  internal_ip_only: NotRequired[pulumi.Input[bool]]
3394
3482
  """
3395
3483
  By default, clusters are not restricted to internal IP addresses,
@@ -3462,6 +3550,7 @@ elif False:
3462
3550
  @pulumi.input_type
3463
3551
  class ClusterClusterConfigGceClusterConfigArgs:
3464
3552
  def __init__(__self__, *,
3553
+ confidential_instance_config: Optional[pulumi.Input['ClusterClusterConfigGceClusterConfigConfidentialInstanceConfigArgs']] = None,
3465
3554
  internal_ip_only: Optional[pulumi.Input[bool]] = None,
3466
3555
  metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
3467
3556
  network: Optional[pulumi.Input[str]] = None,
@@ -3474,6 +3563,7 @@ class ClusterClusterConfigGceClusterConfigArgs:
3474
3563
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
3475
3564
  zone: Optional[pulumi.Input[str]] = None):
3476
3565
  """
3566
+ :param pulumi.Input['ClusterClusterConfigGceClusterConfigConfidentialInstanceConfigArgs'] confidential_instance_config: Confidential Instance Config for clusters using [Confidential VMs](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/confidential-compute)
3477
3567
  :param pulumi.Input[bool] internal_ip_only: By default, clusters are not restricted to internal IP addresses,
3478
3568
  and will have ephemeral external IP addresses assigned to each instance. If set to true, all
3479
3569
  instances in the cluster will only have internal IP addresses. Note: Private Google Access
@@ -3508,6 +3598,8 @@ class ClusterClusterConfigGceClusterConfigArgs:
3508
3598
  which computing resources are available for use with other configs such as
3509
3599
  `cluster_config.master_config.machine_type` and `cluster_config.worker_config.machine_type`.
3510
3600
  """
3601
+ if confidential_instance_config is not None:
3602
+ pulumi.set(__self__, "confidential_instance_config", confidential_instance_config)
3511
3603
  if internal_ip_only is not None:
3512
3604
  pulumi.set(__self__, "internal_ip_only", internal_ip_only)
3513
3605
  if metadata is not None:
@@ -3531,6 +3623,18 @@ class ClusterClusterConfigGceClusterConfigArgs:
3531
3623
  if zone is not None:
3532
3624
  pulumi.set(__self__, "zone", zone)
3533
3625
 
3626
+ @property
3627
+ @pulumi.getter(name="confidentialInstanceConfig")
3628
+ def confidential_instance_config(self) -> Optional[pulumi.Input['ClusterClusterConfigGceClusterConfigConfidentialInstanceConfigArgs']]:
3629
+ """
3630
+ Confidential Instance Config for clusters using [Confidential VMs](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/confidential-compute)
3631
+ """
3632
+ return pulumi.get(self, "confidential_instance_config")
3633
+
3634
+ @confidential_instance_config.setter
3635
+ def confidential_instance_config(self, value: Optional[pulumi.Input['ClusterClusterConfigGceClusterConfigConfidentialInstanceConfigArgs']]):
3636
+ pulumi.set(self, "confidential_instance_config", value)
3637
+
3534
3638
  @property
3535
3639
  @pulumi.getter(name="internalIpOnly")
3536
3640
  def internal_ip_only(self) -> Optional[pulumi.Input[bool]]:
@@ -3686,6 +3790,38 @@ class ClusterClusterConfigGceClusterConfigArgs:
3686
3790
  pulumi.set(self, "zone", value)
3687
3791
 
3688
3792
 
3793
+ if not MYPY:
3794
+ class ClusterClusterConfigGceClusterConfigConfidentialInstanceConfigArgsDict(TypedDict):
3795
+ enable_confidential_compute: NotRequired[pulumi.Input[bool]]
3796
+ """
3797
+ Defines whether the instance should have confidential compute enabled.
3798
+ """
3799
+ elif False:
3800
+ ClusterClusterConfigGceClusterConfigConfidentialInstanceConfigArgsDict: TypeAlias = Mapping[str, Any]
3801
+
3802
+ @pulumi.input_type
3803
+ class ClusterClusterConfigGceClusterConfigConfidentialInstanceConfigArgs:
3804
+ def __init__(__self__, *,
3805
+ enable_confidential_compute: Optional[pulumi.Input[bool]] = None):
3806
+ """
3807
+ :param pulumi.Input[bool] enable_confidential_compute: Defines whether the instance should have confidential compute enabled.
3808
+ """
3809
+ if enable_confidential_compute is not None:
3810
+ pulumi.set(__self__, "enable_confidential_compute", enable_confidential_compute)
3811
+
3812
+ @property
3813
+ @pulumi.getter(name="enableConfidentialCompute")
3814
+ def enable_confidential_compute(self) -> Optional[pulumi.Input[bool]]:
3815
+ """
3816
+ Defines whether the instance should have confidential compute enabled.
3817
+ """
3818
+ return pulumi.get(self, "enable_confidential_compute")
3819
+
3820
+ @enable_confidential_compute.setter
3821
+ def enable_confidential_compute(self, value: Optional[pulumi.Input[bool]]):
3822
+ pulumi.set(self, "enable_confidential_compute", value)
3823
+
3824
+
3689
3825
  if not MYPY:
3690
3826
  class ClusterClusterConfigGceClusterConfigNodeGroupAffinityArgsDict(TypedDict):
3691
3827
  node_group_uri: pulumi.Input[str]
@@ -4676,6 +4812,10 @@ if not MYPY:
4676
4812
  """
4677
4813
  A list of instance selection results in the group.
4678
4814
  """
4815
+ provisioning_model_mix: NotRequired[pulumi.Input['ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixArgsDict']]
4816
+ """
4817
+ Defines how Dataproc should create VMs with a mixture of provisioning models.
4818
+ """
4679
4819
  elif False:
4680
4820
  ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyArgsDict: TypeAlias = Mapping[str, Any]
4681
4821
 
@@ -4683,15 +4823,19 @@ elif False:
4683
4823
  class ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyArgs:
4684
4824
  def __init__(__self__, *,
4685
4825
  instance_selection_lists: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstanceSelectionListArgs']]]] = None,
4686
- instance_selection_results: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultArgs']]]] = None):
4826
+ instance_selection_results: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultArgs']]]] = None,
4827
+ provisioning_model_mix: Optional[pulumi.Input['ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixArgs']] = None):
4687
4828
  """
4688
4829
  :param pulumi.Input[Sequence[pulumi.Input['ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstanceSelectionListArgs']]] instance_selection_lists: List of instance selection options that the group will use when creating new VMs.
4689
4830
  :param pulumi.Input[Sequence[pulumi.Input['ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultArgs']]] instance_selection_results: A list of instance selection results in the group.
4831
+ :param pulumi.Input['ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixArgs'] provisioning_model_mix: Defines how Dataproc should create VMs with a mixture of provisioning models.
4690
4832
  """
4691
4833
  if instance_selection_lists is not None:
4692
4834
  pulumi.set(__self__, "instance_selection_lists", instance_selection_lists)
4693
4835
  if instance_selection_results is not None:
4694
4836
  pulumi.set(__self__, "instance_selection_results", instance_selection_results)
4837
+ if provisioning_model_mix is not None:
4838
+ pulumi.set(__self__, "provisioning_model_mix", provisioning_model_mix)
4695
4839
 
4696
4840
  @property
4697
4841
  @pulumi.getter(name="instanceSelectionLists")
@@ -4717,6 +4861,18 @@ class ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyArgs:
4717
4861
  def instance_selection_results(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultArgs']]]]):
4718
4862
  pulumi.set(self, "instance_selection_results", value)
4719
4863
 
4864
+ @property
4865
+ @pulumi.getter(name="provisioningModelMix")
4866
+ def provisioning_model_mix(self) -> Optional[pulumi.Input['ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixArgs']]:
4867
+ """
4868
+ Defines how Dataproc should create VMs with a mixture of provisioning models.
4869
+ """
4870
+ return pulumi.get(self, "provisioning_model_mix")
4871
+
4872
+ @provisioning_model_mix.setter
4873
+ def provisioning_model_mix(self, value: Optional[pulumi.Input['ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixArgs']]):
4874
+ pulumi.set(self, "provisioning_model_mix", value)
4875
+
4720
4876
 
4721
4877
  if not MYPY:
4722
4878
  class ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstanceSelectionListArgsDict(TypedDict):
@@ -4828,6 +4984,58 @@ class ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstan
4828
4984
  pulumi.set(self, "vm_count", value)
4829
4985
 
4830
4986
 
4987
+ if not MYPY:
4988
+ class ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixArgsDict(TypedDict):
4989
+ standard_capacity_base: NotRequired[pulumi.Input[int]]
4990
+ """
4991
+ The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need.
4992
+ """
4993
+ standard_capacity_percent_above_base: NotRequired[pulumi.Input[int]]
4994
+ """
4995
+ The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs.
4996
+ """
4997
+ elif False:
4998
+ ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixArgsDict: TypeAlias = Mapping[str, Any]
4999
+
5000
+ @pulumi.input_type
5001
+ class ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixArgs:
5002
+ def __init__(__self__, *,
5003
+ standard_capacity_base: Optional[pulumi.Input[int]] = None,
5004
+ standard_capacity_percent_above_base: Optional[pulumi.Input[int]] = None):
5005
+ """
5006
+ :param pulumi.Input[int] standard_capacity_base: The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need.
5007
+ :param pulumi.Input[int] standard_capacity_percent_above_base: The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs.
5008
+ """
5009
+ if standard_capacity_base is not None:
5010
+ pulumi.set(__self__, "standard_capacity_base", standard_capacity_base)
5011
+ if standard_capacity_percent_above_base is not None:
5012
+ pulumi.set(__self__, "standard_capacity_percent_above_base", standard_capacity_percent_above_base)
5013
+
5014
+ @property
5015
+ @pulumi.getter(name="standardCapacityBase")
5016
+ def standard_capacity_base(self) -> Optional[pulumi.Input[int]]:
5017
+ """
5018
+ The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need.
5019
+ """
5020
+ return pulumi.get(self, "standard_capacity_base")
5021
+
5022
+ @standard_capacity_base.setter
5023
+ def standard_capacity_base(self, value: Optional[pulumi.Input[int]]):
5024
+ pulumi.set(self, "standard_capacity_base", value)
5025
+
5026
+ @property
5027
+ @pulumi.getter(name="standardCapacityPercentAboveBase")
5028
+ def standard_capacity_percent_above_base(self) -> Optional[pulumi.Input[int]]:
5029
+ """
5030
+ The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs.
5031
+ """
5032
+ return pulumi.get(self, "standard_capacity_percent_above_base")
5033
+
5034
+ @standard_capacity_percent_above_base.setter
5035
+ def standard_capacity_percent_above_base(self, value: Optional[pulumi.Input[int]]):
5036
+ pulumi.set(self, "standard_capacity_percent_above_base", value)
5037
+
5038
+
4831
5039
  if not MYPY:
4832
5040
  class ClusterClusterConfigSecurityConfigArgsDict(TypedDict):
4833
5041
  kerberos_config: pulumi.Input['ClusterClusterConfigSecurityConfigKerberosConfigArgsDict']
@@ -846,6 +846,44 @@ class Batch(pulumi.CustomResource):
846
846
  "args": ["https://storage.googleapis.com/terraform-batches/flights.csv"],
847
847
  })
848
848
  ```
849
+ ### Dataproc Batch Autotuning
850
+
851
+ ```python
852
+ import pulumi
853
+ import pulumi_gcp as gcp
854
+
855
+ example_batch_autotuning = gcp.dataproc.Batch("example_batch_autotuning",
856
+ batch_id="tf-test-batch_16511",
857
+ location="us-central1",
858
+ labels={
859
+ "batch_test": "terraform",
860
+ },
861
+ runtime_config={
862
+ "version": "2.2",
863
+ "properties": {
864
+ "spark.dynamicAllocation.enabled": "false",
865
+ "spark.executor.instances": "2",
866
+ },
867
+ "cohort": "tf-dataproc-batch-example",
868
+ "autotuning_config": {
869
+ "scenarios": [
870
+ "SCALING",
871
+ "MEMORY",
872
+ ],
873
+ },
874
+ },
875
+ environment_config={
876
+ "execution_config": {
877
+ "subnetwork_uri": "default",
878
+ "ttl": "3600s",
879
+ },
880
+ },
881
+ spark_batch={
882
+ "main_class": "org.apache.spark.examples.SparkPi",
883
+ "args": ["10"],
884
+ "jar_file_uris": ["file:///usr/lib/spark/examples/jars/spark-examples.jar"],
885
+ })
886
+ ```
849
887
 
850
888
  ## Import
851
889
 
@@ -1131,6 +1169,44 @@ class Batch(pulumi.CustomResource):
1131
1169
  "args": ["https://storage.googleapis.com/terraform-batches/flights.csv"],
1132
1170
  })
1133
1171
  ```
1172
+ ### Dataproc Batch Autotuning
1173
+
1174
+ ```python
1175
+ import pulumi
1176
+ import pulumi_gcp as gcp
1177
+
1178
+ example_batch_autotuning = gcp.dataproc.Batch("example_batch_autotuning",
1179
+ batch_id="tf-test-batch_16511",
1180
+ location="us-central1",
1181
+ labels={
1182
+ "batch_test": "terraform",
1183
+ },
1184
+ runtime_config={
1185
+ "version": "2.2",
1186
+ "properties": {
1187
+ "spark.dynamicAllocation.enabled": "false",
1188
+ "spark.executor.instances": "2",
1189
+ },
1190
+ "cohort": "tf-dataproc-batch-example",
1191
+ "autotuning_config": {
1192
+ "scenarios": [
1193
+ "SCALING",
1194
+ "MEMORY",
1195
+ ],
1196
+ },
1197
+ },
1198
+ environment_config={
1199
+ "execution_config": {
1200
+ "subnetwork_uri": "default",
1201
+ "ttl": "3600s",
1202
+ },
1203
+ },
1204
+ spark_batch={
1205
+ "main_class": "org.apache.spark.examples.SparkPi",
1206
+ "args": ["10"],
1207
+ "jar_file_uris": ["file:///usr/lib/spark/examples/jars/spark-examples.jar"],
1208
+ })
1209
+ ```
1134
1210
 
1135
1211
  ## Import
1136
1212