pulumi-gcp 8.42.0a1758133038__py3-none-any.whl → 9.0.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 (271) hide show
  1. pulumi_gcp/__init__.py +83 -48
  2. pulumi_gcp/activedirectory/peering.py +16 -0
  3. pulumi_gcp/alloydb/backup.py +8 -4
  4. pulumi_gcp/alloydb/cluster.py +56 -10
  5. pulumi_gcp/alloydb/get_cluster.py +12 -1
  6. pulumi_gcp/alloydb/instance.py +10 -4
  7. pulumi_gcp/alloydb/user.py +8 -4
  8. pulumi_gcp/apigateway/api_config_iam_binding.py +4 -4
  9. pulumi_gcp/apigateway/api_config_iam_member.py +4 -4
  10. pulumi_gcp/apigateway/api_config_iam_policy.py +4 -4
  11. pulumi_gcp/apigateway/api_iam_binding.py +4 -4
  12. pulumi_gcp/apigateway/api_iam_member.py +4 -4
  13. pulumi_gcp/apigateway/api_iam_policy.py +4 -4
  14. pulumi_gcp/apigateway/gateway_iam_binding.py +4 -4
  15. pulumi_gcp/apigateway/gateway_iam_member.py +4 -4
  16. pulumi_gcp/apigateway/gateway_iam_policy.py +4 -4
  17. pulumi_gcp/apigee/_inputs.py +151 -108
  18. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +52 -40
  19. pulumi_gcp/apigee/outputs.py +92 -88
  20. pulumi_gcp/artifactregistry/__init__.py +2 -0
  21. pulumi_gcp/artifactregistry/_inputs.py +0 -12
  22. pulumi_gcp/artifactregistry/get_npm_package.py +251 -0
  23. pulumi_gcp/artifactregistry/get_python_package.py +237 -0
  24. pulumi_gcp/artifactregistry/get_repository.py +12 -1
  25. pulumi_gcp/artifactregistry/outputs.py +8 -16
  26. pulumi_gcp/artifactregistry/repository.py +28 -0
  27. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  28. pulumi_gcp/backupdisasterrecovery/backup_plan.py +4 -4
  29. pulumi_gcp/backupdisasterrecovery/get_backup.py +12 -1
  30. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +4 -0
  31. pulumi_gcp/backupdisasterrecovery/get_data_source_references.py +135 -0
  32. pulumi_gcp/backupdisasterrecovery/get_management_server.py +4 -0
  33. pulumi_gcp/backupdisasterrecovery/outputs.py +103 -0
  34. pulumi_gcp/beyondcorp/__init__.py +0 -5
  35. pulumi_gcp/beyondcorp/_inputs.py +0 -312
  36. pulumi_gcp/beyondcorp/outputs.py +0 -200
  37. pulumi_gcp/bigquery/_inputs.py +114 -4
  38. pulumi_gcp/bigquery/app_profile.py +3 -5
  39. pulumi_gcp/bigquery/outputs.py +75 -5
  40. pulumi_gcp/bigqueryanalyticshub/data_exchange_subscription.py +20 -0
  41. pulumi_gcp/bigtable/app_profile.py +1 -1
  42. pulumi_gcp/bigtable/get_table_iam_policy.py +16 -18
  43. pulumi_gcp/bigtable/table_iam_binding.py +43 -43
  44. pulumi_gcp/bigtable/table_iam_member.py +43 -43
  45. pulumi_gcp/bigtable/table_iam_policy.py +43 -43
  46. pulumi_gcp/billing/_inputs.py +0 -6
  47. pulumi_gcp/billing/outputs.py +0 -4
  48. pulumi_gcp/certificatemanager/__init__.py +1 -0
  49. pulumi_gcp/certificatemanager/certificate_map_entry.py +7 -7
  50. pulumi_gcp/certificatemanager/get_dns_authorization.py +229 -0
  51. pulumi_gcp/certificatemanager/outputs.py +41 -0
  52. pulumi_gcp/chronicle/_inputs.py +6 -5
  53. pulumi_gcp/chronicle/outputs.py +4 -3
  54. pulumi_gcp/chronicle/reference_list.py +53 -5
  55. pulumi_gcp/cloudasset/get_resources_search_all.py +8 -0
  56. pulumi_gcp/cloudbuild/_inputs.py +309 -45
  57. pulumi_gcp/cloudbuild/bitbucket_server_config.py +2 -6
  58. pulumi_gcp/cloudbuild/get_trigger.py +12 -1
  59. pulumi_gcp/cloudbuild/outputs.py +380 -30
  60. pulumi_gcp/cloudbuild/trigger.py +160 -2
  61. pulumi_gcp/cloudbuild/worker_pool.py +2 -6
  62. pulumi_gcp/cloudfunctionsv2/_inputs.py +23 -21
  63. pulumi_gcp/cloudfunctionsv2/outputs.py +17 -16
  64. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +16 -0
  65. pulumi_gcp/cloudrunv2/_inputs.py +80 -26
  66. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  67. pulumi_gcp/cloudrunv2/outputs.py +109 -30
  68. pulumi_gcp/cloudrunv2/service.py +72 -12
  69. pulumi_gcp/cloudrunv2/worker_pool.py +2 -2
  70. pulumi_gcp/cloudtasks/queue.py +98 -2
  71. pulumi_gcp/colab/_inputs.py +1 -114
  72. pulumi_gcp/colab/outputs.py +1 -106
  73. pulumi_gcp/compute/_inputs.py +884 -24
  74. pulumi_gcp/compute/backend_bucket.py +68 -0
  75. pulumi_gcp/compute/backend_bucket_iam_binding.py +236 -0
  76. pulumi_gcp/compute/backend_bucket_iam_member.py +236 -0
  77. pulumi_gcp/compute/backend_bucket_iam_policy.py +236 -0
  78. pulumi_gcp/compute/backend_service.py +54 -0
  79. pulumi_gcp/compute/backend_service_iam_binding.py +464 -0
  80. pulumi_gcp/compute/backend_service_iam_member.py +464 -0
  81. pulumi_gcp/compute/backend_service_iam_policy.py +464 -0
  82. pulumi_gcp/compute/cross_site_network.py +16 -0
  83. pulumi_gcp/compute/future_reservation.py +32 -0
  84. pulumi_gcp/compute/get_backend_bucket.py +12 -1
  85. pulumi_gcp/compute/get_backend_service.py +12 -1
  86. pulumi_gcp/compute/get_region_backend_service.py +12 -1
  87. pulumi_gcp/compute/get_resource_policy.py +2 -20
  88. pulumi_gcp/compute/machine_image_iam_binding.py +8 -4
  89. pulumi_gcp/compute/machine_image_iam_member.py +8 -4
  90. pulumi_gcp/compute/machine_image_iam_policy.py +8 -4
  91. pulumi_gcp/compute/network_edge_security_service.py +16 -0
  92. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +12 -0
  93. pulumi_gcp/compute/network_peering_routes_config.py +0 -100
  94. pulumi_gcp/compute/organization_security_policy.py +83 -51
  95. pulumi_gcp/compute/outputs.py +799 -16
  96. pulumi_gcp/compute/packet_mirroring.py +6 -0
  97. pulumi_gcp/compute/preview_feature.py +16 -0
  98. pulumi_gcp/compute/public_delegated_prefix.py +42 -0
  99. pulumi_gcp/compute/region_backend_service.py +54 -0
  100. pulumi_gcp/compute/region_backend_service_iam_binding.py +488 -0
  101. pulumi_gcp/compute/region_backend_service_iam_member.py +488 -0
  102. pulumi_gcp/compute/region_backend_service_iam_policy.py +488 -0
  103. pulumi_gcp/compute/region_network_endpoint_group.py +1 -3
  104. pulumi_gcp/compute/region_resize_request.py +24 -0
  105. pulumi_gcp/compute/region_url_map.py +75 -0
  106. pulumi_gcp/compute/subnetwork.py +0 -98
  107. pulumi_gcp/compute/wire_group.py +16 -0
  108. pulumi_gcp/config/__init__.pyi +2 -2
  109. pulumi_gcp/config/vars.py +4 -4
  110. pulumi_gcp/container/_inputs.py +466 -18
  111. pulumi_gcp/container/cluster.py +16 -7
  112. pulumi_gcp/container/outputs.py +448 -15
  113. pulumi_gcp/databasemigrationservice/connection_profile.py +4 -2
  114. pulumi_gcp/databasemigrationservice/migration_job.py +4 -2
  115. pulumi_gcp/dataflow/flex_template_job.py +10 -0
  116. pulumi_gcp/dataform/repository.py +16 -0
  117. pulumi_gcp/dataform/repository_release_config.py +16 -0
  118. pulumi_gcp/dataform/repository_workflow_config.py +16 -0
  119. pulumi_gcp/diagflow/_inputs.py +152 -0
  120. pulumi_gcp/diagflow/cx_agent.py +425 -0
  121. pulumi_gcp/diagflow/outputs.py +143 -0
  122. pulumi_gcp/discoveryengine/__init__.py +1 -0
  123. pulumi_gcp/discoveryengine/_inputs.py +94 -0
  124. pulumi_gcp/discoveryengine/acl_config.py +393 -0
  125. pulumi_gcp/discoveryengine/outputs.py +92 -0
  126. pulumi_gcp/firebase/android_app.py +16 -0
  127. pulumi_gcp/firebase/app_check_play_integrity_config.py +4 -8
  128. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +2 -4
  129. pulumi_gcp/firebase/app_check_service_config.py +6 -12
  130. pulumi_gcp/firebase/app_hosting_backend.py +4 -8
  131. pulumi_gcp/firebase/app_hosting_build.py +4 -8
  132. pulumi_gcp/firebase/app_hosting_traffic.py +6 -12
  133. pulumi_gcp/firebase/apple_app.py +16 -0
  134. pulumi_gcp/firebase/data_connect_service.py +4 -8
  135. pulumi_gcp/firebase/database_instance.py +20 -8
  136. pulumi_gcp/firebase/extensions_instance.py +12 -0
  137. pulumi_gcp/firebase/get_android_app.py +4 -2
  138. pulumi_gcp/firebase/get_apple_app.py +4 -2
  139. pulumi_gcp/firebase/get_apple_app_config.py +16 -2
  140. pulumi_gcp/firebase/get_hosting_channel.py +4 -2
  141. pulumi_gcp/firebase/hosting_channel.py +20 -0
  142. pulumi_gcp/firebase/hosting_custom_domain.py +20 -0
  143. pulumi_gcp/firebase/hosting_release.py +16 -0
  144. pulumi_gcp/firebase/hosting_site.py +16 -0
  145. pulumi_gcp/firebase/hosting_version.py +16 -0
  146. pulumi_gcp/firebase/storage_bucket.py +18 -0
  147. pulumi_gcp/firestore/index.py +118 -3
  148. pulumi_gcp/folder/service_identity.py +26 -0
  149. pulumi_gcp/gkehub/_inputs.py +0 -60
  150. pulumi_gcp/gkehub/get_membership.py +1 -12
  151. pulumi_gcp/gkehub/membership.py +0 -70
  152. pulumi_gcp/gkehub/membership_rbac_role_binding.py +16 -0
  153. pulumi_gcp/gkehub/outputs.py +0 -36
  154. pulumi_gcp/healthcare/_inputs.py +205 -0
  155. pulumi_gcp/healthcare/fhir_store.py +128 -0
  156. pulumi_gcp/healthcare/outputs.py +163 -0
  157. pulumi_gcp/iam/workload_identity_pool_iam_binding.py +464 -0
  158. pulumi_gcp/iam/workload_identity_pool_iam_member.py +464 -0
  159. pulumi_gcp/iam/workload_identity_pool_iam_policy.py +464 -0
  160. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +18 -0
  161. pulumi_gcp/iam/workload_identity_pool_namespace.py +20 -0
  162. pulumi_gcp/iap/__init__.py +8 -0
  163. pulumi_gcp/iap/_inputs.py +260 -0
  164. pulumi_gcp/iap/get_web_forwarding_rule_service_iam_policy.py +159 -0
  165. pulumi_gcp/iap/get_web_region_forwarding_rule_service_iam_policy.py +182 -0
  166. pulumi_gcp/iap/outputs.py +152 -0
  167. pulumi_gcp/{beyondcorp/application_iam_binding.py → iap/web_forwarding_rule_service_iam_binding.py} +233 -315
  168. pulumi_gcp/{beyondcorp/application_iam_member.py → iap/web_forwarding_rule_service_iam_member.py} +233 -315
  169. pulumi_gcp/{beyondcorp/application_iam_policy.py → iap/web_forwarding_rule_service_iam_policy.py} +212 -294
  170. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_binding.py +1091 -0
  171. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_member.py +1091 -0
  172. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_policy.py +910 -0
  173. pulumi_gcp/kms/autokey_config.py +0 -2
  174. pulumi_gcp/kms/get_kms_secret_asymmetric.py +22 -0
  175. pulumi_gcp/kms/key_handle.py +0 -2
  176. pulumi_gcp/logging/organization_sink.py +7 -7
  177. pulumi_gcp/managedkafka/connect_cluster.py +4 -0
  178. pulumi_gcp/managedkafka/connector.py +4 -0
  179. pulumi_gcp/memorystore/get_instance.py +1 -12
  180. pulumi_gcp/memorystore/instance.py +14 -84
  181. pulumi_gcp/netapp/storage_pool.py +91 -2
  182. pulumi_gcp/netapp/volume.py +47 -0
  183. pulumi_gcp/networkmanagement/__init__.py +1 -0
  184. pulumi_gcp/networkmanagement/organization_vpc_flow_logs_config.py +1028 -0
  185. pulumi_gcp/networksecurity/authorization_policy.py +12 -0
  186. pulumi_gcp/networkservices/gateway.py +7 -7
  187. pulumi_gcp/networkservices/lb_traffic_extension.py +24 -23
  188. pulumi_gcp/networkservices/service_lb_policies.py +12 -0
  189. pulumi_gcp/notebooks/__init__.py +0 -1
  190. pulumi_gcp/oracledatabase/autonomous_database.py +2 -2
  191. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +3 -3
  192. pulumi_gcp/projects/service.py +2 -11
  193. pulumi_gcp/provider.py +20 -20
  194. pulumi_gcp/pulumi-plugin.json +1 -1
  195. pulumi_gcp/redis/cluster.py +0 -70
  196. pulumi_gcp/redis/get_cluster.py +1 -12
  197. pulumi_gcp/resourcemanager/capability.py +16 -0
  198. pulumi_gcp/runtimeconfig/config.py +16 -0
  199. pulumi_gcp/runtimeconfig/config_iam_binding.py +236 -0
  200. pulumi_gcp/runtimeconfig/config_iam_member.py +236 -0
  201. pulumi_gcp/runtimeconfig/config_iam_policy.py +236 -0
  202. pulumi_gcp/runtimeconfig/variable.py +10 -0
  203. pulumi_gcp/saasruntime/__init__.py +12 -0
  204. pulumi_gcp/saasruntime/_inputs.py +513 -0
  205. pulumi_gcp/saasruntime/outputs.py +431 -0
  206. pulumi_gcp/saasruntime/saa_s.py +819 -0
  207. pulumi_gcp/saasruntime/unit_kind.py +1024 -0
  208. pulumi_gcp/securesourcemanager/_inputs.py +20 -19
  209. pulumi_gcp/securesourcemanager/instance.py +7 -7
  210. pulumi_gcp/securesourcemanager/outputs.py +15 -14
  211. pulumi_gcp/securesourcemanager/repository.py +7 -7
  212. pulumi_gcp/serviceaccount/get_account_key.py +1 -21
  213. pulumi_gcp/servicedirectory/namespace_iam_binding.py +4 -4
  214. pulumi_gcp/servicedirectory/namespace_iam_member.py +4 -4
  215. pulumi_gcp/servicedirectory/namespace_iam_policy.py +4 -4
  216. pulumi_gcp/servicedirectory/service_iam_binding.py +4 -4
  217. pulumi_gcp/servicedirectory/service_iam_member.py +4 -4
  218. pulumi_gcp/servicedirectory/service_iam_policy.py +4 -4
  219. pulumi_gcp/sql/_inputs.py +135 -1
  220. pulumi_gcp/sql/database_instance.py +94 -0
  221. pulumi_gcp/sql/get_database_instance.py +23 -1
  222. pulumi_gcp/sql/outputs.py +276 -3
  223. pulumi_gcp/sql/user.py +61 -0
  224. pulumi_gcp/storage/_inputs.py +253 -7
  225. pulumi_gcp/storage/bucket_object.py +0 -9
  226. pulumi_gcp/storage/outputs.py +198 -8
  227. pulumi_gcp/storage/transfer_job.py +47 -0
  228. pulumi_gcp/tpu/__init__.py +0 -2
  229. pulumi_gcp/tpu/_inputs.py +0 -93
  230. pulumi_gcp/tpu/outputs.py +0 -72
  231. pulumi_gcp/tpu/v2_queued_resource.py +16 -0
  232. pulumi_gcp/tpu/v2_vm.py +16 -0
  233. pulumi_gcp/vertex/_inputs.py +8 -9
  234. pulumi_gcp/vertex/ai_endpoint.py +2 -4
  235. pulumi_gcp/vertex/ai_feature_group_iam_binding.py +236 -0
  236. pulumi_gcp/vertex/ai_feature_group_iam_member.py +236 -0
  237. pulumi_gcp/vertex/ai_feature_group_iam_policy.py +236 -0
  238. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +0 -2
  239. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_binding.py +248 -0
  240. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_member.py +248 -0
  241. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_policy.py +248 -0
  242. pulumi_gcp/vertex/ai_feature_online_store_iam_binding.py +236 -0
  243. pulumi_gcp/vertex/ai_feature_online_store_iam_member.py +236 -0
  244. pulumi_gcp/vertex/ai_feature_online_store_iam_policy.py +236 -0
  245. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +238 -0
  246. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +238 -0
  247. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +238 -0
  248. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +248 -0
  249. pulumi_gcp/vertex/ai_feature_store_iam_member.py +248 -0
  250. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +248 -0
  251. pulumi_gcp/vertex/ai_index.py +24 -23
  252. pulumi_gcp/vertex/ai_metadata_store.py +16 -0
  253. pulumi_gcp/vertex/outputs.py +7 -8
  254. pulumi_gcp/workstations/workstation.py +16 -0
  255. pulumi_gcp/workstations/workstation_cluster.py +16 -0
  256. pulumi_gcp/workstations/workstation_config.py +16 -0
  257. pulumi_gcp/workstations/workstation_config_iam_binding.py +260 -0
  258. pulumi_gcp/workstations/workstation_config_iam_member.py +260 -0
  259. pulumi_gcp/workstations/workstation_config_iam_policy.py +260 -0
  260. pulumi_gcp/workstations/workstation_iam_binding.py +272 -0
  261. pulumi_gcp/workstations/workstation_iam_member.py +272 -0
  262. pulumi_gcp/workstations/workstation_iam_policy.py +272 -0
  263. {pulumi_gcp-8.42.0a1758133038.dist-info → pulumi_gcp-9.0.0.dist-info}/METADATA +1 -1
  264. {pulumi_gcp-8.42.0a1758133038.dist-info → pulumi_gcp-9.0.0.dist-info}/RECORD +266 -255
  265. pulumi_gcp/beyondcorp/application.py +0 -746
  266. pulumi_gcp/beyondcorp/get_application_iam_policy.py +0 -182
  267. pulumi_gcp/notebooks/location.py +0 -285
  268. pulumi_gcp/tpu/get_tensorflow_versions.py +0 -184
  269. pulumi_gcp/tpu/node.py +0 -1062
  270. {pulumi_gcp-8.42.0a1758133038.dist-info → pulumi_gcp-9.0.0.dist-info}/WHEEL +0 -0
  271. {pulumi_gcp-8.42.0a1758133038.dist-info → pulumi_gcp-9.0.0.dist-info}/top_level.txt +0 -0
