google-cloud-notebooks-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +151 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google/cloud/notebooks/v1/environment_pb.rb +46 -0
  7. data/lib/google/cloud/notebooks/v1/event_pb.rb +29 -0
  8. data/lib/google/cloud/notebooks/v1/execution_pb.rb +99 -0
  9. data/lib/google/cloud/notebooks/v1/instance_config_pb.rb +23 -0
  10. data/lib/google/cloud/notebooks/v1/instance_pb.rb +177 -0
  11. data/lib/google/cloud/notebooks/v1/managed_notebook_service/client.rb +1256 -0
  12. data/lib/google/cloud/notebooks/v1/managed_notebook_service/credentials.rb +51 -0
  13. data/lib/google/cloud/notebooks/v1/managed_notebook_service/operations.rb +767 -0
  14. data/lib/google/cloud/notebooks/v1/managed_notebook_service/paths.rb +52 -0
  15. data/lib/google/cloud/notebooks/v1/managed_notebook_service.rb +50 -0
  16. data/lib/google/cloud/notebooks/v1/managed_service_pb.rb +75 -0
  17. data/lib/google/cloud/notebooks/v1/managed_service_services_pb.rb +70 -0
  18. data/lib/google/cloud/notebooks/v1/notebook_service/client.rb +3643 -0
  19. data/lib/google/cloud/notebooks/v1/notebook_service/credentials.rb +51 -0
  20. data/lib/google/cloud/notebooks/v1/notebook_service/operations.rb +767 -0
  21. data/lib/google/cloud/notebooks/v1/notebook_service/paths.rb +105 -0
  22. data/lib/google/cloud/notebooks/v1/notebook_service.rb +50 -0
  23. data/lib/google/cloud/notebooks/v1/runtime_pb.rb +173 -0
  24. data/lib/google/cloud/notebooks/v1/schedule_pb.rb +45 -0
  25. data/lib/google/cloud/notebooks/v1/service_pb.rb +243 -0
  26. data/lib/google/cloud/notebooks/v1/service_services_pb.rb +114 -0
  27. data/lib/google/cloud/notebooks/v1/version.rb +28 -0
  28. data/lib/google/cloud/notebooks/v1.rb +41 -0
  29. data/lib/google-cloud-notebooks-v1.rb +21 -0
  30. data/proto_docs/README.md +4 -0
  31. data/proto_docs/google/api/field_behavior.rb +71 -0
  32. data/proto_docs/google/api/resource.rb +222 -0
  33. data/proto_docs/google/cloud/notebooks/v1/environment.rb +91 -0
  34. data/proto_docs/google/cloud/notebooks/v1/event.rb +47 -0
  35. data/proto_docs/google/cloud/notebooks/v1/execution.rb +330 -0
  36. data/proto_docs/google/cloud/notebooks/v1/instance.rb +551 -0
  37. data/proto_docs/google/cloud/notebooks/v1/instance_config.rb +39 -0
  38. data/proto_docs/google/cloud/notebooks/v1/managed_service.rb +160 -0
  39. data/proto_docs/google/cloud/notebooks/v1/runtime.rb +607 -0
  40. data/proto_docs/google/cloud/notebooks/v1/schedule.rb +104 -0
  41. data/proto_docs/google/cloud/notebooks/v1/service.rb +656 -0
  42. data/proto_docs/google/longrunning/operations.rb +164 -0
  43. data/proto_docs/google/protobuf/any.rb +141 -0
  44. data/proto_docs/google/protobuf/duration.rb +98 -0
  45. data/proto_docs/google/protobuf/empty.rb +36 -0
  46. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  47. data/proto_docs/google/rpc/status.rb +46 -0
  48. metadata +239 -0
