pulumi-gcp 8.40.0a1754636117__py3-none-any.whl → 8.40.0a1754951145__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. pulumi_gcp/__init__.py +128 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +24 -4
  3. pulumi_gcp/accesscontextmanager/outputs.py +15 -3
  4. pulumi_gcp/apigee/__init__.py +2 -0
  5. pulumi_gcp/apigee/_inputs.py +1435 -0
  6. pulumi_gcp/apigee/api_product.py +1698 -0
  7. pulumi_gcp/apigee/outputs.py +1081 -0
  8. pulumi_gcp/apigee/security_action.py +1010 -0
  9. pulumi_gcp/artifactregistry/__init__.py +1 -0
  10. pulumi_gcp/artifactregistry/get_docker_images.py +164 -0
  11. pulumi_gcp/artifactregistry/outputs.py +109 -2
  12. pulumi_gcp/artifactregistry/repository.py +6 -6
  13. pulumi_gcp/backupdisasterrecovery/backup_vault.py +56 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +12 -1
  15. pulumi_gcp/bigquery/_inputs.py +6 -0
  16. pulumi_gcp/bigquery/get_table.py +23 -1
  17. pulumi_gcp/bigquery/outputs.py +4 -0
  18. pulumi_gcp/bigquery/table.py +62 -0
  19. pulumi_gcp/bigqueryanalyticshub/_inputs.py +180 -0
  20. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +80 -0
  21. pulumi_gcp/bigqueryanalyticshub/listing.py +322 -2
  22. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +32 -0
  23. pulumi_gcp/bigqueryanalyticshub/outputs.py +159 -0
  24. pulumi_gcp/bigtable/__init__.py +1 -0
  25. pulumi_gcp/bigtable/_inputs.py +33 -0
  26. pulumi_gcp/bigtable/outputs.py +36 -0
  27. pulumi_gcp/bigtable/schema_bundle.py +568 -0
  28. pulumi_gcp/cloudfunctions/_inputs.py +48 -0
  29. pulumi_gcp/cloudfunctions/function.py +94 -0
  30. pulumi_gcp/cloudfunctions/get_function.py +23 -1
  31. pulumi_gcp/cloudfunctions/outputs.py +70 -0
  32. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  33. pulumi_gcp/cloudrunv2/job.py +2 -0
  34. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  35. pulumi_gcp/cloudrunv2/worker_pool.py +2 -0
  36. pulumi_gcp/compute/__init__.py +1 -0
  37. pulumi_gcp/compute/_inputs.py +713 -22
  38. pulumi_gcp/compute/firewall_policy_with_rules.py +66 -0
  39. pulumi_gcp/compute/forwarding_rule.py +0 -21
  40. pulumi_gcp/compute/get_router.py +12 -1
  41. pulumi_gcp/compute/outputs.py +562 -22
  42. pulumi_gcp/compute/preview_feature.py +396 -0
  43. pulumi_gcp/compute/region_url_map.py +392 -0
  44. pulumi_gcp/compute/reservation.py +4 -4
  45. pulumi_gcp/compute/router.py +54 -0
  46. pulumi_gcp/compute/storage_pool.py +154 -0
  47. pulumi_gcp/compute/subnetwork.py +54 -0
  48. pulumi_gcp/config/__init__.pyi +2 -0
  49. pulumi_gcp/config/vars.py +4 -0
  50. pulumi_gcp/container/_inputs.py +278 -8
  51. pulumi_gcp/container/cluster.py +61 -21
  52. pulumi_gcp/container/get_cluster.py +12 -1
  53. pulumi_gcp/container/outputs.py +352 -8
  54. pulumi_gcp/dataproc/_inputs.py +249 -14
  55. pulumi_gcp/dataproc/batch.py +6 -0
  56. pulumi_gcp/dataproc/cluster.py +2 -0
  57. pulumi_gcp/dataproc/outputs.py +215 -12
  58. pulumi_gcp/dataproc/session_template.py +14 -2
  59. pulumi_gcp/developerconnect/__init__.py +1 -0
  60. pulumi_gcp/developerconnect/_inputs.py +583 -0
  61. pulumi_gcp/developerconnect/insights_config.py +895 -0
  62. pulumi_gcp/developerconnect/outputs.py +442 -0
  63. pulumi_gcp/diagflow/__init__.py +1 -0
  64. pulumi_gcp/diagflow/_inputs.py +1165 -58
  65. pulumi_gcp/diagflow/cx_generator.py +636 -0
  66. pulumi_gcp/diagflow/cx_tool.py +2 -2
  67. pulumi_gcp/diagflow/cx_webhook.py +380 -36
  68. pulumi_gcp/diagflow/outputs.py +848 -25
  69. pulumi_gcp/discoveryengine/__init__.py +2 -0
  70. pulumi_gcp/discoveryengine/_inputs.py +465 -0
  71. pulumi_gcp/discoveryengine/cmek_config.py +707 -0
  72. pulumi_gcp/discoveryengine/outputs.py +412 -0
  73. pulumi_gcp/discoveryengine/recommendation_engine.py +813 -0
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +107 -9
  76. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +2 -2
  77. pulumi_gcp/gkehub/membership_binding.py +6 -6
  78. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  79. pulumi_gcp/gkehub/namespace.py +4 -4
  80. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  81. pulumi_gcp/iam/__init__.py +4 -0
  82. pulumi_gcp/iam/_inputs.py +98 -0
  83. pulumi_gcp/iam/get_workforce_pool_iam_policy.py +161 -0
  84. pulumi_gcp/iam/outputs.py +56 -0
  85. pulumi_gcp/iam/workforce_pool_iam_binding.py +761 -0
  86. pulumi_gcp/iam/workforce_pool_iam_member.py +761 -0
  87. pulumi_gcp/iam/workforce_pool_iam_policy.py +600 -0
  88. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  89. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  90. pulumi_gcp/looker/instance.py +28 -7
  91. pulumi_gcp/managedkafka/_inputs.py +127 -0
  92. pulumi_gcp/managedkafka/cluster.py +131 -1
  93. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  94. pulumi_gcp/managedkafka/connector.py +4 -4
  95. pulumi_gcp/managedkafka/outputs.py +128 -0
  96. pulumi_gcp/memorystore/instance.py +8 -12
  97. pulumi_gcp/modelarmor/__init__.py +1 -0
  98. pulumi_gcp/modelarmor/_inputs.py +683 -0
  99. pulumi_gcp/modelarmor/floorsetting.py +736 -0
  100. pulumi_gcp/modelarmor/outputs.py +618 -0
  101. pulumi_gcp/networkconnectivity/_inputs.py +60 -0
  102. pulumi_gcp/networkconnectivity/internal_range.py +136 -0
  103. pulumi_gcp/networkconnectivity/outputs.py +55 -0
  104. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  105. pulumi_gcp/oracledatabase/__init__.py +2 -0
  106. pulumi_gcp/oracledatabase/autonomous_database.py +262 -38
  107. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +314 -50
  108. pulumi_gcp/oracledatabase/get_autonomous_database.py +23 -1
  109. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +34 -1
  110. pulumi_gcp/oracledatabase/odb_network.py +721 -0
  111. pulumi_gcp/oracledatabase/odb_subnet.py +803 -0
  112. pulumi_gcp/oracledatabase/outputs.py +83 -0
  113. pulumi_gcp/orgpolicy/policy.py +2 -2
  114. pulumi_gcp/parametermanager/parameter_version.py +62 -0
  115. pulumi_gcp/parametermanager/regional_parameter_version.py +64 -0
  116. pulumi_gcp/provider.py +20 -0
  117. pulumi_gcp/pubsub/subscription.py +46 -6
  118. pulumi_gcp/pubsub/topic.py +36 -0
  119. pulumi_gcp/pulumi-plugin.json +1 -1
  120. pulumi_gcp/redis/cluster.py +70 -0
  121. pulumi_gcp/redis/get_cluster.py +12 -1
  122. pulumi_gcp/redis/instance.py +8 -12
  123. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  124. pulumi_gcp/secretmanager/get_secret.py +12 -1
  125. pulumi_gcp/secretmanager/outputs.py +30 -0
  126. pulumi_gcp/secretmanager/regional_secret.py +61 -0
  127. pulumi_gcp/secretmanager/secret.py +61 -0
  128. pulumi_gcp/securesourcemanager/branch_rule.py +16 -8
  129. pulumi_gcp/securesourcemanager/instance.py +112 -4
  130. pulumi_gcp/securesourcemanager/repository.py +112 -8
  131. pulumi_gcp/serviceaccount/get_account_key.py +1 -0
  132. pulumi_gcp/sql/_inputs.py +6 -6
  133. pulumi_gcp/sql/database.py +0 -12
  134. pulumi_gcp/sql/outputs.py +4 -4
  135. pulumi_gcp/storage/__init__.py +2 -0
  136. pulumi_gcp/storage/_inputs.py +451 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/bucket_object.py +34 -0
  139. pulumi_gcp/storage/get_bucket_object.py +12 -1
  140. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  141. pulumi_gcp/storage/get_insights_dataset_config.py +363 -0
  142. pulumi_gcp/storage/insights_dataset_config.py +1280 -0
  143. pulumi_gcp/storage/outputs.py +619 -0
  144. pulumi_gcp/vertex/__init__.py +1 -0
  145. pulumi_gcp/vertex/_inputs.py +3646 -3
  146. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  147. pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +940 -0
  148. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  149. pulumi_gcp/vertex/outputs.py +2609 -2
  150. pulumi_gcp/vmwareengine/network_peering.py +7 -7
  151. pulumi_gcp/workbench/_inputs.py +118 -0
  152. pulumi_gcp/workbench/instance.py +171 -2
  153. pulumi_gcp/workbench/outputs.py +91 -0
  154. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/METADATA +1 -1
  155. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/RECORD +157 -138
  156. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/WHEEL +0 -0
  157. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/top_level.txt +0 -0