@@ -305,6 +305,130 @@ class AiFeatureStoreIamMember(pulumi.CustomResource):
305
305
  role: Optional[pulumi.Input[_builtins.str]] = None,
306
306
  __props__=None):
307
307
  """
308
+ Three different resources help you manage your IAM policy for Vertex AI Featurestore. Each of these resources serves a different use case:
309
+
310
+ * `vertex.AiFeatureStoreIamPolicy`: Authoritative. Sets the IAM policy for the featurestore and replaces any existing policy already attached.
311
+ * `vertex.AiFeatureStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the featurestore are preserved.
312
+ * `vertex.AiFeatureStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the featurestore are preserved.
313
+
314
+ A data source can be used to retrieve policy data in advent you do not need creation
315
+
316
+ * `vertex.AiFeatureStoreIamPolicy`: Retrieves the IAM policy for the featurestore
317
+
318
+ > **Note:** `vertex.AiFeatureStoreIamPolicy` **cannot** be used in conjunction with `vertex.AiFeatureStoreIamBinding` and `vertex.AiFeatureStoreIamMember` or they will fight over what your policy should be.
319
+
320
+ > **Note:** `vertex.AiFeatureStoreIamBinding` resources **can be** used in conjunction with `vertex.AiFeatureStoreIamMember` resources **only if** they do not grant privilege to the same role.
321
+
322
+ ## vertex.AiFeatureStoreIamPolicy
323
+
324
+ ```python
325
+ import pulumi
326
+ import pulumi_gcp as gcp
327
+
328
+ admin = gcp.organizations.get_iam_policy(bindings=[{
329
+ "role": "roles/viewer",
330
+ "members": ["user:jane@example.com"],
331
+ }])
332
+ policy = gcp.vertex.AiFeatureStoreIamPolicy("policy",
333
+ project=featurestore["project"],
334
+ region=featurestore["region"],
335
+ featurestore=featurestore["name"],
336
+ policy_data=admin.policy_data)
337
+ ```
338
+
339
+ ## vertex.AiFeatureStoreIamBinding
340
+
341
+ ```python
342
+ import pulumi
343
+ import pulumi_gcp as gcp
344
+
345
+ binding = gcp.vertex.AiFeatureStoreIamBinding("binding",
346
+ project=featurestore["project"],
347
+ region=featurestore["region"],
348
+ featurestore=featurestore["name"],
349
+ role="roles/viewer",
350
+ members=["user:jane@example.com"])
351
+ ```
352
+
353
+ ## vertex.AiFeatureStoreIamMember
354
+
355
+ ```python
356
+ import pulumi
357
+ import pulumi_gcp as gcp
358
+
359
+ member = gcp.vertex.AiFeatureStoreIamMember("member",
360
+ project=featurestore["project"],
361
+ region=featurestore["region"],
362
+ featurestore=featurestore["name"],
363
+ role="roles/viewer",
364
+ member="user:jane@example.com")
365
+ ```
366
+
367
+ ## This resource supports User Project Overrides.
368
+
369
+ -
370
+
371
+ # IAM policy for Vertex AI Featurestore
372
+
373
+ Three different resources help you manage your IAM policy for Vertex AI Featurestore. Each of these resources serves a different use case:
374
+
375
+ * `vertex.AiFeatureStoreIamPolicy`: Authoritative. Sets the IAM policy for the featurestore and replaces any existing policy already attached.
376
+ * `vertex.AiFeatureStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the featurestore are preserved.
377
+ * `vertex.AiFeatureStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the featurestore are preserved.
378
+
379
+ A data source can be used to retrieve policy data in advent you do not need creation
380
+
381
+ * `vertex.AiFeatureStoreIamPolicy`: Retrieves the IAM policy for the featurestore
382
+
383
+ > **Note:** `vertex.AiFeatureStoreIamPolicy` **cannot** be used in conjunction with `vertex.AiFeatureStoreIamBinding` and `vertex.AiFeatureStoreIamMember` or they will fight over what your policy should be.
384
+
385
+ > **Note:** `vertex.AiFeatureStoreIamBinding` resources **can be** used in conjunction with `vertex.AiFeatureStoreIamMember` resources **only if** they do not grant privilege to the same role.
386
+
387
+ ## vertex.AiFeatureStoreIamPolicy
388
+
389
+ ```python
390
+ import pulumi
391
+ import pulumi_gcp as gcp
392
+
393
+ admin = gcp.organizations.get_iam_policy(bindings=[{
394
+ "role": "roles/viewer",
395
+ "members": ["user:jane@example.com"],
396
+ }])
397
+ policy = gcp.vertex.AiFeatureStoreIamPolicy("policy",
398
+ project=featurestore["project"],
399
+ region=featurestore["region"],
400
+ featurestore=featurestore["name"],
401
+ policy_data=admin.policy_data)
402
+ ```
403
+
404
+ ## vertex.AiFeatureStoreIamBinding
405
+
406
+ ```python
407
+ import pulumi
408
+ import pulumi_gcp as gcp
409
+
410
+ binding = gcp.vertex.AiFeatureStoreIamBinding("binding",
411
+ project=featurestore["project"],
412
+ region=featurestore["region"],
413
+ featurestore=featurestore["name"],
414
+ role="roles/viewer",
415
+ members=["user:jane@example.com"])
416
+ ```
417
+
418
+ ## vertex.AiFeatureStoreIamMember
419
+
420
+ ```python
421
+ import pulumi
422
+ import pulumi_gcp as gcp
423
+
424
+ member = gcp.vertex.AiFeatureStoreIamMember("member",
425
+ project=featurestore["project"],
426
+ region=featurestore["region"],
427
+ featurestore=featurestore["name"],
428
+ role="roles/viewer",
429
+ member="user:jane@example.com")
430
+ ```
431
+
308
432
  ## Import
309
433
 
310
434
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -373,6 +497,130 @@ class AiFeatureStoreIamMember(pulumi.CustomResource):
373
497
  args: AiFeatureStoreIamMemberArgs,
374
498
  opts: Optional[pulumi.ResourceOptions] = None):
375
499
  """
