pulumi-gcp 7.10.0a1708496697__py3-none-any.whl → 7.11.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 (57) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/bigtable/table_iam_binding.py +6 -6
  3. pulumi_gcp/bigtable/table_iam_member.py +6 -6
  4. pulumi_gcp/bigtable/table_iam_policy.py +6 -6
  5. pulumi_gcp/cloudbuildv2/_inputs.py +32 -12
  6. pulumi_gcp/cloudbuildv2/connection.py +140 -38
  7. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +13 -0
  8. pulumi_gcp/cloudbuildv2/connection_iam_member.py +13 -0
  9. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +13 -0
  10. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +2 -0
  11. pulumi_gcp/cloudbuildv2/outputs.py +32 -12
  12. pulumi_gcp/clouddeploy/__init__.py +1 -0
  13. pulumi_gcp/clouddeploy/_inputs.py +277 -2
  14. pulumi_gcp/clouddeploy/custom_target_type.py +923 -0
  15. pulumi_gcp/clouddeploy/outputs.py +263 -2
  16. pulumi_gcp/cloudfunctions/function.py +32 -0
  17. pulumi_gcp/cloudfunctions/get_function.py +11 -1
  18. pulumi_gcp/cloudrunv2/service.py +18 -0
  19. pulumi_gcp/compute/_inputs.py +20 -20
  20. pulumi_gcp/compute/outputs.py +24 -24
  21. pulumi_gcp/config/vars.py +2 -2
  22. pulumi_gcp/container/_inputs.py +22 -0
  23. pulumi_gcp/container/outputs.py +28 -0
  24. pulumi_gcp/dns/_inputs.py +2 -2
  25. pulumi_gcp/dns/get_managed_zone.py +2 -2
  26. pulumi_gcp/dns/get_managed_zones.py +35 -2
  27. pulumi_gcp/dns/outputs.py +2 -2
  28. pulumi_gcp/eventarc/_inputs.py +78 -0
  29. pulumi_gcp/eventarc/outputs.py +83 -0
  30. pulumi_gcp/firebase/__init__.py +1 -0
  31. pulumi_gcp/firebase/app_check_debug_token.py +480 -0
  32. pulumi_gcp/healthcare/hl7_store.py +50 -1
  33. pulumi_gcp/identityplatform/_inputs.py +330 -0
  34. pulumi_gcp/identityplatform/config.py +216 -0
  35. pulumi_gcp/identityplatform/outputs.py +397 -0
  36. pulumi_gcp/networksecurity/__init__.py +2 -0
  37. pulumi_gcp/networksecurity/firewall_endpoint.py +631 -0
  38. pulumi_gcp/networksecurity/security_profile_group.py +654 -0
  39. pulumi_gcp/notebooks/instance.py +109 -4
  40. pulumi_gcp/provider.py +8 -0
  41. pulumi_gcp/recaptcha/enterprise_key.py +4 -4
  42. pulumi_gcp/securityposture/_inputs.py +48 -48
  43. pulumi_gcp/securityposture/outputs.py +40 -40
  44. pulumi_gcp/securityposture/posture.py +22 -2
  45. pulumi_gcp/vertex/_inputs.py +63 -0
  46. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +208 -0
  47. pulumi_gcp/vertex/outputs.py +87 -0
  48. pulumi_gcp/workbench/_inputs.py +4 -4
  49. pulumi_gcp/workbench/instance.py +59 -8
  50. pulumi_gcp/workbench/outputs.py +4 -4
  51. pulumi_gcp/workstations/_inputs.py +16 -0
  52. pulumi_gcp/workstations/outputs.py +14 -0
  53. pulumi_gcp/workstations/workstation_config.py +2 -0
  54. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/METADATA +1 -1
  55. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/RECORD +57 -53
  56. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/WHEEL +0 -0
  57. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/top_level.txt +0 -0
