pulumi-gcp 7.5.0a1704283083__py3-none-any.whl → 7.6.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. pulumi_gcp/__init__.py +99 -0
  2. pulumi_gcp/bigqueryanalyticshub/_inputs.py +40 -0
  3. pulumi_gcp/bigqueryanalyticshub/listing.py +117 -3
  4. pulumi_gcp/bigqueryanalyticshub/outputs.py +49 -0
  5. pulumi_gcp/clouddeploy/__init__.py +1 -0
  6. pulumi_gcp/clouddeploy/_inputs.py +239 -0
  7. pulumi_gcp/clouddeploy/automation.py +1103 -0
  8. pulumi_gcp/clouddeploy/outputs.py +246 -0
  9. pulumi_gcp/clouddomains/__init__.py +10 -0
  10. pulumi_gcp/clouddomains/_inputs.py +1098 -0
  11. pulumi_gcp/clouddomains/outputs.py +1156 -0
  12. pulumi_gcp/clouddomains/registration.py +1068 -0
  13. pulumi_gcp/cloudrunv2/job.py +4 -4
  14. pulumi_gcp/composer/_inputs.py +79 -1
  15. pulumi_gcp/composer/outputs.py +131 -4
  16. pulumi_gcp/compute/__init__.py +1 -0
  17. pulumi_gcp/compute/_inputs.py +180 -0
  18. pulumi_gcp/compute/get_instance_template.py +11 -1
  19. pulumi_gcp/compute/get_region_instance_template.py +11 -1
  20. pulumi_gcp/compute/get_reservation.py +212 -0
  21. pulumi_gcp/compute/instance_template.py +47 -0
  22. pulumi_gcp/compute/network_firewall_policy.py +20 -22
  23. pulumi_gcp/compute/outputs.py +325 -0
  24. pulumi_gcp/compute/region_instance_template.py +47 -0
  25. pulumi_gcp/compute/region_network_firewall_policy.py +31 -35
  26. pulumi_gcp/compute/router_peer.py +54 -0
  27. pulumi_gcp/compute/vpn_tunnel.py +8 -4
  28. pulumi_gcp/config/__init__.pyi +2 -0
  29. pulumi_gcp/config/vars.py +4 -0
  30. pulumi_gcp/container/_inputs.py +23 -0
  31. pulumi_gcp/container/aws_node_pool.py +7 -7
  32. pulumi_gcp/container/cluster.py +68 -14
  33. pulumi_gcp/container/get_cluster.py +11 -1
  34. pulumi_gcp/container/outputs.py +49 -0
  35. pulumi_gcp/dataflow/pipeline.py +1 -1
  36. pulumi_gcp/dataproc/_inputs.py +413 -39
  37. pulumi_gcp/dataproc/metastore_service.py +63 -0
  38. pulumi_gcp/dataproc/outputs.py +461 -39
  39. pulumi_gcp/dns/__init__.py +1 -0
  40. pulumi_gcp/dns/_inputs.py +94 -0
  41. pulumi_gcp/dns/get_managed_zones.py +89 -0
  42. pulumi_gcp/dns/outputs.py +62 -0
  43. pulumi_gcp/edgecontainer/vpn_connection.py +10 -10
  44. pulumi_gcp/filestore/__init__.py +1 -0
  45. pulumi_gcp/filestore/get_instance.py +258 -0
  46. pulumi_gcp/filestore/instance.py +7 -7
  47. pulumi_gcp/filestore/outputs.py +126 -0
  48. pulumi_gcp/gkebackup/backup_plan.py +24 -8
  49. pulumi_gcp/gkebackup/restore_plan.py +36 -12
  50. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +36 -12
  51. pulumi_gcp/gkebackup/restore_plan_iam_member.py +36 -12
  52. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +36 -12
  53. pulumi_gcp/gkehub/_inputs.py +502 -2
  54. pulumi_gcp/gkehub/feature.py +34 -0
  55. pulumi_gcp/gkehub/feature_membership.py +177 -0
  56. pulumi_gcp/gkehub/membership.py +18 -6
  57. pulumi_gcp/gkehub/outputs.py +502 -2
  58. pulumi_gcp/gkeonprem/_inputs.py +21 -25
  59. pulumi_gcp/gkeonprem/outputs.py +34 -25
  60. pulumi_gcp/gkeonprem/v_mware_node_pool.py +34 -0
  61. pulumi_gcp/integrationconnectors/__init__.py +1 -0
  62. pulumi_gcp/integrationconnectors/endpoint_attachment.py +669 -0
  63. pulumi_gcp/kms/_inputs.py +42 -0
  64. pulumi_gcp/kms/crypto_key.py +36 -0
  65. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  66. pulumi_gcp/kms/outputs.py +62 -0
  67. pulumi_gcp/logging/__init__.py +2 -0
  68. pulumi_gcp/logging/folder_settings.py +490 -0
  69. pulumi_gcp/logging/folder_sink.py +21 -21
  70. pulumi_gcp/logging/organization_settings.py +484 -0
  71. pulumi_gcp/logging/organization_sink.py +21 -21
  72. pulumi_gcp/logging/project_sink.py +7 -14
  73. pulumi_gcp/netapp/__init__.py +3 -0
  74. pulumi_gcp/netapp/active_directory.py +1413 -0
  75. pulumi_gcp/netapp/backup_vault.py +593 -0
  76. pulumi_gcp/netapp/kmsconfig.py +649 -0
  77. pulumi_gcp/orgpolicy/policy.py +28 -0
  78. pulumi_gcp/provider.py +20 -0
  79. pulumi_gcp/pubsub/subscription.py +29 -37
  80. pulumi_gcp/serviceaccount/account.py +47 -0
  81. pulumi_gcp/servicenetworking/connection.py +55 -1
  82. pulumi_gcp/sql/database_instance.py +2 -2
  83. pulumi_gcp/sql/ssl_cert.py +1 -1
  84. pulumi_gcp/sql/user.py +7 -7
  85. pulumi_gcp/storage/transfer_job.py +24 -5
  86. pulumi_gcp/vertex/__init__.py +3 -0
  87. pulumi_gcp/vertex/_inputs.py +339 -0
  88. pulumi_gcp/vertex/ai_feature_group.py +710 -0
  89. pulumi_gcp/vertex/ai_feature_online_store.py +962 -0
  90. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +804 -0
  91. pulumi_gcp/vertex/outputs.py +406 -0
  92. pulumi_gcp/vmwareengine/__init__.py +2 -0
  93. pulumi_gcp/vmwareengine/_inputs.py +84 -0
  94. pulumi_gcp/vmwareengine/external_access_rule.py +947 -0
  95. pulumi_gcp/vmwareengine/get_external_access_rule.py +245 -0
  96. pulumi_gcp/vmwareengine/outputs.py +146 -0
  97. pulumi_gcp/workflows/workflow.py +7 -7
  98. {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/RECORD +101 -82
  100. {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/WHEEL +0 -0
  101. {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/top_level.txt +0 -0
@@ -19,6 +19,11 @@ __all__ = [
19
19
  'AutoscalingPolicyWorkerConfig',
20
20
  'ClusterClusterConfig',
21
21
  'ClusterClusterConfigAutoscalingConfig',
22
+ 'ClusterClusterConfigAuxiliaryNodeGroup',
23
+ 'ClusterClusterConfigAuxiliaryNodeGroupNodeGroup',
24
+ 'ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfig',
25
+ 'ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigAccelerator',
26
+ 'ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigDiskConfig',
22
27
  'ClusterClusterConfigDataprocMetricConfig',
23
28
  'ClusterClusterConfigDataprocMetricConfigMetric',
24
29
  'ClusterClusterConfigEncryptionConfig',
@@ -569,6 +574,8 @@ class ClusterClusterConfig(dict):
569
574
  suggest = None
570
575
  if key == "autoscalingConfig":
571
576
  suggest = "autoscaling_config"
577
+ elif key == "auxiliaryNodeGroups":
578
+ suggest = "auxiliary_node_groups"
572
579
  elif key == "dataprocMetricConfig":
573
580
  suggest = "dataproc_metric_config"
574
581
  elif key == "encryptionConfig":
@@ -611,6 +618,7 @@ class ClusterClusterConfig(dict):
611
618
 
612
619
  def __init__(__self__, *,
613
620
  autoscaling_config: Optional['outputs.ClusterClusterConfigAutoscalingConfig'] = None,
621
+ auxiliary_node_groups: Optional[Sequence['outputs.ClusterClusterConfigAuxiliaryNodeGroup']] = None,
614
622
  bucket: Optional[str] = None,
615
623
  dataproc_metric_config: Optional['outputs.ClusterClusterConfigDataprocMetricConfig'] = None,
616
624
  encryption_config: Optional['outputs.ClusterClusterConfigEncryptionConfig'] = None,
@@ -631,6 +639,8 @@ class ClusterClusterConfig(dict):
631
639
  Note that once set, if `autoscaling_config` is the only field set in `cluster_config`, it can
632
640
  only be removed by setting `policy_uri = ""`, rather than removing the whole block.
633
641
  Structure defined below.
642
+ :param Sequence['ClusterClusterConfigAuxiliaryNodeGroupArgs'] auxiliary_node_groups: A Dataproc NodeGroup resource is a group of Dataproc cluster nodes that execute an assigned role.
643
+ Structure defined below.
634
644
  :param 'ClusterClusterConfigDataprocMetricConfigArgs' dataproc_metric_config: The Compute Engine accelerator (GPU) configuration for these instances. Can be specified multiple times.
635
645
  Structure defined below.
636
646
  :param 'ClusterClusterConfigEncryptionConfigArgs' encryption_config: The Customer managed encryption keys settings for the cluster.
@@ -671,6 +681,8 @@ class ClusterClusterConfig(dict):
671
681
  """
672
682
  if autoscaling_config is not None:
673
683
  pulumi.set(__self__, "autoscaling_config", autoscaling_config)
684
+ if auxiliary_node_groups is not None:
685
+ pulumi.set(__self__, "auxiliary_node_groups", auxiliary_node_groups)
674
686
  if bucket is not None:
675
687
  pulumi.set(__self__, "bucket", bucket)
676
688
  if dataproc_metric_config is not None:
@@ -713,6 +725,15 @@ class ClusterClusterConfig(dict):
713
725
  """
714
726
  return pulumi.get(self, "autoscaling_config")
715
727
 
728
+ @property
729
+ @pulumi.getter(name="auxiliaryNodeGroups")
730
+ def auxiliary_node_groups(self) -> Optional[Sequence['outputs.ClusterClusterConfigAuxiliaryNodeGroup']]:
731
+ """
732
+ A Dataproc NodeGroup resource is a group of Dataproc cluster nodes that execute an assigned role.
733
+ Structure defined below.
734
+ """
735
+ return pulumi.get(self, "auxiliary_node_groups")
736
+
716
737
  @property
717
738
  @pulumi.getter
718
739
  def bucket(self) -> Optional[str]:
@@ -905,6 +926,362 @@ class ClusterClusterConfigAutoscalingConfig(dict):
905
926
  return pulumi.get(self, "policy_uri")
906
927
 
907
928
 
929
+ @pulumi.output_type
930
+ class ClusterClusterConfigAuxiliaryNodeGroup(dict):
931
+ @staticmethod
932
+ def __key_warning(key: str):
933
+ suggest = None
934
+ if key == "nodeGroups":
935
+ suggest = "node_groups"
936
+ elif key == "nodeGroupId":
937
+ suggest = "node_group_id"
938
+
939
+ if suggest:
940
+ pulumi.log.warn(f"Key '{key}' not found in ClusterClusterConfigAuxiliaryNodeGroup. Access the value via the '{suggest}' property getter instead.")
941
+
942
+ def __getitem__(self, key: str) -> Any:
943
+ ClusterClusterConfigAuxiliaryNodeGroup.__key_warning(key)
944
+ return super().__getitem__(key)
945
+
946
+ def get(self, key: str, default = None) -> Any:
947
+ ClusterClusterConfigAuxiliaryNodeGroup.__key_warning(key)
948
+ return super().get(key, default)
949
+
950
+ def __init__(__self__, *,
951
+ node_groups: Sequence['outputs.ClusterClusterConfigAuxiliaryNodeGroupNodeGroup'],
952
+ node_group_id: Optional[str] = None):
953
+ """
954
+ :param Sequence['ClusterClusterConfigAuxiliaryNodeGroupNodeGroupArgs'] node_groups: Node group configuration.
955
+ """
956
+ pulumi.set(__self__, "node_groups", node_groups)
957
+ if node_group_id is not None:
958
+ pulumi.set(__self__, "node_group_id", node_group_id)
959
+
960
+ @property
961
+ @pulumi.getter(name="nodeGroups")
962
+ def node_groups(self) -> Sequence['outputs.ClusterClusterConfigAuxiliaryNodeGroupNodeGroup']:
963
+ """
964
+ Node group configuration.
965
+ """
966
+ return pulumi.get(self, "node_groups")
967
+
968
+ @property
969
+ @pulumi.getter(name="nodeGroupId")
970
+ def node_group_id(self) -> Optional[str]:
971
+ return pulumi.get(self, "node_group_id")
972
+
973
+
974
+ @pulumi.output_type
975
+ class ClusterClusterConfigAuxiliaryNodeGroupNodeGroup(dict):
976
+ @staticmethod
977
+ def __key_warning(key: str):
978
+ suggest = None
979
+ if key == "nodeGroupConfig":
980
+ suggest = "node_group_config"
981
+
982
+ if suggest:
983
+ pulumi.log.warn(f"Key '{key}' not found in ClusterClusterConfigAuxiliaryNodeGroupNodeGroup. Access the value via the '{suggest}' property getter instead.")
984
+
985
+ def __getitem__(self, key: str) -> Any:
986
+ ClusterClusterConfigAuxiliaryNodeGroupNodeGroup.__key_warning(key)
987
+ return super().__getitem__(key)
988
+
989
+ def get(self, key: str, default = None) -> Any:
990
+ ClusterClusterConfigAuxiliaryNodeGroupNodeGroup.__key_warning(key)
991
+ return super().get(key, default)
992
+
993
+ def __init__(__self__, *,
994
+ roles: Sequence[str],
995
+ name: Optional[str] = None,
996
+ node_group_config: Optional['outputs.ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfig'] = None):
997
+ """
998
+ :param Sequence[str] roles: Node group roles.
999
+ One of `"DRIVER"`.
1000
+ :param str name: The name of the cluster, unique within the project and
1001
+ zone.
1002
+
1003
+ - - -
1004
+ :param 'ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigArgs' node_group_config: The node group instance group configuration.
1005
+ """
1006
+ pulumi.set(__self__, "roles", roles)
1007
+ if name is not None:
1008
+ pulumi.set(__self__, "name", name)
1009
+ if node_group_config is not None:
1010
+ pulumi.set(__self__, "node_group_config", node_group_config)
1011
+
1012
+ @property
1013
+ @pulumi.getter
1014
+ def roles(self) -> Sequence[str]:
1015
+ """
1016
+ Node group roles.
1017
+ One of `"DRIVER"`.
1018
+ """
1019
+ return pulumi.get(self, "roles")
1020
+
1021
+ @property
1022
+ @pulumi.getter
1023
+ def name(self) -> Optional[str]:
1024
+ """
1025
+ The name of the cluster, unique within the project and
1026
+ zone.
1027
+
1028
+ - - -
1029
+ """
1030
+ return pulumi.get(self, "name")
1031
+
1032
+ @property
1033
+ @pulumi.getter(name="nodeGroupConfig")
1034
+ def node_group_config(self) -> Optional['outputs.ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfig']:
1035
+ """
1036
+ The node group instance group configuration.
1037
+ """
1038
+ return pulumi.get(self, "node_group_config")
1039
+
1040
+
1041
+ @pulumi.output_type
1042
+ class ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfig(dict):
1043
+ @staticmethod
1044
+ def __key_warning(key: str):
1045
+ suggest = None
1046
+ if key == "diskConfig":
1047
+ suggest = "disk_config"
1048
+ elif key == "instanceNames":
1049
+ suggest = "instance_names"
1050
+ elif key == "machineType":
1051
+ suggest = "machine_type"
1052
+ elif key == "minCpuPlatform":
1053
+ suggest = "min_cpu_platform"
1054
+ elif key == "numInstances":
1055
+ suggest = "num_instances"
1056
+
1057
+ if suggest:
1058
+ pulumi.log.warn(f"Key '{key}' not found in ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfig. Access the value via the '{suggest}' property getter instead.")
1059
+
1060
+ def __getitem__(self, key: str) -> Any:
1061
+ ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfig.__key_warning(key)
1062
+ return super().__getitem__(key)
1063
+
1064
+ def get(self, key: str, default = None) -> Any:
1065
+ ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfig.__key_warning(key)
1066
+ return super().get(key, default)
1067
+
1068
+ def __init__(__self__, *,
1069
+ accelerators: Optional[Sequence['outputs.ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigAccelerator']] = None,
1070
+ disk_config: Optional['outputs.ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigDiskConfig'] = None,
1071
+ instance_names: Optional[Sequence[str]] = None,
1072
+ machine_type: Optional[str] = None,
1073
+ min_cpu_platform: Optional[str] = None,
1074
+ num_instances: Optional[int] = None):
1075
+ """
1076
+ :param Sequence['ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigAcceleratorArgs'] accelerators: The Compute Engine accelerator (GPU) configuration for these instances. Can be specified
1077
+ multiple times.
1078
+ :param 'ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigDiskConfigArgs' disk_config: Disk Config
1079
+ :param str machine_type: The name of a Google Compute Engine machine type
1080
+ to create for the node group. If not specified, GCP will default to a predetermined
1081
+ computed value (currently `n1-standard-4`).
1082
+ :param str min_cpu_platform: The name of a minimum generation of CPU family
1083
+ for the node group. If not specified, GCP will default to a predetermined computed value
1084
+ for each zone. See [the guide](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
1085
+ for details about which CPU families are available (and defaulted) for each zone.
1086
+ :param int num_instances: Specifies the number of master nodes to create.
1087
+ Please set a number greater than 0. Node Group must have at least 1 instance.
1088
+ """
1089
+ if accelerators is not None:
1090
+ pulumi.set(__self__, "accelerators", accelerators)
1091
+ if disk_config is not None:
1092
+ pulumi.set(__self__, "disk_config", disk_config)
1093
+ if instance_names is not None:
1094
+ pulumi.set(__self__, "instance_names", instance_names)
1095
+ if machine_type is not None:
1096
+ pulumi.set(__self__, "machine_type", machine_type)
1097
+ if min_cpu_platform is not None:
1098
+ pulumi.set(__self__, "min_cpu_platform", min_cpu_platform)
1099
+ if num_instances is not None:
1100
+ pulumi.set(__self__, "num_instances", num_instances)
1101
+
1102
+ @property
1103
+ @pulumi.getter
1104
+ def accelerators(self) -> Optional[Sequence['outputs.ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigAccelerator']]:
1105
+ """
1106
+ The Compute Engine accelerator (GPU) configuration for these instances. Can be specified
1107
+ multiple times.
1108
+ """
1109
+ return pulumi.get(self, "accelerators")
1110
+
1111
+ @property
1112
+ @pulumi.getter(name="diskConfig")
1113
+ def disk_config(self) -> Optional['outputs.ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigDiskConfig']:
1114
+ """
1115
+ Disk Config
1116
+ """
1117
+ return pulumi.get(self, "disk_config")
1118
+
1119
+ @property
1120
+ @pulumi.getter(name="instanceNames")
1121
+ def instance_names(self) -> Optional[Sequence[str]]:
1122
+ return pulumi.get(self, "instance_names")
1123
+
1124
+ @property
1125
+ @pulumi.getter(name="machineType")
1126
+ def machine_type(self) -> Optional[str]:
1127
+ """
1128
+ The name of a Google Compute Engine machine type
1129
+ to create for the node group. If not specified, GCP will default to a predetermined
1130
+ computed value (currently `n1-standard-4`).
1131
+ """
1132
+ return pulumi.get(self, "machine_type")
1133
+
1134
+ @property
1135
+ @pulumi.getter(name="minCpuPlatform")
1136
+ def min_cpu_platform(self) -> Optional[str]:
1137
+ """
1138
+ The name of a minimum generation of CPU family
1139
+ for the node group. If not specified, GCP will default to a predetermined computed value
1140
+ for each zone. See [the guide](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
1141
+ for details about which CPU families are available (and defaulted) for each zone.
1142
+ """
1143
+ return pulumi.get(self, "min_cpu_platform")
1144
+
1145
+ @property
1146
+ @pulumi.getter(name="numInstances")
1147
+ def num_instances(self) -> Optional[int]:
1148
+ """
1149
+ Specifies the number of master nodes to create.
1150
+ Please set a number greater than 0. Node Group must have at least 1 instance.
1151
+ """
1152
+ return pulumi.get(self, "num_instances")
1153
+
1154
+
1155
+ @pulumi.output_type
1156
+ class ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigAccelerator(dict):
1157
+ @staticmethod
1158
+ def __key_warning(key: str):
1159
+ suggest = None
1160
+ if key == "acceleratorCount":
1161
+ suggest = "accelerator_count"
1162
+ elif key == "acceleratorType":
1163
+ suggest = "accelerator_type"
1164
+
1165
+ if suggest:
1166
+ pulumi.log.warn(f"Key '{key}' not found in ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigAccelerator. Access the value via the '{suggest}' property getter instead.")
1167
+
1168
+ def __getitem__(self, key: str) -> Any:
1169
+ ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigAccelerator.__key_warning(key)
1170
+ return super().__getitem__(key)
1171
+
1172
+ def get(self, key: str, default = None) -> Any:
1173
+ ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigAccelerator.__key_warning(key)
1174
+ return super().get(key, default)
1175
+
1176
+ def __init__(__self__, *,
1177
+ accelerator_count: int,
1178
+ accelerator_type: str):
1179
+ """
1180
+ :param int accelerator_count: The number of the accelerator cards of this type exposed to this instance. Often restricted to one of `1`, `2`, `4`, or `8`.
1181
+
1182
+
1183
+ - - -
1184
+ :param str accelerator_type: The short name of the accelerator type to expose to this instance. For example, `nvidia-tesla-k80`.
1185
+ """
1186
+ pulumi.set(__self__, "accelerator_count", accelerator_count)
1187
+ pulumi.set(__self__, "accelerator_type", accelerator_type)
1188
+
1189
+ @property
1190
+ @pulumi.getter(name="acceleratorCount")
1191
+ def accelerator_count(self) -> int:
1192
+ """
1193
+ The number of the accelerator cards of this type exposed to this instance. Often restricted to one of `1`, `2`, `4`, or `8`.
1194
+
1195
+
1196
+ - - -
1197
+ """
1198
+ return pulumi.get(self, "accelerator_count")
1199
+
1200
+ @property
1201
+ @pulumi.getter(name="acceleratorType")
1202
+ def accelerator_type(self) -> str:
1203
+ """
1204
+ The short name of the accelerator type to expose to this instance. For example, `nvidia-tesla-k80`.
1205
+ """
1206
+ return pulumi.get(self, "accelerator_type")
1207
+
1208
+
1209
+ @pulumi.output_type
1210
+ class ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigDiskConfig(dict):
1211
+ @staticmethod
1212
+ def __key_warning(key: str):
1213
+ suggest = None
1214
+ if key == "bootDiskSizeGb":
1215
+ suggest = "boot_disk_size_gb"
1216
+ elif key == "bootDiskType":
1217
+ suggest = "boot_disk_type"
1218
+ elif key == "numLocalSsds":
1219
+ suggest = "num_local_ssds"
1220
+
1221
+ if suggest:
1222
+ pulumi.log.warn(f"Key '{key}' not found in ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigDiskConfig. Access the value via the '{suggest}' property getter instead.")
1223
+
1224
+ def __getitem__(self, key: str) -> Any:
1225
+ ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigDiskConfig.__key_warning(key)
1226
+ return super().__getitem__(key)
1227
+
1228
+ def get(self, key: str, default = None) -> Any:
1229
+ ClusterClusterConfigAuxiliaryNodeGroupNodeGroupNodeGroupConfigDiskConfig.__key_warning(key)
1230
+ return super().get(key, default)
1231
+
1232
+ def __init__(__self__, *,
1233
+ boot_disk_size_gb: Optional[int] = None,
1234
+ boot_disk_type: Optional[str] = None,
1235
+ num_local_ssds: Optional[int] = None):
1236
+ """
1237
+ :param int boot_disk_size_gb: Size of the primary disk attached to each node, specified
1238
+ in GB. The primary disk contains the boot volume and system libraries, and the
1239
+ smallest allowed disk size is 10GB. GCP will default to a predetermined
1240
+ computed value if not set (currently 500GB). Note: If SSDs are not
1241
+ attached, it also contains the HDFS data blocks and Hadoop working directories.
1242
+ :param str boot_disk_type: The disk type of the primary disk attached to each node.
1243
+ One of `"pd-ssd"` or `"pd-standard"`. Defaults to `"pd-standard"`.
1244
+ :param int num_local_ssds: The amount of local SSD disks that will be attached to each master cluster node.
1245
+ Defaults to 0.
1246
+ """
1247
+ if boot_disk_size_gb is not None:
1248
+ pulumi.set(__self__, "boot_disk_size_gb", boot_disk_size_gb)
1249
+ if boot_disk_type is not None:
1250
+ pulumi.set(__self__, "boot_disk_type", boot_disk_type)
1251
+ if num_local_ssds is not None:
1252
+ pulumi.set(__self__, "num_local_ssds", num_local_ssds)
1253
+
1254
+ @property
1255
+ @pulumi.getter(name="bootDiskSizeGb")
1256
+ def boot_disk_size_gb(self) -> Optional[int]:
1257
+ """
1258
+ Size of the primary disk attached to each node, specified
1259
+ in GB. The primary disk contains the boot volume and system libraries, and the
1260
+ smallest allowed disk size is 10GB. GCP will default to a predetermined
1261
+ computed value if not set (currently 500GB). Note: If SSDs are not
1262
+ attached, it also contains the HDFS data blocks and Hadoop working directories.
1263
+ """
1264
+ return pulumi.get(self, "boot_disk_size_gb")
1265
+
1266
+ @property
1267
+ @pulumi.getter(name="bootDiskType")
1268
+ def boot_disk_type(self) -> Optional[str]:
1269
+ """
1270
+ The disk type of the primary disk attached to each node.
1271
+ One of `"pd-ssd"` or `"pd-standard"`. Defaults to `"pd-standard"`.
1272
+ """
1273
+ return pulumi.get(self, "boot_disk_type")
1274
+
1275
+ @property
1276
+ @pulumi.getter(name="numLocalSsds")
1277
+ def num_local_ssds(self) -> Optional[int]:
1278
+ """
1279
+ The amount of local SSD disks that will be attached to each master cluster node.
1280
+ Defaults to 0.
1281
+ """
1282
+ return pulumi.get(self, "num_local_ssds")
1283
+
1284
+
908
1285
  @pulumi.output_type
909
1286
  class ClusterClusterConfigDataprocMetricConfig(dict):
910
1287
  def __init__(__self__, *,
@@ -1719,9 +2096,6 @@ class ClusterClusterConfigMasterConfigAccelerator(dict):
1719
2096
  """
1720
2097
  :param int accelerator_count: The number of the accelerator cards of this type exposed to this instance. Often restricted to one of `1`, `2`, `4`, or `8`.
1721
2098
 
1722
- > The Cloud Dataproc API can return unintuitive error messages when using accelerators; even when you have defined an accelerator, Auto Zone Placement does not exclusively select
1723
- zones that have that accelerator available. If you get a 400 error that the accelerator can't be found, this is a likely cause. Make sure you check [accelerator availability by zone](https://cloud.google.com/compute/docs/reference/rest/v1/acceleratorTypes/list)
1724
- if you are trying to use accelerators in a given zone.
1725
2099
 
1726
2100
  - - -
1727
2101
  :param str accelerator_type: The short name of the accelerator type to expose to this instance. For example, `nvidia-tesla-k80`.
@@ -1735,9 +2109,6 @@ class ClusterClusterConfigMasterConfigAccelerator(dict):
1735
2109
  """
1736
2110
  The number of the accelerator cards of this type exposed to this instance. Often restricted to one of `1`, `2`, `4`, or `8`.
1737
2111
 
1738
- > The Cloud Dataproc API can return unintuitive error messages when using accelerators; even when you have defined an accelerator, Auto Zone Placement does not exclusively select
1739
- zones that have that accelerator available. If you get a 400 error that the accelerator can't be found, this is a likely cause. Make sure you check [accelerator availability by zone](https://cloud.google.com/compute/docs/reference/rest/v1/acceleratorTypes/list)
1740
- if you are trying to use accelerators in a given zone.
1741
2112
 
1742
2113
  - - -
1743
2114
  """
@@ -1787,8 +2158,8 @@ class ClusterClusterConfigMasterConfigDiskConfig(dict):
1787
2158
  attached, it also contains the HDFS data blocks and Hadoop working directories.
1788
2159
  :param str boot_disk_type: The disk type of the primary disk attached to each node.
1789
2160
  One of `"pd-ssd"` or `"pd-standard"`. Defaults to `"pd-standard"`.
1790
- :param int num_local_ssds: The amount of local SSD disks that will be
1791
- attached to each master cluster node. Defaults to 0.
2161
+ :param int num_local_ssds: The amount of local SSD disks that will be attached to each master cluster node.
2162
+ Defaults to 0.
1792
2163
  """
1793
2164
  if boot_disk_size_gb is not None:
1794
2165
  pulumi.set(__self__, "boot_disk_size_gb", boot_disk_size_gb)
@@ -1822,8 +2193,8 @@ class ClusterClusterConfigMasterConfigDiskConfig(dict):
1822
2193
  @pulumi.getter(name="numLocalSsds")
1823
2194
  def num_local_ssds(self) -> Optional[int]:
1824
2195
  """
1825
- The amount of local SSD disks that will be
1826
- attached to each master cluster node. Defaults to 0.
2196
+ The amount of local SSD disks that will be attached to each master cluster node.
2197
+ Defaults to 0.
1827
2198
  """
1828
2199
  return pulumi.get(self, "num_local_ssds")
1829
2200
 
@@ -2002,8 +2373,8 @@ class ClusterClusterConfigPreemptibleWorkerConfigDiskConfig(dict):
2002
2373
  attached, it also contains the HDFS data blocks and Hadoop working directories.
2003
2374
  :param str boot_disk_type: The disk type of the primary disk attached to each node.
2004
2375
  One of `"pd-ssd"` or `"pd-standard"`. Defaults to `"pd-standard"`.
2005
- :param int num_local_ssds: The amount of local SSD disks that will be
2006
- attached to each master cluster node. Defaults to 0.
2376
+ :param int num_local_ssds: The amount of local SSD disks that will be attached to each master cluster node.
2377
+ Defaults to 0.
2007
2378
  """
2008
2379
  if boot_disk_size_gb is not None:
2009
2380
  pulumi.set(__self__, "boot_disk_size_gb", boot_disk_size_gb)
@@ -2037,8 +2408,8 @@ class ClusterClusterConfigPreemptibleWorkerConfigDiskConfig(dict):
2037
2408
  @pulumi.getter(name="numLocalSsds")
2038
2409
  def num_local_ssds(self) -> Optional[int]:
2039
2410
  """
2040
- The amount of local SSD disks that will be
2041
- attached to each master cluster node. Defaults to 0.
2411
+ The amount of local SSD disks that will be attached to each master cluster node.
2412
+ Defaults to 0.
2042
2413
  """
2043
2414
  return pulumi.get(self, "num_local_ssds")
2044
2415
 
@@ -2166,7 +2537,9 @@ class ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstan
2166
2537
  machine_type: Optional[str] = None,
2167
2538
  vm_count: Optional[int] = None):
2168
2539
  """
2169
- :param str machine_type: The name of a Compute Engine machine type.
2540
+ :param str machine_type: The name of a Google Compute Engine machine type
2541
+ to create for the node group. If not specified, GCP will default to a predetermined
2542
+ computed value (currently `n1-standard-4`).
2170
2543
  """
2171
2544
  if machine_type is not None:
2172
2545
  pulumi.set(__self__, "machine_type", machine_type)
@@ -2177,7 +2550,9 @@ class ClusterClusterConfigPreemptibleWorkerConfigInstanceFlexibilityPolicyInstan
2177
2550
  @pulumi.getter(name="machineType")
2178
2551
  def machine_type(self) -> Optional[str]:
2179
2552
  """
2180
- The name of a Compute Engine machine type.
2553
+ The name of a Google Compute Engine machine type
2554
+ to create for the node group. If not specified, GCP will default to a predetermined
2555
+ computed value (currently `n1-standard-4`).
2181
2556
  """
2182
2557
  return pulumi.get(self, "machine_type")
2183
2558
 
@@ -2761,9 +3136,6 @@ class ClusterClusterConfigWorkerConfigAccelerator(dict):
2761
3136
  """
2762
3137
  :param int accelerator_count: The number of the accelerator cards of this type exposed to this instance. Often restricted to one of `1`, `2`, `4`, or `8`.
2763
3138
 
2764
- > The Cloud Dataproc API can return unintuitive error messages when using accelerators; even when you have defined an accelerator, Auto Zone Placement does not exclusively select
2765
- zones that have that accelerator available. If you get a 400 error that the accelerator can't be found, this is a likely cause. Make sure you check [accelerator availability by zone](https://cloud.google.com/compute/docs/reference/rest/v1/acceleratorTypes/list)
2766
- if you are trying to use accelerators in a given zone.
2767
3139
 
2768
3140
  - - -
2769
3141
  :param str accelerator_type: The short name of the accelerator type to expose to this instance. For example, `nvidia-tesla-k80`.
@@ -2777,9 +3149,6 @@ class ClusterClusterConfigWorkerConfigAccelerator(dict):
2777
3149
  """
2778
3150
  The number of the accelerator cards of this type exposed to this instance. Often restricted to one of `1`, `2`, `4`, or `8`.
2779
3151
 
2780
- > The Cloud Dataproc API can return unintuitive error messages when using accelerators; even when you have defined an accelerator, Auto Zone Placement does not exclusively select
2781
- zones that have that accelerator available. If you get a 400 error that the accelerator can't be found, this is a likely cause. Make sure you check [accelerator availability by zone](https://cloud.google.com/compute/docs/reference/rest/v1/acceleratorTypes/list)
2782
- if you are trying to use accelerators in a given zone.
2783
3152
 
2784
3153
  - - -
2785
3154
  """
@@ -2829,8 +3198,8 @@ class ClusterClusterConfigWorkerConfigDiskConfig(dict):
2829
3198
  attached, it also contains the HDFS data blocks and Hadoop working directories.
2830
3199
  :param str boot_disk_type: The disk type of the primary disk attached to each node.
2831
3200
  One of `"pd-ssd"` or `"pd-standard"`. Defaults to `"pd-standard"`.
2832
- :param int num_local_ssds: The amount of local SSD disks that will be
2833
- attached to each master cluster node. Defaults to 0.
3201
+ :param int num_local_ssds: The amount of local SSD disks that will be attached to each master cluster node.
3202
+ Defaults to 0.
2834
3203
  """
2835
3204
  if boot_disk_size_gb is not None:
2836
3205
  pulumi.set(__self__, "boot_disk_size_gb", boot_disk_size_gb)
@@ -2864,8 +3233,8 @@ class ClusterClusterConfigWorkerConfigDiskConfig(dict):
2864
3233
  @pulumi.getter(name="numLocalSsds")
2865
3234
  def num_local_ssds(self) -> Optional[int]:
2866
3235
  """
2867
- The amount of local SSD disks that will be
2868
- attached to each master cluster node. Defaults to 0.
3236
+ The amount of local SSD disks that will be attached to each master cluster node.
3237
+ Defaults to 0.
2869
3238
  """
2870
3239
  return pulumi.get(self, "num_local_ssds")
2871
3240
 
@@ -3289,8 +3658,8 @@ class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePool
3289
3658
  node_pool_config: Optional['outputs.ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfig'] = None):
3290
3659
  """
3291
3660
  :param str node_pool: The target GKE node pool.
3292
- :param Sequence[str] roles: The roles associated with the GKE node pool.
3293
- One of `"DEFAULT"`, `"CONTROLLER"`, `"SPARK_DRIVER"` or `"SPARK_EXECUTOR"`.
3661
+ :param Sequence[str] roles: Node group roles.
3662
+ One of `"DRIVER"`.
3294
3663
  :param 'ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePoolTargetNodePoolConfigArgs' node_pool_config: The configuration for the GKE node pool.
3295
3664
  If specified, Dataproc attempts to create a node pool with the specified shape.
3296
3665
  If one with the same name already exists, it is verified against all specified fields.
@@ -3313,8 +3682,8 @@ class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePool
3313
3682
  @pulumi.getter
3314
3683
  def roles(self) -> Sequence[str]:
3315
3684
  """
3316
- The roles associated with the GKE node pool.
3317
- One of `"DEFAULT"`, `"CONTROLLER"`, `"SPARK_DRIVER"` or `"SPARK_EXECUTOR"`.
3685
+ Node group roles.
3686
+ One of `"DRIVER"`.
3318
3687
  """
3319
3688
  return pulumi.get(self, "roles")
3320
3689
 
@@ -3460,10 +3829,13 @@ class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePool
3460
3829
  """
3461
3830
  :param int local_ssd_count: The number of local SSD disks to attach to the node,
3462
3831
  which is limited by the maximum number of disks allowable per zone.
3463
- :param str machine_type: The name of a Compute Engine machine type.
3464
- :param str min_cpu_platform: Minimum CPU platform to be used by this instance.
3465
- The instance may be scheduled on the specified or a newer CPU platform.
3466
- Specify the friendly names of CPU platforms, such as "Intel Haswell" or "Intel Sandy Bridge".
3832
+ :param str machine_type: The name of a Google Compute Engine machine type
3833
+ to create for the node group. If not specified, GCP will default to a predetermined
3834
+ computed value (currently `n1-standard-4`).
3835
+ :param str min_cpu_platform: The name of a minimum generation of CPU family
3836
+ for the node group. If not specified, GCP will default to a predetermined computed value
3837
+ for each zone. See [the guide](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
3838
+ for details about which CPU families are available (and defaulted) for each zone.
3467
3839
  :param bool preemptible: Whether the nodes are created as preemptible VM instances.
3468
3840
  Preemptible nodes cannot be used in a node pool with the CONTROLLER role or in the DEFAULT node pool if the
3469
3841
  CONTROLLER role is not assigned (the DEFAULT node pool will assume the CONTROLLER role).
@@ -3493,7 +3865,9 @@ class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePool
3493
3865
  @pulumi.getter(name="machineType")
3494
3866
  def machine_type(self) -> Optional[str]:
3495
3867
  """
3496
- The name of a Compute Engine machine type.
3868
+ The name of a Google Compute Engine machine type
3869
+ to create for the node group. If not specified, GCP will default to a predetermined
3870
+ computed value (currently `n1-standard-4`).
3497
3871
  """
3498
3872
  return pulumi.get(self, "machine_type")
3499
3873
 
@@ -3501,9 +3875,10 @@ class ClusterVirtualClusterConfigKubernetesClusterConfigGkeClusterConfigNodePool
3501
3875
  @pulumi.getter(name="minCpuPlatform")
3502
3876
  def min_cpu_platform(self) -> Optional[str]:
3503
3877
  """
3504
- Minimum CPU platform to be used by this instance.
3505
- The instance may be scheduled on the specified or a newer CPU platform.
3506
- Specify the friendly names of CPU platforms, such as "Intel Haswell" or "Intel Sandy Bridge".
3878
+ The name of a minimum generation of CPU family
3879
+ for the node group. If not specified, GCP will default to a predetermined computed value
3880
+ for each zone. See [the guide](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
3881
+ for details about which CPU families are available (and defaulted) for each zone.
3507
3882
  """
3508
3883
  return pulumi.get(self, "min_cpu_platform")
3509
3884
 
@@ -5008,8 +5383,17 @@ class MetastoreServiceHiveMetastoreConfig(dict):
5008
5383
  kerberos_config: Optional['outputs.MetastoreServiceHiveMetastoreConfigKerberosConfig'] = None):
5009
5384
  """
5010
5385
  :param str version: The Hive metastore schema version.
5386
+ :param Sequence['MetastoreServiceHiveMetastoreConfigAuxiliaryVersionArgs'] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration.
5387
+ When specified, a secondary Hive metastore service is created along with the primary service.
5388
+ All auxiliary versions must be less than the service's primary version.
5389
+ The key is the auxiliary service name and it must match the regular expression a-z?.
5390
+ This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
5391
+ Structure is documented below.
5011
5392
  :param Mapping[str, str] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml).
5012
5393
  The mappings override system defaults (some keys cannot be overridden)
5394
+ :param str endpoint_protocol: The protocol to use for the metastore service endpoint. If unspecified, defaults to `THRIFT`.
5395
+ Default value is `THRIFT`.
5396
+ Possible values are: `THRIFT`, `GRPC`.
5013
5397
  :param 'MetastoreServiceHiveMetastoreConfigKerberosConfigArgs' kerberos_config: Information used to configure the Hive metastore service as a service principal in a Kerberos realm.
5014
5398
  Structure is documented below.
5015
5399
  """
@@ -5034,6 +5418,14 @@ class MetastoreServiceHiveMetastoreConfig(dict):
5034
5418
  @property
5035
5419
  @pulumi.getter(name="auxiliaryVersions")
5036
5420
  def auxiliary_versions(self) -> Optional[Sequence['outputs.MetastoreServiceHiveMetastoreConfigAuxiliaryVersion']]:
5421
+ """
5422
+ A mapping of Hive metastore version to the auxiliary version configuration.
5423
+ When specified, a secondary Hive metastore service is created along with the primary service.
5424
+ All auxiliary versions must be less than the service's primary version.
5425
+ The key is the auxiliary service name and it must match the regular expression a-z?.
5426
+ This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.
5427
+ Structure is documented below.
5428
+ """
5037
5429
  return pulumi.get(self, "auxiliary_versions")
5038
5430
 
5039
5431
  @property
@@ -5048,6 +5440,11 @@ class MetastoreServiceHiveMetastoreConfig(dict):
5048
5440
  @property
5049
5441
  @pulumi.getter(name="endpointProtocol")
5050
5442
  def endpoint_protocol(self) -> Optional[str]:
5443
+ """
5444
+ The protocol to use for the metastore service endpoint. If unspecified, defaults to `THRIFT`.
5445
+ Default value is `THRIFT`.
5446
+ Possible values are: `THRIFT`, `GRPC`.
5447
+ """
5051
5448
  return pulumi.get(self, "endpoint_protocol")
5052
5449
 
5053
5450
  @property
@@ -5377,13 +5774,33 @@ class MetastoreServiceMetadataIntegrationDataCatalogConfig(dict):
5377
5774
 
5378
5775
  @pulumi.output_type
5379
5776
  class MetastoreServiceNetworkConfig(dict):
5777
+ @staticmethod
5778
+ def __key_warning(key: str):
5779
+ suggest = None
5780
+ if key == "customRoutesEnabled":
5781
+ suggest = "custom_routes_enabled"
5782
+
5783
+ if suggest:
5784
+ pulumi.log.warn(f"Key '{key}' not found in MetastoreServiceNetworkConfig. Access the value via the '{suggest}' property getter instead.")
5785
+
5786
+ def __getitem__(self, key: str) -> Any:
5787
+ MetastoreServiceNetworkConfig.__key_warning(key)
5788
+ return super().__getitem__(key)
5789
+
5790
+ def get(self, key: str, default = None) -> Any:
5791
+ MetastoreServiceNetworkConfig.__key_warning(key)
5792
+ return super().get(key, default)
5793
+
5380
5794
  def __init__(__self__, *,
5381
- consumers: Sequence['outputs.MetastoreServiceNetworkConfigConsumer']):
5795
+ consumers: Sequence['outputs.MetastoreServiceNetworkConfigConsumer'],
5796
+ custom_routes_enabled: Optional[bool] = None):
5382
5797
  """
5383
5798
  :param Sequence['MetastoreServiceNetworkConfigConsumerArgs'] consumers: The consumer-side network configuration for the Dataproc Metastore instance.
5384
5799
  Structure is documented below.
5385
5800
  """
5386
5801
  pulumi.set(__self__, "consumers", consumers)
5802
+ if custom_routes_enabled is not None:
5803
+ pulumi.set(__self__, "custom_routes_enabled", custom_routes_enabled)
5387
5804
 
5388
5805
  @property
5389
5806
  @pulumi.getter
@@ -5394,6 +5811,11 @@ class MetastoreServiceNetworkConfig(dict):
5394
5811
  """
5395
5812
  return pulumi.get(self, "consumers")
5396
5813
 
5814
+ @property
5815
+ @pulumi.getter(name="customRoutesEnabled")
5816
+ def custom_routes_enabled(self) -> Optional[bool]:
5817
+ return pulumi.get(self, "custom_routes_enabled")
5818
+
5397
5819
 
5398
5820
  @pulumi.output_type
5399
5821
  class MetastoreServiceNetworkConfigConsumer(dict):