500
+ Three different resources help you manage your IAM policy for Vertex AI Featurestore. Each of these resources serves a different use case:
501
+
502
+ * `vertex.AiFeatureStoreIamPolicy`: Authoritative. Sets the IAM policy for the featurestore and replaces any existing policy already attached.
503
+ * `vertex.AiFeatureStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the featurestore are preserved.
504
+ * `vertex.AiFeatureStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the featurestore are preserved.
505
+
506
+ A data source can be used to retrieve policy data in advent you do not need creation
507
+
508
+ * `vertex.AiFeatureStoreIamPolicy`: Retrieves the IAM policy for the featurestore
509
+
510
+ > **Note:** `vertex.AiFeatureStoreIamPolicy` **cannot** be used in conjunction with `vertex.AiFeatureStoreIamBinding` and `vertex.AiFeatureStoreIamMember` or they will fight over what your policy should be.
511
+
512
+ > **Note:** `vertex.AiFeatureStoreIamBinding` resources **can be** used in conjunction with `vertex.AiFeatureStoreIamMember` resources **only if** they do not grant privilege to the same role.
513
+
514
+ ## vertex.AiFeatureStoreIamPolicy
515
+
516
+ ```python
517
+ import pulumi
518
+ import pulumi_gcp as gcp
519
+
520
+ admin = gcp.organizations.get_iam_policy(bindings=[{
521
+ "role": "roles/viewer",
522
+ "members": ["user:jane@example.com"],
523
+ }])
524
+ policy = gcp.vertex.AiFeatureStoreIamPolicy("policy",
525
+ project=featurestore["project"],
526
+ region=featurestore["region"],
527
+ featurestore=featurestore["name"],
528
+ policy_data=admin.policy_data)
529
+ ```
530
+
531
+ ## vertex.AiFeatureStoreIamBinding
532
+
533
+ ```python
534
+ import pulumi
535
+ import pulumi_gcp as gcp
536
+
537
+ binding = gcp.vertex.AiFeatureStoreIamBinding("binding",
538
+ project=featurestore["project"],
539
+ region=featurestore["region"],
540
+ featurestore=featurestore["name"],
541
+ role="roles/viewer",
542
+ members=["user:jane@example.com"])
543
+ ```
544
+
545
+ ## vertex.AiFeatureStoreIamMember
546
+
547
+ ```python
548
+ import pulumi
549
+ import pulumi_gcp as gcp
550
+
551
+ member = gcp.vertex.AiFeatureStoreIamMember("member",
552
+ project=featurestore["project"],
553
+ region=featurestore["region"],
554
+ featurestore=featurestore["name"],
555
+ role="roles/viewer",
556
+ member="user:jane@example.com")
557
+ ```
558
+
559
+ ## This resource supports User Project Overrides.
560
+
561
+ -
562
+
563
+ # IAM policy for Vertex AI Featurestore
564
+
565
+ Three different resources help you manage your IAM policy for Vertex AI Featurestore. Each of these resources serves a different use case:
566
+
567
+ * `vertex.AiFeatureStoreIamPolicy`: Authoritative. Sets the IAM policy for the featurestore and replaces any existing policy already attached.
568
+ * `vertex.AiFeatureStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the featurestore are preserved.
569
+ * `vertex.AiFeatureStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the featurestore are preserved.
570
+
571
+ A data source can be used to retrieve policy data in advent you do not need creation
572
+
573
+ * `vertex.AiFeatureStoreIamPolicy`: Retrieves the IAM policy for the featurestore
574
+
575
+ > **Note:** `vertex.AiFeatureStoreIamPolicy` **cannot** be used in conjunction with `vertex.AiFeatureStoreIamBinding` and `vertex.AiFeatureStoreIamMember` or they will fight over what your policy should be.
576
+
577
+ > **Note:** `vertex.AiFeatureStoreIamBinding` resources **can be** used in conjunction with `vertex.AiFeatureStoreIamMember` resources **only if** they do not grant privilege to the same role.
578
+
579
+ ## vertex.AiFeatureStoreIamPolicy
580
+
581
+ ```python
582
+ import pulumi
583
+ import pulumi_gcp as gcp
584
+
585
+ admin = gcp.organizations.get_iam_policy(bindings=[{
586
+ "role": "roles/viewer",
587
+ "members": ["user:jane@example.com"],
588
+ }])
589
+ policy = gcp.vertex.AiFeatureStoreIamPolicy("policy",
590
+ project=featurestore["project"],
591
+ region=featurestore["region"],
592
+ featurestore=featurestore["name"],
593
+ policy_data=admin.policy_data)
594
+ ```
595
+
596
+ ## vertex.AiFeatureStoreIamBinding
597
+
598
+ ```python
599
+ import pulumi
600
+ import pulumi_gcp as gcp
601
+
602
+ binding = gcp.vertex.AiFeatureStoreIamBinding("binding",
603
+ project=featurestore["project"],
604
+ region=featurestore["region"],
605
+ featurestore=featurestore["name"],
606
+ role="roles/viewer",
607
+ members=["user:jane@example.com"])
608
+ ```
609
+
610
+ ## vertex.AiFeatureStoreIamMember
611
+
612
+ ```python
613
+ import pulumi
614
+ import pulumi_gcp as gcp
615
+
616
+ member = gcp.vertex.AiFeatureStoreIamMember("member",
617
+ project=featurestore["project"],
618
+ region=featurestore["region"],
619
+ featurestore=featurestore["name"],
620
+ role="roles/viewer",
621
+ member="user:jane@example.com")
622
+ ```
623
+
376
624
  ## Import