@@ -34,7 +34,7 @@ class NetworkPeeringArgs:
34
34
  :param pulumi.Input[_builtins.str] peer_network: The relative resource name of the network to peer with a standard VMware Engine network.
35
35
  The provided network can be a consumer VPC network or another standard VMware Engine network.
36
36
  :param pulumi.Input[_builtins.str] peer_network_type: The type of the network to peer with the VMware Engine network.
37
- Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`.
37
+ Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`, `GOOGLE_CLOUD_NETAPP_VOLUMES`.
38
38
  :param pulumi.Input[_builtins.str] vmware_engine_network: The relative resource name of the VMware Engine network. Specify the name in the following form:
39
39
  projects/{project}/locations/{location}/vmwareEngineNetworks/{vmwareEngineNetworkId} where {project}
40
40
  can either be a project number or a project ID.
@@ -83,7 +83,7 @@ class NetworkPeeringArgs:
83
83
  def peer_network_type(self) -> pulumi.Input[_builtins.str]:
84
84
  """
85
85
  The type of the network to peer with the VMware Engine network.
86
- Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`.
86
+ Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`, `GOOGLE_CLOUD_NETAPP_VOLUMES`.
87
87
  """
88
88
  return pulumi.get(self, "peer_network_type")
89
89
 
@@ -224,7 +224,7 @@ class _NetworkPeeringState:
224
224
  :param pulumi.Input[_builtins.str] peer_network: The relative resource name of the network to peer with a standard VMware Engine network.