@@ -29,6 +29,8 @@ __all__ = [
29
29
  'AiFeatureOnlineStoreDedicatedServingEndpointPrivateServiceConnectConfig',
30
30
  'AiFeatureOnlineStoreEmbeddingManagement',
31
31
  'AiFeatureOnlineStoreFeatureviewBigQuerySource',
32
+ 'AiFeatureOnlineStoreFeatureviewFeatureRegistrySource',
33
+ 'AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup',
32
34
  'AiFeatureOnlineStoreFeatureviewSyncConfig',
33
35
  'AiFeatureOnlineStoreFeatureviewVectorSearchConfig',
34
36
  'AiFeatureOnlineStoreFeatureviewVectorSearchConfigBruteForceConfig',
@@ -1128,6 +1130,91 @@ class AiFeatureOnlineStoreFeatureviewBigQuerySource(dict):
1128
1130
  return pulumi.get(self, "uri")
1129
1131
 
1130
1132
 
1133
+ @pulumi.output_type
1134
+ class AiFeatureOnlineStoreFeatureviewFeatureRegistrySource(dict):
1135
+ @staticmethod
1136
+ def __key_warning(key: str):
1137
+ suggest = None
1138
+ if key == "featureGroups":
1139
+ suggest = "feature_groups"
1140
+
1141
+ if suggest:
1142
+ pulumi.log.warn(f"Key '{key}' not found in AiFeatureOnlineStoreFeatureviewFeatureRegistrySource. Access the value via the '{suggest}' property getter instead.")
1143
+
1144
+ def __getitem__(self, key: str) -> Any:
1145
+ AiFeatureOnlineStoreFeatureviewFeatureRegistrySource.__key_warning(key)
1146
+ return super().__getitem__(key)
1147
+
1148
+ def get(self, key: str, default = None) -> Any:
1149
+ AiFeatureOnlineStoreFeatureviewFeatureRegistrySource.__key_warning(key)
1150
+ return super().get(key, default)
1151
+
1152
+ def __init__(__self__, *,
1153
+ feature_groups: Sequence['outputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup']):
1154
+ """
1155
+ :param Sequence['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs'] feature_groups: List of features that need to be synced to Online Store.
1156
+ Structure is documented below.
1157
+ """
1158
+ pulumi.set(__self__, "feature_groups", feature_groups)
1159
+
1160
+ @property
1161
+ @pulumi.getter(name="featureGroups")
1162
+ def feature_groups(self) -> Sequence['outputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup']:
1163
+ """
1164
+ List of features that need to be synced to Online Store.
1165
+ Structure is documented below.
1166
+ """
1167
+ return pulumi.get(self, "feature_groups")
1168
+
1169
+
1170
+ @pulumi.output_type
1171
+ class AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup(dict):
1172
+ @staticmethod
1173
+ def __key_warning(key: str):
1174
+ suggest = None
1175
+ if key == "featureGroupId":
1176
+ suggest = "feature_group_id"
1177
+ elif key == "featureIds":
1178
+ suggest = "feature_ids"
1179
+
1180
+ if suggest:
1181
+ pulumi.log.warn(f"Key '{key}' not found in AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup. Access the value via the '{suggest}' property getter instead.")
1182
+
1183
+ def __getitem__(self, key: str) -> Any:
1184
+ AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup.__key_warning(key)
1185
+ return super().__getitem__(key)
1186
+
1187
+ def get(self, key: str, default = None) -> Any:
1188
+ AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup.__key_warning(key)
1189
+ return super().get(key, default)
1190
+
1191
+ def __init__(__self__, *,
1192
+ feature_group_id: str,
1193
+ feature_ids: Sequence[str]):
1194
+ """
1195
+ :param str feature_group_id: Identifier of the feature group.
1196
+ :param Sequence[str] feature_ids: Identifiers of features under the feature group.
1197
+ """
1198
+ pulumi.set(__self__, "feature_group_id", feature_group_id)
1199
+ pulumi.set(__self__, "feature_ids", feature_ids)
1200
+
1201
+ @property
1202
+ @pulumi.getter(name="featureGroupId")
1203
+ def feature_group_id(self) -> str:
1204
+ """
1205
+ Identifier of the feature group.
1206
+ """
1207
+ return pulumi.get(self, "feature_group_id")
1208
+
1209
+ @property
1210
+ @pulumi.getter(name="featureIds")
1211
+ def feature_ids(self) -> Sequence[str]:
1212
+ """
1213
+ Identifiers of features under the feature group.
1214
+ """
1215
+ return pulumi.get(self, "feature_ids")
1216
+
1217
+
1131
1218
  @pulumi.output_type
1132
1219
  class AiFeatureOnlineStoreFeatureviewSyncConfig(dict):
1133
1220
  def __init__(__self__, *,
@@ -285,7 +285,7 @@ class InstanceGceSetupBootDiskArgs:
285
285
  recommended value of 150GB.
286
286
  :param pulumi.Input[str] disk_type: Optional. Indicates the type of the disk.
287
287
  Possible values are: `PD_STANDARD`, `PD_SSD`, `PD_BALANCED`, `PD_EXTREME`.
288
- :param pulumi.Input[str] kms_key: 'Optional. Input only. The KMS key used to encrypt the disks, only
288
+ :param pulumi.Input[str] kms_key: 'Optional. The KMS key used to encrypt the disks, only
289
289
  applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
290
290
  Learn more about using your own encryption keys.'
291
291
  """
@@ -343,7 +343,7 @@ class InstanceGceSetupBootDiskArgs:
343
343
  @pulumi.getter(name="kmsKey")
344
344
  def kms_key(self) -> Optional[pulumi.Input[str]]:
345
345
  """
346
- 'Optional. Input only. The KMS key used to encrypt the disks, only
346
+ 'Optional. The KMS key used to encrypt the disks, only
347
347
  applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
348
348
  Learn more about using your own encryption keys.'
349
349
  """
@@ -370,7 +370,7 @@ class InstanceGceSetupDataDisksArgs:
370
370
  100.
371
371
  :param pulumi.Input[str] disk_type: Optional. Input only. Indicates the type of the disk.
372
372
  Possible values are: `PD_STANDARD`, `PD_SSD`, `PD_BALANCED`, `PD_EXTREME`.
373
- :param pulumi.Input[str] kms_key: 'Optional. Input only. The KMS key used to encrypt the disks,
373
+ :param pulumi.Input[str] kms_key: 'Optional. The KMS key used to encrypt the disks,
374
374
  only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
375
375
  Learn more about using your own encryption keys.'
376
376
  """
@@ -428,7 +428,7 @@ class InstanceGceSetupDataDisksArgs:
428
428
  @pulumi.getter(name="kmsKey")
429
429
  def kms_key(self) -> Optional[pulumi.Input[str]]:
430
430
  """
431
- 'Optional. Input only. The KMS key used to encrypt the disks,
431
+ 'Optional. The KMS key used to encrypt the disks,
432
432
  only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
433
433
  Learn more about using your own encryption keys.'
434
434
  """
@@ -17,6 +17,7 @@ __all__ = ['InstanceArgs', 'Instance']
17
17
  class InstanceArgs:
18
18
  def __init__(__self__, *,
19
19
  location: pulumi.Input[str],
20
+ desired_state: Optional[pulumi.Input[str]] = None,
20
21
  disable_proxy_access: Optional[pulumi.Input[bool]] = None,
21
22
  gce_setup: Optional[pulumi.Input['InstanceGceSetupArgs']] = None,
22
23
  instance_id: Optional[pulumi.Input[str]] = None,
@@ -30,6 +31,7 @@ class InstanceArgs:
30
31
 
31
32
 
32
33
  - - -
34
+ :param pulumi.Input[str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
33
35
  :param pulumi.Input[bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
34
36
  :param pulumi.Input['InstanceGceSetupArgs'] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
35
37
  Structure is documented below.
@@ -47,6 +49,8 @@ class InstanceArgs:
47
49
  If it is not provided, the provider project is used.
48
50
  """
49
51
  pulumi.set(__self__, "location", location)
52
+ if desired_state is not None:
53
+ pulumi.set(__self__, "desired_state", desired_state)
50
54
  if disable_proxy_access is not None:
51
55
  pulumi.set(__self__, "disable_proxy_access", disable_proxy_access)
52
56
  if gce_setup is not None:
@@ -77,6 +81,18 @@ class InstanceArgs:
77
81
  def location(self, value: pulumi.Input[str]):
78
82
  pulumi.set(self, "location", value)
79
83
 
84
+ @property
85
+ @pulumi.getter(name="desiredState")
86
+ def desired_state(self) -> Optional[pulumi.Input[str]]:
87
+ """
88
+ Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
89
+ """
90
+ return pulumi.get(self, "desired_state")
91
+
92
+ @desired_state.setter
93
+ def desired_state(self, value: Optional[pulumi.Input[str]]):
94
+ pulumi.set(self, "desired_state", value)
95
+
80
96
  @property
81
97
  @pulumi.getter(name="disableProxyAccess")
82
98
  def disable_proxy_access(self) -> Optional[pulumi.Input[bool]]:
@@ -175,6 +191,7 @@ class _InstanceState:
175
191
  def __init__(__self__, *,
176
192
  create_time: Optional[pulumi.Input[str]] = None,
177
193
  creator: Optional[pulumi.Input[str]] = None,
194
+ desired_state: Optional[pulumi.Input[str]] = None,
178
195
  disable_proxy_access: Optional[pulumi.Input[bool]] = None,
179
196
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
180
197
  gce_setup: Optional[pulumi.Input['InstanceGceSetupArgs']] = None,
@@ -196,6 +213,7 @@ class _InstanceState:
196
213
  :param pulumi.Input[str] create_time: An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ.
197
214
  The milliseconds portion (".SSS") is optional.
198
215
  :param pulumi.Input[str] creator: Output only. Email address of entity that sent original CreateInstance request.
216
+ :param pulumi.Input[str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
199
217
  :param pulumi.Input[bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
200
218
  :param pulumi.Input[Mapping[str, pulumi.Input[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.
201
219
  :param pulumi.Input['InstanceGceSetupArgs'] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
@@ -234,6 +252,8 @@ class _InstanceState:
234
252
  pulumi.set(__self__, "create_time", create_time)
235
253
  if creator is not None:
236
254
  pulumi.set(__self__, "creator", creator)
255
+ if desired_state is not None:
256
+ pulumi.set(__self__, "desired_state", desired_state)
237
257
  if disable_proxy_access is not None:
238
258
  pulumi.set(__self__, "disable_proxy_access", disable_proxy_access)
239
259
  if effective_labels is not None:
@@ -292,6 +312,18 @@ class _InstanceState:
292
312
  def creator(self, value: Optional[pulumi.Input[str]]):
293
313
  pulumi.set(self, "creator", value)
294
314
 
315
+ @property
316
+ @pulumi.getter(name="desiredState")
317
+ def desired_state(self) -> Optional[pulumi.Input[str]]:
318
+ """
319
+ Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
320
+ """
321
+ return pulumi.get(self, "desired_state")
322
+
323
+ @desired_state.setter
324
+ def desired_state(self, value: Optional[pulumi.Input[str]]):
325
+ pulumi.set(self, "desired_state", value)
326
+
295
327
  @property
296
328
  @pulumi.getter(name="disableProxyAccess")
297
329
  def disable_proxy_access(self) -> Optional[pulumi.Input[bool]]:
@@ -507,6 +539,7 @@ class Instance(pulumi.CustomResource):
507
539
  def __init__(__self__,
508
540
  resource_name: str,
509
541
  opts: Optional[pulumi.ResourceOptions] = None,
542
+ desired_state: Optional[pulumi.Input[str]] = None,
510
543
  disable_proxy_access: Optional[pulumi.Input[bool]] = None,
511
544
  gce_setup: Optional[pulumi.Input[pulumi.InputType['InstanceGceSetupArgs']]] = None,
512
545
  instance_id: Optional[pulumi.Input[str]] = None,
@@ -548,13 +581,14 @@ class Instance(pulumi.CustomResource):
548
581
  ),
549
582
  location="us-central1-a")
550
583
  ```
551
- ### Workbench Instance Labels
584
+ ### Workbench Instance Labels Stopped
552
585
 
553
586
  ```python
554
587
  import pulumi
555
588
  import pulumi_gcp as gcp
556
589
 
557
590
  instance = gcp.workbench.Instance("instance",
591
+ desired_state="STOPPED",
558
592
  gce_setup=gcp.workbench.InstanceGceSetupArgs(
559
593
  machine_type="e2-standard-4",
560
594
  metadata={
@@ -596,13 +630,13 @@ class Instance(pulumi.CustomResource):
596
630
  boot_disk=gcp.workbench.InstanceGceSetupBootDiskArgs(
597
631
  disk_size_gb="310",
598
632
  disk_type="PD_SSD",
599
- disk_encryption="GMEK",
633
+ disk_encryption="CMEK",
600
634
  kms_key="my-crypto-key",
601
635
  ),
602
636
  data_disks=gcp.workbench.InstanceGceSetupDataDisksArgs(
603
637
  disk_size_gb="330",
604
638
  disk_type="PD_SSD",
605
- disk_encryption="GMEK",
639
+ disk_encryption="CMEK",
606
640
  kms_key="my-crypto-key",
607
641
  ),
608
642
  network_interfaces=[gcp.workbench.InstanceGceSetupNetworkInterfaceArgs(
@@ -623,7 +657,8 @@ class Instance(pulumi.CustomResource):
623
657
  instance_owners=["my@service-account.com"],
624
658
  labels={
625
659
  "k": "val",
626
- })
660
+ },
661
+ desired_state="ACTIVE")
627
662
  ```
628
663
 
629
664
  ## Import
@@ -652,6 +687,7 @@ class Instance(pulumi.CustomResource):
652
687
 
653
688
  :param str resource_name: The name of the resource.
654
689
  :param pulumi.ResourceOptions opts: Options for the resource.
690
+ :param pulumi.Input[str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
655
691
  :param pulumi.Input[bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
656
692
  :param pulumi.Input[pulumi.InputType['InstanceGceSetupArgs']] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
657
693
  Structure is documented below.
@@ -710,13 +746,14 @@ class Instance(pulumi.CustomResource):
710
746
  ),
711
747
  location="us-central1-a")
712
748
  ```
713
- ### Workbench Instance Labels
749
+ ### Workbench Instance Labels Stopped
714
750
 
715
751
  ```python
716
752
  import pulumi
717
753
  import pulumi_gcp as gcp
718
754
 
719
755
  instance = gcp.workbench.Instance("instance",
756
+ desired_state="STOPPED",
720
757
  gce_setup=gcp.workbench.InstanceGceSetupArgs(
721
758
  machine_type="e2-standard-4",
722
759
  metadata={
@@ -758,13 +795,13 @@ class Instance(pulumi.CustomResource):
758
795
  boot_disk=gcp.workbench.InstanceGceSetupBootDiskArgs(
759
796
  disk_size_gb="310",
760
797
  disk_type="PD_SSD",
761
- disk_encryption="GMEK",
798
+ disk_encryption="CMEK",
762
799
  kms_key="my-crypto-key",
763
800
  ),
764
801
  data_disks=gcp.workbench.InstanceGceSetupDataDisksArgs(
765
802
  disk_size_gb="330",
766
803
  disk_type="PD_SSD",
767
- disk_encryption="GMEK",
804
+ disk_encryption="CMEK",
768
805
  kms_key="my-crypto-key",
769
806
  ),
770
807
  network_interfaces=[gcp.workbench.InstanceGceSetupNetworkInterfaceArgs(
@@ -785,7 +822,8 @@ class Instance(pulumi.CustomResource):
785
822
  instance_owners=["my@service-account.com"],
786
823
  labels={
787
824
  "k": "val",
788
- })
825
+ },
826
+ desired_state="ACTIVE")
789
827
  ```
790
828
 
791
829
  ## Import
@@ -827,6 +865,7 @@ class Instance(pulumi.CustomResource):
827
865
  def _internal_init(__self__,
828
866
  resource_name: str,
829
867
  opts: Optional[pulumi.ResourceOptions] = None,
868
+ desired_state: Optional[pulumi.Input[str]] = None,
830
869
  disable_proxy_access: Optional[pulumi.Input[bool]] = None,
831
870
  gce_setup: Optional[pulumi.Input[pulumi.InputType['InstanceGceSetupArgs']]] = None,
832
871
  instance_id: Optional[pulumi.Input[str]] = None,
@@ -844,6 +883,7 @@ class Instance(pulumi.CustomResource):
844
883
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
845
884
  __props__ = InstanceArgs.__new__(InstanceArgs)
846
885
 
886
+ __props__.__dict__["desired_state"] = desired_state
847
887
  __props__.__dict__["disable_proxy_access"] = disable_proxy_access
848
888
  __props__.__dict__["gce_setup"] = gce_setup
849
889
  __props__.__dict__["instance_id"] = instance_id
@@ -878,6 +918,7 @@ class Instance(pulumi.CustomResource):
878
918
  opts: Optional[pulumi.ResourceOptions] = None,
879
919
  create_time: Optional[pulumi.Input[str]] = None,
880
920
  creator: Optional[pulumi.Input[str]] = None,
921
+ desired_state: Optional[pulumi.Input[str]] = None,
881
922
  disable_proxy_access: Optional[pulumi.Input[bool]] = None,
882
923
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
883
924
  gce_setup: Optional[pulumi.Input[pulumi.InputType['InstanceGceSetupArgs']]] = None,
@@ -904,6 +945,7 @@ class Instance(pulumi.CustomResource):
904
945
  :param pulumi.Input[str] create_time: An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ.
905
946
  The milliseconds portion (".SSS") is optional.
906
947
  :param pulumi.Input[str] creator: Output only. Email address of entity that sent original CreateInstance request.
948
+ :param pulumi.Input[str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
907
949
  :param pulumi.Input[bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
908
950
  :param pulumi.Input[Mapping[str, pulumi.Input[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.
909
951
  :param pulumi.Input[pulumi.InputType['InstanceGceSetupArgs']] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
@@ -944,6 +986,7 @@ class Instance(pulumi.CustomResource):
944
986
 
945
987
  __props__.__dict__["create_time"] = create_time
946
988
  __props__.__dict__["creator"] = creator
989
+ __props__.__dict__["desired_state"] = desired_state
947
990
  __props__.__dict__["disable_proxy_access"] = disable_proxy_access
948
991
  __props__.__dict__["effective_labels"] = effective_labels
949
992
  __props__.__dict__["gce_setup"] = gce_setup
@@ -979,6 +1022,14 @@ class Instance(pulumi.CustomResource):
979
1022
  """
980
1023
  return pulumi.get(self, "creator")
981
1024
 
1025
+ @property
1026
+ @pulumi.getter(name="desiredState")
1027
+ def desired_state(self) -> pulumi.Output[Optional[str]]:
1028
+ """
1029
+ Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
1030
+ """
1031
+ return pulumi.get(self, "desired_state")
1032
+
982
1033
  @property
983
1034
  @pulumi.getter(name="disableProxyAccess")
984
1035
  def disable_proxy_access(self) -> pulumi.Output[Optional[bool]]:
@@ -307,7 +307,7 @@ class InstanceGceSetupBootDisk(dict):
307
307
  recommended value of 150GB.
308
308
  :param str disk_type: Optional. Indicates the type of the disk.
309
309
  Possible values are: `PD_STANDARD`, `PD_SSD`, `PD_BALANCED`, `PD_EXTREME`.
310
- :param str kms_key: 'Optional. Input only. The KMS key used to encrypt the disks, only
310
+ :param str kms_key: 'Optional. The KMS key used to encrypt the disks, only
311
311
  applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
312
312
  Learn more about using your own encryption keys.'
313
313
  """
@@ -353,7 +353,7 @@ class InstanceGceSetupBootDisk(dict):
353
353
  @pulumi.getter(name="kmsKey")
354
354
  def kms_key(self) -> Optional[str]:
355
355
  """
356
- 'Optional. Input only. The KMS key used to encrypt the disks, only
356
+ 'Optional. The KMS key used to encrypt the disks, only
357
357
  applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
358
358
  Learn more about using your own encryption keys.'
359
359
  """
@@ -399,7 +399,7 @@ class InstanceGceSetupDataDisks(dict):
399
399
  100.
400
400
  :param str disk_type: Optional. Input only. Indicates the type of the disk.
401
401
  Possible values are: `PD_STANDARD`, `PD_SSD`, `PD_BALANCED`, `PD_EXTREME`.
402
- :param str kms_key: 'Optional. Input only. The KMS key used to encrypt the disks,
402
+ :param str kms_key: 'Optional. The KMS key used to encrypt the disks,
403
403
  only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
404
404
  Learn more about using your own encryption keys.'
405
405
  """
@@ -445,7 +445,7 @@ class InstanceGceSetupDataDisks(dict):
445
445
  @pulumi.getter(name="kmsKey")
446
446
  def kms_key(self) -> Optional[str]:
447
447
  """
448
- 'Optional. Input only. The KMS key used to encrypt the disks,
448
+ 'Optional. The KMS key used to encrypt the disks,
449
449
  only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
450
450
  Learn more about using your own encryption keys.'
451
451
  """
@@ -432,6 +432,7 @@ class WorkstationConfigHostGceInstanceArgs:
432
432
  boot_disk_size_gb: Optional[pulumi.Input[int]] = None,
433
433
  confidential_instance_config: Optional[pulumi.Input['WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs']] = None,
434
434
  disable_public_ip_addresses: Optional[pulumi.Input[bool]] = None,
435
+ disable_ssh: Optional[pulumi.Input[bool]] = None,
435
436
  enable_nested_virtualization: Optional[pulumi.Input[bool]] = None,
436
437
  machine_type: Optional[pulumi.Input[str]] = None,
437
438
  pool_size: Optional[pulumi.Input[int]] = None,
@@ -446,6 +447,7 @@ class WorkstationConfigHostGceInstanceArgs:
446
447
  :param pulumi.Input['WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs'] confidential_instance_config: A set of Compute Engine Confidential VM instance options.
447
448
  Structure is documented below.
448
449
  :param pulumi.Input[bool] disable_public_ip_addresses: Whether instances have no public IP address.
450
+ :param pulumi.Input[bool] disable_ssh: Whether to disable SSH access to the VM.
449
451
  :param pulumi.Input[bool] enable_nested_virtualization: Whether to enable nested virtualization on the Compute Engine VMs backing the Workstations.
450
452
  See https://cloud.google.com/workstations/docs/reference/rest/v1beta/projects.locations.workstationClusters.workstationConfigs#GceInstance.FIELDS.enable_nested_virtualization
451
453
  :param pulumi.Input[str] machine_type: The name of a Compute Engine machine type.
@@ -464,6 +466,8 @@ class WorkstationConfigHostGceInstanceArgs:
464
466
  pulumi.set(__self__, "confidential_instance_config", confidential_instance_config)
465
467
  if disable_public_ip_addresses is not None:
466
468
  pulumi.set(__self__, "disable_public_ip_addresses", disable_public_ip_addresses)
469
+ if disable_ssh is not None:
470
+ pulumi.set(__self__, "disable_ssh", disable_ssh)
467
471
  if enable_nested_virtualization is not None:
468
472
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
469
473
  if machine_type is not None:
@@ -529,6 +533,18 @@ class WorkstationConfigHostGceInstanceArgs:
529
533
  def disable_public_ip_addresses(self, value: Optional[pulumi.Input[bool]]):
530
534
  pulumi.set(self, "disable_public_ip_addresses", value)
531
535
 
536
+ @property
537
+ @pulumi.getter(name="disableSsh")
538
+ def disable_ssh(self) -> Optional[pulumi.Input[bool]]:
539
+ """
540
+ Whether to disable SSH access to the VM.
541
+ """
542
+ return pulumi.get(self, "disable_ssh")
543
+
544
+ @disable_ssh.setter
545
+ def disable_ssh(self, value: Optional[pulumi.Input[bool]]):
546
+ pulumi.set(self, "disable_ssh", value)
547
+
532
548
  @property
533
549
  @pulumi.getter(name="enableNestedVirtualization")
534
550
  def enable_nested_virtualization(self) -> Optional[pulumi.Input[bool]]:
@@ -435,6 +435,8 @@ class WorkstationConfigHostGceInstance(dict):
435
435
  suggest = "confidential_instance_config"
436
436
  elif key == "disablePublicIpAddresses":
437
437
  suggest = "disable_public_ip_addresses"
438
+ elif key == "disableSsh":
439
+ suggest = "disable_ssh"
438
440
  elif key == "enableNestedVirtualization":
439
441
  suggest = "enable_nested_virtualization"
440
442
  elif key == "machineType":
@@ -464,6 +466,7 @@ class WorkstationConfigHostGceInstance(dict):
464
466
  boot_disk_size_gb: Optional[int] = None,
465
467
  confidential_instance_config: Optional['outputs.WorkstationConfigHostGceInstanceConfidentialInstanceConfig'] = None,
466
468
  disable_public_ip_addresses: Optional[bool] = None,
469
+ disable_ssh: Optional[bool] = None,
467
470
  enable_nested_virtualization: Optional[bool] = None,
468
471
  machine_type: Optional[str] = None,
469
472
  pool_size: Optional[int] = None,
@@ -478,6 +481,7 @@ class WorkstationConfigHostGceInstance(dict):
478
481
  :param 'WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs' confidential_instance_config: A set of Compute Engine Confidential VM instance options.
479
482
  Structure is documented below.
480
483
  :param bool disable_public_ip_addresses: Whether instances have no public IP address.
484
+ :param bool disable_ssh: Whether to disable SSH access to the VM.
481
485
  :param bool enable_nested_virtualization: Whether to enable nested virtualization on the Compute Engine VMs backing the Workstations.
482
486
  See https://cloud.google.com/workstations/docs/reference/rest/v1beta/projects.locations.workstationClusters.workstationConfigs#GceInstance.FIELDS.enable_nested_virtualization
483
487
  :param str machine_type: The name of a Compute Engine machine type.
@@ -496,6 +500,8 @@ class WorkstationConfigHostGceInstance(dict):
496
500
  pulumi.set(__self__, "confidential_instance_config", confidential_instance_config)
497
501
  if disable_public_ip_addresses is not None:
498
502
  pulumi.set(__self__, "disable_public_ip_addresses", disable_public_ip_addresses)
503
+ if disable_ssh is not None:
504
+ pulumi.set(__self__, "disable_ssh", disable_ssh)
499
505
  if enable_nested_virtualization is not None:
500
506
  pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
501
507
  if machine_type is not None:
@@ -545,6 +551,14 @@ class WorkstationConfigHostGceInstance(dict):
545
551
  """
546
552
  return pulumi.get(self, "disable_public_ip_addresses")
547
553
 
554
+ @property
555
+ @pulumi.getter(name="disableSsh")
556
+ def disable_ssh(self) -> Optional[bool]:
557
+ """
558
+ Whether to disable SSH access to the VM.
559
+ """
560
+ return pulumi.get(self, "disable_ssh")
561
+
548
562
  @property
549
563
  @pulumi.getter(name="enableNestedVirtualization")
550
564
  def enable_nested_virtualization(self) -> Optional[bool]:
@@ -869,6 +869,7 @@ class WorkstationConfig(pulumi.CustomResource):
869
869
  machine_type="e2-standard-4",
870
870
  boot_disk_size_gb=35,
871
871
  disable_public_ip_addresses=True,
872
+ disable_ssh=False,
872
873
  ),
873
874
  ),
874
875
  opts=pulumi.ResourceOptions(provider=google_beta))
@@ -1267,6 +1268,7 @@ class WorkstationConfig(pulumi.CustomResource):
1267
1268
  machine_type="e2-standard-4",
1268
1269
  boot_disk_size_gb=35,
1269
1270
  disable_public_ip_addresses=True,
1271
+ disable_ssh=False,
1270
1272
  ),
1271
1273
  ),
1272
1274
  opts=pulumi.ResourceOptions(provider=google_beta))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_gcp
3
- Version: 7.10.0a1708496697
3
+ Version: 7.11.0
4
4
  Summary: A Pulumi package for creating and managing Google Cloud Platform resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io