377
625
 
378
626
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -202,6 +202,130 @@ class AiFeatureStoreIamPolicy(pulumi.CustomResource):
202
202
  region: Optional[pulumi.Input[_builtins.str]] = None,
203
203
  __props__=None):
204
204
  """
205
+ Three different resources help you manage your IAM policy for Vertex AI Featurestore. Each of these resources serves a different use case:
206
+
207
+ * `vertex.AiFeatureStoreIamPolicy`: Authoritative. Sets the IAM policy for the featurestore and replaces any existing policy already attached.
208
+ * `vertex.AiFeatureStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the featurestore are preserved.
209
+ * `vertex.AiFeatureStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the featurestore are preserved.
210
+
211
+ A data source can be used to retrieve policy data in advent you do not need creation
212
+
213
+ * `vertex.AiFeatureStoreIamPolicy`: Retrieves the IAM policy for the featurestore
214
+
215
+ > **Note:** `vertex.AiFeatureStoreIamPolicy` **cannot** be used in conjunction with `vertex.AiFeatureStoreIamBinding` and `vertex.AiFeatureStoreIamMember` or they will fight over what your policy should be.
216
+
217
+ > **Note:** `vertex.AiFeatureStoreIamBinding` resources **can be** used in conjunction with `vertex.AiFeatureStoreIamMember` resources **only if** they do not grant privilege to the same role.
218
+
219
+ ## vertex.AiFeatureStoreIamPolicy
220
+
221
+ ```python
222
+ import pulumi
223
+ import pulumi_gcp as gcp
224
+
225
+ admin = gcp.organizations.get_iam_policy(bindings=[{
226
+ "role": "roles/viewer",
227
+ "members": ["user:jane@example.com"],
228
+ }])
229
+ policy = gcp.vertex.AiFeatureStoreIamPolicy("policy",
230
+ project=featurestore["project"],
231
+ region=featurestore["region"],
232
+ featurestore=featurestore["name"],
233
+ policy_data=admin.policy_data)
234
+ ```
235
+
236
+ ## vertex.AiFeatureStoreIamBinding
237
+
238
+ ```python
239
+ import pulumi
240
+ import pulumi_gcp as gcp
241
+
242
+ binding = gcp.vertex.AiFeatureStoreIamBinding("binding",
243
+ project=featurestore["project"],
244
+ region=featurestore["region"],
245
+ featurestore=featurestore["name"],
246
+ role="roles/viewer",
247
+ members=["user:jane@example.com"])
248
+ ```
249
+
250
+ ## vertex.AiFeatureStoreIamMember
251
+
252
+ ```python
253
+ import pulumi
254
+ import pulumi_gcp as gcp
255
+
256
+ member = gcp.vertex.AiFeatureStoreIamMember("member",
257
+ project=featurestore["project"],
258
+ region=featurestore["region"],
259
+ featurestore=featurestore["name"],
260
+ role="roles/viewer",
261
+ member="user:jane@example.com")
262
+ ```
263
+
264
+ ## This resource supports User Project Overrides.
265
+
266
+ -
267
+
268
+ # IAM policy for Vertex AI Featurestore
269
+
270
+ Three different resources help you manage your IAM policy for Vertex AI Featurestore. Each of these resources serves a different use case:
271
+
272
+ * `vertex.AiFeatureStoreIamPolicy`: Authoritative. Sets the IAM policy for the featurestore and replaces any existing policy already attached.
273
+ * `vertex.AiFeatureStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the featurestore are preserved.
274
+ * `vertex.AiFeatureStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the featurestore are preserved.
275
+
276
+ A data source can be used to retrieve policy data in advent you do not need creation
277
+
278
+ * `vertex.AiFeatureStoreIamPolicy`: Retrieves the IAM policy for the featurestore
279
+
280
+ > **Note:** `vertex.AiFeatureStoreIamPolicy` **cannot** be used in conjunction with `vertex.AiFeatureStoreIamBinding` and `vertex.AiFeatureStoreIamMember` or they will fight over what your policy should be.
281
+
282
+ > **Note:** `vertex.AiFeatureStoreIamBinding` resources **can be** used in conjunction with `vertex.AiFeatureStoreIamMember` resources **only if** they do not grant privilege to the same role.
283
+
284
+ ## vertex.AiFeatureStoreIamPolicy
285
+
286
+ ```python
287
+ import pulumi
288
+ import pulumi_gcp as gcp
289
+
290
+ admin = gcp.organizations.get_iam_policy(bindings=[{
291
+ "role": "roles/viewer",
292
+ "members": ["user:jane@example.com"],
293
+ }])
294
+ policy = gcp.vertex.AiFeatureStoreIamPolicy("policy",
295
+ project=featurestore["project"],
296
+ region=featurestore["region"],
297
+ featurestore=featurestore["name"],
298
+ policy_data=admin.policy_data)
299
+ ```
300
+
301
+ ## vertex.AiFeatureStoreIamBinding
302
+
303
+ ```python
304
+ import pulumi
305
+ import pulumi_gcp as gcp
306
+
307
+ binding = gcp.vertex.AiFeatureStoreIamBinding("binding",
308
+ project=featurestore["project"],
309
+ region=featurestore["region"],
310
+ featurestore=featurestore["name"],
311
+ role="roles/viewer",
312
+ members=["user:jane@example.com"])
313
+ ```
314
+
315
+ ## vertex.AiFeatureStoreIamMember
316
+
317
+ ```python
318
+ import pulumi
319
+ import pulumi_gcp as gcp
320
+
321
+ member = gcp.vertex.AiFeatureStoreIamMember("member",
322
+ project=featurestore["project"],
323
+ region=featurestore["region"],
324
+ featurestore=featurestore["name"],
325
+ role="roles/viewer",
326
+ member="user:jane@example.com")
327
+ ```
328
+
205
329
  ## Import
206
330
 
207
331
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -258,6 +382,130 @@ class AiFeatureStoreIamPolicy(pulumi.CustomResource):
258
382
  args: AiFeatureStoreIamPolicyArgs,
259
383
  opts: Optional[pulumi.ResourceOptions] = None):
260
384
  """
