google-cloud-notebooks-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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