225
225
  The provided network can be a consumer VPC network or another standard VMware Engine network.
226
226
  :param pulumi.Input[_builtins.str] peer_network_type: The type of the network to peer with the VMware Engine network.
227
- Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`.
227
+ Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`, `GOOGLE_CLOUD_NETAPP_VOLUMES`.
228
228
  :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
229
229
  If it is not provided, the provider project is used.
230
230
  :param pulumi.Input[_builtins.str] state: State of the network peering.
@@ -378,7 +378,7 @@ class _NetworkPeeringState:
378
378
  def peer_network_type(self) -> Optional[pulumi.Input[_builtins.str]]:
379
379
  """
380
380
  The type of the network to peer with the VMware Engine network.
381
- Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`.
381
+ Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`, `GOOGLE_CLOUD_NETAPP_VOLUMES`.
382
382
  """
383
383
  return pulumi.get(self, "peer_network_type")
384
384
 
@@ -584,7 +584,7 @@ class NetworkPeering(pulumi.CustomResource):
584
584
  :param pulumi.Input[_builtins.str] peer_network: The relative resource name of the network to peer with a standard VMware Engine network.
585
585
  The provided network can be a consumer VPC network or another standard VMware Engine network.
586
586
  :param pulumi.Input[_builtins.str] peer_network_type: The type of the network to peer with the VMware Engine network.
587
- Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`.
587
+ Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`, `GOOGLE_CLOUD_NETAPP_VOLUMES`.
588
588
  :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
589
589
  If it is not provided, the provider project is used.
590
590
  :param pulumi.Input[_builtins.str] vmware_engine_network: The relative resource name of the VMware Engine network. Specify the name in the following form:
@@ -775,7 +775,7 @@ class NetworkPeering(pulumi.CustomResource):
775
775
  :param pulumi.Input[_builtins.str] peer_network: The relative resource name of the network to peer with a standard VMware Engine network.
776
776
  The provided network can be a consumer VPC network or another standard VMware Engine network.
777
777
  :param pulumi.Input[_builtins.str] peer_network_type: The type of the network to peer with the VMware Engine network.
778
- Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`.
778
+ Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`, `GOOGLE_CLOUD_NETAPP_VOLUMES`.
779
779
  :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
780
780
  If it is not provided, the provider project is used.
781
781
  :param pulumi.Input[_builtins.str] state: State of the network peering.
@@ -886,7 +886,7 @@ class NetworkPeering(pulumi.CustomResource):
886
886
  def peer_network_type(self) -> pulumi.Output[_builtins.str]:
887
887
  """
888
888
  The type of the network to peer with the VMware Engine network.
889
- Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`.
889
+ Possible values are: `STANDARD`, `VMWARE_ENGINE_NETWORK`, `PRIVATE_SERVICES_ACCESS`, `NETAPP_CLOUD_VOLUMES`, `THIRD_PARTY_SERVICE`, `DELL_POWERSCALE`, `GOOGLE_CLOUD_NETAPP_VOLUMES`.
890
890
  """
891
891
  return pulumi.get(self, "peer_network_type")
892
892
 
@@ -31,6 +31,8 @@ __all__ = [
31
31
  'InstanceGceSetupNetworkInterfaceArgsDict',
32
32
  'InstanceGceSetupNetworkInterfaceAccessConfigArgs',
33
33
  'InstanceGceSetupNetworkInterfaceAccessConfigArgsDict',
34
+ 'InstanceGceSetupReservationAffinityArgs',
35
+ 'InstanceGceSetupReservationAffinityArgsDict',
34
36
  'InstanceGceSetupServiceAccountArgs',
35
37
  'InstanceGceSetupServiceAccountArgsDict',
36
38
  'InstanceGceSetupShieldedInstanceConfigArgs',
@@ -100,6 +102,11 @@ if not MYPY:
100
102
  The network interfaces for the VM. Supports only one interface.
101
103
  Structure is documented below.
102
104
  """
105
+ reservation_affinity: NotRequired[pulumi.Input['InstanceGceSetupReservationAffinityArgsDict']]
106
+ """
107
+ Reservations that this instance can consume from.
108
+ Structure is documented below.
109
+ """
103
110
  service_accounts: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupServiceAccountArgsDict']]]]
104
111
  """
105
112
  The service account that serves as an identity for the VM instance. Currently supports only one service account.
@@ -139,6 +146,7 @@ class InstanceGceSetupArgs:
139
146
  machine_type: Optional[pulumi.Input[_builtins.str]] = None,
140
147
  metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
141
148
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupNetworkInterfaceArgs']]]] = None,
149
+ reservation_affinity: Optional[pulumi.Input['InstanceGceSetupReservationAffinityArgs']] = None,
142
150
  service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupServiceAccountArgs']]]] = None,
143
151
  shielded_instance_config: Optional[pulumi.Input['InstanceGceSetupShieldedInstanceConfigArgs']] = None,
144
152
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
@@ -163,6 +171,8 @@ class InstanceGceSetupArgs:
163
171
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] metadata: Optional. Custom metadata to apply to this instance.
164
172
  :param pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupNetworkInterfaceArgs']]] network_interfaces: The network interfaces for the VM. Supports only one interface.