385
+ Three different resources help you manage your IAM policy for Vertex AI Featurestore. Each of these resources serves a different use case:
386
+
387
+ * `vertex.AiFeatureStoreIamPolicy`: Authoritative. Sets the IAM policy for the featurestore and replaces any existing policy already attached.
388
+ * `vertex.AiFeatureStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the featurestore are preserved.
389
+ * `vertex.AiFeatureStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the featurestore are preserved.
390
+
391
+ A data source can be used to retrieve policy data in advent you do not need creation
392
+
393
+ * `vertex.AiFeatureStoreIamPolicy`: Retrieves the IAM policy for the featurestore
394
+
395
+ > **Note:** `vertex.AiFeatureStoreIamPolicy` **cannot** be used in conjunction with `vertex.AiFeatureStoreIamBinding` and `vertex.AiFeatureStoreIamMember` or they will fight over what your policy should be.
396
+
397
+ > **Note:** `vertex.AiFeatureStoreIamBinding` resources **can be** used in conjunction with `vertex.AiFeatureStoreIamMember` resources **only if** they do not grant privilege to the same role.
398
+
399
+ ## vertex.AiFeatureStoreIamPolicy
400
+
401
+ ```python
402
+ import pulumi
403
+ import pulumi_gcp as gcp
404
+
405
+ admin = gcp.organizations.get_iam_policy(bindings=[{
406
+ "role": "roles/viewer",
407
+ "members": ["user:jane@example.com"],
408
+ }])
409
+ policy = gcp.vertex.AiFeatureStoreIamPolicy("policy",
410
+ project=featurestore["project"],
411
+ region=featurestore["region"],
412
+ featurestore=featurestore["name"],
413
+ policy_data=admin.policy_data)
414
+ ```
415
+
416
+ ## vertex.AiFeatureStoreIamBinding
417
+
418
+ ```python
419
+ import pulumi
420
+ import pulumi_gcp as gcp
421
+
422
+ binding = gcp.vertex.AiFeatureStoreIamBinding("binding",
423
+ project=featurestore["project"],
424
+ region=featurestore["region"],
425
+ featurestore=featurestore["name"],
426
+ role="roles/viewer",
427
+ members=["user:jane@example.com"])
428
+ ```
429
+
430
+ ## vertex.AiFeatureStoreIamMember
431
+
432
+ ```python
433
+ import pulumi
434
+ import pulumi_gcp as gcp
435
+
436
+ member = gcp.vertex.AiFeatureStoreIamMember("member",
437
+ project=featurestore["project"],
438
+ region=featurestore["region"],
439
+ featurestore=featurestore["name"],
440
+ role="roles/viewer",
441
+ member="user:jane@example.com")
442
+ ```
443
+
444
+ ## This resource supports User Project Overrides.
445
+
446
+ -
447
+
448
+ # IAM policy for Vertex AI Featurestore
449
+
450
+ Three different resources help you manage your IAM policy for Vertex AI Featurestore. Each of these resources serves a different use case:
451
+
452
+ * `vertex.AiFeatureStoreIamPolicy`: Authoritative. Sets the IAM policy for the featurestore and replaces any existing policy already attached.
453
+ * `vertex.AiFeatureStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the featurestore are preserved.
454
+ * `vertex.AiFeatureStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the featurestore are preserved.
455
+
456
+ A data source can be used to retrieve policy data in advent you do not need creation
457
+
458
+ * `vertex.AiFeatureStoreIamPolicy`: Retrieves the IAM policy for the featurestore
459
+
460
+ > **Note:** `vertex.AiFeatureStoreIamPolicy` **cannot** be used in conjunction with `vertex.AiFeatureStoreIamBinding` and `vertex.AiFeatureStoreIamMember` or they will fight over what your policy should be.
461
+
462
+ > **Note:** `vertex.AiFeatureStoreIamBinding` resources **can be** used in conjunction with `vertex.AiFeatureStoreIamMember` resources **only if** they do not grant privilege to the same role.
463
+
464
+ ## vertex.AiFeatureStoreIamPolicy
465
+
466
+ ```python
467
+ import pulumi
468
+ import pulumi_gcp as gcp
469
+
470
+ admin = gcp.organizations.get_iam_policy(bindings=[{
471
+ "role": "roles/viewer",
472
+ "members": ["user:jane@example.com"],
473
+ }])
474
+ policy = gcp.vertex.AiFeatureStoreIamPolicy("policy",
475
+ project=featurestore["project"],
476
+ region=featurestore["region"],
477
+ featurestore=featurestore["name"],
478
+ policy_data=admin.policy_data)
479
+ ```
480
+
481
+ ## vertex.AiFeatureStoreIamBinding
482
+
483
+ ```python
484
+ import pulumi
485
+ import pulumi_gcp as gcp
486
+
487
+ binding = gcp.vertex.AiFeatureStoreIamBinding("binding",
488
+ project=featurestore["project"],
489
+ region=featurestore["region"],
490
+ featurestore=featurestore["name"],
491
+ role="roles/viewer",
492
+ members=["user:jane@example.com"])
493
+ ```
494
+
495
+ ## vertex.AiFeatureStoreIamMember
496
+
497
+ ```python
498
+ import pulumi
499
+ import pulumi_gcp as gcp
500
+
501
+ member = gcp.vertex.AiFeatureStoreIamMember("member",
502
+ project=featurestore["project"],
503
+ region=featurestore["region"],
504
+ featurestore=featurestore["name"],
505
+ role="roles/viewer",
506
+ member="user:jane@example.com")
507
+ ```
508
+
261
509
  ## Import