@@ -0,0 +1,607 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Notebooks
23
+ module V1
24
+ # The definition of a Runtime for a managed notebook instance.
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. The resource name of the runtime.
28
+ # Format:
29
+ # `projects/{project}/locations/{location}/runtimes/{runtimeId}`
30
+ # @!attribute [rw] virtual_machine
31
+ # @return [::Google::Cloud::Notebooks::V1::VirtualMachine]
32
+ # Use a Compute Engine VM image to start the managed notebook instance.
33
+ # @!attribute [r] state
34
+ # @return [::Google::Cloud::Notebooks::V1::Runtime::State]
35
+ # Output only. Runtime state.
36
+ # @!attribute [r] health_state
37
+ # @return [::Google::Cloud::Notebooks::V1::Runtime::HealthState]
38
+ # Output only. Runtime health_state.
39
+ # @!attribute [rw] access_config
40
+ # @return [::Google::Cloud::Notebooks::V1::RuntimeAccessConfig]
41
+ # The config settings for accessing runtime.
42
+ # @!attribute [rw] software_config
43
+ # @return [::Google::Cloud::Notebooks::V1::RuntimeSoftwareConfig]
44
+ # The config settings for software inside the runtime.
45
+ # @!attribute [r] metrics
46
+ # @return [::Google::Cloud::Notebooks::V1::RuntimeMetrics]
47
+ # Output only. Contains Runtime daemon metrics such as Service status and JupyterLab
48
+ # stats.
49
+ # @!attribute [r] create_time
50
+ # @return [::Google::Protobuf::Timestamp]
51
+ # Output only. Runtime creation time.
52
+ # @!attribute [r] update_time
53
+ # @return [::Google::Protobuf::Timestamp]
54
+ # Output only. Runtime update time.
55
+ class Runtime
56
+ include ::Google::Protobuf::MessageExts
57
+ extend ::Google::Protobuf::MessageExts::ClassMethods
58
+
59
+ # The definition of the states of this runtime.
60
+ module State
61
+ # State is not specified.
62
+ STATE_UNSPECIFIED = 0
63
+
64
+ # The compute layer is starting the runtime. It is not ready for use.
65
+ STARTING = 1
66
+
67
+ # The compute layer is installing required frameworks and registering the
68
+ # runtime with notebook proxy. It cannot be used.
69
+ PROVISIONING = 2
70
+
71
+ # The runtime is currently running. It is ready for use.
72
+ ACTIVE = 3
73
+
74
+ # The control logic is stopping the runtime. It cannot be used.
75
+ STOPPING = 4
76
+
77
+ # The runtime is stopped. It cannot be used.
78
+ STOPPED = 5
79
+
80
+ # The runtime is being deleted. It cannot be used.
81
+ DELETING = 6
82
+
83
+ # The runtime is upgrading. It cannot be used.
84
+ UPGRADING = 7
85
+
86
+ # The runtime is being created and set up. It is not ready for use.
87
+ INITIALIZING = 8
88
+ end
89
+
90
+ # The runtime substate.
91
+ module HealthState
92
+ # The runtime substate is unknown.
93
+ HEALTH_STATE_UNSPECIFIED = 0
94
+
95
+ # The runtime is known to be in an healthy state
96
+ # (for example, critical daemons are running)
97
+ # Applies to ACTIVE state.
98
+ HEALTHY = 1
99
+
100
+ # The runtime is known to be in an unhealthy state
101
+ # (for example, critical daemons are not running)
102
+ # Applies to ACTIVE state.
103
+ UNHEALTHY = 2
104
+ end
105
+ end
106
+
107
+ # Definition of the types of hardware accelerators that can be used.
108
+ # Definition of the types of hardware accelerators that can be used.
109
+ # See [Compute Engine
110
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).
111
+ # Examples:
112
+ #
113
+ # * `nvidia-tesla-k80`
114
+ # * `nvidia-tesla-p100`
115
+ # * `nvidia-tesla-v100`
116
+ # * `nvidia-tesla-t4`
117
+ # * `nvidia-tesla-a100`
118
+ # @!attribute [rw] type
119
+ # @return [::Google::Cloud::Notebooks::V1::RuntimeAcceleratorConfig::AcceleratorType]
120
+ # Accelerator model.
121
+ # @!attribute [rw] core_count
122
+ # @return [::Integer]
123
+ # Count of cores of this accelerator.
124
+ class RuntimeAcceleratorConfig
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+
128
+ # Type of this accelerator.
129
+ module AcceleratorType
130
+ # Accelerator type is not specified.
131
+ ACCELERATOR_TYPE_UNSPECIFIED = 0
132
+
133
+ # Accelerator type is Nvidia Tesla K80.
134
+ NVIDIA_TESLA_K80 = 1
135
+
136
+ # Accelerator type is Nvidia Tesla P100.
137
+ NVIDIA_TESLA_P100 = 2
138
+
139
+ # Accelerator type is Nvidia Tesla V100.
140
+ NVIDIA_TESLA_V100 = 3
141
+
142
+ # Accelerator type is Nvidia Tesla P4 GPU.
143
+ NVIDIA_TESLA_P4 = 4
144
+
145
+ # Accelerator type is Nvidia Tesla T4.
146
+ NVIDIA_TESLA_T4 = 5
147
+
148
+ # Accelerator type is Nvidia Tesla A100.
149
+ NVIDIA_TESLA_A100 = 6
150
+
151
+ # (Coming soon) Accelerator type is TPU V2.
152
+ TPU_V2 = 7
153
+
154
+ # (Coming soon) Accelerator type is TPU V3.
155
+ TPU_V3 = 8
156
+
157
+ # Accelerator type is NVIDIA Tesla T4 Virtual Workstations.
158
+ NVIDIA_TESLA_T4_VWS = 9
159
+
160
+ # Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
161
+ NVIDIA_TESLA_P100_VWS = 10
162
+
163
+ # Accelerator type is Nvidia Tesla P.4 GPU Virtual Workstations.
164
+ NVIDIA_TESLA_P4_VWS = 11
165
+ end
166
+ end
167
+
168
+ # Represents a custom encryption key configuration that can be applied to
169
+ # a resource. This will encrypt all disks in Virtual Machine.
170
+ # @!attribute [rw] kms_key
171
+ # @return [::String]
172
+ # The Cloud KMS resource identifier of the customer-managed encryption key
173
+ # used to protect a resource, such as a disks. It has the following
174
+ # format:
175
+ # `projects/{PROJECT_ID}/locations/{REGION}/keyRings/{KEY_RING_NAME}/cryptoKeys/{KEY_NAME}`
176
+ class EncryptionConfig
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # A Local attached disk resource.
182
+ # @!attribute [r] auto_delete
183
+ # @return [::Boolean]
184
+ # Optional. Output only. Specifies whether the disk will be auto-deleted when the
185
+ # instance is deleted (but not when the disk is detached from the instance).
186
+ # @!attribute [r] boot
187
+ # @return [::Boolean]
188
+ # Optional. Output only. Indicates that this is a boot disk. The virtual machine
189
+ # will use the first partition of the disk for its root filesystem.
190
+ # @!attribute [r] device_name
191
+ # @return [::String]
192
+ # Optional. Output only. Specifies a unique device name
193
+ # of your choice that is reflected into the
194
+ # /dev/disk/by-id/google-* tree of a Linux operating system running within
195
+ # the instance. This name can be used to reference the device for mounting,
196
+ # resizing, and so on, from within the instance.
197
+ #
198
+ # If not specified, the server chooses a default device name to apply to this
199
+ # disk, in the form persistent-disk-x, where x is a number assigned by Google
200
+ # Compute Engine. This field is only applicable for persistent disks.
201
+ # @!attribute [r] guest_os_features
202
+ # @return [::Array<::Google::Cloud::Notebooks::V1::LocalDisk::RuntimeGuestOsFeature>]
203
+ # Output only. Indicates a list of features to enable on the guest operating system.
204
+ # Applicable only for bootable images. Read Enabling guest operating
205
+ # system features to see a list of available options.
206
+ # @!attribute [r] index
207
+ # @return [::Integer]
208
+ # Output only. A zero-based index to this disk, where 0 is reserved for the
209
+ # boot disk. If you have many disks attached to an instance, each disk would
210
+ # have a unique index number.
211
+ # @!attribute [rw] initialize_params
212
+ # @return [::Google::Cloud::Notebooks::V1::LocalDiskInitializeParams]
213
+ # Input only. Specifies the parameters for a new disk that will be created
214
+ # alongside the new instance. Use initialization parameters to create boot
215
+ # disks or local SSDs attached to the new instance.
216
+ #
217
+ # This property is mutually exclusive with the source property; you can only
218
+ # define one or the other, but not both.
219
+ # @!attribute [rw] interface
220
+ # @return [::String]
221
+ # Specifies the disk interface to use for attaching this disk, which is
222
+ # either SCSI or NVME. The default is SCSI. Persistent disks must always use
223
+ # SCSI and the request will fail if you attempt to attach a persistent disk
224
+ # in any other format than SCSI. Local SSDs can use either NVME or SCSI. For
225
+ # performance characteristics of SCSI over NVMe, see Local SSD performance.
226
+ # Valid values:
227
+ #
228
+ # * NVME
229
+ # * SCSI
230
+ # @!attribute [r] kind
231
+ # @return [::String]
232
+ # Output only. Type of the resource. Always compute#attachedDisk for attached disks.
233
+ # @!attribute [r] licenses
234
+ # @return [::Array<::String>]
235
+ # Output only. Any valid publicly visible licenses.
236
+ # @!attribute [rw] mode
237
+ # @return [::String]
238
+ # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If
239
+ # not specified, the default is to attach the disk in READ_WRITE mode.
240
+ # Valid values:
241
+ #
242
+ # * READ_ONLY
243
+ # * READ_WRITE
244
+ # @!attribute [rw] source
245
+ # @return [::String]
246
+ # Specifies a valid partial or full URL to an existing Persistent Disk
247
+ # resource.
248
+ # @!attribute [rw] type
249
+ # @return [::String]
250
+ # Specifies the type of the disk, either SCRATCH or PERSISTENT. If not
251
+ # specified, the default is PERSISTENT.
252
+ # Valid values:
253
+ #
254
+ # * PERSISTENT
255
+ # * SCRATCH
256
+ class LocalDisk
257
+ include ::Google::Protobuf::MessageExts
258
+ extend ::Google::Protobuf::MessageExts::ClassMethods
259
+
260
+ # Optional. A list of features to enable on the guest operating system.
261
+ # Applicable only for bootable images.
262
+ # Read [Enabling guest operating system
263
+ # features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features)
264
+ # to see a list of available options.
265
+ # Guest OS features for boot disk.
266
+ # @!attribute [rw] type
267
+ # @return [::String]
268
+ # The ID of a supported feature. Read [Enabling guest operating system
269
+ # features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features)
270
+ # to see a list of available options.
271
+ #
272
+ # Valid values:
273
+ #
274
+ # * FEATURE_TYPE_UNSPECIFIED
275
+ # * MULTI_IP_SUBNET
276
+ # * SECURE_BOOT
277
+ # * UEFI_COMPATIBLE
278
+ # * VIRTIO_SCSI_MULTIQUEUE
279
+ # * WINDOWS
280
+ class RuntimeGuestOsFeature
281
+ include ::Google::Protobuf::MessageExts
282
+ extend ::Google::Protobuf::MessageExts::ClassMethods
283
+ end
284
+ end
285
+
286
+ # Input only. Specifies the parameters for a new disk that will be created
287
+ # alongside the new instance. Use initialization parameters to create boot
288
+ # disks or local SSDs attached to the new runtime.
289
+ # This property is mutually exclusive with the source property; you can only
290
+ # define one or the other, but not both.
291
+ # @!attribute [rw] description
292
+ # @return [::String]
293
+ # Optional. Provide this property when creating the disk.
294
+ # @!attribute [rw] disk_name
295
+ # @return [::String]
296
+ # Optional. Specifies the disk name. If not specified, the default is to use the name
297
+ # of the instance. If the disk with the instance name exists already in the
298
+ # given zone/region, a new name will be automatically generated.
299
+ # @!attribute [rw] disk_size_gb
300
+ # @return [::Integer]
301
+ # Optional. Specifies the size of the disk in base-2 GB. If not specified, the disk
302
+ # will be the same size as the image (usually 10GB). If specified, the size
303
+ # must be equal to or larger than 10GB. Default 100 GB.
304
+ # @!attribute [rw] disk_type
305
+ # @return [::Google::Cloud::Notebooks::V1::LocalDiskInitializeParams::DiskType]
306
+ # Input only. The type of the boot disk attached to this instance, defaults to
307
+ # standard persistent disk (`PD_STANDARD`).
308
+ # @!attribute [rw] labels
309
+ # @return [::Google::Protobuf::Map{::String => ::String}]
310
+ # Optional. Labels to apply to this disk. These can be later modified by the
311
+ # disks.setLabels method. This field is only applicable for persistent disks.
312
+ class LocalDiskInitializeParams
313
+ include ::Google::Protobuf::MessageExts
314
+ extend ::Google::Protobuf::MessageExts::ClassMethods
315
+
316
+ # @!attribute [rw] key
317
+ # @return [::String]
318
+ # @!attribute [rw] value
319
+ # @return [::String]
320
+ class LabelsEntry
321
+ include ::Google::Protobuf::MessageExts
322
+ extend ::Google::Protobuf::MessageExts::ClassMethods
323
+ end
324
+
325
+ # Possible disk types.
326
+ module DiskType
327
+ # Disk type not set.
328
+ DISK_TYPE_UNSPECIFIED = 0
329
+
330
+ # Standard persistent disk type.
331
+ PD_STANDARD = 1
332
+
333
+ # SSD persistent disk type.
334
+ PD_SSD = 2
335
+
336
+ # Balanced persistent disk type.
337
+ PD_BALANCED = 3
338
+ end
339
+ end
340
+
341
+ # Specifies the login configuration for Runtime
342
+ # @!attribute [rw] access_type
343
+ # @return [::Google::Cloud::Notebooks::V1::RuntimeAccessConfig::RuntimeAccessType]
344
+ # The type of access mode this instance.
345
+ # @!attribute [rw] runtime_owner
346
+ # @return [::String]
347
+ # The owner of this runtime after creation. Format: `alias@example.com`
348
+ # Currently supports one owner only.
349
+ # @!attribute [r] proxy_uri
350
+ # @return [::String]
351
+ # Output only. The proxy endpoint that is used to access the runtime.
352
+ class RuntimeAccessConfig
353
+ include ::Google::Protobuf::MessageExts
354
+ extend ::Google::Protobuf::MessageExts::ClassMethods
355
+
356
+ # Possible ways to access runtime. Authentication mode.
357
+ # Currently supports: Single User only.
358
+ module RuntimeAccessType
359
+ # Unspecified access.
360
+ RUNTIME_ACCESS_TYPE_UNSPECIFIED = 0
361
+
362
+ # Single user login.
363
+ SINGLE_USER = 1
364
+ end
365
+ end
366
+
367
+ # Specifies the selection and configuration of software inside the runtime.
368
+ # The properties to set on runtime.
369
+ # Properties keys are specified in `key:value` format, for example:
370
+ #
371
+ # * `idle_shutdown: true`
372
+ # * `idle_shutdown_timeout: 180`
373
+ # * `report-system-health: true`
374
+ # @!attribute [rw] notebook_upgrade_schedule
375
+ # @return [::String]
376
+ # Cron expression in UTC timezone, used to schedule instance auto upgrade.
377
+ # Please follow the [cron format](https://en.wikipedia.org/wiki/Cron).
378
+ # @!attribute [rw] enable_health_monitoring
379
+ # @return [::Boolean]
380
+ # Verifies core internal services are running.
381
+ # Default: True
382
+ # @!attribute [rw] idle_shutdown
383
+ # @return [::Boolean]
384
+ # Runtime will automatically shutdown after idle_shutdown_time.
385
+ # Default: True
386
+ # @!attribute [rw] idle_shutdown_timeout
387
+ # @return [::Integer]
388
+ # Time in minutes to wait before shutting down runtime. Default: 180 minutes
389
+ # @!attribute [rw] install_gpu_driver
390
+ # @return [::Boolean]
391
+ # Install Nvidia Driver automatically.
392
+ # @!attribute [rw] custom_gpu_driver_path
393
+ # @return [::String]
394
+ # Specify a custom Cloud Storage path where the GPU driver is stored.
395
+ # If not specified, we'll automatically choose from official GPU drivers.
396
+ # @!attribute [rw] post_startup_script
397
+ # @return [::String]
398
+ # Path to a Bash script that automatically runs after a notebook instance
399
+ # fully boots up. The path must be a URL or
400
+ # Cloud Storage path (`gs://path-to-file/file-name`).
401
+ class RuntimeSoftwareConfig
402
+ include ::Google::Protobuf::MessageExts
403
+ extend ::Google::Protobuf::MessageExts::ClassMethods
404
+ end
405
+
406
+ # Contains runtime daemon metrics, such as OS and kernels and sessions stats.
407
+ # @!attribute [r] system_metrics
408
+ # @return [::Google::Protobuf::Map{::String => ::String}]
409
+ # Output only. The system metrics.
410
+ class RuntimeMetrics
411
+ include ::Google::Protobuf::MessageExts
412
+ extend ::Google::Protobuf::MessageExts::ClassMethods
413
+
414
+ # @!attribute [rw] key
415
+ # @return [::String]
416
+ # @!attribute [rw] value
417
+ # @return [::String]
418
+ class SystemMetricsEntry
419
+ include ::Google::Protobuf::MessageExts
420
+ extend ::Google::Protobuf::MessageExts::ClassMethods
421
+ end
422
+ end
423
+
424
+ # A set of Shielded Instance options.
425
+ # Check [Images using supported Shielded VM
426
+ # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
427
+ # Not all combinations are valid.
428
+ # @!attribute [rw] enable_secure_boot
429
+ # @return [::Boolean]
430
+ # Defines whether the instance has Secure Boot enabled.
431
+ #
432
+ # Secure Boot helps ensure that the system only runs authentic software by
433
+ # verifying the digital signature of all boot components, and halting the
434
+ # boot process if signature verification fails. Disabled by default.
435
+ # @!attribute [rw] enable_vtpm
436
+ # @return [::Boolean]
437
+ # Defines whether the instance has the vTPM enabled. Enabled by default.
438
+ # @!attribute [rw] enable_integrity_monitoring
439
+ # @return [::Boolean]
440
+ # Defines whether the instance has integrity monitoring enabled.
441
+ #
442
+ # Enables monitoring and attestation of the boot integrity of the instance.
443
+ # The attestation is performed against the integrity policy baseline. This
444
+ # baseline is initially derived from the implicitly trusted boot image when
445
+ # the instance is created. Enabled by default.
446
+ class RuntimeShieldedInstanceConfig
447
+ include ::Google::Protobuf::MessageExts
448
+ extend ::Google::Protobuf::MessageExts::ClassMethods
449
+ end
450
+
451
+ # Runtime using Virtual Machine for computing.
452
+ # @!attribute [r] instance_name
453
+ # @return [::String]
454
+ # Output only. The user-friendly name of the Managed Compute Engine instance.
455
+ # @!attribute [r] instance_id
456
+ # @return [::String]
457
+ # Output only. The unique identifier of the Managed Compute Engine instance.
458
+ # @!attribute [rw] virtual_machine_config
459
+ # @return [::Google::Cloud::Notebooks::V1::VirtualMachineConfig]
460
+ # Virtual Machine configuration settings.
461
+ class VirtualMachine
462
+ include ::Google::Protobuf::MessageExts
463
+ extend ::Google::Protobuf::MessageExts::ClassMethods
464
+ end
465
+
466
+ # The config settings for virtual machine.
467
+ # @!attribute [r] zone
468
+ # @return [::String]
469
+ # Output only. The zone where the virtual machine is located.
470
+ # If using regional request, the notebooks service will pick a location
471
+ # in the corresponding runtime region.
472
+ # On a get request, zone will always be present. Example:
473
+ # * `us-central1-b`
474
+ # @!attribute [rw] machine_type
475
+ # @return [::String]
476
+ # Required. The Compute Engine machine type used for runtimes.
477
+ # Short name is valid. Examples:
478
+ # * `n1-standard-2`
479
+ # * `e2-standard-8`
480
+ # @!attribute [rw] container_images
481
+ # @return [::Array<::Google::Cloud::Notebooks::V1::ContainerImage>]
482
+ # Optional. Use a list of container images to start the notebook instance.
483
+ # @!attribute [rw] data_disk
484
+ # @return [::Google::Cloud::Notebooks::V1::LocalDisk]
485
+ # Required. Data disk option configuration settings.
486
+ # @!attribute [rw] encryption_config
487
+ # @return [::Google::Cloud::Notebooks::V1::EncryptionConfig]
488
+ # Optional. Encryption settings for virtual machine data disk.
489
+ # @!attribute [rw] shielded_instance_config
490
+ # @return [::Google::Cloud::Notebooks::V1::RuntimeShieldedInstanceConfig]
491
+ # Optional. Shielded VM Instance configuration settings.
492
+ # @!attribute [rw] accelerator_config
493
+ # @return [::Google::Cloud::Notebooks::V1::RuntimeAcceleratorConfig]
494
+ # Optional. The Compute Engine accelerator configuration for this runtime.
495
+ # @!attribute [rw] network
496
+ # @return [::String]
497
+ # Optional. The Compute Engine network to be used for machine
498
+ # communications. Cannot be specified with subnetwork. If neither
499
+ # `network` nor `subnet` is specified, the "default" network of
500
+ # the project is used, if it exists.
501
+ #
502
+ # A full URL or partial URI. Examples:
503
+ #
504
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`
505
+ # * `projects/[project_id]/regions/global/default`
506
+ #
507
+ # Runtimes are managed resources inside Google Infrastructure.
508
+ # Runtimes support the following network configurations:
509
+ #
510
+ # * Google Managed Network (Network & subnet are empty)
511
+ # * Consumer Project VPC (network & subnet are required). Requires
512
+ # configuring Private Service Access.
513
+ # * Shared VPC (network & subnet are required). Requires configuring Private
514
+ # Service Access.
515
+ # @!attribute [rw] subnet
516
+ # @return [::String]
517
+ # Optional. The Compute Engine subnetwork to be used for machine
518
+ # communications. Cannot be specified with network.
519
+ #
520
+ # A full URL or partial URI are valid. Examples:
521
+ #
522
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0`
523
+ # * `projects/[project_id]/regions/us-east1/subnetworks/sub0`
524
+ # @!attribute [rw] internal_ip_only
525
+ # @return [::Boolean]
526
+ # Optional. If true, runtime will only have internal IP
527
+ # addresses. By default, runtimes are not restricted to internal IP
528
+ # addresses, and will have ephemeral external IP addresses assigned to each
529
+ # vm. This `internal_ip_only` restriction can only be enabled for
530
+ # subnetwork enabled networks, and all dependencies must be
531
+ # configured to be accessible without external IP addresses.
532
+ # @!attribute [rw] tags
533
+ # @return [::Array<::String>]
534
+ # Optional. The Compute Engine tags to add to runtime (see [Tagging
535
+ # instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
536
+ # @!attribute [r] guest_attributes
537
+ # @return [::Google::Protobuf::Map{::String => ::String}]
538
+ # Output only. The Compute Engine guest attributes. (see
539
+ # [Project and instance
540
+ # guest
541
+ # attributes](https://cloud.google.com/compute/docs/storing-retrieving-metadata#guest_attributes)).
542
+ # @!attribute [rw] metadata
543
+ # @return [::Google::Protobuf::Map{::String => ::String}]
544
+ # Optional. The Compute Engine metadata entries to add to virtual machine. (see
545
+ # [Project and instance
546
+ # metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
547
+ # @!attribute [rw] labels
548
+ # @return [::Google::Protobuf::Map{::String => ::String}]
549
+ # Optional. The labels to associate with this runtime.
550
+ # Label **keys** must contain 1 to 63 characters, and must conform to
551
+ # [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
552
+ # Label **values** may be empty, but, if present, must contain 1 to 63
553
+ # characters, and must conform to [RFC
554
+ # 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
555
+ # associated with a cluster.
556
+ # @!attribute [rw] nic_type
557
+ # @return [::Google::Cloud::Notebooks::V1::VirtualMachineConfig::NicType]
558
+ # Optional. The type of vNIC to be used on this interface. This may be gVNIC or
559
+ # VirtioNet.
560
+ class VirtualMachineConfig
561
+ include ::Google::Protobuf::MessageExts
562
+ extend ::Google::Protobuf::MessageExts::ClassMethods
563
+
564
+ # @!attribute [rw] key
565
+ # @return [::String]
566
+ # @!attribute [rw] value
567
+ # @return [::String]
568
+ class GuestAttributesEntry
569
+ include ::Google::Protobuf::MessageExts
570
+ extend ::Google::Protobuf::MessageExts::ClassMethods
571
+ end
572
+
573
+ # @!attribute [rw] key
574
+ # @return [::String]
575
+ # @!attribute [rw] value
576
+ # @return [::String]
577
+ class MetadataEntry
578
+ include ::Google::Protobuf::MessageExts
579
+ extend ::Google::Protobuf::MessageExts::ClassMethods
580
+ end
581
+
582
+ # @!attribute [rw] key
583
+ # @return [::String]
584
+ # @!attribute [rw] value
585
+ # @return [::String]
586
+ class LabelsEntry
587
+ include ::Google::Protobuf::MessageExts
588
+ extend ::Google::Protobuf::MessageExts::ClassMethods
589
+ end
590
+
591
+ # The type of vNIC driver.
592
+ # Default should be UNSPECIFIED_NIC_TYPE.
593
+ module NicType
594
+ # No type specified.
595
+ UNSPECIFIED_NIC_TYPE = 0
596
+
597
+ # VIRTIO
598
+ VIRTIO_NET = 1
599
+
600
+ # GVNIC
601
+ GVNIC = 2
602
+ end
603
+ end
604
+ end
605
+ end
606
+ end
607
+ end