165
173
  Structure is documented below.
174
+ :param pulumi.Input['InstanceGceSetupReservationAffinityArgs'] reservation_affinity: Reservations that this instance can consume from.
175
+ Structure is documented below.
166
176
  :param pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupServiceAccountArgs']]] service_accounts: The service account that serves as an identity for the VM instance. Currently supports only one service account.
167
177
  Structure is documented below.
168
178
  :param pulumi.Input['InstanceGceSetupShieldedInstanceConfigArgs'] shielded_instance_config: A set of Shielded Instance options. See [Images using supported Shielded
@@ -195,6 +205,8 @@ class InstanceGceSetupArgs:
195
205
  pulumi.set(__self__, "metadata", metadata)
196
206
  if network_interfaces is not None:
197
207
  pulumi.set(__self__, "network_interfaces", network_interfaces)
208
+ if reservation_affinity is not None:
209
+ pulumi.set(__self__, "reservation_affinity", reservation_affinity)
198
210
  if service_accounts is not None:
199
211
  pulumi.set(__self__, "service_accounts", service_accounts)
200
212
  if shielded_instance_config is not None:
@@ -333,6 +345,19 @@ class InstanceGceSetupArgs:
333
345
  def network_interfaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupNetworkInterfaceArgs']]]]):
334
346
  pulumi.set(self, "network_interfaces", value)
335
347
 
348
+ @_builtins.property
349
+ @pulumi.getter(name="reservationAffinity")
350
+ def reservation_affinity(self) -> Optional[pulumi.Input['InstanceGceSetupReservationAffinityArgs']]:
351
+ """
352
+ Reservations that this instance can consume from.
353
+ Structure is documented below.
354
+ """
355
+ return pulumi.get(self, "reservation_affinity")
356
+
357
+ @reservation_affinity.setter
358
+ def reservation_affinity(self, value: Optional[pulumi.Input['InstanceGceSetupReservationAffinityArgs']]):
359
+ pulumi.set(self, "reservation_affinity", value)
360
+
336
361
  @_builtins.property
337
362
  @pulumi.getter(name="serviceAccounts")
338
363
  def service_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupServiceAccountArgs']]]]:
@@ -912,6 +937,99 @@ class InstanceGceSetupNetworkInterfaceAccessConfigArgs:
912
937
  pulumi.set(self, "external_ip", value)
913
938
 
914
939
 
940
+ if not MYPY:
941
+ class InstanceGceSetupReservationAffinityArgsDict(TypedDict):
942
+ consume_reservation_type: NotRequired[pulumi.Input[_builtins.str]]
943
+ """
944
+ Specifies the type of reservation from which this instance can consume resources:
945
+ RESERVATION_ANY (default), RESERVATION_SPECIFIC, or RESERVATION_NONE.
946
+ Possible values are: `RESERVATION_NONE`, `RESERVATION_ANY`, `RESERVATION_SPECIFIC`.
947
+ """
948
+ key: NotRequired[pulumi.Input[_builtins.str]]
949
+ """
950
+ Corresponds to the label key of a reservation resource. To target a
951
+ RESERVATION_SPECIFIC by name, use compute.googleapis.com/reservation-name
952
+ as the key and specify the name of your reservation as its value.
953
+ """
954
+ values: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
955
+ """
956
+ Corresponds to the label values of a reservation resource. This can be
957
+ either a name to a reservation in the same project or
958
+ "projects/different-project/reservations/some-reservation-name"
959
+ to target a shared reservation in the same zone but in a different project.
960
+ """
961
+ elif False:
962
+ InstanceGceSetupReservationAffinityArgsDict: TypeAlias = Mapping[str, Any]
963
+
964
+ @pulumi.input_type
965
+ class InstanceGceSetupReservationAffinityArgs:
966
+ def __init__(__self__, *,
967
+ consume_reservation_type: Optional[pulumi.Input[_builtins.str]] = None,
968
+ key: Optional[pulumi.Input[_builtins.str]] = None,
969
+ values: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
970
+ """
971
+ :param pulumi.Input[_builtins.str] consume_reservation_type: Specifies the type of reservation from which this instance can consume resources:
972
+ RESERVATION_ANY (default), RESERVATION_SPECIFIC, or RESERVATION_NONE.
973
+ Possible values are: `RESERVATION_NONE`, `RESERVATION_ANY`, `RESERVATION_SPECIFIC`.
974
+ :param pulumi.Input[_builtins.str] key: Corresponds to the label key of a reservation resource. To target a
975
+ RESERVATION_SPECIFIC by name, use compute.googleapis.com/reservation-name
976
+ as the key and specify the name of your reservation as its value.
977
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] values: Corresponds to the label values of a reservation resource. This can be
978
+ either a name to a reservation in the same project or
979
+ "projects/different-project/reservations/some-reservation-name"
980
+ to target a shared reservation in the same zone but in a different project.
981
+ """
982
+ if consume_reservation_type is not None:
983
+ pulumi.set(__self__, "consume_reservation_type", consume_reservation_type)
984
+ if key is not None:
985
+ pulumi.set(__self__, "key", key)
986
+ if values is not None:
987
+ pulumi.set(__self__, "values", values)
988
+
989
+ @_builtins.property
990
+ @pulumi.getter(name="consumeReservationType")
991
+ def consume_reservation_type(self) -> Optional[pulumi.Input[_builtins.str]]:
992
+ """
993
+ Specifies the type of reservation from which this instance can consume resources:
994
+ RESERVATION_ANY (default), RESERVATION_SPECIFIC, or RESERVATION_NONE.
995
+ Possible values are: `RESERVATION_NONE`, `RESERVATION_ANY`, `RESERVATION_SPECIFIC`.
996
+ """
997
+ return pulumi.get(self, "consume_reservation_type")
998
+
999
+ @consume_reservation_type.setter
1000
+ def consume_reservation_type(self, value: Optional[pulumi.Input[_builtins.str]]):
1001
+ pulumi.set(self, "consume_reservation_type", value)
1002
+
1003
+ @_builtins.property
1004
+ @pulumi.getter
1005
+ def key(self) -> Optional[pulumi.Input[_builtins.str]]:
1006
+ """
1007
+ Corresponds to the label key of a reservation resource. To target a
1008
+ RESERVATION_SPECIFIC by name, use compute.googleapis.com/reservation-name
1009
+ as the key and specify the name of your reservation as its value.
1010
+ """
1011
+ return pulumi.get(self, "key")
1012
+
1013
+ @key.setter
1014
+ def key(self, value: Optional[pulumi.Input[_builtins.str]]):
1015
+ pulumi.set(self, "key", value)
1016
+
1017
+ @_builtins.property
1018
+ @pulumi.getter
1019
+ def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1020
+ """
1021
+ Corresponds to the label values of a reservation resource. This can be
1022
+ either a name to a reservation in the same project or
1023
+ "projects/different-project/reservations/some-reservation-name"
1024
+ to target a shared reservation in the same zone but in a different project.
1025
+ """
1026
+ return pulumi.get(self, "values")
1027
+
1028
+ @values.setter
1029
+ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1030
+ pulumi.set(self, "values", value)
1031
+
1032
+
915
1033
  if not MYPY:
916
1034
  class InstanceGceSetupServiceAccountArgsDict(TypedDict):
917
1035
  email: NotRequired[pulumi.Input[_builtins.str]]
@@ -24,6 +24,7 @@ class InstanceArgs:
24
24
  location: pulumi.Input[_builtins.str],
25
25
  desired_state: Optional[pulumi.Input[_builtins.str]] = None,
26
26
  disable_proxy_access: Optional[pulumi.Input[_builtins.bool]] = None,
27
+ enable_managed_euc: Optional[pulumi.Input[_builtins.bool]] = None,
27
28
  enable_third_party_identity: Optional[pulumi.Input[_builtins.bool]] = None,
28
29
  gce_setup: Optional[pulumi.Input['InstanceGceSetupArgs']] = None,
29
30
  instance_id: Optional[pulumi.Input[_builtins.str]] = None,
@@ -36,6 +37,7 @@ class InstanceArgs:
36
37
  :param pulumi.Input[_builtins.str] location: Part of `parent`. See documentation of `projectsId`.
37
38
  :param pulumi.Input[_builtins.str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
38
39
  :param pulumi.Input[_builtins.bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
40
+ :param pulumi.Input[_builtins.bool] enable_managed_euc: Flag to enable managed end user credentials for the instance.
39
41
  :param pulumi.Input[_builtins.bool] enable_third_party_identity: Flag that specifies that a notebook can be accessed with third party
40
42
  identity provider.
41
43
  :param pulumi.Input['InstanceGceSetupArgs'] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
@@ -60,6 +62,8 @@ class InstanceArgs:
60
62
  pulumi.set(__self__, "desired_state", desired_state)
61
63
  if disable_proxy_access is not None:
62
64
  pulumi.set(__self__, "disable_proxy_access", disable_proxy_access)
65
+ if enable_managed_euc is not None:
66
+ pulumi.set(__self__, "enable_managed_euc", enable_managed_euc)
63
67
  if enable_third_party_identity is not None:
64
68
  pulumi.set(__self__, "enable_third_party_identity", enable_third_party_identity)
65
69
  if gce_setup is not None:
@@ -111,6 +115,18 @@ class InstanceArgs:
111
115
  def disable_proxy_access(self, value: Optional[pulumi.Input[_builtins.bool]]):
112
116
  pulumi.set(self, "disable_proxy_access", value)
113
117
 
118
+ @_builtins.property
119
+ @pulumi.getter(name="enableManagedEuc")
120
+ def enable_managed_euc(self) -> Optional[pulumi.Input[_builtins.bool]]:
121
+ """
122
+ Flag to enable managed end user credentials for the instance.
123
+ """
124
+ return pulumi.get(self, "enable_managed_euc")
125
+
126
+ @enable_managed_euc.setter
127
+ def enable_managed_euc(self, value: Optional[pulumi.Input[_builtins.bool]]):
128
+ pulumi.set(self, "enable_managed_euc", value)
129
+
114
130
  @_builtins.property
115
131
  @pulumi.getter(name="enableThirdPartyIdentity")
116
132
  def enable_third_party_identity(self) -> Optional[pulumi.Input[_builtins.bool]]:
@@ -215,6 +231,7 @@ class _InstanceState:
215
231
  desired_state: Optional[pulumi.Input[_builtins.str]] = None,
216
232
  disable_proxy_access: Optional[pulumi.Input[_builtins.bool]] = None,
217
233
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
234
+ enable_managed_euc: Optional[pulumi.Input[_builtins.bool]] = None,
218
235
  enable_third_party_identity: Optional[pulumi.Input[_builtins.bool]] = None,
219
236
  gce_setup: Optional[pulumi.Input['InstanceGceSetupArgs']] = None,
220
237
  health_infos: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceHealthInfoArgs']]]] = None,
@@ -238,6 +255,7 @@ class _InstanceState:
238
255
  :param pulumi.Input[_builtins.str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
239
256
  :param pulumi.Input[_builtins.bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
240
257
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
258
+ :param pulumi.Input[_builtins.bool] enable_managed_euc: Flag to enable managed end user credentials for the instance.
241
259
  :param pulumi.Input[_builtins.bool] enable_third_party_identity: Flag that specifies that a notebook can be accessed with third party
242
260
  identity provider.
243
261
  :param pulumi.Input['InstanceGceSetupArgs'] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
@@ -281,6 +299,8 @@ class _InstanceState:
281
299
  pulumi.set(__self__, "disable_proxy_access", disable_proxy_access)
282
300
  if effective_labels is not None:
283
301
  pulumi.set(__self__, "effective_labels", effective_labels)
302
+ if enable_managed_euc is not None:
303
+ pulumi.set(__self__, "enable_managed_euc", enable_managed_euc)
284
304
  if enable_third_party_identity is not None:
285
305
  pulumi.set(__self__, "enable_third_party_identity", enable_third_party_identity)
286
306
  if gce_setup is not None:
@@ -373,6 +393,18 @@ class _InstanceState:
373
393
  def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
374
394
  pulumi.set(self, "effective_labels", value)
375
395
 
396
+ @_builtins.property
397
+ @pulumi.getter(name="enableManagedEuc")
398
+ def enable_managed_euc(self) -> Optional[pulumi.Input[_builtins.bool]]:
399
+ """
400
+ Flag to enable managed end user credentials for the instance.
401
+ """
402
+ return pulumi.get(self, "enable_managed_euc")
403
+
404
+ @enable_managed_euc.setter
405
+ def enable_managed_euc(self, value: Optional[pulumi.Input[_builtins.bool]]):
406
+ pulumi.set(self, "enable_managed_euc", value)
407
+
376
408
  @_builtins.property
377
409
  @pulumi.getter(name="enableThirdPartyIdentity")
378
410
  def enable_third_party_identity(self) -> Optional[pulumi.Input[_builtins.bool]]:
@@ -579,6 +611,7 @@ class Instance(pulumi.CustomResource):
579
611
  opts: Optional[pulumi.ResourceOptions] = None,
580
612
  desired_state: Optional[pulumi.Input[_builtins.str]] = None,
581
613
  disable_proxy_access: Optional[pulumi.Input[_builtins.bool]] = None,
614
+ enable_managed_euc: Optional[pulumi.Input[_builtins.bool]] = None,
582
615
  enable_third_party_identity: Optional[pulumi.Input[_builtins.bool]] = None,
583
616
  gce_setup: Optional[pulumi.Input[Union['InstanceGceSetupArgs', 'InstanceGceSetupArgsDict']]] = None,
584
617
  instance_id: Optional[pulumi.Input[_builtins.str]] = None,
@@ -631,6 +664,20 @@ class Instance(pulumi.CustomResource):
631
664
  import pulumi
632
665
  import pulumi_gcp as gcp
633
666
 
667
+ gpu_reservation = gcp.compute.Reservation("gpu_reservation",
668
+ name="wbi-reservation",
669
+ zone="us-central1-a",
670
+ specific_reservation={
671
+ "count": 1,
672
+ "instance_properties": {
673
+ "machine_type": "n1-standard-1",
674
+ "guest_accelerators": [{
675
+ "accelerator_type": "nvidia-tesla-t4",
676
+ "accelerator_count": 1,
677
+ }],
678
+ },
679
+ },
680
+ specific_reservation_required=False)
634
681
  instance = gcp.workbench.Instance("instance",
635
682
  name="workbench-instance",
636
683
  location="us-central1-a",
@@ -644,7 +691,11 @@ class Instance(pulumi.CustomResource):
644
691
  "project": "cloud-notebooks-managed",
645
692
  "family": "workbench-instances",
646
693
  },
647
- })
694
+ "reservation_affinity": {
695
+ "consume_reservation_type": "RESERVATION_ANY",
696
+ },
697
+ },
698
+ opts = pulumi.ResourceOptions(depends_on=[gpu_reservation]))
648
699
  ```
649
700
  ### Workbench Instance Labels Stopped
650
701
 
@@ -693,6 +744,20 @@ class Instance(pulumi.CustomResource):
693
744
  service_account_id="projects/my-project-name/serviceAccounts/my@service-account.com",
694
745
  role="roles/iam.serviceAccountUser",
695
746
  members=["user:example@example.com"])
747
+ gpu_reservation = gcp.compute.Reservation("gpu_reservation",
748
+ name="wbi-reservation",
749
+ zone="us-central1-a",
750
+ specific_reservation={
751
+ "count": 1,
752
+ "instance_properties": {
753
+ "machine_type": "n1-standard-4",
754
+ "guest_accelerators": [{
755
+ "accelerator_type": "nvidia-tesla-t4",
756
+ "accelerator_count": 1,
757
+ }],
758
+ },
759
+ },
760
+ specific_reservation_required=True)
696
761
  instance = gcp.workbench.Instance("instance",
697
762
  name="workbench-instance",
698
763
  location="us-central1-a",
@@ -735,6 +800,11 @@ class Instance(pulumi.CustomResource):
735
800
  "terraform": "true",
736
801
  "serial-port-logging-enable": "false",
737
802
  },
803
+ "reservation_affinity": {
804
+ "consume_reservation_type": "RESERVATION_SPECIFIC",
805
+ "key": "compute.googleapis.com/reservation-name",
806
+ "values": [gpu_reservation.name],
807
+ },
738
808
  "enable_ip_forwarding": True,
739
809
  "tags": [
740
810
  "abc",
@@ -753,6 +823,7 @@ class Instance(pulumi.CustomResource):
753
823
  my_subnetwork,
754
824
  static,
755
825
  act_as_permission,
826
+ gpu_reservation,
756
827
  ]))
757
828
  ```
758
829
  ### Workbench Instance Confidential Compute
@@ -779,6 +850,29 @@ class Instance(pulumi.CustomResource):
779
850
  },
780
851
  })