262
510
 
263
511
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -22,15 +22,19 @@ __all__ = ['AiIndexArgs', 'AiIndex']
22
22
  class AiIndexArgs:
23
23
  def __init__(__self__, *,
24
24
  display_name: pulumi.Input[_builtins.str],
25
+ metadata: pulumi.Input['AiIndexMetadataArgs'],
25
26
  description: Optional[pulumi.Input[_builtins.str]] = None,
26
27
  index_update_method: Optional[pulumi.Input[_builtins.str]] = None,
27
28
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
28
- metadata: Optional[pulumi.Input['AiIndexMetadataArgs']] = None,
29
29
  project: Optional[pulumi.Input[_builtins.str]] = None,
30
30
  region: Optional[pulumi.Input[_builtins.str]] = None):
31
31
  """
32
32
  The set of arguments for constructing a AiIndex resource.
33
33
  :param pulumi.Input[_builtins.str] display_name: The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.
34
+ :param pulumi.Input['AiIndexMetadataArgs'] metadata: Additional information about the Index.
35
+ Although this field is not marked as required in the API specification, it is currently required when creating an Index and must be provided.
36
+ Attempts to create an Index without this field will result in an API error.
37
+ Structure is documented below.
34
38
  :param pulumi.Input[_builtins.str] description: The description of the Index.
35
39
  :param pulumi.Input[_builtins.str] index_update_method: The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.
36
40
  * BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
@@ -38,23 +42,18 @@ class AiIndexArgs:
38
42
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: The labels with user-defined metadata to organize your Indexes.
39
43
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
40
44
  Please refer to the field `effective_labels` for all of the labels present on the resource.
41
- :param pulumi.Input['AiIndexMetadataArgs'] metadata: Additional information about the Index.
42
- Although this field is not marked as required in the API specification, it is currently required when creating an Index and must be provided.
43
- Attempts to create an Index without this field will result in an API error.
44
- Structure is documented below.
45
45
  :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
46
46
  If it is not provided, the provider project is used.
47
47
  :param pulumi.Input[_builtins.str] region: The region of the index. eg us-central1
48
48
  """
