@@ -553,6 +553,55 @@ def update!(**args)
553553 end
554554 end
555555
556+ # A Persistent Directory backed by a Compute Engine Hyperdisk Balanced High
557+ # Availability Disk. This is a high-availability block storage solution that
558+ # offers a balance between performance and cost for most general-purpose
559+ # workloads.
560+ class GceHyperdiskBalancedHighAvailability
561+ include Google ::Apis ::Core ::Hashable
562+
563+ # Optional. Number of seconds to wait after initially creating or subsequently
564+ # shutting down the workstation before converting its disk into a snapshot. This
565+ # generally saves costs at the expense of greater startup time on next
566+ # workstation start, as the service will need to create a disk from the archival
567+ # snapshot. A value of `"0s"` indicates that the disk will never be archived.
568+ # Corresponds to the JSON property `archiveTimeout`
569+ # @return [String]
570+ attr_accessor :archive_timeout
571+
572+ # Optional. Whether the persistent disk should be deleted when the workstation
573+ # is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`.
574+ # Corresponds to the JSON property `reclaimPolicy`
575+ # @return [String]
576+ attr_accessor :reclaim_policy
577+
578+ # Optional. The GB capacity of a persistent home directory for each workstation
579+ # created with this configuration. Must be empty if source_snapshot is set.
580+ # Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`.
581+ # Corresponds to the JSON property `sizeGb`
582+ # @return [Fixnum]
583+ attr_accessor :size_gb
584+
585+ # Optional. Name of the snapshot to use as the source for the disk. If set,
586+ # size_gb must be empty. Must be formatted as ext4 file system with no
587+ # partitions.
588+ # Corresponds to the JSON property `sourceSnapshot`
589+ # @return [String]
590+ attr_accessor :source_snapshot
591+
592+ def initialize ( **args )
593+ update! ( **args )
594+ end
595+
596+ # Update properties of this object
597+ def update! ( **args )
598+ @archive_timeout = args [ :archive_timeout ] if args . key? ( :archive_timeout )
599+ @reclaim_policy = args [ :reclaim_policy ] if args . key? ( :reclaim_policy )
600+ @size_gb = args [ :size_gb ] if args . key? ( :size_gb )
601+ @source_snapshot = args [ :source_snapshot ] if args . key? ( :source_snapshot )
602+ end
603+ end
604+
556605 # A runtime using a Compute Engine instance.
557606 class GceInstance
558607 include Google ::Apis ::Core ::Hashable
@@ -677,6 +726,16 @@ class GceInstance
677726 # @return [Google::Apis::WorkstationsV1beta::GceShieldedInstanceConfig]
678727 attr_accessor :shielded_instance_config
679728
729+ # Optional. Link to the startup script stored in Cloud Storage. This script will
730+ # be run on the host workstation VM when the VM is created. The uri must be of
731+ # the form gs://`bucket-name`/`object-name`. If specifying a startup script, the
732+ # service account must have [Permission to access the bucket and script file in
733+ # Cloud Storage](https://cloud.google.com/storage/docs/access-control/iam-
734+ # permissions). Otherwise, the script must be publicly accessible.
735+ # Corresponds to the JSON property `startupScriptUri`
736+ # @return [String]
737+ attr_accessor :startup_script_uri
738+
680739 # Optional. Network tags to add to the Compute Engine VMs backing the
681740 # workstations. This option applies [network tags](https://cloud.google.com/vpc/
682741 # docs/add-remove-network-tags) to VMs created with this configuration. These
@@ -714,6 +773,7 @@ def update!(**args)
714773 @service_account = args [ :service_account ] if args . key? ( :service_account )
715774 @service_account_scopes = args [ :service_account_scopes ] if args . key? ( :service_account_scopes )
716775 @shielded_instance_config = args [ :shielded_instance_config ] if args . key? ( :shielded_instance_config )
776+ @startup_script_uri = args [ :startup_script_uri ] if args . key? ( :startup_script_uri )
717777 @tags = args [ :tags ] if args . key? ( :tags )
718778 @vm_tags = args [ :vm_tags ] if args . key? ( :vm_tags )
719779 end
@@ -1349,6 +1409,14 @@ def update!(**args)
13491409 class PersistentDirectory
13501410 include Google ::Apis ::Core ::Hashable
13511411
1412+ # A Persistent Directory backed by a Compute Engine Hyperdisk Balanced High
1413+ # Availability Disk. This is a high-availability block storage solution that
1414+ # offers a balance between performance and cost for most general-purpose
1415+ # workloads.
1416+ # Corresponds to the JSON property `gceHd`
1417+ # @return [Google::Apis::WorkstationsV1beta::GceHyperdiskBalancedHighAvailability]
1418+ attr_accessor :gce_hd
1419+
13521420 # A Persistent Directory backed by a Compute Engine regional persistent disk.
13531421 # The persistent_directories field is repeated, but it may contain only one
13541422 # entry. It creates a [persistent disk](https://cloud.google.com/compute/docs/
@@ -1371,6 +1439,7 @@ def initialize(**args)
13711439
13721440 # Update properties of this object
13731441 def update! ( **args )
1442+ @gce_hd = args [ :gce_hd ] if args . key? ( :gce_hd )
13741443 @gce_pd = args [ :gce_pd ] if args . key? ( :gce_pd )
13751444 @mount_path = args [ :mount_path ] if args . key? ( :mount_path )
13761445 end
0 commit comments