Class: Google::Cloud::Notebooks::V1::Instance

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/notebooks/v1/instance.rb

Overview

The definition of a notebook instance.

Defined Under Namespace

Modules: AcceleratorType, DiskEncryption, DiskType, NicType, State Classes: AcceleratorConfig, Disk, LabelsEntry, MetadataEntry, ShieldedInstanceConfig, UpgradeHistoryEntry

Instance Attribute Summary collapse

Instance Attribute Details

#accelerator_config::Google::Cloud::Notebooks::V1::Instance::AcceleratorConfig

Returns The hardware accelerator used on this instance. If you use accelerators, make sure that your configuration has enough vCPUs and memory to support the machine_type you have selected.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#boot_disk_size_gb::Integer

Returns Input only. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). The minimum recommended value is 100 GB. If not specified, this defaults to 100.

Returns:

  • (::Integer)

    Input only. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). The minimum recommended value is 100 GB. If not specified, this defaults to 100.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#boot_disk_type::Google::Cloud::Notebooks::V1::Instance::DiskType

Returns Input only. The type of the boot disk attached to this instance, defaults to standard persistent disk (PD_STANDARD).

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#can_ip_forward::Boolean

Returns Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#container_image::Google::Cloud::Notebooks::V1::ContainerImage

Returns Use a container image to start the notebook instance.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#create_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. Instance creation time.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#creator::String (readonly)

Returns Output only. Email address of entity that sent original CreateInstance request.

Returns:

  • (::String)

    Output only. Email address of entity that sent original CreateInstance request.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#custom_gpu_driver_path::String

Returns Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers.

Returns:

  • (::String)

    Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#data_disk_size_gb::Integer

Returns Input only. The size of the data disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). You can choose the size of the data disk based on how big your notebooks and data are. If not specified, this defaults to 100.

Returns:

  • (::Integer)

    Input only. The size of the data disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). You can choose the size of the data disk based on how big your notebooks and data are. If not specified, this defaults to 100.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#data_disk_type::Google::Cloud::Notebooks::V1::Instance::DiskType

Returns Input only. The type of the data disk attached to this instance, defaults to standard persistent disk (PD_STANDARD).

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#disk_encryption::Google::Cloud::Notebooks::V1::Instance::DiskEncryption

Returns Input only. Disk encryption method used on the boot and data disks, defaults to GMEK.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#disks::Array<::Google::Cloud::Notebooks::V1::Instance::Disk> (readonly)

Returns Output only. Attached disks to notebook instance.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#install_gpu_driver::Boolean

Returns Whether the end user authorizes Google Cloud to install GPU driver on this instance. If this field is empty or set to false, the GPU driver won't be installed. Only applicable to instances with GPUs.

Returns:

  • (::Boolean)

    Whether the end user authorizes Google Cloud to install GPU driver on this instance. If this field is empty or set to false, the GPU driver won't be installed. Only applicable to instances with GPUs.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#instance_owners::Array<::String>

Returns Input only. The owner of this instance after creation. Format: [email protected]

Currently supports one owner only. If not specified, all of the service account users of your VM instance's service account can use the instance.

Returns:

  • (::Array<::String>)

    Input only. The owner of this instance after creation. Format: [email protected]

    Currently supports one owner only. If not specified, all of the service account users of your VM instance's service account can use the instance.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#kms_key::String

Returns Input only. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}

Learn more about using your own encryption keys.

Returns:

  • (::String)

    Input only. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}

    Learn more about using your own encryption keys.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#labels::Google::Protobuf::Map{::String => ::String}

Returns Labels to apply to this instance. These can be later modified by the setLabels method.

Returns:

  • (::Google::Protobuf::Map{::String => ::String})

    Labels to apply to this instance. These can be later modified by the setLabels method.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#machine_type::String

Returns Required. The Compute Engine machine type of this instance.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#metadata::Google::Protobuf::Map{::String => ::String}

Returns Custom metadata to apply to this instance.

Returns:

  • (::Google::Protobuf::Map{::String => ::String})

    Custom metadata to apply to this instance.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#name::String (readonly)

Returns Output only. The name of this notebook instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}.

Returns:

  • (::String)

    Output only. The name of this notebook instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#network::String

Returns The name of the VPC that this instance is in. Format: projects/{project_id}/global/networks/{network_id}.