781
852
  ```
853
+ ### Workbench Instance Euc
854
+
855
+ ```python
856
+ import pulumi
857
+ import pulumi_gcp as gcp
858
+
859
+ act_as_permission = gcp.serviceaccount.IAMBinding("act_as_permission",
860
+ service_account_id="projects/my-project-name/serviceAccounts/1111111111111-compute@developer.gserviceaccount.com",
861
+ role="roles/iam.serviceAccountUser",
862
+ members=["user:example@example.com"])
863
+ instance = gcp.workbench.Instance("instance",
864
+ name="workbench-instance",
865
+ location="us-central1-a",
866
+ gce_setup={
867
+ "machine_type": "e2-standard-4",
868
+ "metadata": {
869
+ "terraform": "true",
870
+ },
871
+ },
872
+ instance_owners=["example@example.com"],
873
+ enable_managed_euc=True,
874
+ opts = pulumi.ResourceOptions(depends_on=[act_as_permission]))
875
+ ```
782
876
 
783
877
  ## Import
784
878
 
@@ -808,6 +902,7 @@ class Instance(pulumi.CustomResource):
808
902
  :param pulumi.ResourceOptions opts: Options for the resource.
809
903
  :param pulumi.Input[_builtins.str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
810
904
  :param pulumi.Input[_builtins.bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
905
+ :param pulumi.Input[_builtins.bool] enable_managed_euc: Flag to enable managed end user credentials for the instance.
811
906
  :param pulumi.Input[_builtins.bool] enable_third_party_identity: Flag that specifies that a notebook can be accessed with third party
812
907
  identity provider.
813
908
  :param pulumi.Input[Union['InstanceGceSetupArgs', 'InstanceGceSetupArgsDict']] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
@@ -877,6 +972,20 @@ class Instance(pulumi.CustomResource):
877
972
  import pulumi
878
973
  import pulumi_gcp as gcp
879
974
 
975
+ gpu_reservation = gcp.compute.Reservation("gpu_reservation",
976
+ name="wbi-reservation",
977
+ zone="us-central1-a",
978
+ specific_reservation={
979
+ "count": 1,
980
+ "instance_properties": {
981
+ "machine_type": "n1-standard-1",
982
+ "guest_accelerators": [{
983
+ "accelerator_type": "nvidia-tesla-t4",
984
+ "accelerator_count": 1,
985
+ }],
986
+ },
987
+ },
988
+ specific_reservation_required=False)
880
989
  instance = gcp.workbench.Instance("instance",
881
990
  name="workbench-instance",
882
991
  location="us-central1-a",
@@ -890,7 +999,11 @@ class Instance(pulumi.CustomResource):
890
999
  "project": "cloud-notebooks-managed",
891
1000
  "family": "workbench-instances",
892
1001
  },
893
- })
1002
+ "reservation_affinity": {
1003
+ "consume_reservation_type": "RESERVATION_ANY",
1004
+ },
1005
+ },
1006
+ opts = pulumi.ResourceOptions(depends_on=[gpu_reservation]))
894
1007
  ```