49
49
  pulumi.set(__self__, "display_name", display_name)
50
+ pulumi.set(__self__, "metadata", metadata)
50
51
  if description is not None:
51
52
  pulumi.set(__self__, "description", description)
52
53
  if index_update_method is not None:
53
54
  pulumi.set(__self__, "index_update_method", index_update_method)
54
55
  if labels is not None:
55
56
  pulumi.set(__self__, "labels", labels)
56
- if metadata is not None:
57
- pulumi.set(__self__, "metadata", metadata)
58
57
  if project is not None:
59
58
  pulumi.set(__self__, "project", project)
60
59
  if region is not None:
@@ -72,6 +71,21 @@ class AiIndexArgs:
72
71
  def display_name(self, value: pulumi.Input[_builtins.str]):
73
72
  pulumi.set(self, "display_name", value)
74
73
 
74
+ @_builtins.property
75
+ @pulumi.getter
76
+ def metadata(self) -> pulumi.Input['AiIndexMetadataArgs']:
77
+ """
78
+ Additional information about the Index.
79
+ Although this field is not marked as required in the API specification, it is currently required when creating an Index and must be provided.
80
+ Attempts to create an Index without this field will result in an API error.
81
+ Structure is documented below.
82
+ """
83
+ return pulumi.get(self, "metadata")
84
+
85
+ @metadata.setter
86
+ def metadata(self, value: pulumi.Input['AiIndexMetadataArgs']):
87
+ pulumi.set(self, "metadata", value)
88
+
75
89
  @_builtins.property
