google-cloud-workstations-v1beta 0.8.0 → 0.9.0
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.
- checksums.yaml +4 -4
- data/lib/google/cloud/workstations/v1beta/version.rb +1 -1
- data/lib/google/cloud/workstations/v1beta/workstations/client.rb +155 -24
- data/lib/google/cloud/workstations/v1beta/workstations/rest/client.rb +148 -24
- data/lib/google/cloud/workstations/v1beta/workstations/rest/service_stub.rb +62 -0
- data/lib/google/cloud/workstations/v1beta/workstations_pb.rb +18 -1
- data/lib/google/cloud/workstations/v1beta/workstations_services_pb.rb +6 -0
- data/proto_docs/google/api/client.rb +4 -0
- data/proto_docs/google/api/field_info.rb +88 -0
- data/proto_docs/google/cloud/workstations/v1beta/workstations.rb +667 -58
- metadata +2 -1
|
@@ -27,7 +27,7 @@ module Google
|
|
|
27
27
|
# VPC network they're attached to.
|
|
28
28
|
# @!attribute [rw] name
|
|
29
29
|
# @return [::String]
|
|
30
|
-
# Full name of this workstation cluster.
|
|
30
|
+
# Identifier. Full name of this workstation cluster.
|
|
31
31
|
# @!attribute [rw] display_name
|
|
32
32
|
# @return [::String]
|
|
33
33
|
# Optional. Human-readable name for this workstation cluster.
|
|
@@ -80,16 +80,53 @@ module Google
|
|
|
80
80
|
# @!attribute [rw] private_cluster_config
|
|
81
81
|
# @return [::Google::Cloud::Workstations::V1beta::WorkstationCluster::PrivateClusterConfig]
|
|
82
82
|
# Optional. Configuration for private workstation cluster.
|
|
83
|
+
# @!attribute [rw] domain_config
|
|
84
|
+
# @return [::Google::Cloud::Workstations::V1beta::WorkstationCluster::DomainConfig]
|
|
85
|
+
# Optional. Configuration options for a custom domain.
|
|
83
86
|
# @!attribute [r] degraded
|
|
84
87
|
# @return [::Boolean]
|
|
85
88
|
# Output only. Whether this workstation cluster is in degraded mode, in which
|
|
86
|
-
# case it may require user action to restore full functionality.
|
|
87
|
-
#
|
|
88
|
-
#
|
|
89
|
+
# case it may require user action to restore full functionality. The
|
|
90
|
+
# {::Google::Cloud::Workstations::V1beta::WorkstationCluster#conditions conditions}
|
|
91
|
+
# field contains detailed information about the status of the cluster.
|
|
89
92
|
# @!attribute [r] conditions
|
|
90
93
|
# @return [::Array<::Google::Rpc::Status>]
|
|
91
94
|
# Output only. Status conditions describing the workstation cluster's current
|
|
92
95
|
# state.
|
|
96
|
+
# @!attribute [r] satisfies_pzs
|
|
97
|
+
# @return [::Boolean]
|
|
98
|
+
# Output only. Reserved for future use.
|
|
99
|
+
# @!attribute [r] satisfies_pzi
|
|
100
|
+
# @return [::Boolean]
|
|
101
|
+
# Output only. Reserved for future use.
|
|
102
|
+
# @!attribute [rw] tags
|
|
103
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
104
|
+
# Optional. Input only. Immutable. Tag keys/values directly bound to this
|
|
105
|
+
# resource. For example:
|
|
106
|
+
# "123/environment": "production",
|
|
107
|
+
# "123/costCenter": "marketing"
|
|
108
|
+
# @!attribute [rw] gateway_config
|
|
109
|
+
# @return [::Google::Cloud::Workstations::V1beta::WorkstationCluster::GatewayConfig]
|
|
110
|
+
# Optional. Configuration options for Cluster HTTP Gateway.
|
|
111
|
+
# @!attribute [rw] workstation_authorization_url
|
|
112
|
+
# @return [::String]
|
|
113
|
+
# Optional. Specifies the redirect URL for unauthorized requests received by
|
|
114
|
+
# workstation VMs in this cluster.
|
|
115
|
+
#
|
|
116
|
+
# Redirects to this endpoint will send a base64 encoded `state` query param
|
|
117
|
+
# containing the target workstation name and original request hostname. The
|
|
118
|
+
# endpoint is responsible for retrieving a token using `GenerateAccessToken`
|
|
119
|
+
# and redirecting back to the original hostname with the token.
|
|
120
|
+
# @!attribute [rw] workstation_launch_url
|
|
121
|
+
# @return [::String]
|
|
122
|
+
# Optional. Specifies the launch URL for workstations in this cluster.
|
|
123
|
+
# Requests sent to unstarted workstations will be redirected to this URL.
|
|
124
|
+
#
|
|
125
|
+
# Requests redirected to the launch endpoint will be sent with a
|
|
126
|
+
# `workstation` and `project` query parameter containing the full workstation
|
|
127
|
+
# resource name and project ID, respectively. The launch endpoint is
|
|
128
|
+
# responsible for starting the workstation, polling it until it reaches
|
|
129
|
+
# `STATE_RUNNING`, and then issuing a redirect to the workstation's host URL.
|
|
93
130
|
class WorkstationCluster
|
|
94
131
|
include ::Google::Protobuf::MessageExts
|
|
95
132
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -108,7 +145,7 @@ module Google
|
|
|
108
145
|
# @!attribute [r] service_attachment_uri
|
|
109
146
|
# @return [::String]
|
|
110
147
|
# Output only. Service attachment URI for the workstation cluster. The
|
|
111
|
-
# service
|
|
148
|
+
# service attachment is created when private endpoint is enabled. To access
|
|
112
149
|
# workstations in the workstation cluster, configure access to the managed
|
|
113
150
|
# service using [Private Service
|
|
114
151
|
# Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services).
|
|
@@ -122,6 +159,25 @@ module Google
|
|
|
122
159
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
123
160
|
end
|
|
124
161
|
|
|
162
|
+
# Configuration options for a custom domain.
|
|
163
|
+
# @!attribute [rw] domain
|
|
164
|
+
# @return [::String]
|
|
165
|
+
# Immutable. Domain used by Workstations for HTTP ingress.
|
|
166
|
+
class DomainConfig
|
|
167
|
+
include ::Google::Protobuf::MessageExts
|
|
168
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Configuration options for Cluster HTTP Gateway.
|
|
172
|
+
# @!attribute [rw] http2_enabled
|
|
173
|
+
# @return [::Boolean]
|
|
174
|
+
# Optional. Whether HTTP/2 is enabled for this workstation cluster.
|
|
175
|
+
# Defaults to false.
|
|
176
|
+
class GatewayConfig
|
|
177
|
+
include ::Google::Protobuf::MessageExts
|
|
178
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
179
|
+
end
|
|
180
|
+
|
|
125
181
|
# @!attribute [rw] key
|
|
126
182
|
# @return [::String]
|
|
127
183
|
# @!attribute [rw] value
|
|
@@ -139,6 +195,15 @@ module Google
|
|
|
139
195
|
include ::Google::Protobuf::MessageExts
|
|
140
196
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
141
197
|
end
|
|
198
|
+
|
|
199
|
+
# @!attribute [rw] key
|
|
200
|
+
# @return [::String]
|
|
201
|
+
# @!attribute [rw] value
|
|
202
|
+
# @return [::String]
|
|
203
|
+
class TagsEntry
|
|
204
|
+
include ::Google::Protobuf::MessageExts
|
|
205
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
206
|
+
end
|
|
142
207
|
end
|
|
143
208
|
|
|
144
209
|
# A workstation configuration resource in the Cloud Workstations API.
|
|
@@ -152,7 +217,7 @@ module Google
|
|
|
152
217
|
# teams or to individual developers.
|
|
153
218
|
# @!attribute [rw] name
|
|
154
219
|
# @return [::String]
|
|
155
|
-
# Full name of this workstation configuration.
|
|
220
|
+
# Identifier. Full name of this workstation configuration.
|
|
156
221
|
# @!attribute [rw] display_name
|
|
157
222
|
# @return [::String]
|
|
158
223
|
# Optional. Human-readable name for this workstation configuration.
|
|
@@ -223,6 +288,22 @@ module Google
|
|
|
223
288
|
# Warning: A value of `"0s"` indicates that Cloud Workstations VMs created
|
|
224
289
|
# with this configuration have no maximum running time. This is strongly
|
|
225
290
|
# discouraged because you incur costs and will not pick up security updates.
|
|
291
|
+
# @!attribute [rw] max_usable_workstations
|
|
292
|
+
# @return [::Integer]
|
|
293
|
+
# Optional. Maximum number of workstations under this configuration a user
|
|
294
|
+
# can have `workstations.workstation.use` permission on.
|
|
295
|
+
#
|
|
296
|
+
# Only enforced on CreateWorkstation API calls on the user issuing the API
|
|
297
|
+
# request. Can be overridden by:
|
|
298
|
+
#
|
|
299
|
+
# - granting a user
|
|
300
|
+
# workstations.workstationConfigs.exemptMaxUsableWorkstationLimit permission,
|
|
301
|
+
# or
|
|
302
|
+
# - having a user with that permission create a workstation and
|
|
303
|
+
# granting another user `workstations.workstation.use` permission on
|
|
304
|
+
# that workstation.
|
|
305
|
+
#
|
|
306
|
+
# If not specified, defaults to `0`, which indicates unlimited.
|
|
226
307
|
# @!attribute [rw] host
|
|
227
308
|
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host]
|
|
228
309
|
# Optional. Runtime host for the workstation.
|
|
@@ -273,20 +354,69 @@ module Google
|
|
|
273
354
|
# Immutable after the workstation configuration is created.
|
|
274
355
|
# @!attribute [r] degraded
|
|
275
356
|
# @return [::Boolean]
|
|
276
|
-
# Output only. Whether this
|
|
277
|
-
# require user action to restore full functionality.
|
|
357
|
+
# Output only. Whether this workstation configuration is in degraded mode, in
|
|
358
|
+
# which case it may require user action to restore full functionality. The
|
|
278
359
|
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig#conditions conditions}
|
|
279
|
-
# field.
|
|
360
|
+
# field contains detailed information about the status of the configuration.
|
|
280
361
|
# @!attribute [r] conditions
|
|
281
362
|
# @return [::Array<::Google::Rpc::Status>]
|
|
282
|
-
# Output only. Status conditions describing the
|
|
363
|
+
# Output only. Status conditions describing the workstation configuration's
|
|
364
|
+
# current state.
|
|
283
365
|
# @!attribute [rw] enable_audit_agent
|
|
284
366
|
# @return [::Boolean]
|
|
285
367
|
# Optional. Whether to enable Linux `auditd` logging on the workstation. When
|
|
286
|
-
# enabled, a
|
|
287
|
-
#
|
|
368
|
+
# enabled, a
|
|
369
|
+
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host::GceInstance#service_account service_account}
|
|
370
|
+
# must also be specified that has `roles/logging.logWriter` and
|
|
371
|
+
# `roles/monitoring.metricWriter` on the project. Operating system audit
|
|
288
372
|
# logging is distinct from [Cloud Audit
|
|
289
|
-
# Logs](https://cloud.google.com/workstations/docs/audit-logging)
|
|
373
|
+
# Logs](https://cloud.google.com/workstations/docs/audit-logging) and
|
|
374
|
+
# [Container output
|
|
375
|
+
# logging](https://cloud.google.com/workstations/docs/container-output-logging#overview).
|
|
376
|
+
# Operating system audit logs are available in the
|
|
377
|
+
# [Cloud Logging](https://cloud.google.com/logging/docs) console by querying:
|
|
378
|
+
#
|
|
379
|
+
# resource.type="gce_instance"
|
|
380
|
+
# log_name:"/logs/linux-auditd"
|
|
381
|
+
# @!attribute [rw] http_options
|
|
382
|
+
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig::HttpOptions]
|
|
383
|
+
# Optional. HTTP options that customize the behavior of the workstation
|
|
384
|
+
# service's HTTP proxy.
|
|
385
|
+
# @!attribute [rw] disable_tcp_connections
|
|
386
|
+
# @return [::Boolean]
|
|
387
|
+
# Optional. Disables support for plain TCP connections in the workstation.
|
|
388
|
+
# By default the service supports TCP connections through a websocket relay.
|
|
389
|
+
# Setting this option to true disables that relay, which prevents the usage
|
|
390
|
+
# of services that require plain TCP connections, such as SSH.
|
|
391
|
+
# When enabled, all communication must occur over HTTPS or WSS.
|
|
392
|
+
# @!attribute [rw] allowed_ports
|
|
393
|
+
# @return [::Array<::Google::Cloud::Workstations::V1beta::WorkstationConfig::PortRange>]
|
|
394
|
+
# Optional. A list of
|
|
395
|
+
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::PortRange PortRange}s
|
|
396
|
+
# specifying single ports or ranges of ports that are externally accessible
|
|
397
|
+
# in the workstation. Allowed ports must be one of 22, 80, or within range
|
|
398
|
+
# 1024-65535. If not specified defaults to ports 22, 80, and ports
|
|
399
|
+
# 1024-65535.
|
|
400
|
+
# @!attribute [r] satisfies_pzs
|
|
401
|
+
# @return [::Boolean]
|
|
402
|
+
# Output only. Reserved for future use.
|
|
403
|
+
# @!attribute [r] satisfies_pzi
|
|
404
|
+
# @return [::Boolean]
|
|
405
|
+
# Output only. Reserved for future use.
|
|
406
|
+
# @!attribute [rw] grant_workstation_admin_role_on_create
|
|
407
|
+
# @return [::Boolean]
|
|
408
|
+
# Optional. Grant creator of a workstation `roles/workstations.policyAdmin`
|
|
409
|
+
# role along with `roles/workstations.user` role on the workstation created
|
|
410
|
+
# by them. This allows workstation users to share access to either their
|
|
411
|
+
# entire workstation, or individual ports. Defaults to false.
|
|
412
|
+
# @!attribute [rw] enable_pushing_credentials
|
|
413
|
+
# @return [::Boolean]
|
|
414
|
+
# Optional. Enables pushing user provided credentials to Workstations by
|
|
415
|
+
# calling workstations.pushCredentials. If application_default_credentials
|
|
416
|
+
# are supplied to pushCredentials, the provided token is returned when tools
|
|
417
|
+
# and applications running in the user container make a request for Default
|
|
418
|
+
# Application Credentials. Please note that any credentials supplied are made
|
|
419
|
+
# available to all users with access to the workstation.
|
|
290
420
|
class WorkstationConfig
|
|
291
421
|
include ::Google::Protobuf::MessageExts
|
|
292
422
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -311,10 +441,12 @@ module Google
|
|
|
311
441
|
# @return [::String]
|
|
312
442
|
# Optional. The email address of the service account for Cloud
|
|
313
443
|
# Workstations VMs created with this configuration. When specified, be
|
|
314
|
-
# sure that the service account has `
|
|
315
|
-
# on the project so it can
|
|
316
|
-
#
|
|
317
|
-
#
|
|
444
|
+
# sure that the service account has `logging.logEntries.create` and
|
|
445
|
+
# `monitoring.timeSeries.create` permissions on the project so it can
|
|
446
|
+
# write logs out to Cloud Logging. If using a custom container image, the
|
|
447
|
+
# service account must have [Artifact Registry
|
|
448
|
+
# Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles)
|
|
449
|
+
# permission to pull the specified image.
|
|
318
450
|
#
|
|
319
451
|
# If you as the administrator want to be able to `ssh` into the
|
|
320
452
|
# underlying VM, you need to set this value to a service account
|
|
@@ -330,9 +462,8 @@ module Google
|
|
|
330
462
|
# @return [::Array<::String>]
|
|
331
463
|
# Optional. Scopes to grant to the
|
|
332
464
|
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host::GceInstance#service_account service_account}.
|
|
333
|
-
#
|
|
334
|
-
#
|
|
335
|
-
# `iam.serviceAccounts.actAs` on the service account.
|
|
465
|
+
# When specified, users of workstations under this configuration must
|
|
466
|
+
# have `iam.serviceAccounts.actAs` on the service account.
|
|
336
467
|
# @!attribute [rw] tags
|
|
337
468
|
# @return [::Array<::String>]
|
|
338
469
|
# Optional. Network tags to add to the Compute Engine VMs backing the
|
|
@@ -363,7 +494,9 @@ module Google
|
|
|
363
494
|
# @!attribute [rw] enable_nested_virtualization
|
|
364
495
|
# @return [::Boolean]
|
|
365
496
|
# Optional. Whether to enable nested virtualization on Cloud Workstations
|
|
366
|
-
# VMs created
|
|
497
|
+
# VMs created using this workstation configuration.
|
|
498
|
+
#
|
|
499
|
+
# Defaults to false.
|
|
367
500
|
#
|
|
368
501
|
# Nested virtualization lets you run virtual machine (VM) instances
|
|
369
502
|
# inside your workstation. Before enabling nested virtualization,
|
|
@@ -386,16 +519,6 @@ module Google
|
|
|
386
519
|
# workstation configurations that specify a
|
|
387
520
|
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host::GceInstance#machine_type machine_type}
|
|
388
521
|
# in the N1 or N2 machine series.
|
|
389
|
-
# * **GPUs**: nested virtualization may not be enabled on workstation
|
|
390
|
-
# configurations with accelerators.
|
|
391
|
-
# * **Operating System**: Because
|
|
392
|
-
# [Container-Optimized
|
|
393
|
-
# OS](https://cloud.google.com/compute/docs/images/os-details#container-optimized_os_cos)
|
|
394
|
-
# does not support nested virtualization, when nested virtualization is
|
|
395
|
-
# enabled, the underlying Compute Engine VM instances boot from an
|
|
396
|
-
# [Ubuntu
|
|
397
|
-
# LTS](https://cloud.google.com/compute/docs/images/os-details#ubuntu_lts)
|
|
398
|
-
# image.
|
|
399
522
|
# @!attribute [rw] shielded_instance_config
|
|
400
523
|
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host::GceInstance::GceShieldedInstanceConfig]
|
|
401
524
|
# Optional. A set of Compute Engine Shielded instance options.
|
|
@@ -410,6 +533,56 @@ module Google
|
|
|
410
533
|
# @return [::Array<::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host::GceInstance::Accelerator>]
|
|
411
534
|
# Optional. A list of the type and count of accelerator cards attached to
|
|
412
535
|
# the instance.
|
|
536
|
+
# @!attribute [rw] boost_configs
|
|
537
|
+
# @return [::Array<::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host::GceInstance::BoostConfig>]
|
|
538
|
+
# Optional. A list of the boost configurations that workstations created
|
|
539
|
+
# using this workstation configuration are allowed to use. If specified,
|
|
540
|
+
# users will have the option to choose from the list of boost configs
|
|
541
|
+
# when starting a workstation.
|
|
542
|
+
# @!attribute [rw] disable_ssh
|
|
543
|
+
# @return [::Boolean]
|
|
544
|
+
# Optional. Whether to disable SSH access to the VM.
|
|
545
|
+
# @!attribute [rw] vm_tags
|
|
546
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
547
|
+
# Optional. Resource manager tags to be bound to this instance.
|
|
548
|
+
# Tag keys and values have the same definition as [resource manager
|
|
549
|
+
# tags](https://cloud.google.com/resource-manager/docs/tags/tags-overview).
|
|
550
|
+
# Keys must be in the format `tagKeys/{tag_key_id}`, and
|
|
551
|
+
# values are in the format `tagValues/456`.
|
|
552
|
+
# @!attribute [rw] reservation_affinity
|
|
553
|
+
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host::GceInstance::ReservationAffinity]
|
|
554
|
+
# Optional.
|
|
555
|
+
# [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
|
|
556
|
+
# specifies a reservation that can be consumed to create VM
|
|
557
|
+
# instances. If SPECIFIC_RESERVATION is specified, Cloud Workstations
|
|
558
|
+
# will only create VMs in the zone where the reservation is located.
|
|
559
|
+
# This would affect availability since the service will no longer be
|
|
560
|
+
# resilient to zonal outages. If ANY_RESERVATION is specified, creating
|
|
561
|
+
# reservations in both zones that the config creates VMs in will ensure
|
|
562
|
+
# higher availability.
|
|
563
|
+
# **Important Considerations for Reservation Affinity:**
|
|
564
|
+
#
|
|
565
|
+
# * This feature is intended for advanced users and requires
|
|
566
|
+
# familiarity with Google Compute Engine reservations.
|
|
567
|
+
# * Using reservations incurs charges, regardless of utilization.
|
|
568
|
+
# * The resources in the pool will consume the specified
|
|
569
|
+
# reservation. Take this into account when setting the
|
|
570
|
+
# pool size.
|
|
571
|
+
# @!attribute [rw] startup_script_uri
|
|
572
|
+
# @return [::String]
|
|
573
|
+
# Optional. Link to the startup script stored in Cloud Storage. This
|
|
574
|
+
# script will be run on the host workstation VM when the VM is created.
|
|
575
|
+
# The URI must be of the form gs://\\{bucket-name}/\\{object-name}. If
|
|
576
|
+
# specifying a startup script, the service account must have [Permission
|
|
577
|
+
# to access the bucket and script file in Cloud
|
|
578
|
+
# Storage](https://cloud.google.com/storage/docs/access-control/iam-permissions).
|
|
579
|
+
# Otherwise, the script must be publicly accessible.
|
|
580
|
+
# Note that the service regularly updates the OS version of the host VM,
|
|
581
|
+
# and it is the responsibility of the user to ensure the script stays
|
|
582
|
+
# compatible with the OS version.
|
|
583
|
+
# @!attribute [rw] instance_metadata
|
|
584
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
585
|
+
# Optional. Custom metadata to apply to Compute Engine instances.
|
|
413
586
|
class GceInstance
|
|
414
587
|
include ::Google::Protobuf::MessageExts
|
|
415
588
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -451,13 +624,157 @@ module Google
|
|
|
451
624
|
include ::Google::Protobuf::MessageExts
|
|
452
625
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
453
626
|
end
|
|
627
|
+
|
|
628
|
+
# A boost configuration is a set of resources that a workstation can use
|
|
629
|
+
# to increase its performance. If you specify a boost configuration, upon
|
|
630
|
+
# startup, workstation users can choose to use a VM provisioned under the
|
|
631
|
+
# boost config by passing the boost config ID in the start request. If
|
|
632
|
+
# the workstation user does not provide a boost config ID in the start
|
|
633
|
+
# request, the system will choose a VM from the pool provisioned under
|
|
634
|
+
# the default config.
|
|
635
|
+
# @!attribute [rw] id
|
|
636
|
+
# @return [::String]
|
|
637
|
+
# Required. The ID to be used for the boost configuration.
|
|
638
|
+
# @!attribute [rw] machine_type
|
|
639
|
+
# @return [::String]
|
|
640
|
+
# Optional. The type of machine that boosted VM instances will use—for
|
|
641
|
+
# example, `e2-standard-4`. For more information about machine types
|
|
642
|
+
# that Cloud Workstations supports, see the list of [available machine
|
|
643
|
+
# types](https://cloud.google.com/workstations/docs/available-machine-types).
|
|
644
|
+
# Defaults to `e2-standard-4`.
|
|
645
|
+
# @!attribute [rw] accelerators
|
|
646
|
+
# @return [::Array<::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host::GceInstance::Accelerator>]
|
|
647
|
+
# Optional. A list of the type and count of accelerator cards attached
|
|
648
|
+
# to the boost instance. Defaults to `none`.
|
|
649
|
+
# @!attribute [rw] boot_disk_size_gb
|
|
650
|
+
# @return [::Integer]
|
|
651
|
+
# Optional. The size of the boot disk for the VM in gigabytes (GB).
|
|
652
|
+
# The minimum boot disk size is `30` GB. Defaults to `50` GB.
|
|
653
|
+
# @!attribute [rw] enable_nested_virtualization
|
|
654
|
+
# @return [::Boolean]
|
|
655
|
+
# Optional. Whether to enable nested virtualization on boosted Cloud
|
|
656
|
+
# Workstations VMs running using this boost configuration.
|
|
657
|
+
#
|
|
658
|
+
# Defaults to false.
|
|
659
|
+
#
|
|
660
|
+
# Nested virtualization lets you run virtual machine (VM) instances
|
|
661
|
+
# inside your workstation. Before enabling nested virtualization,
|
|
662
|
+
# consider the following important considerations. Cloud Workstations
|
|
663
|
+
# instances are subject to the [same restrictions as Compute Engine
|
|
664
|
+
# instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions):
|
|
665
|
+
#
|
|
666
|
+
# * **Organization policy**: projects, folders, or
|
|
667
|
+
# organizations may be restricted from creating nested VMs if the
|
|
668
|
+
# **Disable VM nested virtualization** constraint is enforced in
|
|
669
|
+
# the organization policy. For more information, see the
|
|
670
|
+
# Compute Engine section,
|
|
671
|
+
# [Checking whether nested virtualization is
|
|
672
|
+
# allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed).
|
|
673
|
+
# * **Performance**: nested VMs might experience a 10% or greater
|
|
674
|
+
# decrease in performance for workloads that are CPU-bound and
|
|
675
|
+
# possibly greater than a 10% decrease for workloads that are
|
|
676
|
+
# input/output bound.
|
|
677
|
+
# * **Machine Type**: nested virtualization can only be enabled on
|
|
678
|
+
# boost configurations that specify a
|
|
679
|
+
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host::GceInstance::BoostConfig#machine_type machine_type}
|
|
680
|
+
# in the N1 or N2 machine series.
|
|
681
|
+
# @!attribute [rw] pool_size
|
|
682
|
+
# @return [::Integer]
|
|
683
|
+
# Optional. The number of boost VMs that the system should keep idle so
|
|
684
|
+
# that workstations can be boosted quickly. Defaults to `0`.
|
|
685
|
+
# @!attribute [rw] reservation_affinity
|
|
686
|
+
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host::GceInstance::ReservationAffinity]
|
|
687
|
+
# Optional.
|
|
688
|
+
# [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
|
|
689
|
+
# specifies a reservation that can be consumed to create boost VM
|
|
690
|
+
# instances. If SPECIFIC_RESERVATION is specified, Cloud Workstations
|
|
691
|
+
# will only create VMs in the zone where the reservation is located.
|
|
692
|
+
# This would affect availability since the service will no longer be
|
|
693
|
+
# resilient to zonal outages. If ANY_RESERVATION is specified, creating
|
|
694
|
+
# reservations in both zones that the config creates VMs in will ensure
|
|
695
|
+
# higher availability.
|
|
696
|
+
# **Important Considerations for Reservation Affinity:**
|
|
697
|
+
#
|
|
698
|
+
# * This feature is intended for advanced users and requires
|
|
699
|
+
# familiarity with Google Compute Engine reservations.
|
|
700
|
+
# * Using reservations incurs charges, regardless of utilization.
|
|
701
|
+
# * The resources in the pool will consume the specified
|
|
702
|
+
# reservation. Take this into account when setting the
|
|
703
|
+
# pool size.
|
|
704
|
+
class BoostConfig
|
|
705
|
+
include ::Google::Protobuf::MessageExts
|
|
706
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
707
|
+
end
|
|
708
|
+
|
|
709
|
+
# ReservationAffinity is the configuration of the desired reservation
|
|
710
|
+
# from which instances can consume resources.
|
|
711
|
+
# @!attribute [rw] consume_reservation_type
|
|
712
|
+
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig::Host::GceInstance::ReservationAffinity::Type]
|
|
713
|
+
# Optional. Corresponds to the type of reservation consumption.
|
|
714
|
+
# @!attribute [rw] key
|
|
715
|
+
# @return [::String]
|
|
716
|
+
# Optional. Corresponds to the label key of reservation resource.
|
|
717
|
+
# @!attribute [rw] values
|
|
718
|
+
# @return [::Array<::String>]
|
|
719
|
+
# Optional. Corresponds to the label values of reservation resources.
|
|
720
|
+
# Valid values are either the name of a reservation in the same project
|
|
721
|
+
# or "projects/\\{project}/reservations/\\{reservation}" to target a shared
|
|
722
|
+
# reservation in the same zone but in a different project.
|
|
723
|
+
class ReservationAffinity
|
|
724
|
+
include ::Google::Protobuf::MessageExts
|
|
725
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
726
|
+
|
|
727
|
+
# Indicates whether to consume capacity from a reservation or not.
|
|
728
|
+
module Type
|
|
729
|
+
# Default value. This should not be used.
|
|
730
|
+
TYPE_UNSPECIFIED = 0
|
|
731
|
+
|
|
732
|
+
# Do not consume from any reserved capacity.
|
|
733
|
+
NO_RESERVATION = 1
|
|
734
|
+
|
|
735
|
+
# Consume any reservation available.
|
|
736
|
+
ANY_RESERVATION = 2
|
|
737
|
+
|
|
738
|
+
# Must consume from a specific reservation. Must specify key value
|
|
739
|
+
# fields for specifying the reservations.
|
|
740
|
+
SPECIFIC_RESERVATION = 3
|
|
741
|
+
end
|
|
742
|
+
end
|
|
743
|
+
|
|
744
|
+
# @!attribute [rw] key
|
|
745
|
+
# @return [::String]
|
|
746
|
+
# @!attribute [rw] value
|
|
747
|
+
# @return [::String]
|
|
748
|
+
class VmTagsEntry
|
|
749
|
+
include ::Google::Protobuf::MessageExts
|
|
750
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
751
|
+
end
|
|
752
|
+
|
|
753
|
+
# @!attribute [rw] key
|
|
754
|
+
# @return [::String]
|
|
755
|
+
# @!attribute [rw] value
|
|
756
|
+
# @return [::String]
|
|
757
|
+
class InstanceMetadataEntry
|
|
758
|
+
include ::Google::Protobuf::MessageExts
|
|
759
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
760
|
+
end
|
|
454
761
|
end
|
|
455
762
|
end
|
|
456
763
|
|
|
457
|
-
# A directory to persist across workstation sessions.
|
|
764
|
+
# A directory to persist across workstation sessions. Updates to this field
|
|
765
|
+
# will not update existing workstations and will only take effect on new
|
|
766
|
+
# workstations.
|
|
458
767
|
# @!attribute [rw] gce_pd
|
|
459
768
|
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig::PersistentDirectory::GceRegionalPersistentDisk]
|
|
460
769
|
# A PersistentDirectory backed by a Compute Engine persistent disk.
|
|
770
|
+
#
|
|
771
|
+
# Note: The following fields are mutually exclusive: `gce_pd`, `gce_hd`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
772
|
+
# @!attribute [rw] gce_hd
|
|
773
|
+
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig::PersistentDirectory::GceHyperdiskBalancedHighAvailability]
|
|
774
|
+
# A PersistentDirectory backed by a Compute Engine hyperdisk high
|
|
775
|
+
# availability disk.
|
|
776
|
+
#
|
|
777
|
+
# Note: The following fields are mutually exclusive: `gce_hd`, `gce_pd`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
461
778
|
# @!attribute [rw] mount_path
|
|
462
779
|
# @return [::String]
|
|
463
780
|
# Optional. Location of this directory in the running workstation.
|
|
@@ -465,7 +782,7 @@ module Google
|
|
|
465
782
|
include ::Google::Protobuf::MessageExts
|
|
466
783
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
467
784
|
|
|
468
|
-
# A
|
|
785
|
+
# A Persistent Directory backed by a Compute Engine regional persistent
|
|
469
786
|
# disk. The
|
|
470
787
|
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig#persistent_directories persistent_directories}
|
|
471
788
|
# field is repeated, but it may contain only one entry. It creates a
|
|
@@ -487,6 +804,10 @@ module Google
|
|
|
487
804
|
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::PersistentDirectory::GceRegionalPersistentDisk#disk_type disk_type}
|
|
488
805
|
# must be
|
|
489
806
|
# `"pd-balanced"` or `"pd-ssd"`.
|
|
807
|
+
# @!attribute [rw] max_size_gb
|
|
808
|
+
# @return [::Integer]
|
|
809
|
+
# Optional. Maximum size in GB to which this persistent directory can be
|
|
810
|
+
# resized. Defaults to unlimited if not set.
|
|
490
811
|
# @!attribute [rw] fs_type
|
|
491
812
|
# @return [::String]
|
|
492
813
|
# Optional. Type of file system that the disk should be formatted with.
|
|
@@ -506,12 +827,22 @@ module Google
|
|
|
506
827
|
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::PersistentDirectory::GceRegionalPersistentDisk#size_gb size_gb}
|
|
507
828
|
# and
|
|
508
829
|
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::PersistentDirectory::GceRegionalPersistentDisk#fs_type fs_type}
|
|
509
|
-
# must be empty.
|
|
830
|
+
# must be empty. Must be formatted as ext4 file system with no
|
|
831
|
+
# partitions.
|
|
510
832
|
# @!attribute [rw] reclaim_policy
|
|
511
833
|
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig::PersistentDirectory::GceRegionalPersistentDisk::ReclaimPolicy]
|
|
512
834
|
# Optional. Whether the persistent disk should be deleted when the
|
|
513
835
|
# workstation is deleted. Valid values are `DELETE` and `RETAIN`.
|
|
514
836
|
# Defaults to `DELETE`.
|
|
837
|
+
# @!attribute [rw] archive_timeout
|
|
838
|
+
# @return [::Google::Protobuf::Duration]
|
|
839
|
+
# Optional. Number of seconds to wait after initially creating or
|
|
840
|
+
# subsequently shutting down the workstation before converting its disk
|
|
841
|
+
# into a snapshot. This generally saves costs at the expense of greater
|
|
842
|
+
# startup time on next workstation start, as the service will need to
|
|
843
|
+
# create a disk from the archival snapshot.
|
|
844
|
+
#
|
|
845
|
+
# A value of `"0s"` indicates that the disk will never be archived.
|
|
515
846
|
class GceRegionalPersistentDisk
|
|
516
847
|
include ::Google::Protobuf::MessageExts
|
|
517
848
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -530,6 +861,64 @@ module Google
|
|
|
530
861
|
RETAIN = 2
|
|
531
862
|
end
|
|
532
863
|
end
|
|
864
|
+
|
|
865
|
+
# A Persistent Directory backed by a Compute Engine
|
|
866
|
+
# [Hyperdisk Balanced High Availability
|
|
867
|
+
# Disk](https://cloud.google.com/compute/docs/disks/hd-types/hyperdisk-balanced-ha).
|
|
868
|
+
# This is a high-availability block storage solution that offers a balance
|
|
869
|
+
# between performance and cost for most general-purpose workloads.
|
|
870
|
+
# @!attribute [rw] size_gb
|
|
871
|
+
# @return [::Integer]
|
|
872
|
+
# Optional. The GB capacity of a persistent home directory for each
|
|
873
|
+
# workstation created with this configuration. Must be empty if
|
|
874
|
+
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::PersistentDirectory::GceHyperdiskBalancedHighAvailability#source_snapshot source_snapshot}
|
|
875
|
+
# is set.
|
|
876
|
+
#
|
|
877
|
+
# Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`.
|
|
878
|
+
# Defaults to `200`.
|
|
879
|
+
# @!attribute [rw] max_size_gb
|
|
880
|
+
# @return [::Integer]
|
|
881
|
+
# Optional. Maximum size in GB to which this persistent directory can be
|
|
882
|
+
# resized. Defaults to unlimited if not set.
|
|
883
|
+
# @!attribute [rw] source_snapshot
|
|
884
|
+
# @return [::String]
|
|
885
|
+
# Optional. Name of the snapshot to use as the source for the disk. If
|
|
886
|
+
# set,
|
|
887
|
+
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::PersistentDirectory::GceHyperdiskBalancedHighAvailability#size_gb size_gb}
|
|
888
|
+
# must be empty. Must be formatted as ext4 file system with no
|
|
889
|
+
# partitions.
|
|
890
|
+
# @!attribute [rw] reclaim_policy
|
|
891
|
+
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig::PersistentDirectory::GceHyperdiskBalancedHighAvailability::ReclaimPolicy]
|
|
892
|
+
# Optional. Whether the persistent disk should be deleted when the
|
|
893
|
+
# workstation is deleted. Valid values are `DELETE` and `RETAIN`.
|
|
894
|
+
# Defaults to `DELETE`.
|
|
895
|
+
# @!attribute [rw] archive_timeout
|
|
896
|
+
# @return [::Google::Protobuf::Duration]
|
|
897
|
+
# Optional. Number of seconds to wait after initially creating or
|
|
898
|
+
# subsequently shutting down the workstation before converting its disk
|
|
899
|
+
# into a snapshot. This generally saves costs at the expense of greater
|
|
900
|
+
# startup time on next workstation start, as the service will need to
|
|
901
|
+
# create a disk from the archival snapshot.
|
|
902
|
+
#
|
|
903
|
+
# A value of `"0s"` indicates that the disk will never be archived.
|
|
904
|
+
class GceHyperdiskBalancedHighAvailability
|
|
905
|
+
include ::Google::Protobuf::MessageExts
|
|
906
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
907
|
+
|
|
908
|
+
# Value representing what should happen to the disk after the workstation
|
|
909
|
+
# is deleted.
|
|
910
|
+
module ReclaimPolicy
|
|
911
|
+
# Do not use.
|
|
912
|
+
RECLAIM_POLICY_UNSPECIFIED = 0
|
|
913
|
+
|
|
914
|
+
# Delete the persistent disk when deleting the workstation.
|
|
915
|
+
DELETE = 1
|
|
916
|
+
|
|
917
|
+
# Keep the persistent disk when deleting the workstation.
|
|
918
|
+
# An administrator must manually delete the disk.
|
|
919
|
+
RETAIN = 2
|
|
920
|
+
end
|
|
921
|
+
end
|
|
533
922
|
end
|
|
534
923
|
|
|
535
924
|
# An ephemeral directory which won't persist across workstation sessions. It
|
|
@@ -553,10 +942,19 @@ module Google
|
|
|
553
942
|
# Optional. Name of the snapshot to use as the source for the disk. Must
|
|
554
943
|
# be empty if
|
|
555
944
|
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::EphemeralDirectory::GcePersistentDisk#source_image source_image}
|
|
556
|
-
# is set.
|
|
945
|
+
# is set. Must be empty if
|
|
946
|
+
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::EphemeralDirectory::GcePersistentDisk#read_only read_only}
|
|
947
|
+
# is false. Updating
|
|
557
948
|
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::EphemeralDirectory::GcePersistentDisk#source_snapshot source_snapshot}
|
|
558
949
|
# will update content in the ephemeral directory after the workstation is
|
|
559
|
-
# restarted.
|
|
950
|
+
# restarted.
|
|
951
|
+
#
|
|
952
|
+
# Only file systems supported by Container-Optimized OS (COS)
|
|
953
|
+
# are explicitly supported. For a list of supported file systems, see
|
|
954
|
+
# [the filesystems available in Container-Optimized
|
|
955
|
+
# OS](https://cloud.google.com/container-optimized-os/docs/concepts/supported-filesystems).
|
|
956
|
+
#
|
|
957
|
+
# This field is mutable.
|
|
560
958
|
# @!attribute [rw] source_image
|
|
561
959
|
# @return [::String]
|
|
562
960
|
# Optional. Name of the disk image to use as the source for the disk.
|
|
@@ -565,7 +963,14 @@ module Google
|
|
|
565
963
|
# is set. Updating
|
|
566
964
|
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::EphemeralDirectory::GcePersistentDisk#source_image source_image}
|
|
567
965
|
# will update content in the ephemeral directory after the workstation is
|
|
568
|
-
# restarted.
|
|
966
|
+
# restarted.
|
|
967
|
+
#
|
|
968
|
+
# Only file systems supported by Container-Optimized OS (COS)
|
|
969
|
+
# are explicitly supported. For a list of supported file systems, please
|
|
970
|
+
# refer to the [COS
|
|
971
|
+
# documentation](https://cloud.google.com/container-optimized-os/docs/concepts/supported-filesystems).
|
|
972
|
+
#
|
|
973
|
+
# This field is mutable.
|
|
569
974
|
# @!attribute [rw] read_only
|
|
570
975
|
# @return [::Boolean]
|
|
571
976
|
# Optional. Whether the disk is read only. If true, the disk may be
|
|
@@ -590,7 +995,10 @@ module Google
|
|
|
590
995
|
# [custom container
|
|
591
996
|
# images](https://cloud.google.com/workstations/docs/custom-container-images).
|
|
592
997
|
# If using a private image, the `host.gceInstance.serviceAccount` field
|
|
593
|
-
# must be specified in the workstation configuration
|
|
998
|
+
# must be specified in the workstation configuration.
|
|
999
|
+
# If using a custom container image, the service account must have
|
|
1000
|
+
# [Artifact Registry
|
|
1001
|
+
# Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles)
|
|
594
1002
|
# permission to pull the specified image. Otherwise, the image must be
|
|
595
1003
|
# publicly accessible.
|
|
596
1004
|
# @!attribute [rw] command
|
|
@@ -661,6 +1069,50 @@ module Google
|
|
|
661
1069
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
662
1070
|
end
|
|
663
1071
|
|
|
1072
|
+
# HTTP options for the running workstations.
|
|
1073
|
+
# @!attribute [rw] allowed_unauthenticated_cors_preflight_requests
|
|
1074
|
+
# @return [::Boolean]
|
|
1075
|
+
# Optional. By default, the workstations service makes sure that all
|
|
1076
|
+
# requests to the workstation are authenticated. CORS preflight requests do
|
|
1077
|
+
# not include cookies or custom headers, and so are considered
|
|
1078
|
+
# unauthenticated and blocked by the workstations service. Enabling this
|
|
1079
|
+
# option allows these unauthenticated CORS preflight requests through to
|
|
1080
|
+
# the workstation, where it becomes the responsibility of the destination
|
|
1081
|
+
# server in the workstation to validate the request.
|
|
1082
|
+
# @!attribute [rw] disable_localhost_replacement
|
|
1083
|
+
# @return [::Boolean]
|
|
1084
|
+
# Optional. By default, the workstations service replaces references to
|
|
1085
|
+
# localhost, 127.0.0.1, and 0.0.0.0 with the workstation's hostname in http
|
|
1086
|
+
# responses from the workstation so that applications under development run
|
|
1087
|
+
# properly on the workstation. This may intefere with some applications,
|
|
1088
|
+
# and so this option allows that behavior to be disabled.
|
|
1089
|
+
class HttpOptions
|
|
1090
|
+
include ::Google::Protobuf::MessageExts
|
|
1091
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1092
|
+
end
|
|
1093
|
+
|
|
1094
|
+
# A PortRange defines a range of ports. Both
|
|
1095
|
+
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::PortRange#first first}
|
|
1096
|
+
# and
|
|
1097
|
+
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::PortRange#last last}
|
|
1098
|
+
# are inclusive. To specify a single port, both
|
|
1099
|
+
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::PortRange#first first}
|
|
1100
|
+
# and
|
|
1101
|
+
# {::Google::Cloud::Workstations::V1beta::WorkstationConfig::PortRange#last last}
|
|
1102
|
+
# should be the same.
|
|
1103
|
+
# @!attribute [rw] first
|
|
1104
|
+
# @return [::Integer]
|
|
1105
|
+
# Required. Starting port number for the current range of ports.
|
|
1106
|
+
# Valid ports are 22, 80, and ports within the range 1024-65535.
|
|
1107
|
+
# @!attribute [rw] last
|
|
1108
|
+
# @return [::Integer]
|
|
1109
|
+
# Required. Ending port number for the current range of ports.
|
|
1110
|
+
# Valid ports are 22, 80, and ports within the range 1024-65535.
|
|
1111
|
+
class PortRange
|
|
1112
|
+
include ::Google::Protobuf::MessageExts
|
|
1113
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1114
|
+
end
|
|
1115
|
+
|
|
664
1116
|
# @!attribute [rw] key
|
|
665
1117
|
# @return [::String]
|
|
666
1118
|
# @!attribute [rw] value
|
|
@@ -683,7 +1135,7 @@ module Google
|
|
|
683
1135
|
# A single instance of a developer workstation with its own persistent storage.
|
|
684
1136
|
# @!attribute [rw] name
|
|
685
1137
|
# @return [::String]
|
|
686
|
-
# Full name of this workstation.
|
|
1138
|
+
# Identifier. Full name of this workstation.
|
|
687
1139
|
# @!attribute [rw] display_name
|
|
688
1140
|
# @return [::String]
|
|
689
1141
|
# Optional. Human-readable name for this workstation.
|
|
@@ -721,6 +1173,9 @@ module Google
|
|
|
721
1173
|
# Optional. Checksum computed by the server. May be sent on update and delete
|
|
722
1174
|
# requests to make sure that the client has an up-to-date value before
|
|
723
1175
|
# proceeding.
|
|
1176
|
+
# @!attribute [rw] persistent_directories
|
|
1177
|
+
# @return [::Array<::Google::Cloud::Workstations::V1beta::Workstation::WorkstationPersistentDirectory>]
|
|
1178
|
+
# Optional. Directories to persist across workstation sessions.
|
|
724
1179
|
# @!attribute [r] state
|
|
725
1180
|
# @return [::Google::Cloud::Workstations::V1beta::Workstation::State]
|
|
726
1181
|
# Output only. Current state of the workstation.
|
|
@@ -735,10 +1190,95 @@ module Google
|
|
|
735
1190
|
# @return [::Google::Protobuf::Map{::String => ::String}]
|
|
736
1191
|
# Optional. Environment variables passed to the workstation container's
|
|
737
1192
|
# entrypoint.
|
|
1193
|
+
# @!attribute [r] kms_key
|
|
1194
|
+
# @return [::String]
|
|
1195
|
+
# Output only. The name of the Google Cloud KMS encryption key used to
|
|
1196
|
+
# encrypt this workstation. The KMS key can only be configured in the
|
|
1197
|
+
# WorkstationConfig. The expected format is
|
|
1198
|
+
# `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
|
|
1199
|
+
# @!attribute [r] boost_configs
|
|
1200
|
+
# @return [::Array<::Google::Cloud::Workstations::V1beta::Workstation::WorkstationBoostConfig>]
|
|
1201
|
+
# Output only. List of available boost configuration IDs that this
|
|
1202
|
+
# workstation can be boosted up to.
|
|
1203
|
+
# @!attribute [rw] source_workstation
|
|
1204
|
+
# @return [::String]
|
|
1205
|
+
# Optional. The source workstation from which this workstation's persistent
|
|
1206
|
+
# directories were cloned on creation.
|
|
1207
|
+
# @!attribute [r] satisfies_pzs
|
|
1208
|
+
# @return [::Boolean]
|
|
1209
|
+
# Output only. Reserved for future use.
|
|
1210
|
+
# @!attribute [r] satisfies_pzi
|
|
1211
|
+
# @return [::Boolean]
|
|
1212
|
+
# Output only. Reserved for future use.
|
|
1213
|
+
# @!attribute [r] runtime_host
|
|
1214
|
+
# @return [::Google::Cloud::Workstations::V1beta::Workstation::RuntimeHost]
|
|
1215
|
+
# Optional. Output only. Runtime host for the workstation when in
|
|
1216
|
+
# STATE_RUNNING.
|
|
1217
|
+
# @!attribute [r] degraded
|
|
1218
|
+
# @return [::Boolean]
|
|
1219
|
+
# Output only. Whether this workstation is in degraded mode, in which case it
|
|
1220
|
+
# may require user action to restore full functionality. The
|
|
1221
|
+
# {::Google::Cloud::Workstations::V1beta::Workstation#conditions conditions} field
|
|
1222
|
+
# contains detailed information about the status of the workstation.
|
|
1223
|
+
# @!attribute [r] conditions
|
|
1224
|
+
# @return [::Array<::Google::Rpc::Status>]
|
|
1225
|
+
# Output only. Status conditions describing the workstation's current state.
|
|
738
1226
|
class Workstation
|
|
739
1227
|
include ::Google::Protobuf::MessageExts
|
|
740
1228
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
741
1229
|
|
|
1230
|
+
# A directory to persist across workstation sessions. Updates to this field
|
|
1231
|
+
# will only take effect on this workstation after it is restarted.
|
|
1232
|
+
# @!attribute [rw] mount_path
|
|
1233
|
+
# @return [::String]
|
|
1234
|
+
# Optional. The mount path of the persistent directory.
|
|
1235
|
+
# @!attribute [rw] size_gb
|
|
1236
|
+
# @return [::Integer]
|
|
1237
|
+
# Optional. Size of the persistent directory in GB. If specified in an
|
|
1238
|
+
# update request, this is the desired size of the directory.
|
|
1239
|
+
class WorkstationPersistentDirectory
|
|
1240
|
+
include ::Google::Protobuf::MessageExts
|
|
1241
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1242
|
+
end
|
|
1243
|
+
|
|
1244
|
+
# Boost configuration for this workstation. This object is populated from the
|
|
1245
|
+
# parent workstation configuration.
|
|
1246
|
+
# @!attribute [r] id
|
|
1247
|
+
# @return [::String]
|
|
1248
|
+
# Output only. Boost configuration ID.
|
|
1249
|
+
# @!attribute [r] running
|
|
1250
|
+
# @return [::Boolean]
|
|
1251
|
+
# Output only. Whether or not the current workstation is actively boosted
|
|
1252
|
+
# with this id.
|
|
1253
|
+
class WorkstationBoostConfig
|
|
1254
|
+
include ::Google::Protobuf::MessageExts
|
|
1255
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1256
|
+
end
|
|
1257
|
+
|
|
1258
|
+
# Runtime host for the workstation.
|
|
1259
|
+
# @!attribute [rw] gce_instance_host
|
|
1260
|
+
# @return [::Google::Cloud::Workstations::V1beta::Workstation::RuntimeHost::GceInstanceHost]
|
|
1261
|
+
# Specifies a Compute Engine instance as the host.
|
|
1262
|
+
class RuntimeHost
|
|
1263
|
+
include ::Google::Protobuf::MessageExts
|
|
1264
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1265
|
+
|
|
1266
|
+
# The Compute Engine instance host.
|
|
1267
|
+
# @!attribute [r] name
|
|
1268
|
+
# @return [::String]
|
|
1269
|
+
# Optional. Output only. The name of the Compute Engine instance.
|
|
1270
|
+
# @!attribute [r] id
|
|
1271
|
+
# @return [::String]
|
|
1272
|
+
# Optional. Output only. The ID of the Compute Engine instance.
|
|
1273
|
+
# @!attribute [r] zone
|
|
1274
|
+
# @return [::String]
|
|
1275
|
+
# Optional. Output only. The zone of the Compute Engine instance.
|
|
1276
|
+
class GceInstanceHost
|
|
1277
|
+
include ::Google::Protobuf::MessageExts
|
|
1278
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1279
|
+
end
|
|
1280
|
+
end
|
|
1281
|
+
|
|
742
1282
|
# @!attribute [rw] key
|
|
743
1283
|
# @return [::String]
|
|
744
1284
|
# @!attribute [rw] value
|
|
@@ -807,6 +1347,10 @@ module Google
|
|
|
807
1347
|
# @return [::String]
|
|
808
1348
|
# Optional. next_page_token value returned from a previous List request, if
|
|
809
1349
|
# any.
|
|
1350
|
+
# @!attribute [rw] filter
|
|
1351
|
+
# @return [::String]
|
|
1352
|
+
# Optional. Filter the WorkstationClusters to be listed. Possible filters are
|
|
1353
|
+
# described in https://google.aip.dev/160.
|
|
810
1354
|
class ListWorkstationClustersRequest
|
|
811
1355
|
include ::Google::Protobuf::MessageExts
|
|
812
1356
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -840,7 +1384,7 @@ module Google
|
|
|
840
1384
|
# Required. Workstation cluster to create.
|
|
841
1385
|
# @!attribute [rw] validate_only
|
|
842
1386
|
# @return [::Boolean]
|
|
843
|
-
# Optional. If set, validate the request and preview the
|
|
1387
|
+
# Optional. If set, validate the request and preview the result, but do not
|
|
844
1388
|
# actually apply it.
|
|
845
1389
|
class CreateWorkstationClusterRequest
|
|
846
1390
|
include ::Google::Protobuf::MessageExts
|
|
@@ -857,7 +1401,7 @@ module Google
|
|
|
857
1401
|
# should be updated.
|
|
858
1402
|
# @!attribute [rw] validate_only
|
|
859
1403
|
# @return [::Boolean]
|
|
860
|
-
# Optional. If set, validate the request and preview the
|
|
1404
|
+
# Optional. If set, validate the request and preview the result, but do not
|
|
861
1405
|
# actually apply it.
|
|
862
1406
|
# @!attribute [rw] allow_missing
|
|
863
1407
|
# @return [::Boolean]
|
|
@@ -875,7 +1419,7 @@ module Google
|
|
|
875
1419
|
# Required. Name of the workstation cluster to delete.
|
|
876
1420
|
# @!attribute [rw] validate_only
|
|
877
1421
|
# @return [::Boolean]
|
|
878
|
-
# Optional. If set, validate the request and preview the
|
|
1422
|
+
# Optional. If set, validate the request and preview the result, but do not
|
|
879
1423
|
# apply it.
|
|
880
1424
|
# @!attribute [rw] etag
|
|
881
1425
|
# @return [::String]
|
|
@@ -911,6 +1455,10 @@ module Google
|
|
|
911
1455
|
# @return [::String]
|
|
912
1456
|
# Optional. next_page_token value returned from a previous List request, if
|
|
913
1457
|
# any.
|
|
1458
|
+
# @!attribute [rw] filter
|
|
1459
|
+
# @return [::String]
|
|
1460
|
+
# Optional. Filter the WorkstationConfigs to be listed. Possible filters are
|
|
1461
|
+
# described in https://google.aip.dev/160.
|
|
914
1462
|
class ListWorkstationConfigsRequest
|
|
915
1463
|
include ::Google::Protobuf::MessageExts
|
|
916
1464
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -973,10 +1521,10 @@ module Google
|
|
|
973
1521
|
# Required. ID to use for the workstation configuration.
|
|
974
1522
|
# @!attribute [rw] workstation_config
|
|
975
1523
|
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig]
|
|
976
|
-
# Required.
|
|
1524
|
+
# Required. Workstation configuration to create.
|
|
977
1525
|
# @!attribute [rw] validate_only
|
|
978
1526
|
# @return [::Boolean]
|
|
979
|
-
# Optional. If set, validate the request and preview the
|
|
1527
|
+
# Optional. If set, validate the request and preview the result, but do not
|
|
980
1528
|
# actually apply it.
|
|
981
1529
|
class CreateWorkstationConfigRequest
|
|
982
1530
|
include ::Google::Protobuf::MessageExts
|
|
@@ -986,14 +1534,14 @@ module Google
|
|
|
986
1534
|
# Request message for UpdateWorkstationConfig.
|
|
987
1535
|
# @!attribute [rw] workstation_config
|
|
988
1536
|
# @return [::Google::Cloud::Workstations::V1beta::WorkstationConfig]
|
|
989
|
-
# Required.
|
|
1537
|
+
# Required. Workstation configuration to update.
|
|
990
1538
|
# @!attribute [rw] update_mask
|
|
991
1539
|
# @return [::Google::Protobuf::FieldMask]
|
|
992
1540
|
# Required. Mask specifying which fields in the workstation configuration
|
|
993
1541
|
# should be updated.
|
|
994
1542
|
# @!attribute [rw] validate_only
|
|
995
1543
|
# @return [::Boolean]
|
|
996
|
-
# Optional. If set, validate the request and preview the
|
|
1544
|
+
# Optional. If set, validate the request and preview the result, but do not
|
|
997
1545
|
# actually apply it.
|
|
998
1546
|
# @!attribute [rw] allow_missing
|
|
999
1547
|
# @return [::Boolean]
|
|
@@ -1011,7 +1559,7 @@ module Google
|
|
|
1011
1559
|
# Required. Name of the workstation configuration to delete.
|
|
1012
1560
|
# @!attribute [rw] validate_only
|
|
1013
1561
|
# @return [::Boolean]
|
|
1014
|
-
# Optional. If set, validate the request and preview the
|
|
1562
|
+
# Optional. If set, validate the request and preview the result, but do not
|
|
1015
1563
|
# actually apply it.
|
|
1016
1564
|
# @!attribute [rw] etag
|
|
1017
1565
|
# @return [::String]
|
|
@@ -1047,6 +1595,10 @@ module Google
|
|
|
1047
1595
|
# @return [::String]
|
|
1048
1596
|
# Optional. next_page_token value returned from a previous List request, if
|
|
1049
1597
|
# any.
|
|
1598
|
+
# @!attribute [rw] filter
|
|
1599
|
+
# @return [::String]
|
|
1600
|
+
# Optional. Filter the Workstations to be listed. Possible filters are
|
|
1601
|
+
# described in https://google.aip.dev/160.
|
|
1050
1602
|
class ListWorkstationsRequest
|
|
1051
1603
|
include ::Google::Protobuf::MessageExts
|
|
1052
1604
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -1109,10 +1661,14 @@ module Google
|
|
|
1109
1661
|
# Required. ID to use for the workstation.
|
|
1110
1662
|
# @!attribute [rw] workstation
|
|
1111
1663
|
# @return [::Google::Cloud::Workstations::V1beta::Workstation]
|
|
1112
|
-
# Required. Workstation to create.
|
|
1664
|
+
# Required. Workstation to create. If source_workstation is specified, the
|
|
1665
|
+
# user must have `workstations.workstations.use` permission on the source
|
|
1666
|
+
# workstation, and the Cloud Workstations Service Agent for the project where
|
|
1667
|
+
# you are creating the new workstation must have compute.disks.createSnapshot
|
|
1668
|
+
# and compute.snapshots.useReadOnly on the source project.
|
|
1113
1669
|
# @!attribute [rw] validate_only
|
|
1114
1670
|
# @return [::Boolean]
|
|
1115
|
-
# Optional. If set, validate the request and preview the
|
|
1671
|
+
# Optional. If set, validate the request and preview the result, but do not
|
|
1116
1672
|
# actually apply it.
|
|
1117
1673
|
class CreateWorkstationRequest
|
|
1118
1674
|
include ::Google::Protobuf::MessageExts
|
|
@@ -1125,17 +1681,16 @@ module Google
|
|
|
1125
1681
|
# Required. Workstation to update.
|
|
1126
1682
|
# @!attribute [rw] update_mask
|
|
1127
1683
|
# @return [::Google::Protobuf::FieldMask]
|
|
1128
|
-
# Required. Mask specifying which fields in the workstation
|
|
1129
|
-
#
|
|
1684
|
+
# Required. Mask specifying which fields in the workstation should be
|
|
1685
|
+
# updated.
|
|
1130
1686
|
# @!attribute [rw] validate_only
|
|
1131
1687
|
# @return [::Boolean]
|
|
1132
|
-
# Optional. If set, validate the request and preview the
|
|
1688
|
+
# Optional. If set, validate the request and preview the result, but do not
|
|
1133
1689
|
# actually apply it.
|
|
1134
1690
|
# @!attribute [rw] allow_missing
|
|
1135
1691
|
# @return [::Boolean]
|
|
1136
|
-
# Optional. If set and the workstation
|
|
1137
|
-
#
|
|
1138
|
-
# is ignored.
|
|
1692
|
+
# Optional. If set and the workstation is not found, a new workstation is
|
|
1693
|
+
# created. In this situation, update_mask is ignored.
|
|
1139
1694
|
class UpdateWorkstationRequest
|
|
1140
1695
|
include ::Google::Protobuf::MessageExts
|
|
1141
1696
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -1147,7 +1702,7 @@ module Google
|
|
|
1147
1702
|
# Required. Name of the workstation to delete.
|
|
1148
1703
|
# @!attribute [rw] validate_only
|
|
1149
1704
|
# @return [::Boolean]
|
|
1150
|
-
# Optional. If set, validate the request and preview the
|
|
1705
|
+
# Optional. If set, validate the request and preview the result, but do not
|
|
1151
1706
|
# actually apply it.
|
|
1152
1707
|
# @!attribute [rw] etag
|
|
1153
1708
|
# @return [::String]
|
|
@@ -1164,12 +1719,16 @@ module Google
|
|
|
1164
1719
|
# Required. Name of the workstation to start.
|
|
1165
1720
|
# @!attribute [rw] validate_only
|
|
1166
1721
|
# @return [::Boolean]
|
|
1167
|
-
# Optional. If set, validate the request and preview the
|
|
1722
|
+
# Optional. If set, validate the request and preview the result, but do not
|
|
1168
1723
|
# actually apply it.
|
|
1169
1724
|
# @!attribute [rw] etag
|
|
1170
1725
|
# @return [::String]
|
|
1171
1726
|
# Optional. If set, the request will be rejected if the latest version of the
|
|
1172
1727
|
# workstation on the server does not have this ETag.
|
|
1728
|
+
# @!attribute [rw] boost_config
|
|
1729
|
+
# @return [::String]
|
|
1730
|
+
# Optional. If set, the workstation starts using the boost configuration with
|
|
1731
|
+
# the specified ID.
|
|
1173
1732
|
class StartWorkstationRequest
|
|
1174
1733
|
include ::Google::Protobuf::MessageExts
|
|
1175
1734
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -1181,7 +1740,7 @@ module Google
|
|
|
1181
1740
|
# Required. Name of the workstation to stop.
|
|
1182
1741
|
# @!attribute [rw] validate_only
|
|
1183
1742
|
# @return [::Boolean]
|
|
1184
|
-
# Optional. If set, validate the request and preview the
|
|
1743
|
+
# Optional. If set, validate the request and preview the result, but do not
|
|
1185
1744
|
# actually apply it.
|
|
1186
1745
|
# @!attribute [rw] etag
|
|
1187
1746
|
# @return [::String]
|
|
@@ -1212,6 +1771,13 @@ module Google
|
|
|
1212
1771
|
# @return [::String]
|
|
1213
1772
|
# Required. Name of the workstation for which the access token should be
|
|
1214
1773
|
# generated.
|
|
1774
|
+
# @!attribute [rw] port
|
|
1775
|
+
# @return [::Integer]
|
|
1776
|
+
# Optional. Port for which the access token should be generated. If
|
|
1777
|
+
# specified, the generated access token grants access only to the
|
|
1778
|
+
# specified port of the workstation. If specified, values must be within the
|
|
1779
|
+
# range [1 - 65535]. If not specified, the generated access token grants
|
|
1780
|
+
# access to all ports of the workstation.
|
|
1215
1781
|
class GenerateAccessTokenRequest
|
|
1216
1782
|
include ::Google::Protobuf::MessageExts
|
|
1217
1783
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -1232,6 +1798,49 @@ module Google
|
|
|
1232
1798
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1233
1799
|
end
|
|
1234
1800
|
|
|
1801
|
+
# Request message for PushCredentials.
|
|
1802
|
+
# @!attribute [rw] workstation
|
|
1803
|
+
# @return [::String]
|
|
1804
|
+
# Required. Name of the workstation for which the credentials should be
|
|
1805
|
+
# pushed.
|
|
1806
|
+
# @!attribute [rw] application_default_credentials
|
|
1807
|
+
# @return [::Google::Cloud::Workstations::V1beta::PushCredentialsRequest::OAuthToken]
|
|
1808
|
+
# Optional. Credentials used by Cloud Client Libraries, Google API Client
|
|
1809
|
+
# Libraries, and other tooling within the user conainer:
|
|
1810
|
+
# https://cloud.google.com/docs/authentication/application-default-credentials
|
|
1811
|
+
class PushCredentialsRequest
|
|
1812
|
+
include ::Google::Protobuf::MessageExts
|
|
1813
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1814
|
+
|
|
1815
|
+
# OAuth token.
|
|
1816
|
+
# @!attribute [rw] email
|
|
1817
|
+
# @return [::String]
|
|
1818
|
+
# Optional. The email address encapsulated in the OAuth token.
|
|
1819
|
+
# @!attribute [rw] scopes
|
|
1820
|
+
# @return [::String]
|
|
1821
|
+
# Optional. The scopes encapsulated in the OAuth token.
|
|
1822
|
+
# See https://developers.google.com/identity/protocols/oauth2/scopes for
|
|
1823
|
+
# more information.
|
|
1824
|
+
# @!attribute [rw] access_token
|
|
1825
|
+
# @return [::String]
|
|
1826
|
+
# Required. The OAuth token.
|
|
1827
|
+
# @!attribute [rw] expire_time
|
|
1828
|
+
# @return [::Google::Protobuf::Timestamp]
|
|
1829
|
+
# Optional. The time the OAuth access token will expire. This should be the
|
|
1830
|
+
# time the access token was generated plus the expires_in offset returned
|
|
1831
|
+
# from the Access Token Response.
|
|
1832
|
+
class OAuthToken
|
|
1833
|
+
include ::Google::Protobuf::MessageExts
|
|
1834
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1835
|
+
end
|
|
1836
|
+
end
|
|
1837
|
+
|
|
1838
|
+
# Metadata message for PushCredentials.
|
|
1839
|
+
class PushCredentialsMetadata
|
|
1840
|
+
include ::Google::Protobuf::MessageExts
|
|
1841
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
1842
|
+
end
|
|
1843
|
+
|
|
1235
1844
|
# Metadata for long-running operations.
|
|
1236
1845
|
# @!attribute [r] create_time
|
|
1237
1846
|
# @return [::Google::Protobuf::Timestamp]
|