895
1008
  ### Workbench Instance Labels Stopped
896
1009
 
@@ -939,6 +1052,20 @@ class Instance(pulumi.CustomResource):
939
1052
  service_account_id="projects/my-project-name/serviceAccounts/my@service-account.com",
940
1053
  role="roles/iam.serviceAccountUser",
941
1054
  members=["user:example@example.com"])
1055
+ gpu_reservation = gcp.compute.Reservation("gpu_reservation",
1056
+ name="wbi-reservation",
1057
+ zone="us-central1-a",
1058
+ specific_reservation={
1059
+ "count": 1,
1060
+ "instance_properties": {
1061
+ "machine_type": "n1-standard-4",
1062
+ "guest_accelerators": [{
1063
+ "accelerator_type": "nvidia-tesla-t4",
1064
+ "accelerator_count": 1,
1065
+ }],
1066
+ },
1067
+ },
1068
+ specific_reservation_required=True)
942
1069
  instance = gcp.workbench.Instance("instance",
943
1070
  name="workbench-instance",
944
1071
  location="us-central1-a",
@@ -981,6 +1108,11 @@ class Instance(pulumi.CustomResource):
981
1108
  "terraform": "true",
982
1109
  "serial-port-logging-enable": "false",
983
1110
  },
1111
+ "reservation_affinity": {
1112
+ "consume_reservation_type": "RESERVATION_SPECIFIC",
1113
+ "key": "compute.googleapis.com/reservation-name",
1114
+ "values": [gpu_reservation.name],
1115
+ },
984
1116
  "enable_ip_forwarding": True,