76
90
  @pulumi.getter
77
91
  def description(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -112,21 +126,6 @@ class AiIndexArgs:
112
126
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
113
127
  pulumi.set(self, "labels", value)
114
128
 
115
- @_builtins.property
116
- @pulumi.getter
117
- def metadata(self) -> Optional[pulumi.Input['AiIndexMetadataArgs']]:
118
- """
119
- Additional information about the Index.
120
- Although this field is not marked as required in the API specification, it is currently required when creating an Index and must be provided.
121
- Attempts to create an Index without this field will result in an API error.
122
- Structure is documented below.
123
- """
124
- return pulumi.get(self, "metadata")
125
-
126
- @metadata.setter
127
- def metadata(self, value: Optional[pulumi.Input['AiIndexMetadataArgs']]):
128
- pulumi.set(self, "metadata", value)
129
-
130
129
  @_builtins.property
131
130
  @pulumi.getter
132
131
  def project(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -756,6 +755,8 @@ class AiIndex(pulumi.CustomResource):
756
755
  __props__.__dict__["display_name"] = display_name
757
756
  __props__.__dict__["index_update_method"] = index_update_method
758
757
  __props__.__dict__["labels"] = labels
758
+ if metadata is None and not opts.urn:
759
+ raise TypeError("Missing required property 'metadata'")
759
760
  __props__.__dict__["metadata"] = metadata
760
761
  __props__.__dict__["project"] = project
761
762
  __props__.__dict__["region"] = region
@@ -933,7 +934,7 @@ class AiIndex(pulumi.CustomResource):
933
934
 
934
935
  @_builtins.property
935
936
  @pulumi.getter
936
- def metadata(self) -> pulumi.Output[Optional['outputs.AiIndexMetadata']]:
937
+ def metadata(self) -> pulumi.Output['outputs.AiIndexMetadata']:
937
938
  """
938
939
  Additional information about the Index.
939
940
  Although this field is not marked as required in the API specification, it is currently required when creating an Index and must be provided.
@@ -265,6 +265,14 @@ class AiMetadataStore(pulumi.CustomResource):
265
265
  region: Optional[pulumi.Input[_builtins.str]] = None,
266
266
  __props__=None):
267
267
  """
268
+ Instance of a metadata store. Contains a set of metadata that can be queried.
269
+
270
+ To get more information about MetadataStore, see:
271
+
272
+ * [API documentation](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.metadataStores)
273
+ * How-to Guides
274
+ * [Official Documentation](https://cloud.google.com/vertex-ai/docs)
275
+
268
276
  ## Example Usage
269
277
 
270
278
  ### Vertex Ai Metadata Store
@@ -326,6 +334,14 @@ class AiMetadataStore(pulumi.CustomResource):
326
334
  args: Optional[AiMetadataStoreArgs] = None,
327
335
  opts: Optional[pulumi.ResourceOptions] = None):
328
336
  """
337
+ Instance of a metadata store. Contains a set of metadata that can be queried.
338
+
339
+ To get more information about MetadataStore, see:
340
+
341
+ * [API documentation](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.metadataStores)
342
+ * How-to Guides
343
+ * [Official Documentation](https://cloud.google.com/vertex-ai/docs)
344
+
329
345
  ## Example Usage
330
346
 
331
347
  ### Vertex Ai Metadata Store