google-cloud-workstations 0.3.0__tar.gz → 0.4.0__tar.gz

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 (55) hide show
  1. {google-cloud-workstations-0.3.0/google_cloud_workstations.egg-info → google-cloud-workstations-0.4.0}/PKG-INFO +1 -1
  2. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations/gapic_version.py +1 -1
  3. {google-cloud-workstations-0.3.0/google/cloud/workstations_v1beta → google-cloud-workstations-0.4.0/google/cloud/workstations_v1}/gapic_version.py +1 -1
  4. {google-cloud-workstations-0.3.0/google/cloud/workstations_v1 → google-cloud-workstations-0.4.0/google/cloud/workstations_v1beta}/gapic_version.py +1 -1
  5. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/services/workstations/async_client.py +13 -8
  6. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/services/workstations/client.py +13 -8
  7. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/services/workstations/transports/grpc.py +4 -3
  8. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/services/workstations/transports/grpc_asyncio.py +4 -3
  9. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/types/workstations.py +149 -41
  10. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0/google_cloud_workstations.egg-info}/PKG-INFO +1 -1
  11. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/tests/unit/gapic/workstations_v1beta/test_workstations.py +36 -0
  12. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/LICENSE +0 -0
  13. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/MANIFEST.in +0 -0
  14. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/README.rst +0 -0
  15. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations/__init__.py +0 -0
  16. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations/py.typed +0 -0
  17. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/__init__.py +0 -0
  18. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/gapic_metadata.json +0 -0
  19. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/py.typed +0 -0
  20. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/services/__init__.py +0 -0
  21. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/services/workstations/__init__.py +0 -0
  22. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/services/workstations/async_client.py +0 -0
  23. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/services/workstations/client.py +0 -0
  24. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/services/workstations/pagers.py +0 -0
  25. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/services/workstations/transports/__init__.py +0 -0
  26. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/services/workstations/transports/base.py +0 -0
  27. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/services/workstations/transports/grpc.py +0 -0
  28. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/services/workstations/transports/grpc_asyncio.py +0 -0
  29. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/services/workstations/transports/rest.py +0 -0
  30. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/types/__init__.py +0 -0
  31. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1/types/workstations.py +0 -0
  32. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/__init__.py +0 -0
  33. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/gapic_metadata.json +0 -0
  34. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/py.typed +0 -0
  35. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/services/__init__.py +0 -0
  36. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/services/workstations/__init__.py +0 -0
  37. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/services/workstations/pagers.py +0 -0
  38. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/services/workstations/transports/__init__.py +0 -0
  39. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/services/workstations/transports/base.py +0 -0
  40. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/services/workstations/transports/rest.py +0 -0
  41. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google/cloud/workstations_v1beta/types/__init__.py +0 -0
  42. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google_cloud_workstations.egg-info/SOURCES.txt +0 -0
  43. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google_cloud_workstations.egg-info/dependency_links.txt +0 -0
  44. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google_cloud_workstations.egg-info/namespace_packages.txt +0 -0
  45. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google_cloud_workstations.egg-info/not-zip-safe +0 -0
  46. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google_cloud_workstations.egg-info/requires.txt +0 -0
  47. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/google_cloud_workstations.egg-info/top_level.txt +0 -0
  48. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/setup.cfg +0 -0
  49. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/setup.py +0 -0
  50. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/tests/__init__.py +0 -0
  51. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/tests/unit/__init__.py +0 -0
  52. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/tests/unit/gapic/__init__.py +0 -0
  53. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/tests/unit/gapic/workstations_v1/__init__.py +0 -0
  54. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/tests/unit/gapic/workstations_v1/test_workstations.py +0 -0
  55. {google-cloud-workstations-0.3.0 → google-cloud-workstations-0.4.0}/tests/unit/gapic/workstations_v1beta/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: google-cloud-workstations
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: Google Cloud Workstations API client library
5
5
  Home-page: https://github.com/googleapis/google-cloud-python
6
6
  Author: Google LLC
@@ -14,4 +14,4 @@
14
14
  # limitations under the License.
15
15
  #
16
16
 
17
- __version__ = "0.3.0" # {x-release-please-version}
17
+ __version__ = "0.4.0" # {x-release-please-version}
@@ -14,4 +14,4 @@
14
14
  # limitations under the License.
15
15
  #
16
16
 
17
- __version__ = "0.3.0" # {x-release-please-version}
17
+ __version__ = "0.4.0" # {x-release-please-version}
@@ -14,4 +14,4 @@
14
14
  # limitations under the License.
15
15
  #
16
16
 
17
- __version__ = "0.3.0" # {x-release-please-version}
17
+ __version__ = "0.4.0" # {x-release-please-version}
@@ -1281,7 +1281,9 @@ class WorkstationsAsyncClient:
1281
1281
  on the ``request`` instance; if ``request`` is provided, this
1282
1282
  should not be set.
1283
1283
  workstation_config_id (:class:`str`):
1284
- Required. ID to use for the config.
1284
+ Required. ID to use for the
1285
+ workstation configuration.
1286
+
1285
1287
  This corresponds to the ``workstation_config_id`` field
1286
1288
  on the ``request`` instance; if ``request`` is provided, this
1287
1289
  should not be set.
@@ -1408,7 +1410,8 @@ class WorkstationsAsyncClient:
1408
1410
  should not be set.
1409
1411
  update_mask (:class:`google.protobuf.field_mask_pb2.FieldMask`):
1410
1412
  Required. Mask specifying which
1411
- fields in the config should be updated.
1413
+ fields in the workstation configuration
1414
+ should be updated.
1412
1415
 
1413
1416
  This corresponds to the ``update_mask`` field
1414
1417
  on the ``request`` instance; if ``request`` is provided, this