985
1117
  "tags": [
986
1118
  "abc",
@@ -999,6 +1131,7 @@ class Instance(pulumi.CustomResource):
999
1131
  my_subnetwork,
1000
1132
  static,
1001
1133
  act_as_permission,
1134
+ gpu_reservation,
1002
1135
  ]))
1003
1136
  ```
1004
1137
  ### Workbench Instance Confidential Compute
@@ -1025,6 +1158,29 @@ class Instance(pulumi.CustomResource):
1025
1158
  },
1026
1159
  })
1027
1160
  ```
1161
+ ### Workbench Instance Euc
1162
+
1163
+ ```python
1164
+ import pulumi
1165
+ import pulumi_gcp as gcp
1166
+
1167
+ act_as_permission = gcp.serviceaccount.IAMBinding("act_as_permission",
1168
+ service_account_id="projects/my-project-name/serviceAccounts/1111111111111-compute@developer.gserviceaccount.com",
1169
+ role="roles/iam.serviceAccountUser",
1170
+ members=["user:example@example.com"])
1171
+ instance = gcp.workbench.Instance("instance",
1172
+ name="workbench-instance",
1173
+ location="us-central1-a",
1174
+ gce_setup={
1175
+ "machine_type": "e2-standard-4",
1176
+ "metadata": {
1177
+ "terraform": "true",
1178
+ },
1179
+ },
1180
+ instance_owners=["example@example.com"],
1181
+ enable_managed_euc=True,
1182
+ opts = pulumi.ResourceOptions(depends_on=[act_as_permission]))
1183
+ ```
1028
1184
 