Returns:

  • (::String)

    The name of the VPC that this instance is in. Format: projects/{project_id}/global/networks/{network_id}



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#nic_type::Google::Cloud::Notebooks::V1::Instance::NicType

Returns Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#no_proxy_access::Boolean

Returns If true, the notebook instance will not register with the proxy.

Returns:

  • (::Boolean)

    If true, the notebook instance will not register with the proxy.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#no_public_ip::Boolean

Returns If true, no public IP will be assigned to this instance.

Returns:

  • (::Boolean)

    If true, no public IP will be assigned to this instance.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#no_remove_data_disk::Boolean

Returns Input only. If true, the data disk will not be auto deleted when deleting the instance.

Returns:

  • (::Boolean)

    Input only. If true, the data disk will not be auto deleted when deleting the instance.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#post_startup_script::String

Returns Path to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path (gs://path-to-file/file-name).

Returns:

  • (::String)

    Path to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path (gs://path-to-file/file-name).



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#proxy_uri::String (readonly)

Returns Output only. The proxy endpoint that is used to access the Jupyter notebook.

Returns:

  • (::String)

    Output only. The proxy endpoint that is used to access the Jupyter notebook.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#reservation_affinity::Google::Cloud::Notebooks::V1::ReservationAffinity

Returns Optional. The optional reservation affinity. Setting this field will apply the specified Zonal Compute Reservation to this notebook instance.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#service_account::String

Returns The service account on this instance, giving access to other Google Cloud services. You can use any service account within the same project, but you must have the service account user permission to use the instance.

If not specified, the Compute Engine default service account is used.

Returns:

  • (::String)

    The service account on this instance, giving access to other Google Cloud services. You can use any service account within the same project, but you must have the service account user permission to use the instance.

    If not specified, the Compute Engine default service account is used.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#service_account_scopes::Array<::String>

Returns Optional. The URIs of service account scopes to be included in Compute Engine instances.

If not specified, the following scopes are defined:

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#shielded_instance_config::Google::Cloud::Notebooks::V1::Instance::ShieldedInstanceConfig

Returns Optional. Shielded VM configuration. Images using supported Shielded VM features.



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#state::Google::Cloud::Notebooks::V1::Instance::State (readonly)

Returns Output only. The state of this instance.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#subnet::String

Returns The name of the subnet that this instance is in. Format: projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}.

Returns:

  • (::String)

    The name of the subnet that this instance is in. Format: projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#tags::Array<::String>

Returns Optional. The Compute Engine tags to add to runtime (see Tagging instances).

Returns:

  • (::Array<::String>)

    Optional. The Compute Engine tags to add to runtime (see Tagging instances).



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#update_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. Instance update time.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#upgrade_history::Array<::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry>

Returns The upgrade history of this instance.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end

#vm_image::Google::Cloud::Notebooks::V1::VmImage

Returns Use a Compute Engine VM image to start the notebook instance.

Returns:



220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'proto_docs/google/cloud/notebooks/v1/instance.rb', line 220

class Instance
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Definition of a hardware accelerator. Note that not all combinations
  # of `type` and `core_count` are valid. Check [GPUs on Compute
  # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
  # valid combination. TPUs are not supported.
  # @!attribute [rw] type
  #   @return [::Google::Cloud::Notebooks::V1::Instance::AcceleratorType]
  #     Type of this accelerator.
  # @!attribute [rw] core_count
  #   @return [::Integer]
  #     Count of cores of this accelerator.
  class AcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # An instance-attached disk resource.
  # @!attribute [rw] auto_delete
  #   @return [::Boolean]
  #     Indicates whether the disk will be auto-deleted when the instance is
  #     deleted (but not when the disk is detached from the instance).
  # @!attribute [rw] boot
  #   @return [::Boolean]
  #     Indicates that this is a boot disk. The virtual machine will use the
  #     first partition of the disk for its root filesystem.
  # @!attribute [rw] device_name
  #   @return [::String]
  #     Indicates a unique device name of your choice that is reflected into the
  #     `/dev/disk/by-id/google-*` tree of a Linux operating system running
  #     within the instance. This name can be used to reference the device for
  #     mounting, resizing, and so on, from within the instance.
  #
  #     If not specified, the server chooses a default device name to apply to
  #     this disk, in the form persistent-disk-x, where x is a number assigned by
  #     Google Compute Engine.This field is only applicable for persistent disks.
  # @!attribute [rw] disk_size_gb
  #   @return [::Integer]
  #     Indicates the size of the disk in base-2 GB.
  # @!attribute [rw] guest_os_features
  #   @return [::Array<::Google::Cloud::Notebooks::V1::Instance::Disk::GuestOsFeature>]
  #     Indicates a list of features to enable on the guest operating system.
  #     Applicable only for bootable images. Read  Enabling guest operating
  #     system features to see a list of available options.
  # @!attribute [rw] index
  #   @return [::Integer]
  #     A zero-based index to this disk, where 0 is reserved for the
  #     boot disk. If you have many disks attached to an instance, each disk
  #     would have a unique index number.
  # @!attribute [rw] interface
  #   @return [::String]
  #     Indicates the disk interface to use for attaching this disk, which is
  #     either SCSI or NVME. The default is SCSI. Persistent disks must always
  #     use SCSI and the request will fail if you attempt to attach a persistent
  #     disk in any other format than SCSI. Local SSDs can use either NVME or
  #     SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
  #     performance.
  #     Valid values:
  #
  #     * `NVME`
  #     * `SCSI`
  # @!attribute [rw] kind
  #   @return [::String]
  #     Type of the resource. Always compute#attachedDisk for attached
  #     disks.
  # @!attribute [rw] licenses
  #   @return [::Array<::String>]
  #     A list of publicly visible licenses. Reserved for Google's use.
  #     A License represents billing and aggregate usage data for public
  #     and marketplace images.
  # @!attribute [rw] mode
  #   @return [::String]
  #     The mode in which to attach this disk, either `READ_WRITE` or
  #     `READ_ONLY`. If not specified, the default is to attach the disk in
  #     `READ_WRITE` mode. Valid values:
  #
  #     * `READ_ONLY`
  #     * `READ_WRITE`
  # @!attribute [rw] source
  #   @return [::String]
  #     Indicates a valid partial or full URL to an existing Persistent Disk
  #     resource.
  # @!attribute [rw] type
  #   @return [::String]
  #     Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
  #     Valid values:
  #
  #     * `PERSISTENT`
  #     * `SCRATCH`
  class Disk
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Guest OS features for boot disk.
    # @!attribute [rw] type
    #   @return [::String]
    #     The ID of a supported feature. Read  Enabling guest operating system
    #     features to see a list of available options.
    #     Valid values:
    #
    #     * `FEATURE_TYPE_UNSPECIFIED`
    #     * `MULTI_IP_SUBNET`
    #     * `SECURE_BOOT`
    #     * `UEFI_COMPATIBLE`
    #     * `VIRTIO_SCSI_MULTIQUEUE`
    #     * `WINDOWS`
    class GuestOsFeature
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # A set of Shielded Instance options.
  # Check [Images using supported Shielded VM
  # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
  # Not all combinations are valid.
  # @!attribute [rw] enable_secure_boot
  #   @return [::Boolean]
  #     Defines whether the instance has Secure Boot enabled.
  #
  #     Secure Boot helps ensure that the system only runs authentic software by
  #     verifying the digital signature of all boot components, and halting the
  #     boot process if signature verification fails. Disabled by default.
  # @!attribute [rw] enable_vtpm
  #   @return [::Boolean]
  #     Defines whether the instance has the vTPM enabled. Enabled by default.
  # @!attribute [rw] enable_integrity_monitoring
  #   @return [::Boolean]
  #     Defines whether the instance has integrity monitoring enabled.
  #
  #     Enables monitoring and attestation of the boot integrity of the instance.
  #     The attestation is performed against the integrity policy baseline. This
  #     baseline is initially derived from the implicitly trusted boot image when
  #     the instance is created. Enabled by default.
  class ShieldedInstanceConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The entry of VM image upgrade history.
  # @!attribute [rw] snapshot
  #   @return [::String]
  #     The snapshot of the boot disk of this notebook instance before upgrade.
  # @!attribute [rw] vm_image
  #   @return [::String]
  #     The VM image before this instance upgrade.
  # @!attribute [rw] container_image
  #   @return [::String]
  #     The container image before this instance upgrade.
  # @!attribute [rw] framework
  #   @return [::String]
  #     The framework of this notebook instance.
  # @!attribute [rw] version
  #   @return [::String]
  #     The version of the notebook instance before this upgrade.
  # @!attribute [rw] state
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::State]
  #     The state of this instance upgrade history entry.
  # @!attribute [rw] create_time
  #   @return [::Google::Protobuf::Timestamp]
  #     The time that this instance upgrade history entry is created.
  # @!attribute [rw] target_image
  #   @deprecated This field is deprecated and may be removed in the next major version update.
  #   @return [::String]
  #     Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.
  # @!attribute [rw] action
  #   @return [::Google::Cloud::Notebooks::V1::Instance::UpgradeHistoryEntry::Action]
  #     Action. Rolloback or Upgrade.
  # @!attribute [rw] target_version
  #   @return [::String]
  #     Target VM Version, like m63.
  class UpgradeHistoryEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The definition of the states of this upgrade history entry.
    module State
      # State is not specified.
      STATE_UNSPECIFIED = 0

      # The instance upgrade is started.
      STARTED = 1

      # The instance upgrade is succeeded.
      SUCCEEDED = 2

      # The instance upgrade is failed.
      FAILED = 3
    end

    # The definition of operations of this upgrade history entry.
    module Action
      # Operation is not specified.
      ACTION_UNSPECIFIED = 0

      # Upgrade.
      UPGRADE = 1

      # Rollback.
      ROLLBACK = 2
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class LabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class MetadataEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Definition of the types of hardware accelerators that can be used on this
  # instance.
  module AcceleratorType
    # Accelerator type is not specified.
    ACCELERATOR_TYPE_UNSPECIFIED = 0

    # Accelerator type is Nvidia Tesla K80.
    NVIDIA_TESLA_K80 = 1

    # Accelerator type is Nvidia Tesla P100.
    NVIDIA_TESLA_P100 = 2

    # Accelerator type is Nvidia Tesla V100.
    NVIDIA_TESLA_V100 = 3

    # Accelerator type is Nvidia Tesla P4.
    NVIDIA_TESLA_P4 = 4

    # Accelerator type is Nvidia Tesla T4.
    NVIDIA_TESLA_T4 = 5

    # Accelerator type is Nvidia Tesla A100.
    NVIDIA_TESLA_A100 = 11

    # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
    NVIDIA_TESLA_T4_VWS = 8

    # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
    NVIDIA_TESLA_P100_VWS = 9

    # Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
    NVIDIA_TESLA_P4_VWS = 10

    # (Coming soon) Accelerator type is TPU V2.
    TPU_V2 = 6

    # (Coming soon) Accelerator type is TPU V3.
    TPU_V3 = 7
  end

  # The definition of the states of this instance.
  module State
    # State is not specified.
    STATE_UNSPECIFIED = 0

    # The control logic is starting the instance.
    STARTING = 1

    # The control logic is installing required frameworks and registering the
    # instance with notebook proxy
    PROVISIONING = 2

    # The instance is running.
    ACTIVE = 3

    # The control logic is stopping the instance.
    STOPPING = 4

    # The instance is stopped.
    STOPPED = 5

    # The instance is deleted.
    DELETED = 6

    # The instance is upgrading.
    UPGRADING = 7

    # The instance is being created.
    INITIALIZING = 8

    # The instance is getting registered.
    REGISTERING = 9

    # The instance is suspending.
    SUSPENDING = 10

    # The instance is suspended.
    SUSPENDED = 11
  end

  # Possible disk types for notebook instances.
  module DiskType
    # Disk type not set.
    DISK_TYPE_UNSPECIFIED = 0

    # Standard persistent disk type.
    PD_STANDARD = 1

    # SSD persistent disk type.
    PD_SSD = 2

    # Balanced persistent disk type.
    PD_BALANCED = 3

    # Extreme persistent disk type.
    PD_EXTREME = 4
  end

  # Definition of the disk encryption options.
  module DiskEncryption
    # Disk encryption is not specified.
    DISK_ENCRYPTION_UNSPECIFIED = 0

    # Use Google managed encryption keys to encrypt the boot disk.
    GMEK = 1

    # Use customer managed encryption keys to encrypt the boot disk.
    CMEK = 2
  end

  # The type of vNIC driver.
  # Default should be UNSPECIFIED_NIC_TYPE.
  module NicType
    # No type specified.
    UNSPECIFIED_NIC_TYPE = 0

    # VIRTIO
    VIRTIO_NET = 1

    # GVNIC
    GVNIC = 2
  end
end