@@ -1530,8 +1533,8 @@ class WorkstationsAsyncClient:
1530
1533
  The request object. Message for deleting a workstation
1531
1534
  configuration.
1532
1535
  name (:class:`str`):
1533
- Required. Name of the config to
1534
- delete.
1536
+ Required. Name of the workstation
1537
+ configuration to delete.
1535
1538
 
1536
1539
  This corresponds to the ``name`` field
1537
1540
  on the ``request`` instance; if ``request`` is provided, this
@@ -1721,7 +1724,8 @@ class WorkstationsAsyncClient:
1721
1724
  timeout: Union[float, object] = gapic_v1.method.DEFAULT,
1722
1725
  metadata: Sequence[Tuple[str, str]] = (),
1723
1726
  ) -> pagers.ListWorkstationsAsyncPager:
1724
- r"""Returns all Workstations using the specified config.
1727
+ r"""Returns all Workstations using the specified
1728
+ workstation configuration.
1725
1729
 
1726
1730
  .. code-block:: python
1727
1731
 
@@ -1844,8 +1848,8 @@ class WorkstationsAsyncClient:
1844
1848
  timeout: Union[float, object] = gapic_v1.method.DEFAULT,
1845
1849
  metadata: Sequence[Tuple[str, str]] = (),
1846
1850
  ) -> pagers.ListUsableWorkstationsAsyncPager:
1847
- r"""Returns all Workstations using the specified config
1848
- on which the caller has the
1851
+ r"""Returns all workstations using the specified
1852
+ workstation configuration on which the caller has the
1849
1853
  "workstations.workstations.use" permission.
1850
1854
 
1851
1855
  .. code-block:: python
@@ -2146,7 +2150,8 @@ class WorkstationsAsyncClient:
2146
2150
  should not be set.
2147
2151
  update_mask (:class:`google.protobuf.field_mask_pb2.FieldMask`):
2148
2152
  Required. Mask specifying which
2149
- fields in the config should be updated.
2153
+ fields in the workstation configuration
2154
+ should be updated.
2150
2155
 
2151
2156
  This corresponds to the ``update_mask`` field
2152
2157
  on the ``request`` instance; if ``request`` is provided, this
@@ -1519,7 +1519,9 @@ class WorkstationsClient(metaclass=WorkstationsClientMeta):
1519
1519
  on the ``request`` instance; if ``request`` is provided, this
1520
1520
  should not be set.
1521
1521
  workstation_config_id (str):
1522
- Required. ID to use for the config.
1522
+ Required. ID to use for the
1523
+ workstation configuration.
1524
+
1523
1525
  This corresponds to the ``workstation_config_id`` field
1524
1526
  on the ``request`` instance; if ``request`` is provided, this
1525
1527
  should not be set.
@@ -1648,7 +1650,8 @@ class WorkstationsClient(metaclass=WorkstationsClientMeta):
1648
1650
  should not be set.
1649
1651
  update_mask (google.protobuf.field_mask_pb2.FieldMask):
1650
1652
  Required. Mask specifying which
1651
- fields in the config should be updated.
1653
+ fields in the workstation configuration
1654
+ should be updated.
1652
1655
 
1653
1656
  This corresponds to the ``update_mask`` field
1654
1657
  on the ``request`` instance; if ``request`` is provided, this
@@ -1772,8 +1775,8 @@ class WorkstationsClient(metaclass=WorkstationsClientMeta):
1772
1775
  The request object. Message for deleting a workstation
1773
1776
  configuration.
1774
1777
  name (str):
1775
- Required. Name of the config to
1776
- delete.
1778
+ Required. Name of the workstation
1779
+ configuration to delete.
1777
1780
 
1778
1781
  This corresponds to the ``name`` field
1779
1782
  on the ``request`` instance; if ``request`` is provided, this
@@ -1956,7 +1959,8 @@ class WorkstationsClient(metaclass=WorkstationsClientMeta):
1956
1959
  timeout: Union[float, object] = gapic_v1.method.DEFAULT,
1957
1960
  metadata: Sequence[Tuple[str, str]] = (),
1958
1961
  ) -> pagers.ListWorkstationsPager:
1959
- r"""Returns all Workstations using the specified config.
1962
+ r"""Returns all Workstations using the specified
1963
+ workstation configuration.
1960
1964
 
1961
1965
  .. code-block:: python
1962
1966
 
@@ -2070,8 +2074,8 @@ class WorkstationsClient(metaclass=WorkstationsClientMeta):
2070
2074
  timeout: Union[float, object] = gapic_v1.method.DEFAULT,
2071
2075
  metadata: Sequence[Tuple[str, str]] = (),
2072
2076
  ) -> pagers.ListUsableWorkstationsPager:
2073
- r"""Returns all Workstations using the specified config
2074
- on which the caller has the
2077
+ r"""Returns all workstations using the specified
2078
+ workstation configuration on which the caller has the
2075
2079
  "workstations.workstations.use" permission.
2076
2080
 
2077
2081
  .. code-block:: python
@@ -2363,7 +2367,8 @@ class WorkstationsClient(metaclass=WorkstationsClientMeta):
2363
2367
  should not be set.
2364
2368
  update_mask (google.protobuf.field_mask_pb2.FieldMask):
2365
2369
  Required. Mask specifying which
2366
- fields in the config should be updated.
2370
+ fields in the workstation configuration
2371
+ should be updated.
2367
2372
 
2368
2373
  This corresponds to the ``update_mask`` field
2369
2374
  on the ``request`` instance; if ``request`` is provided, this
@@ -599,7 +599,8 @@ class WorkstationsGrpcTransport(WorkstationsTransport):
599
599
  ]:
600
600
  r"""Return a callable for the list workstations method over gRPC.
601
601
 
602
- Returns all Workstations using the specified config.
602
+ Returns all Workstations using the specified
603
+ workstation configuration.
603
604
 
604
605
  Returns:
605
606
  Callable[[~.ListWorkstationsRequest],
@@ -628,8 +629,8 @@ class WorkstationsGrpcTransport(WorkstationsTransport):
628
629
  ]:
629
630
  r"""Return a callable for the list usable workstations method over gRPC.
630
631
 
631
- Returns all Workstations using the specified config
632
- on which the caller has the
632
+ Returns all workstations using the specified
633
+ workstation configuration on which the caller has the
633
634
  "workstations.workstations.use" permission.
634
635
 
635
636
  Returns:
@@ -615,7 +615,8 @@ class WorkstationsGrpcAsyncIOTransport(WorkstationsTransport):
615
615
  ]:
616
616
  r"""Return a callable for the list workstations method over gRPC.
617
617
 
618
- Returns all Workstations using the specified config.
618
+ Returns all Workstations using the specified
619
+ workstation configuration.
619
620
 
620
621
  Returns:
621
622
  Callable[[~.ListWorkstationsRequest],
@@ -644,8 +645,8 @@ class WorkstationsGrpcAsyncIOTransport(WorkstationsTransport):
644
645
  ]:
645
646
  r"""Return a callable for the list usable workstations method over gRPC.
646
647
 
647
- Returns all Workstations using the specified config
648
- on which the caller has the
648
+ Returns all workstations using the specified
649
+ workstation configuration on which the caller has the
649
650
  "workstations.workstations.use" permission.
650
651
 
651
652
  Returns:
@@ -93,8 +93,8 @@ class WorkstationCluster(proto.Message):
93
93
  soft-deleted.
94
94
  etag (str):
95
95
  Checksum computed by the server. May be sent
96
- on update and delete requests to ensure that the
97
- client has an up-to-date value before
96
+ on update and delete requests to make sure that
97
+ the client has an up-to-date value before
98
98
  proceeding.
99
99
  network (str):
100
100
  Immutable. Name of the Compute Engine network
@@ -105,6 +105,13 @@ class WorkstationCluster(proto.Message):
105
105
  subnetwork in which instances associated with
106
106
  this cluster will be created. Must be part of
107
107
  the subnetwork specified for this cluster.
108
+ control_plane_ip (str):
109
+ Output only. The private IP address of the
110
+ control plane for this cluster. Workstation VMs
111
+ need access to this IP address to work with the
112
+ service, so make sure that your firewall rules
113
+ allow egress from the workstation VMs to this
114
+ address.
108
115
  private_cluster_config (google.cloud.workstations_v1beta.types.WorkstationCluster.PrivateClusterConfig):
109
116
  Configuration for private cluster.
110
117
  degraded (bool):
@@ -217,6 +224,10 @@ class WorkstationCluster(proto.Message):
217
224
  proto.STRING,
218
225
  number=11,
219
226
  )
227
+ control_plane_ip: str = proto.Field(
228
+ proto.STRING,
229
+ number=16,
230
+ )
220
231
  private_cluster_config: PrivateClusterConfig = proto.Field(
221
232
  proto.MESSAGE,
222
233
  number=12,
@@ -267,8 +278,8 @@ class WorkstationConfig(proto.Message):
267
278
  soft-deleted.
268
279
  etag (str):
269
280
  Checksum computed by the server. May be sent
270
- on update and delete requests to ensure that the
271
- client has an up-to-date value before
281
+ on update and delete requests to make sure that
282
+ the client has an up-to-date value before
272
283
  proceeding.
273
284
  idle_timeout (google.protobuf.duration_pb2.Duration):
274
285
  How long to wait before automatically
@@ -292,9 +303,9 @@ class WorkstationConfig(proto.Message):
292
303
  workstation using this configuration when that
293
304
  workstation is started.
294
305
  encryption_key (google.cloud.workstations_v1beta.types.WorkstationConfig.CustomerEncryptionKey):
295
- Encrypts resources of this workstation
296
- configuration using a customer-managed
297
- encryption key.
306
+ Immutable. Encrypts resources of this
307
+ workstation configuration using a
308
+ customer-managed encryption key.
298
309
  If specified, the boot disk of the Compute
299
310
  Engine instance and the persistent disk are
300
311
  encrypted using this encryption key. If this
@@ -311,6 +322,15 @@ class WorkstationConfig(proto.Message):
311
322
  If the encryption key is revoked, the
312
323
  workstation session will automatically be
313
324
  stopped within 7 hours.
325
+
326
+ Immutable after the workstation configuration is
327
+ created.
328
+ readiness_checks (MutableSequence[google.cloud.workstations_v1beta.types.WorkstationConfig.ReadinessCheck]):
329
+ Readiness checks to perform when starting a
330
+ workstation using this workstation
331
+ configuration. Mark a workstation as running
332
+ only after all specified readiness checks return
333
+ 200 status codes.
314
334
  degraded (bool):
315
335
  Output only. Whether this resource is in degraded mode, in
316
336
  which case it may require user action to restore full
@@ -319,6 +339,12 @@ class WorkstationConfig(proto.Message):
319
339
  conditions (MutableSequence[google.rpc.status_pb2.Status]):
320
340
  Output only. Status conditions describing the
321
341
  current resource state.
342
+ enable_audit_agent (bool):
343
+ Whether to enable linux auditd logging on the workstation.
344
+ When enabled, a service account must also be specified that
345
+ has logging.buckets.write permission on the project.
346
+ Operating system audit logging is distinct from `Cloud Audit
347
+ Logs <https://cloud.google.com/workstations/docs/audit-logging>`__.
322
348
  """
323
349
 
324
350
  class Host(proto.Message):
@@ -353,7 +379,11 @@ class WorkstationConfig(proto.Message):
353
379
  machines backing the Workstations.
354
380
  pool_size (int):
355
381
  Number of instances to pool for faster
356
- workstation starup.
382
+ workstation startup.
383
+ pooled_instances (int):
384
+ Output only. Number of instances currently
385
+ available in the pool for faster workstation
386
+ startup.
357
387
  disable_public_ip_addresses (bool):
358
388
  Whether instances have no public IP address.
359
389
  shielded_instance_config (google.cloud.workstations_v1beta.types.WorkstationConfig.Host.GceInstance.GceShieldedInstanceConfig):
@@ -363,7 +393,10 @@ class WorkstationConfig(proto.Message):
363
393
  A set of Compute Engine Confidential VM
364
394
  instance options.
365
395
  boot_disk_size_gb (int):
366
- Size of the boot disk in GB.
396
+ Size of the boot disk in GB. Defaults to 50.
397
+ accelerators (MutableSequence[google.cloud.workstations_v1beta.types.WorkstationConfig.Host.GceInstance.Accelerator]):
398
+ A list of the type and count of accelerator
399
+ cards attached to the instance.
367
400
  """
368
401
 
369
402
  class GceShieldedInstanceConfig(proto.Message):
@@ -406,6 +439,27 @@ class WorkstationConfig(proto.Message):
406
439
  number=1,
407
440
  )
408
441
 
442
+ class Accelerator(proto.Message):
443
+ r"""An accelerator card attached to the instance.
444
+
445
+ Attributes:
446
+ type_ (str):
447
+ Type of accelerator resource to attach to the
448
+ instance, for example, "nvidia-tesla-p100".
449
+ count (int):
450
+ Number of accelerator cards exposed to the
451
+ instance.
452
+ """
453
+
454
+ type_: str = proto.Field(
455
+ proto.STRING,
456
+ number=1,
457
+ )
458
+ count: int = proto.Field(
459
+ proto.INT32,
460
+ number=2,
461
+ )
462
+
409
463
  machine_type: str = proto.Field(
410
464
  proto.STRING,
411
465
  number=1,
@@ -422,6 +476,10 @@ class WorkstationConfig(proto.Message):
422
476
  proto.INT32,
423
477
  number=5,
424
478
  )
479
+ pooled_instances: int = proto.Field(
480
+ proto.INT32,
481
+ number=12,
482
+ )
425
483
  disable_public_ip_addresses: bool = proto.Field(
426
484
  proto.BOOL,
427
485
  number=6,
@@ -440,6 +498,13 @@ class WorkstationConfig(proto.Message):
440
498
  proto.INT32,
441
499
  number=9,
442
500
  )
501
+ accelerators: MutableSequence[
502
+ "WorkstationConfig.Host.GceInstance.Accelerator"
503
+ ] = proto.RepeatedField(
504
+ proto.MESSAGE,
505
+ number=11,
506
+ message="WorkstationConfig.Host.GceInstance.Accelerator",
507
+ )
443
508
 
444
509
  gce_instance: "WorkstationConfig.Host.GceInstance" = proto.Field(
445
510
  proto.MESSAGE,
@@ -471,13 +536,14 @@ class WorkstationConfig(proto.Message):
471
536
  Attributes:
472
537
  size_gb (int):
473
538
  Size of the disk in GB. Must be empty if source_snapshot is
474
- set.
539
+ set. Defaults to 200.
475
540
  fs_type (str):
476
541
  Type of file system that the disk should be formatted with.
477
542
  The workstation image must support this file system type.
478
- Must be empty if source_snapshot is set.
543
+ Must be empty if source_snapshot is set. Defaults to ext4.
479
544
  disk_type (str):
480
- Type of the disk to use.
545
+ Type of the disk to use. Defaults to
546
+ pd-standard.
481
547
  source_snapshot (str):
482
548
  Name of the snapshot to use as the source for the disk. If
483
549
  set, size_gb and fs_type must be empty.
@@ -544,8 +610,8 @@ class WorkstationConfig(proto.Message):
544
610
  Attributes:
545
611
  image (str):
546
612
  Docker image defining the container. This
547
- image must be accessible by the config's service
548
- account.
613
+ image must be accessible by the service account
614
+ specified in the workstation configuration.
549
615
  command (MutableSequence[str]):
550
616
  If set, overrides the default ENTRYPOINT
551
617
  specified by the image.
@@ -553,7 +619,7 @@ class WorkstationConfig(proto.Message):
553
619
  Arguments passed to the entrypoint.
554
620
  env (MutableMapping[str, str]):
555
621
  Environment variables passed to the
556
- container.
622
+ container's entrypoint.
557
623
  working_dir (str):
558
624
  If set, overrides the default DIR specified
559
625
  by the image.
@@ -594,13 +660,14 @@ class WorkstationConfig(proto.Message):
594
660
 
595
661
  Attributes:
596
662
  kms_key (str):
597
- The name of the Google Cloud KMS encryption key. For
598
- example,
663
+ Immutable. The name of the Google Cloud KMS encryption key.
664
+ For example,
599
665
  ``projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME``.
600
666
  kms_key_service_account (str):
601
- The service account to use with the specified KMS key. We
602
- recommend that you use a separate service account and follow
603
- KMS best practices. For more information, see `Separation of
667
+ Immutable. The service account to use with the specified KMS
668
+ key. We recommend that you use a separate service account
669
+ and follow KMS best practices. For more information, see
670
+ `Separation of
604
671
  duties <https://cloud.google.com/kms/docs/separation-of-duties>`__
605
672
  and ``gcloud kms keys add-iam-policy-binding``
606
673
  ```--member`` <https://cloud.google.com/sdk/gcloud/reference/kms/keys/add-iam-policy-binding#--member>`__.
@@ -615,6 +682,25 @@ class WorkstationConfig(proto.Message):
615
682
  number=2,
616
683
  )
617
684
 
685
+ class ReadinessCheck(proto.Message):
686
+ r"""A readiness check to be performed on a workstation.
687
+
688
+ Attributes:
689
+ path (str):
690
+ Path to which the request should be sent.
691
+ port (int):
692
+ Port to which the request should be sent.
693
+ """
694
+
695
+ path: str = proto.Field(
696
+ proto.STRING,
697
+ number=1,
698
+ )
699
+ port: int = proto.Field(
700
+ proto.INT32,
701
+ number=2,
702
+ )
703
+
618
704
  name: str = proto.Field(
619
705
  proto.STRING,
620
706
  number=1,
@@ -690,6 +776,11 @@ class WorkstationConfig(proto.Message):
690
776
  number=17,
691
777
  message=CustomerEncryptionKey,
692
778
  )
779
+ readiness_checks: MutableSequence[ReadinessCheck] = proto.RepeatedField(
780
+ proto.MESSAGE,
781
+ number=19,
782
+ message=ReadinessCheck,
783
+ )
693
784
  degraded: bool = proto.Field(
694
785
  proto.BOOL,
695
786
  number=15,
@@ -699,6 +790,10 @@ class WorkstationConfig(proto.Message):
699
790
  number=16,
700
791
  message=status_pb2.Status,
701
792
  )
793
+ enable_audit_agent: bool = proto.Field(
794
+ proto.BOOL,
795
+ number=20,
796
+ )
702
797
 
703
798
 
704
799
  class Workstation(proto.Message):
@@ -734,8 +829,8 @@ class Workstation(proto.Message):
734
829
  soft-deleted.
735
830
  etag (str):
736
831
  Checksum computed by the server. May be sent
737
- on update and delete requests to ensure that the
738
- client has an up-to-date value before
832
+ on update and delete requests to make sure that
833
+ the client has an up-to-date value before
739
834
  proceeding.
740
835
  state (google.cloud.workstations_v1beta.types.Workstation.State):
741
836
  Output only. Current state of the
@@ -747,6 +842,9 @@ class Workstation(proto.Message):
747
842
  send traffic to a different port, clients may prefix the
748
843
  host with the destination port in the format
749
844
  ``{port}-{host}``.
845
+ env (MutableMapping[str, str]):
846
+ Environment variables passed to the
847
+ workstation container's entrypoint.
750
848
  """
751
849
 
752
850
  class State(proto.Enum):
@@ -828,6 +926,11 @@ class Workstation(proto.Message):
828
926
  proto.STRING,
829
927
  number=11,
830
928
  )
929
+ env: MutableMapping[str, str] = proto.MapField(
930
+ proto.STRING,
931
+ proto.STRING,
932
+ number=12,
933
+ )
831
934
 
832
935
 
833
936
  class GetWorkstationClusterRequest(proto.Message):
@@ -990,7 +1093,7 @@ class DeleteWorkstationClusterRequest(proto.Message):
990
1093
  etag (str):
991
1094
  If set, the request will be rejected if the
992
1095
  latest version of the workstation cluster on the
993
- server does not have this etag.
1096
+ server does not have this ETag.
994
1097
  force (bool):
995
1098
  If set, any workstation configurations and
996
1099
  workstations in the workstation cluster are also
@@ -1158,7 +1261,8 @@ class CreateWorkstationConfigRequest(proto.Message):
1158
1261
  parent (str):
1159
1262
  Required. Parent resource name.
1160
1263
  workstation_config_id (str):
1161
- Required. ID to use for the config.
1264
+ Required. ID to use for the workstation
1265
+ configuration.
1162
1266
  workstation_config (google.cloud.workstations_v1beta.types.WorkstationConfig):
1163
1267
  Required. Config to create.
1164
1268
  validate_only (bool):
@@ -1193,13 +1297,14 @@ class UpdateWorkstationConfigRequest(proto.Message):
1193
1297
  Required. Config to update.
1194
1298
  update_mask (google.protobuf.field_mask_pb2.FieldMask):
1195
1299
  Required. Mask specifying which fields in the
1196
- config should be updated.
1300
+ workstation configuration should be updated.
1197
1301
  validate_only (bool):
1198
1302
  If set, validate the request and preview the
1199
1303
  review, but do not actually apply it.
1200
1304
  allow_missing (bool):
1201
- If set, and the config is not found, a new config will be
1202
- created. In this situation, update_mask is ignored.
1305
+ If set and the workstation configuration is not found, a new
1306
+ workstation configuration will be created. In this
1307
+ situation, update_mask is ignored.
1203
1308
  """
1204
1309
 