1029
1185
  ## Import
1030
1186
 
@@ -1067,6 +1223,7 @@ class Instance(pulumi.CustomResource):
1067
1223
  opts: Optional[pulumi.ResourceOptions] = None,
1068
1224
  desired_state: Optional[pulumi.Input[_builtins.str]] = None,
1069
1225
  disable_proxy_access: Optional[pulumi.Input[_builtins.bool]] = None,
1226
+ enable_managed_euc: Optional[pulumi.Input[_builtins.bool]] = None,
1070
1227
  enable_third_party_identity: Optional[pulumi.Input[_builtins.bool]] = None,
1071
1228
  gce_setup: Optional[pulumi.Input[Union['InstanceGceSetupArgs', 'InstanceGceSetupArgsDict']]] = None,
1072
1229
  instance_id: Optional[pulumi.Input[_builtins.str]] = None,
@@ -1086,6 +1243,7 @@ class Instance(pulumi.CustomResource):
1086
1243
 
1087
1244
  __props__.__dict__["desired_state"] = desired_state
1088
1245
  __props__.__dict__["disable_proxy_access"] = disable_proxy_access
1246
+ __props__.__dict__["enable_managed_euc"] = enable_managed_euc
1089
1247
  __props__.__dict__["enable_third_party_identity"] = enable_third_party_identity
1090
1248
  __props__.__dict__["gce_setup"] = gce_setup
1091
1249
  __props__.__dict__["instance_id"] = instance_id
@@ -1123,6 +1281,7 @@ class Instance(pulumi.CustomResource):
1123
1281
  desired_state: Optional[pulumi.Input[_builtins.str]] = None,
1124
1282
  disable_proxy_access: Optional[pulumi.Input[_builtins.bool]] = None,
1125
1283
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1284
+ enable_managed_euc: Optional[pulumi.Input[_builtins.bool]] = None,
1126
1285
  enable_third_party_identity: Optional[pulumi.Input[_builtins.bool]] = None,
1127
1286
  gce_setup: Optional[pulumi.Input[Union['InstanceGceSetupArgs', 'InstanceGceSetupArgsDict']]] = None,
1128
1287
  health_infos: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceHealthInfoArgs', 'InstanceHealthInfoArgsDict']]]]] = None,
@@ -1151,6 +1310,7 @@ class Instance(pulumi.CustomResource):
1151
1310
  :param pulumi.Input[_builtins.str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
1152
1311
  :param pulumi.Input[_builtins.bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
1153
1312
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1313
+ :param pulumi.Input[_builtins.bool] enable_managed_euc: Flag to enable managed end user credentials for the instance.
1154
1314
  :param pulumi.Input[_builtins.bool] enable_third_party_identity: Flag that specifies that a notebook can be accessed with third party
1155
1315
  identity provider.
1156
1316
  :param pulumi.Input[Union['InstanceGceSetupArgs', 'InstanceGceSetupArgsDict']] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
@@ -1193,6 +1353,7 @@ class Instance(pulumi.CustomResource):
1193
1353
  __props__.__dict__["desired_state"] = desired_state
1194
1354
  __props__.__dict__["disable_proxy_access"] = disable_proxy_access
1195
1355
  __props__.__dict__["effective_labels"] = effective_labels
1356
+ __props__.__dict__["enable_managed_euc"] = enable_managed_euc
1196
1357
  __props__.__dict__["enable_third_party_identity"] = enable_third_party_identity
1197
1358
  __props__.__dict__["gce_setup"] = gce_setup
1198
1359
  __props__.__dict__["health_infos"] = health_infos
@@ -1251,6 +1412,14 @@ class Instance(pulumi.CustomResource):
1251
1412
  """
1252
1413
  return pulumi.get(self, "effective_labels")
1253
1414
 
1415
+ @_builtins.property
1416
+ @pulumi.getter(name="enableManagedEuc")
1417
+ def enable_managed_euc(self) -> pulumi.Output[Optional[_builtins.bool]]:
1418
+ """
1419
+ Flag to enable managed end user credentials for the instance.
1420
+ """
1421
+ return pulumi.get(self, "enable_managed_euc")
1422
+
1254
1423
  @_builtins.property
1255
1424
  @pulumi.getter(name="enableThirdPartyIdentity")
1256
1425
  def enable_third_party_identity(self) -> pulumi.Output[Optional[_builtins.bool]]: