pulumi-gcp 7.10.0a1708496697__py3-none-any.whl → 7.11.0a1708599049__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
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.0a1708599049.dist-info}/METADATA +1 -1
  55. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0a1708599049.dist-info}/RECORD +57 -53
  56. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0a1708599049.dist-info}/WHEEL +0 -0
  57. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0a1708599049.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.0a1708599049
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