1205
1310
  workstation_config: "WorkstationConfig" = proto.Field(
@@ -1227,18 +1332,20 @@ class DeleteWorkstationConfigRequest(proto.Message):
1227
1332
 
1228
1333
  Attributes:
1229
1334
  name (str):
1230
- Required. Name of the config to delete.
1335
+ Required. Name of the workstation
1336
+ configuration to delete.
1231
1337
  validate_only (bool):
1232
1338
  If set, validate the request and preview the
1233
1339
  review, but do not actually apply it.
1234
1340
  etag (str):
1235
- If set, the request will be rejected if the
1236
- latest version of the config on the server does
1237
- not have this etag.
1341
+ If set, the request is rejected if the latest
1342
+ version of the workstation configuration on the
1343
+ server does not have this ETag.
1238
1344
  force (bool):
1239
- If set, any Workstations in the config will
1240
- also be deleted. Otherwise, the request will
1241
- work only if the config has no workstations.
1345
+ If set, any workstations in the workstation
1346
+ configuration are also deleted. Otherwise, the
1347
+ request works only if the workstation
1348
+ configuration has no workstations.
1242
1349
  """
1243
1350
 
1244
1351
  name: str = proto.Field(
@@ -1435,13 +1542,14 @@ class UpdateWorkstationRequest(proto.Message):
1435
1542
  Required. Workstation to update.
1436
1543
  update_mask (google.protobuf.field_mask_pb2.FieldMask):
1437
1544
  Required. Mask specifying which fields in the
1438
- config should be updated.
1545
+ workstation configuration should be updated.
1439
1546
  validate_only (bool):
1440
1547
  If set, validate the request and preview the
1441
1548
  review, but do not actually apply it.
1442
1549
  allow_missing (bool):
1443
- If set, and the config is not found, a new config will be
1444
- created. In this situation, update_mask is ignored.
1550
+ If set and the workstation configuration is not found, a new
1551
+ workstation configuration is created. In this situation,
1552
+ update_mask is ignored.
1445
1553
  """
1446
1554
 
1447
1555
  workstation: "Workstation" = proto.Field(
@@ -1476,7 +1584,7 @@ class DeleteWorkstationRequest(proto.Message):
1476
1584
  etag (str):
1477
1585
  If set, the request will be rejected if the
1478
1586
  latest version of the workstation on the server
1479
- does not have this etag.
1587
+ does not have this ETag.
1480
1588
  """
1481
1589
 
1482
1590
  name: str = proto.Field(
@@ -1505,7 +1613,7 @@ class StartWorkstationRequest(proto.Message):
1505
1613
  etag (str):
1506
1614
  If set, the request will be rejected if the
1507
1615
  latest version of the workstation on the server
1508
- does not have this etag.
1616
+ does not have this ETag.
1509
1617
  """
1510
1618
 
1511
1619
  name: str = proto.Field(
@@ -1534,7 +1642,7 @@ class StopWorkstationRequest(proto.Message):
1534
1642
  etag (str):
1535
1643
  If set, the request will be rejected if the
1536
1644
  latest version of the workstation on the server
1537
- does not have this etag.
1645
+ does not have this ETag.
1538
1646
  """
1539
1647
 
1540
1648
  name: str = proto.Field(
@@ -1607,7 +1715,7 @@ class GenerateAccessTokenResponse(proto.Message):
1607
1715
  access_token (str):
1608
1716
  The generated bearer access token. To use this token,
1609
1717
  include it in an Authorization header of an HTTP request
1610
- sent to the associated workstation's hostname, for example,
1718
+ sent to the associated workstation's hostname—for example,
1611
1719
  ``Authorization: Bearer <access_token>``.
1612
1720
  expire_time (google.protobuf.timestamp_pb2.Timestamp):
1613
1721
  Time at which the generated token will
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: google-cloud-workstations
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: Google Cloud Workstations API client library
5
5
  Home-page: https://github.com/googleapis/google-cloud-python
6
6
  Author: Google LLC
@@ -738,6 +738,7 @@ def test_get_workstation_cluster(request_type, transport: str = "grpc"):
738
738
  etag="etag_value",
739
739
  network="network_value",
740
740
  subnetwork="subnetwork_value",
741
+ control_plane_ip="control_plane_ip_value",
741
742
  degraded=True,
742
743
  )
743
744
  response = client.get_workstation_cluster(request)
@@ -756,6 +757,7 @@ def test_get_workstation_cluster(request_type, transport: str = "grpc"):
756
757
  assert response.etag == "etag_value"
757
758
  assert response.network == "network_value"
758
759
  assert response.subnetwork == "subnetwork_value"
760
+ assert response.control_plane_ip == "control_plane_ip_value"
759
761
  assert response.degraded is True
760
762
 
761
763
 
@@ -805,6 +807,7 @@ async def test_get_workstation_cluster_async(
805
807
  etag="etag_value",
806
808
  network="network_value",
807
809
  subnetwork="subnetwork_value",
810
+ control_plane_ip="control_plane_ip_value",
808
811
  degraded=True,
809
812
  )
810
813
  )
@@ -824,6 +827,7 @@ async def test_get_workstation_cluster_async(
824
827
  assert response.etag == "etag_value"
825
828
  assert response.network == "network_value"
826
829
  assert response.subnetwork == "subnetwork_value"
830
+ assert response.control_plane_ip == "control_plane_ip_value"
827
831
  assert response.degraded is True
828
832
 
829
833
 
@@ -2212,6 +2216,7 @@ def test_get_workstation_config(request_type, transport: str = "grpc"):
2212
2216
  reconciling=True,
2213
2217
  etag="etag_value",
2214
2218
  degraded=True,
2219
+ enable_audit_agent=True,
2215
2220
  )
2216
2221
  response = client.get_workstation_config(request)
2217
2222
 
@@ -2228,6 +2233,7 @@ def test_get_workstation_config(request_type, transport: str = "grpc"):
2228
2233
  assert response.reconciling is True
2229
2234
  assert response.etag == "etag_value"
2230
2235
  assert response.degraded is True
2236
+ assert response.enable_audit_agent is True
2231
2237
 
2232
2238
 
2233
2239
  def test_get_workstation_config_empty_call():
@@ -2275,6 +2281,7 @@ async def test_get_workstation_config_async(
2275
2281
  reconciling=True,
2276
2282
  etag="etag_value",
2277
2283
  degraded=True,
2284
+ enable_audit_agent=True,
2278
2285
  )
2279
2286
  )
2280
2287
  response = await client.get_workstation_config(request)
@@ -2292,6 +2299,7 @@ async def test_get_workstation_config_async(
2292
2299
  assert response.reconciling is True
2293
2300
  assert response.etag == "etag_value"
2294
2301
  assert response.degraded is True
2302
+ assert response.enable_audit_agent is True
2295
2303
 
2296
2304
 
2297
2305
  @pytest.mark.asyncio
@@ -6739,6 +6747,7 @@ def test_get_workstation_cluster_rest(request_type):
6739
6747
  etag="etag_value",
6740
6748
  network="network_value",
6741
6749
  subnetwork="subnetwork_value",
6750
+ control_plane_ip="control_plane_ip_value",
6742
6751
  degraded=True,
6743
6752
  )
6744
6753
 
@@ -6761,6 +6770,7 @@ def test_get_workstation_cluster_rest(request_type):
6761
6770
  assert response.etag == "etag_value"
6762
6771
  assert response.network == "network_value"
6763
6772
  assert response.subnetwork == "subnetwork_value"
6773
+ assert response.control_plane_ip == "control_plane_ip_value"
6764
6774
  assert response.degraded is True
6765
6775
 
6766
6776
 
@@ -7371,6 +7381,7 @@ def test_create_workstation_cluster_rest(request_type):
7371
7381
  "etag": "etag_value",
7372
7382
  "network": "network_value",
7373
7383
  "subnetwork": "subnetwork_value",
7384
+ "control_plane_ip": "control_plane_ip_value",
7374
7385
  "private_cluster_config": {
7375
7386
  "enable_private_endpoint": True,
7376
7387
  "cluster_hostname": "cluster_hostname_value",
@@ -7615,6 +7626,7 @@ def test_create_workstation_cluster_rest_bad_request(
7615
7626
  "etag": "etag_value",
7616
7627
  "network": "network_value",
7617
7628
  "subnetwork": "subnetwork_value",
7629
+ "control_plane_ip": "control_plane_ip_value",
7618
7630
  "private_cluster_config": {
7619
7631
  "enable_private_endpoint": True,
7620
7632
  "cluster_hostname": "cluster_hostname_value",
@@ -7746,6 +7758,7 @@ def test_update_workstation_cluster_rest(request_type):
7746
7758
  "etag": "etag_value",
7747
7759
  "network": "network_value",
7748
7760
  "subnetwork": "subnetwork_value",
7761
+ "control_plane_ip": "control_plane_ip_value",
7749
7762
  "private_cluster_config": {
7750
7763
  "enable_private_endpoint": True,
7751
7764
  "cluster_hostname": "cluster_hostname_value",
@@ -7974,6 +7987,7 @@ def test_update_workstation_cluster_rest_bad_request(
7974
7987
  "etag": "etag_value",
7975
7988
  "network": "network_value",
7976
7989
  "subnetwork": "subnetwork_value",
7990
+ "control_plane_ip": "control_plane_ip_value",
7977
7991
  "private_cluster_config": {
7978
7992
  "enable_private_endpoint": True,
7979
7993
  "cluster_hostname": "cluster_hostname_value",
@@ -8390,6 +8404,7 @@ def test_get_workstation_config_rest(request_type):
8390
8404
  reconciling=True,
8391
8405
  etag="etag_value",
8392
8406
  degraded=True,
8407
+ enable_audit_agent=True,
8393
8408
  )
8394
8409
 
8395
8410
  # Wrap the value into a proper Response obj
@@ -8410,6 +8425,7 @@ def test_get_workstation_config_rest(request_type):
8410
8425
  assert response.reconciling is True
8411
8426
  assert response.etag == "etag_value"
8412
8427
  assert response.degraded is True
8428
+ assert response.enable_audit_agent is True
8413
8429
 
8414
8430
 
8415
8431
  def test_get_workstation_config_rest_required_fields(
@@ -9397,6 +9413,7 @@ def test_create_workstation_config_rest(request_type):
9397
9413
  "service_account": "service_account_value",
9398
9414
  "tags": ["tags_value1", "tags_value2"],
9399
9415
  "pool_size": 980,
9416
+ "pooled_instances": 1706,
9400
9417
  "disable_public_ip_addresses": True,
9401
9418
  "shielded_instance_config": {
9402
9419
  "enable_secure_boot": True,
@@ -9405,6 +9422,7 @@ def test_create_workstation_config_rest(request_type):
9405
9422
  },
9406
9423
  "confidential_instance_config": {"enable_confidential_compute": True},
9407
9424
  "boot_disk_size_gb": 1792,
9425
+ "accelerators": [{"type_": "type__value", "count": 553}],
9408
9426
  }
9409
9427
  },
9410
9428
  "persistent_directories": [
@@ -9431,6 +9449,7 @@ def test_create_workstation_config_rest(request_type):
9431
9449
  "kms_key": "kms_key_value",
9432
9450
  "kms_key_service_account": "kms_key_service_account_value",
9433
9451
  },
9452
+ "readiness_checks": [{"path": "path_value", "port": 453}],
9434
9453
  "degraded": True,
9435
9454
  "conditions": [
9436
9455
  {
@@ -9444,6 +9463,7 @@ def test_create_workstation_config_rest(request_type):
9444
9463
  ],
9445
9464
  }
9446
9465
  ],
9466
+ "enable_audit_agent": True,
9447
9467
  }
9448
9468
  request = request_type(**request_init)
9449
9469
 
@@ -9677,6 +9697,7 @@ def test_create_workstation_config_rest_bad_request(
9677
9697
  "service_account": "service_account_value",
9678
9698
  "tags": ["tags_value1", "tags_value2"],
9679
9699
  "pool_size": 980,
9700
+ "pooled_instances": 1706,
9680
9701
  "disable_public_ip_addresses": True,
9681
9702
  "shielded_instance_config": {
9682
9703
  "enable_secure_boot": True,
@@ -9685,6 +9706,7 @@ def test_create_workstation_config_rest_bad_request(
9685
9706
  },
9686
9707
  "confidential_instance_config": {"enable_confidential_compute": True},
9687
9708
  "boot_disk_size_gb": 1792,
9709
+ "accelerators": [{"type_": "type__value", "count": 553}],
9688
9710
  }
9689
9711
  },
9690
9712
  "persistent_directories": [
@@ -9711,6 +9733,7 @@ def test_create_workstation_config_rest_bad_request(
9711
9733
  "kms_key": "kms_key_value",
9712
9734
  "kms_key_service_account": "kms_key_service_account_value",
9713
9735
  },
9736
+ "readiness_checks": [{"path": "path_value", "port": 453}],
9714
9737
  "degraded": True,
9715
9738
  "conditions": [
9716
9739
  {
@@ -9724,6 +9747,7 @@ def test_create_workstation_config_rest_bad_request(
9724
9747
  ],
9725
9748
  }
9726
9749
  ],
9750
+ "enable_audit_agent": True,
9727
9751
  }
9728
9752
  request = request_type(**request_init)
9729
9753
 
@@ -9844,6 +9868,7 @@ def test_update_workstation_config_rest(request_type):
9844
9868
  "service_account": "service_account_value",
9845
9869
  "tags": ["tags_value1", "tags_value2"],
9846
9870
  "pool_size": 980,
9871
+ "pooled_instances": 1706,
9847
9872
  "disable_public_ip_addresses": True,
9848
9873
  "shielded_instance_config": {
9849
9874
  "enable_secure_boot": True,
@@ -9852,6 +9877,7 @@ def test_update_workstation_config_rest(request_type):
9852
9877
  },
9853
9878
  "confidential_instance_config": {"enable_confidential_compute": True},
9854
9879
  "boot_disk_size_gb": 1792,
9880
+ "accelerators": [{"type_": "type__value", "count": 553}],
9855
9881
  }
9856
9882
  },
9857
9883
  "persistent_directories": [
@@ -9878,6 +9904,7 @@ def test_update_workstation_config_rest(request_type):
9878
9904
  "kms_key": "kms_key_value",
9879
9905
  "kms_key_service_account": "kms_key_service_account_value",
9880
9906
  },
9907
+ "readiness_checks": [{"path": "path_value", "port": 453}],
9881
9908
  "degraded": True,
9882
9909
  "conditions": [
9883
9910
  {
@@ -9891,6 +9918,7 @@ def test_update_workstation_config_rest(request_type):
9891
9918
  ],
9892
9919
  }
9893
9920
  ],
9921
+ "enable_audit_agent": True,
9894
9922
  }
9895
9923
  request = request_type(**request_init)
9896
9924
 
@@ -10106,6 +10134,7 @@ def test_update_workstation_config_rest_bad_request(
10106
10134
  "service_account": "service_account_value",
10107
10135
  "tags": ["tags_value1", "tags_value2"],
10108
10136
  "pool_size": 980,
10137
+ "pooled_instances": 1706,
10109
10138
  "disable_public_ip_addresses": True,
10110
10139
  "shielded_instance_config": {
10111
10140
  "enable_secure_boot": True,
@@ -10114,6 +10143,7 @@ def test_update_workstation_config_rest_bad_request(
10114
10143
  },
10115
10144
  "confidential_instance_config": {"enable_confidential_compute": True},
10116
10145
  "boot_disk_size_gb": 1792,
10146
+ "accelerators": [{"type_": "type__value", "count": 553}],
10117
10147
  }
10118
10148
  },
10119
10149
  "persistent_directories": [
@@ -10140,6 +10170,7 @@ def test_update_workstation_config_rest_bad_request(
10140
10170
  "kms_key": "kms_key_value",
10141
10171
  "kms_key_service_account": "kms_key_service_account_value",
10142
10172
  },
10173
+ "readiness_checks": [{"path": "path_value", "port": 453}],
10143
10174
  "degraded": True,
10144
10175
  "conditions": [
10145
10176
  {
@@ -10153,6 +10184,7 @@ def test_update_workstation_config_rest_bad_request(
10153
10184
  ],
10154
10185
  }
10155
10186
  ],
10187
+ "enable_audit_agent": True,
10156
10188
  }
10157
10189
  request = request_type(**request_init)
10158
10190
 
@@ -11539,6 +11571,7 @@ def test_create_workstation_rest(request_type):
11539
11571
  "etag": "etag_value",
11540
11572
  "state": 1,
11541
11573
  "host": "host_value",
11574
+ "env": {},
11542
11575
  }
11543
11576
  request = request_type(**request_init)
11544
11577
 
@@ -11763,6 +11796,7 @@ def test_create_workstation_rest_bad_request(
11763
11796
  "etag": "etag_value",
11764
11797
  "state": 1,
11765
11798
  "host": "host_value",
11799
+ "env": {},
11766
11800
  }
11767
11801
  request = request_type(**request_init)
11768
11802
 
@@ -11877,6 +11911,7 @@ def test_update_workstation_rest(request_type):
11877
11911
  "etag": "etag_value",
11878
11912
  "state": 1,
11879
11913
  "host": "host_value",
11914
+ "env": {},
11880
11915
  }
11881
11916
  request = request_type(**request_init)
11882
11917
 
@@ -12086,6 +12121,7 @@ def test_update_workstation_rest_bad_request(
12086
12121
  "etag": "etag_value",
12087
12122
  "state": 1,
12088
12123
  "host": "host_value",
12124
+ "env": {},
12089
12125
  }
12090
12126
  request = request_type(**request_init)
12091
12127