google-apis-notebooks_v2 0.2.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,34 @@ module Google
|
|
22
22
|
module Apis
|
23
23
|
module NotebooksV2
|
24
24
|
|
25
|
+
# An accelerator configuration for a VM instance Definition of a hardware
|
26
|
+
# accelerator. Note that there is no check on `type` and `core_count`
|
27
|
+
# combinations. TPUs are not supported. See [GPUs on Compute Engine](https://
|
28
|
+
# cloud.google.com/compute/docs/gpus/#gpus-list) to find a valid combination.
|
29
|
+
class AcceleratorConfig
|
30
|
+
include Google::Apis::Core::Hashable
|
31
|
+
|
32
|
+
# Optional. Count of cores of this accelerator.
|
33
|
+
# Corresponds to the JSON property `coreCount`
|
34
|
+
# @return [Fixnum]
|
35
|
+
attr_accessor :core_count
|
36
|
+
|
37
|
+
# Optional. Type of this accelerator.
|
38
|
+
# Corresponds to the JSON property `type`
|
39
|
+
# @return [String]
|
40
|
+
attr_accessor :type
|
41
|
+
|
42
|
+
def initialize(**args)
|
43
|
+
update!(**args)
|
44
|
+
end
|
45
|
+
|
46
|
+
# Update properties of this object
|
47
|
+
def update!(**args)
|
48
|
+
@core_count = args[:core_count] if args.key?(:core_count)
|
49
|
+
@type = args[:type] if args.key?(:type)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
25
53
|
# Associates `members`, or principals, with a `role`.
|
26
54
|
class Binding
|
27
55
|
include Google::Apis::Core::Hashable
|
@@ -98,6 +126,49 @@ module Google
|
|
98
126
|
end
|
99
127
|
end
|
100
128
|
|
129
|
+
# The definition of a boot disk.
|
130
|
+
class BootDisk
|
131
|
+
include Google::Apis::Core::Hashable
|
132
|
+
|
133
|
+
# Optional. Input only. Disk encryption method used on the boot and data disks,
|
134
|
+
# defaults to GMEK.
|
135
|
+
# Corresponds to the JSON property `diskEncryption`
|
136
|
+
# @return [String]
|
137
|
+
attr_accessor :disk_encryption
|
138
|
+
|
139
|
+
# Optional. The size of the boot disk in GB attached to this instance, up to a
|
140
|
+
# maximum of 64000 GB (64 TB). If not specified, this defaults to the
|
141
|
+
# recommended value of 150GB.
|
142
|
+
# Corresponds to the JSON property `diskSizeGb`
|
143
|
+
# @return [Fixnum]
|
144
|
+
attr_accessor :disk_size_gb
|
145
|
+
|
146
|
+
# Optional. Indicates the type of the disk.
|
147
|
+
# Corresponds to the JSON property `diskType`
|
148
|
+
# @return [String]
|
149
|
+
attr_accessor :disk_type
|
150
|
+
|
151
|
+
# Optional. Input only. The KMS key used to encrypt the disks, only applicable
|
152
|
+
# if disk_encryption is CMEK. Format: `projects/`project_id`/locations/`location`
|
153
|
+
# /keyRings/`key_ring_id`/cryptoKeys/`key_id`` Learn more about using your own
|
154
|
+
# encryption keys.
|
155
|
+
# Corresponds to the JSON property `kmsKey`
|
156
|
+
# @return [String]
|
157
|
+
attr_accessor :kms_key
|
158
|
+
|
159
|
+
def initialize(**args)
|
160
|
+
update!(**args)
|
161
|
+
end
|
162
|
+
|
163
|
+
# Update properties of this object
|
164
|
+
def update!(**args)
|
165
|
+
@disk_encryption = args[:disk_encryption] if args.key?(:disk_encryption)
|
166
|
+
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
167
|
+
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
168
|
+
@kms_key = args[:kms_key] if args.key?(:kms_key)
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
101
172
|
# The request message for Operations.CancelOperation.
|
102
173
|
class CancelOperationRequest
|
103
174
|
include Google::Apis::Core::Hashable
|
@@ -111,6 +182,197 @@ module Google
|
|
111
182
|
end
|
112
183
|
end
|
113
184
|
|
185
|
+
# Response for checking if a notebook instance is upgradeable.
|
186
|
+
class CheckInstanceUpgradabilityResponse
|
187
|
+
include Google::Apis::Core::Hashable
|
188
|
+
|
189
|
+
# The new image self link this instance will be upgraded to if calling the
|
190
|
+
# upgrade endpoint. This field will only be populated if field upgradeable is
|
191
|
+
# true.
|
192
|
+
# Corresponds to the JSON property `upgradeImage`
|
193
|
+
# @return [String]
|
194
|
+
attr_accessor :upgrade_image
|
195
|
+
|
196
|
+
# Additional information about upgrade.
|
197
|
+
# Corresponds to the JSON property `upgradeInfo`
|
198
|
+
# @return [String]
|
199
|
+
attr_accessor :upgrade_info
|
200
|
+
|
201
|
+
# The version this instance will be upgraded to if calling the upgrade endpoint.
|
202
|
+
# This field will only be populated if field upgradeable is true.
|
203
|
+
# Corresponds to the JSON property `upgradeVersion`
|
204
|
+
# @return [String]
|
205
|
+
attr_accessor :upgrade_version
|
206
|
+
|
207
|
+
# If an instance is upgradeable.
|
208
|
+
# Corresponds to the JSON property `upgradeable`
|
209
|
+
# @return [Boolean]
|
210
|
+
attr_accessor :upgradeable
|
211
|
+
alias_method :upgradeable?, :upgradeable
|
212
|
+
|
213
|
+
def initialize(**args)
|
214
|
+
update!(**args)
|
215
|
+
end
|
216
|
+
|
217
|
+
# Update properties of this object
|
218
|
+
def update!(**args)
|
219
|
+
@upgrade_image = args[:upgrade_image] if args.key?(:upgrade_image)
|
220
|
+
@upgrade_info = args[:upgrade_info] if args.key?(:upgrade_info)
|
221
|
+
@upgrade_version = args[:upgrade_version] if args.key?(:upgrade_version)
|
222
|
+
@upgradeable = args[:upgradeable] if args.key?(:upgradeable)
|
223
|
+
end
|
224
|
+
end
|
225
|
+
|
226
|
+
# Definition of a container image for starting a notebook instance with the
|
227
|
+
# environment installed in a container.
|
228
|
+
class ContainerImage
|
229
|
+
include Google::Apis::Core::Hashable
|
230
|
+
|
231
|
+
# Required. The path to the container image repository. For example: `gcr.io/`
|
232
|
+
# project_id`/`image_name``
|
233
|
+
# Corresponds to the JSON property `repository`
|
234
|
+
# @return [String]
|
235
|
+
attr_accessor :repository
|
236
|
+
|
237
|
+
# Optional. The tag of the container image. If not specified, this defaults to
|
238
|
+
# the latest tag.
|
239
|
+
# Corresponds to the JSON property `tag`
|
240
|
+
# @return [String]
|
241
|
+
attr_accessor :tag
|
242
|
+
|
243
|
+
def initialize(**args)
|
244
|
+
update!(**args)
|
245
|
+
end
|
246
|
+
|
247
|
+
# Update properties of this object
|
248
|
+
def update!(**args)
|
249
|
+
@repository = args[:repository] if args.key?(:repository)
|
250
|
+
@tag = args[:tag] if args.key?(:tag)
|
251
|
+
end
|
252
|
+
end
|
253
|
+
|
254
|
+
# An instance-attached disk resource.
|
255
|
+
class DataDisk
|
256
|
+
include Google::Apis::Core::Hashable
|
257
|
+
|
258
|
+
# Optional. Input only. Disk encryption method used on the boot and data disks,
|
259
|
+
# defaults to GMEK.
|
260
|
+
# Corresponds to the JSON property `diskEncryption`
|
261
|
+
# @return [String]
|
262
|
+
attr_accessor :disk_encryption
|
263
|
+
|
264
|
+
# Optional. The size of the disk in GB attached to this VM instance, up to a
|
265
|
+
# maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
|
266
|
+
# Corresponds to the JSON property `diskSizeGb`
|
267
|
+
# @return [Fixnum]
|
268
|
+
attr_accessor :disk_size_gb
|
269
|
+
|
270
|
+
# Optional. Input only. Indicates the type of the disk.
|
271
|
+
# Corresponds to the JSON property `diskType`
|
272
|
+
# @return [String]
|
273
|
+
attr_accessor :disk_type
|
274
|
+
|
275
|
+
# Optional. Input only. The KMS key used to encrypt the disks, only applicable
|
276
|
+
# if disk_encryption is CMEK. Format: `projects/`project_id`/locations/`location`
|
277
|
+
# /keyRings/`key_ring_id`/cryptoKeys/`key_id`` Learn more about using your own
|
278
|
+
# encryption keys.
|
279
|
+
# Corresponds to the JSON property `kmsKey`
|
280
|
+
# @return [String]
|
281
|
+
attr_accessor :kms_key
|
282
|
+
|
283
|
+
def initialize(**args)
|
284
|
+
update!(**args)
|
285
|
+
end
|
286
|
+
|
287
|
+
# Update properties of this object
|
288
|
+
def update!(**args)
|
289
|
+
@disk_encryption = args[:disk_encryption] if args.key?(:disk_encryption)
|
290
|
+
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
291
|
+
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
292
|
+
@kms_key = args[:kms_key] if args.key?(:kms_key)
|
293
|
+
end
|
294
|
+
end
|
295
|
+
|
296
|
+
# Request for creating a notebook instance diagnostic file.
|
297
|
+
class DiagnoseInstanceRequest
|
298
|
+
include Google::Apis::Core::Hashable
|
299
|
+
|
300
|
+
# Defines flags that are used to run the diagnostic tool
|
301
|
+
# Corresponds to the JSON property `diagnosticConfig`
|
302
|
+
# @return [Google::Apis::NotebooksV2::DiagnosticConfig]
|
303
|
+
attr_accessor :diagnostic_config
|
304
|
+
|
305
|
+
# Optional. Maxmium amount of time in minutes before the operation times out.
|
306
|
+
# Corresponds to the JSON property `timeoutMinutes`
|
307
|
+
# @return [Fixnum]
|
308
|
+
attr_accessor :timeout_minutes
|
309
|
+
|
310
|
+
def initialize(**args)
|
311
|
+
update!(**args)
|
312
|
+
end
|
313
|
+
|
314
|
+
# Update properties of this object
|
315
|
+
def update!(**args)
|
316
|
+
@diagnostic_config = args[:diagnostic_config] if args.key?(:diagnostic_config)
|
317
|
+
@timeout_minutes = args[:timeout_minutes] if args.key?(:timeout_minutes)
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
# Defines flags that are used to run the diagnostic tool
|
322
|
+
class DiagnosticConfig
|
323
|
+
include Google::Apis::Core::Hashable
|
324
|
+
|
325
|
+
# Optional. Enables flag to copy all `/home/jupyter` folder contents
|
326
|
+
# Corresponds to the JSON property `enableCopyHomeFilesFlag`
|
327
|
+
# @return [Boolean]
|
328
|
+
attr_accessor :enable_copy_home_files_flag
|
329
|
+
alias_method :enable_copy_home_files_flag?, :enable_copy_home_files_flag
|
330
|
+
|
331
|
+
# Optional. Enables flag to capture packets from the instance for 30 seconds
|
332
|
+
# Corresponds to the JSON property `enablePacketCaptureFlag`
|
333
|
+
# @return [Boolean]
|
334
|
+
attr_accessor :enable_packet_capture_flag
|
335
|
+
alias_method :enable_packet_capture_flag?, :enable_packet_capture_flag
|
336
|
+
|
337
|
+
# Optional. Enables flag to repair service for instance
|
338
|
+
# Corresponds to the JSON property `enableRepairFlag`
|
339
|
+
# @return [Boolean]
|
340
|
+
attr_accessor :enable_repair_flag
|
341
|
+
alias_method :enable_repair_flag?, :enable_repair_flag
|
342
|
+
|
343
|
+
# Required. User Cloud Storage bucket location (REQUIRED). Must be formatted
|
344
|
+
# with path prefix (`gs://$GCS_BUCKET`). Permissions: User Managed Notebooks: -
|
345
|
+
# storage.buckets.writer: Must be given to the project's service account
|
346
|
+
# attached to VM. Google Managed Notebooks: - storage.buckets.writer: Must be
|
347
|
+
# given to the project's service account or user credentials attached to VM
|
348
|
+
# depending on authentication mode. Cloud Storage bucket Log file will be
|
349
|
+
# written to `gs://$GCS_BUCKET/$RELATIVE_PATH/$VM_DATE_$TIME.tar.gz`
|
350
|
+
# Corresponds to the JSON property `gcsBucket`
|
351
|
+
# @return [String]
|
352
|
+
attr_accessor :gcs_bucket
|
353
|
+
|
354
|
+
# Optional. Defines the relative storage path in the Cloud Storage bucket where
|
355
|
+
# the diagnostic logs will be written: Default path will be the root directory
|
356
|
+
# of the Cloud Storage bucket (`gs://$GCS_BUCKET/$DATE_$TIME.tar.gz`) Example of
|
357
|
+
# full path where Log file will be written: `gs://$GCS_BUCKET/$RELATIVE_PATH/`
|
358
|
+
# Corresponds to the JSON property `relativePath`
|
359
|
+
# @return [String]
|
360
|
+
attr_accessor :relative_path
|
361
|
+
|
362
|
+
def initialize(**args)
|
363
|
+
update!(**args)
|
364
|
+
end
|
365
|
+
|
366
|
+
# Update properties of this object
|
367
|
+
def update!(**args)
|
368
|
+
@enable_copy_home_files_flag = args[:enable_copy_home_files_flag] if args.key?(:enable_copy_home_files_flag)
|
369
|
+
@enable_packet_capture_flag = args[:enable_packet_capture_flag] if args.key?(:enable_packet_capture_flag)
|
370
|
+
@enable_repair_flag = args[:enable_repair_flag] if args.key?(:enable_repair_flag)
|
371
|
+
@gcs_bucket = args[:gcs_bucket] if args.key?(:gcs_bucket)
|
372
|
+
@relative_path = args[:relative_path] if args.key?(:relative_path)
|
373
|
+
end
|
374
|
+
end
|
375
|
+
|
114
376
|
# A generic empty message that you can re-use to avoid defining duplicated empty
|
115
377
|
# messages in your APIs. A typical example is to use it as the request or the
|
116
378
|
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
@@ -127,6 +389,37 @@ module Google
|
|
127
389
|
end
|
128
390
|
end
|
129
391
|
|
392
|
+
# The definition of an Event for a managed / semi-managed notebook instance.
|
393
|
+
class Event
|
394
|
+
include Google::Apis::Core::Hashable
|
395
|
+
|
396
|
+
# Optional. Event details. This field is used to pass event information.
|
397
|
+
# Corresponds to the JSON property `details`
|
398
|
+
# @return [Hash<String,String>]
|
399
|
+
attr_accessor :details
|
400
|
+
|
401
|
+
# Optional. Event report time.
|
402
|
+
# Corresponds to the JSON property `reportTime`
|
403
|
+
# @return [String]
|
404
|
+
attr_accessor :report_time
|
405
|
+
|
406
|
+
# Optional. Event type.
|
407
|
+
# Corresponds to the JSON property `type`
|
408
|
+
# @return [String]
|
409
|
+
attr_accessor :type
|
410
|
+
|
411
|
+
def initialize(**args)
|
412
|
+
update!(**args)
|
413
|
+
end
|
414
|
+
|
415
|
+
# Update properties of this object
|
416
|
+
def update!(**args)
|
417
|
+
@details = args[:details] if args.key?(:details)
|
418
|
+
@report_time = args[:report_time] if args.key?(:report_time)
|
419
|
+
@type = args[:type] if args.key?(:type)
|
420
|
+
end
|
421
|
+
end
|
422
|
+
|
130
423
|
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
131
424
|
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
132
425
|
# documented at https://github.com/google/cel-spec. Example (Comparison): title:
|
@@ -181,6 +474,289 @@ module Google
|
|
181
474
|
end
|
182
475
|
end
|
183
476
|
|
477
|
+
# A GPU driver configuration
|
478
|
+
class GpuDriverConfig
|
479
|
+
include Google::Apis::Core::Hashable
|
480
|
+
|
481
|
+
# Optional. Specify a custom Cloud Storage path where the GPU driver is stored.
|
482
|
+
# If not specified, we'll automatically choose from official GPU drivers.
|
483
|
+
# Corresponds to the JSON property `customGpuDriverPath`
|
484
|
+
# @return [String]
|
485
|
+
attr_accessor :custom_gpu_driver_path
|
486
|
+
|
487
|
+
# Optional. Whether the end user authorizes Google Cloud to install GPU driver
|
488
|
+
# on this VM instance. If this field is empty or set to false, the GPU driver
|
489
|
+
# won't be installed. Only applicable to instances with GPUs.
|
490
|
+
# Corresponds to the JSON property `enableGpuDriver`
|
491
|
+
# @return [Boolean]
|
492
|
+
attr_accessor :enable_gpu_driver
|
493
|
+
alias_method :enable_gpu_driver?, :enable_gpu_driver
|
494
|
+
|
495
|
+
def initialize(**args)
|
496
|
+
update!(**args)
|
497
|
+
end
|
498
|
+
|
499
|
+
# Update properties of this object
|
500
|
+
def update!(**args)
|
501
|
+
@custom_gpu_driver_path = args[:custom_gpu_driver_path] if args.key?(:custom_gpu_driver_path)
|
502
|
+
@enable_gpu_driver = args[:enable_gpu_driver] if args.key?(:enable_gpu_driver)
|
503
|
+
end
|
504
|
+
end
|
505
|
+
|
506
|
+
# The definition of how to configure a VM instance outside of Resources and
|
507
|
+
# Identity.
|
508
|
+
class GceSetup
|
509
|
+
include Google::Apis::Core::Hashable
|
510
|
+
|
511
|
+
# Optional. The hardware accelerators used on this instance. If you use
|
512
|
+
# accelerators, make sure that your configuration has [enough vCPUs and memory
|
513
|
+
# to support the `machine_type` you have selected](https://cloud.google.com/
|
514
|
+
# compute/docs/gpus/#gpus-list). Currently supports only one accelerator
|
515
|
+
# configuration.
|
516
|
+
# Corresponds to the JSON property `acceleratorConfigs`
|
517
|
+
# @return [Array<Google::Apis::NotebooksV2::AcceleratorConfig>]
|
518
|
+
attr_accessor :accelerator_configs
|
519
|
+
|
520
|
+
# The definition of a boot disk.
|
521
|
+
# Corresponds to the JSON property `bootDisk`
|
522
|
+
# @return [Google::Apis::NotebooksV2::BootDisk]
|
523
|
+
attr_accessor :boot_disk
|
524
|
+
|
525
|
+
# Definition of a container image for starting a notebook instance with the
|
526
|
+
# environment installed in a container.
|
527
|
+
# Corresponds to the JSON property `containerImage`
|
528
|
+
# @return [Google::Apis::NotebooksV2::ContainerImage]
|
529
|
+
attr_accessor :container_image
|
530
|
+
|
531
|
+
# Optional. Data disks attached to the VM instance. Currently supports only one
|
532
|
+
# data disk.
|
533
|
+
# Corresponds to the JSON property `dataDisks`
|
534
|
+
# @return [Array<Google::Apis::NotebooksV2::DataDisk>]
|
535
|
+
attr_accessor :data_disks
|
536
|
+
|
537
|
+
# Optional. If true, no external IP will be assigned to this VM instance.
|
538
|
+
# Corresponds to the JSON property `disablePublicIp`
|
539
|
+
# @return [Boolean]
|
540
|
+
attr_accessor :disable_public_ip
|
541
|
+
alias_method :disable_public_ip?, :disable_public_ip
|
542
|
+
|
543
|
+
# Optional. Flag to enable ip forwarding or not, default false/off. https://
|
544
|
+
# cloud.google.com/vpc/docs/using-routes#canipforward
|
545
|
+
# Corresponds to the JSON property `enableIpForwarding`
|
546
|
+
# @return [Boolean]
|
547
|
+
attr_accessor :enable_ip_forwarding
|
548
|
+
alias_method :enable_ip_forwarding?, :enable_ip_forwarding
|
549
|
+
|
550
|
+
# A GPU driver configuration
|
551
|
+
# Corresponds to the JSON property `gpuDriverConfig`
|
552
|
+
# @return [Google::Apis::NotebooksV2::GpuDriverConfig]
|
553
|
+
attr_accessor :gpu_driver_config
|
554
|
+
|
555
|
+
# Optional. The machine type of the VM instance. https://cloud.google.com/
|
556
|
+
# compute/docs/machine-resource
|
557
|
+
# Corresponds to the JSON property `machineType`
|
558
|
+
# @return [String]
|
559
|
+
attr_accessor :machine_type
|
560
|
+
|
561
|
+
# Optional. Custom metadata to apply to this instance.
|
562
|
+
# Corresponds to the JSON property `metadata`
|
563
|
+
# @return [Hash<String,String>]
|
564
|
+
attr_accessor :metadata
|
565
|
+
|
566
|
+
# Optional. The network interfaces for the VM. Supports only one interface.
|
567
|
+
# Corresponds to the JSON property `networkInterfaces`
|
568
|
+
# @return [Array<Google::Apis::NotebooksV2::NetworkInterface>]
|
569
|
+
attr_accessor :network_interfaces
|
570
|
+
|
571
|
+
# Optional. The service account that serves as an identity for the VM instance.
|
572
|
+
# Currently supports only one service account.
|
573
|
+
# Corresponds to the JSON property `serviceAccounts`
|
574
|
+
# @return [Array<Google::Apis::NotebooksV2::ServiceAccount>]
|
575
|
+
attr_accessor :service_accounts
|
576
|
+
|
577
|
+
# A set of Shielded Instance options. See [Images using supported Shielded VM
|
578
|
+
# features](https://cloud.google.com/compute/docs/instances/modifying-shielded-
|
579
|
+
# vm). Not all combinations are valid.
|
580
|
+
# Corresponds to the JSON property `shieldedInstanceConfig`
|
581
|
+
# @return [Google::Apis::NotebooksV2::ShieldedInstanceConfig]
|
582
|
+
attr_accessor :shielded_instance_config
|
583
|
+
|
584
|
+
# Optional. The Compute Engine tags to add to runtime (see [Tagging instances](
|
585
|
+
# https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
|
586
|
+
# Corresponds to the JSON property `tags`
|
587
|
+
# @return [Array<String>]
|
588
|
+
attr_accessor :tags
|
589
|
+
|
590
|
+
# Definition of a custom Compute Engine virtual machine image for starting a
|
591
|
+
# notebook instance with the environment installed directly on the VM.
|
592
|
+
# Corresponds to the JSON property `vmImage`
|
593
|
+
# @return [Google::Apis::NotebooksV2::VmImage]
|
594
|
+
attr_accessor :vm_image
|
595
|
+
|
596
|
+
def initialize(**args)
|
597
|
+
update!(**args)
|
598
|
+
end
|
599
|
+
|
600
|
+
# Update properties of this object
|
601
|
+
def update!(**args)
|
602
|
+
@accelerator_configs = args[:accelerator_configs] if args.key?(:accelerator_configs)
|
603
|
+
@boot_disk = args[:boot_disk] if args.key?(:boot_disk)
|
604
|
+
@container_image = args[:container_image] if args.key?(:container_image)
|
605
|
+
@data_disks = args[:data_disks] if args.key?(:data_disks)
|
606
|
+
@disable_public_ip = args[:disable_public_ip] if args.key?(:disable_public_ip)
|
607
|
+
@enable_ip_forwarding = args[:enable_ip_forwarding] if args.key?(:enable_ip_forwarding)
|
608
|
+
@gpu_driver_config = args[:gpu_driver_config] if args.key?(:gpu_driver_config)
|
609
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
610
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
611
|
+
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
612
|
+
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
613
|
+
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
614
|
+
@tags = args[:tags] if args.key?(:tags)
|
615
|
+
@vm_image = args[:vm_image] if args.key?(:vm_image)
|
616
|
+
end
|
617
|
+
end
|
618
|
+
|
619
|
+
# The definition of a notebook instance.
|
620
|
+
class Instance
|
621
|
+
include Google::Apis::Core::Hashable
|
622
|
+
|
623
|
+
# Output only. Instance creation time.
|
624
|
+
# Corresponds to the JSON property `createTime`
|
625
|
+
# @return [String]
|
626
|
+
attr_accessor :create_time
|
627
|
+
|
628
|
+
# Output only. Email address of entity that sent original CreateInstance request.
|
629
|
+
# Corresponds to the JSON property `creator`
|
630
|
+
# @return [String]
|
631
|
+
attr_accessor :creator
|
632
|
+
|
633
|
+
# Optional. If true, the notebook instance will not register with the proxy.
|
634
|
+
# Corresponds to the JSON property `disableProxyAccess`
|
635
|
+
# @return [Boolean]
|
636
|
+
attr_accessor :disable_proxy_access
|
637
|
+
alias_method :disable_proxy_access?, :disable_proxy_access
|
638
|
+
|
639
|
+
# The definition of how to configure a VM instance outside of Resources and
|
640
|
+
# Identity.
|
641
|
+
# Corresponds to the JSON property `gceSetup`
|
642
|
+
# @return [Google::Apis::NotebooksV2::GceSetup]
|
643
|
+
attr_accessor :gce_setup
|
644
|
+
|
645
|
+
# Output only. Additional information about instance health. Example: healthInfo"
|
646
|
+
# : ` "docker_proxy_agent_status": "1", "docker_status": "1", "
|
647
|
+
# jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-
|
648
|
+
# 18 09:40:03.573409" `
|
649
|
+
# Corresponds to the JSON property `healthInfo`
|
650
|
+
# @return [Hash<String,String>]
|
651
|
+
attr_accessor :health_info
|
652
|
+
|
653
|
+
# Output only. Instance health_state.
|
654
|
+
# Corresponds to the JSON property `healthState`
|
655
|
+
# @return [String]
|
656
|
+
attr_accessor :health_state
|
657
|
+
|
658
|
+
# Output only. Unique ID of the resource.
|
659
|
+
# Corresponds to the JSON property `id`
|
660
|
+
# @return [String]
|
661
|
+
attr_accessor :id
|
662
|
+
|
663
|
+
# Optional. Input only. The owner of this instance after creation. Format: `
|
664
|
+
# alias@example.com` Currently supports one owner only. If not specified, all of
|
665
|
+
# the service account users of your VM instance's service account can use the
|
666
|
+
# instance.
|
667
|
+
# Corresponds to the JSON property `instanceOwners`
|
668
|
+
# @return [Array<String>]
|
669
|
+
attr_accessor :instance_owners
|
670
|
+
|
671
|
+
# Optional. Labels to apply to this instance. These can be later modified by the
|
672
|
+
# UpdateInstance method.
|
673
|
+
# Corresponds to the JSON property `labels`
|
674
|
+
# @return [Hash<String,String>]
|
675
|
+
attr_accessor :labels
|
676
|
+
|
677
|
+
# Output only. The name of this notebook instance. Format: `projects/`project_id`
|
678
|
+
# /locations/`location`/instances/`instance_id``
|
679
|
+
# Corresponds to the JSON property `name`
|
680
|
+
# @return [String]
|
681
|
+
attr_accessor :name
|
682
|
+
|
683
|
+
# Output only. The proxy endpoint that is used to access the Jupyter notebook.
|
684
|
+
# Corresponds to the JSON property `proxyUri`
|
685
|
+
# @return [String]
|
686
|
+
attr_accessor :proxy_uri
|
687
|
+
|
688
|
+
# Output only. The state of this instance.
|
689
|
+
# Corresponds to the JSON property `state`
|
690
|
+
# @return [String]
|
691
|
+
attr_accessor :state
|
692
|
+
|
693
|
+
# Output only. Instance update time.
|
694
|
+
# Corresponds to the JSON property `updateTime`
|
695
|
+
# @return [String]
|
696
|
+
attr_accessor :update_time
|
697
|
+
|
698
|
+
# Output only. The upgrade history of this instance.
|
699
|
+
# Corresponds to the JSON property `upgradeHistory`
|
700
|
+
# @return [Array<Google::Apis::NotebooksV2::UpgradeHistoryEntry>]
|
701
|
+
attr_accessor :upgrade_history
|
702
|
+
|
703
|
+
def initialize(**args)
|
704
|
+
update!(**args)
|
705
|
+
end
|
706
|
+
|
707
|
+
# Update properties of this object
|
708
|
+
def update!(**args)
|
709
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
710
|
+
@creator = args[:creator] if args.key?(:creator)
|
711
|
+
@disable_proxy_access = args[:disable_proxy_access] if args.key?(:disable_proxy_access)
|
712
|
+
@gce_setup = args[:gce_setup] if args.key?(:gce_setup)
|
713
|
+
@health_info = args[:health_info] if args.key?(:health_info)
|
714
|
+
@health_state = args[:health_state] if args.key?(:health_state)
|
715
|
+
@id = args[:id] if args.key?(:id)
|
716
|
+
@instance_owners = args[:instance_owners] if args.key?(:instance_owners)
|
717
|
+
@labels = args[:labels] if args.key?(:labels)
|
718
|
+
@name = args[:name] if args.key?(:name)
|
719
|
+
@proxy_uri = args[:proxy_uri] if args.key?(:proxy_uri)
|
720
|
+
@state = args[:state] if args.key?(:state)
|
721
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
722
|
+
@upgrade_history = args[:upgrade_history] if args.key?(:upgrade_history)
|
723
|
+
end
|
724
|
+
end
|
725
|
+
|
726
|
+
# Response for listing notebook instances.
|
727
|
+
class ListInstancesResponse
|
728
|
+
include Google::Apis::Core::Hashable
|
729
|
+
|
730
|
+
# A list of returned instances.
|
731
|
+
# Corresponds to the JSON property `instances`
|
732
|
+
# @return [Array<Google::Apis::NotebooksV2::Instance>]
|
733
|
+
attr_accessor :instances
|
734
|
+
|
735
|
+
# Page token that can be used to continue listing from the last result in the
|
736
|
+
# next list call.
|
737
|
+
# Corresponds to the JSON property `nextPageToken`
|
738
|
+
# @return [String]
|
739
|
+
attr_accessor :next_page_token
|
740
|
+
|
741
|
+
# Locations that could not be reached. For example, ['us-west1-a', 'us-central1-
|
742
|
+
# b']. A ListInstancesResponse will only contain either instances or
|
743
|
+
# unreachables,
|
744
|
+
# Corresponds to the JSON property `unreachable`
|
745
|
+
# @return [Array<String>]
|
746
|
+
attr_accessor :unreachable
|
747
|
+
|
748
|
+
def initialize(**args)
|
749
|
+
update!(**args)
|
750
|
+
end
|
751
|
+
|
752
|
+
# Update properties of this object
|
753
|
+
def update!(**args)
|
754
|
+
@instances = args[:instances] if args.key?(:instances)
|
755
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
756
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
757
|
+
end
|
758
|
+
end
|
759
|
+
|
184
760
|
# The response message for Locations.ListLocations.
|
185
761
|
class ListLocationsResponse
|
186
762
|
include Google::Apis::Core::Hashable
|
@@ -278,6 +854,40 @@ module Google
|
|
278
854
|
end
|
279
855
|
end
|
280
856
|
|
857
|
+
# The definition of a network interface resource attached to a VM.
|
858
|
+
class NetworkInterface
|
859
|
+
include Google::Apis::Core::Hashable
|
860
|
+
|
861
|
+
# Optional. The name of the VPC that this VM instance is in. Format: `projects/`
|
862
|
+
# project_id`/global/networks/`network_id``
|
863
|
+
# Corresponds to the JSON property `network`
|
864
|
+
# @return [String]
|
865
|
+
attr_accessor :network
|
866
|
+
|
867
|
+
# Optional. The type of vNIC to be used on this interface. This may be gVNIC or
|
868
|
+
# VirtioNet.
|
869
|
+
# Corresponds to the JSON property `nicType`
|
870
|
+
# @return [String]
|
871
|
+
attr_accessor :nic_type
|
872
|
+
|
873
|
+
# Optional. The name of the subnet that this VM instance is in. Format: `
|
874
|
+
# projects/`project_id`/regions/`region`/subnetworks/`subnetwork_id``
|
875
|
+
# Corresponds to the JSON property `subnet`
|
876
|
+
# @return [String]
|
877
|
+
attr_accessor :subnet
|
878
|
+
|
879
|
+
def initialize(**args)
|
880
|
+
update!(**args)
|
881
|
+
end
|
882
|
+
|
883
|
+
# Update properties of this object
|
884
|
+
def update!(**args)
|
885
|
+
@network = args[:network] if args.key?(:network)
|
886
|
+
@nic_type = args[:nic_type] if args.key?(:nic_type)
|
887
|
+
@subnet = args[:subnet] if args.key?(:subnet)
|
888
|
+
end
|
889
|
+
end
|
890
|
+
|
281
891
|
# This resource represents a long-running operation that is the result of a
|
282
892
|
# network API call.
|
283
893
|
class Operation
|
@@ -493,6 +1103,97 @@ module Google
|
|
493
1103
|
end
|
494
1104
|
end
|
495
1105
|
|
1106
|
+
# Request for notebook instances to report information to Notebooks API.
|
1107
|
+
class ReportInstanceInfoSystemRequest
|
1108
|
+
include Google::Apis::Core::Hashable
|
1109
|
+
|
1110
|
+
# The definition of an Event for a managed / semi-managed notebook instance.
|
1111
|
+
# Corresponds to the JSON property `event`
|
1112
|
+
# @return [Google::Apis::NotebooksV2::Event]
|
1113
|
+
attr_accessor :event
|
1114
|
+
|
1115
|
+
# Required. The VM hardware token for authenticating the VM. https://cloud.
|
1116
|
+
# google.com/compute/docs/instances/verifying-instance-identity
|
1117
|
+
# Corresponds to the JSON property `vmId`
|
1118
|
+
# @return [String]
|
1119
|
+
attr_accessor :vm_id
|
1120
|
+
|
1121
|
+
def initialize(**args)
|
1122
|
+
update!(**args)
|
1123
|
+
end
|
1124
|
+
|
1125
|
+
# Update properties of this object
|
1126
|
+
def update!(**args)
|
1127
|
+
@event = args[:event] if args.key?(:event)
|
1128
|
+
@vm_id = args[:vm_id] if args.key?(:vm_id)
|
1129
|
+
end
|
1130
|
+
end
|
1131
|
+
|
1132
|
+
# Request for resetting a notebook instance
|
1133
|
+
class ResetInstanceRequest
|
1134
|
+
include Google::Apis::Core::Hashable
|
1135
|
+
|
1136
|
+
def initialize(**args)
|
1137
|
+
update!(**args)
|
1138
|
+
end
|
1139
|
+
|
1140
|
+
# Update properties of this object
|
1141
|
+
def update!(**args)
|
1142
|
+
end
|
1143
|
+
end
|
1144
|
+
|
1145
|
+
# Request for rollbacking a notebook instance
|
1146
|
+
class RollbackInstanceRequest
|
1147
|
+
include Google::Apis::Core::Hashable
|
1148
|
+
|
1149
|
+
# Required. Output only. Revision Id
|
1150
|
+
# Corresponds to the JSON property `revisionId`
|
1151
|
+
# @return [String]
|
1152
|
+
attr_accessor :revision_id
|
1153
|
+
|
1154
|
+
# Required. The snapshot for rollback. Example: "projects/test-project/global/
|
1155
|
+
# snapshots/krwlzipynril".
|
1156
|
+
# Corresponds to the JSON property `targetSnapshot`
|
1157
|
+
# @return [String]
|
1158
|
+
attr_accessor :target_snapshot
|
1159
|
+
|
1160
|
+
def initialize(**args)
|
1161
|
+
update!(**args)
|
1162
|
+
end
|
1163
|
+
|
1164
|
+
# Update properties of this object
|
1165
|
+
def update!(**args)
|
1166
|
+
@revision_id = args[:revision_id] if args.key?(:revision_id)
|
1167
|
+
@target_snapshot = args[:target_snapshot] if args.key?(:target_snapshot)
|
1168
|
+
end
|
1169
|
+
end
|
1170
|
+
|
1171
|
+
# A service account that acts as an identity.
|
1172
|
+
class ServiceAccount
|
1173
|
+
include Google::Apis::Core::Hashable
|
1174
|
+
|
1175
|
+
# Optional. Email address of the service account.
|
1176
|
+
# Corresponds to the JSON property `email`
|
1177
|
+
# @return [String]
|
1178
|
+
attr_accessor :email
|
1179
|
+
|
1180
|
+
# Output only. The list of scopes to be made available for this service account.
|
1181
|
+
# Set by the CLH to https://www.googleapis.com/auth/cloud-platform
|
1182
|
+
# Corresponds to the JSON property `scopes`
|
1183
|
+
# @return [Array<String>]
|
1184
|
+
attr_accessor :scopes
|
1185
|
+
|
1186
|
+
def initialize(**args)
|
1187
|
+
update!(**args)
|
1188
|
+
end
|
1189
|
+
|
1190
|
+
# Update properties of this object
|
1191
|
+
def update!(**args)
|
1192
|
+
@email = args[:email] if args.key?(:email)
|
1193
|
+
@scopes = args[:scopes] if args.key?(:scopes)
|
1194
|
+
end
|
1195
|
+
end
|
1196
|
+
|
496
1197
|
# Request message for `SetIamPolicy` method.
|
497
1198
|
class SetIamPolicyRequest
|
498
1199
|
include Google::Apis::Core::Hashable
|
@@ -538,6 +1239,63 @@ module Google
|
|
538
1239
|
end
|
539
1240
|
end
|
540
1241
|
|
1242
|
+
# A set of Shielded Instance options. See [Images using supported Shielded VM
|
1243
|
+
# features](https://cloud.google.com/compute/docs/instances/modifying-shielded-
|
1244
|
+
# vm). Not all combinations are valid.
|
1245
|
+
class ShieldedInstanceConfig
|
1246
|
+
include Google::Apis::Core::Hashable
|
1247
|
+
|
1248
|
+
# Optional. Defines whether the VM instance has integrity monitoring enabled.
|
1249
|
+
# Enables monitoring and attestation of the boot integrity of the VM instance.
|
1250
|
+
# The attestation is performed against the integrity policy baseline. This
|
1251
|
+
# baseline is initially derived from the implicitly trusted boot image when the
|
1252
|
+
# VM instance is created. Enabled by default.
|
1253
|
+
# Corresponds to the JSON property `enableIntegrityMonitoring`
|
1254
|
+
# @return [Boolean]
|
1255
|
+
attr_accessor :enable_integrity_monitoring
|
1256
|
+
alias_method :enable_integrity_monitoring?, :enable_integrity_monitoring
|
1257
|
+
|
1258
|
+
# Optional. Defines whether the VM instance has Secure Boot enabled. Secure Boot
|
1259
|
+
# helps ensure that the system only runs authentic software by verifying the
|
1260
|
+
# digital signature of all boot components, and halting the boot process if
|
1261
|
+
# signature verification fails. Disabled by default.
|
1262
|
+
# Corresponds to the JSON property `enableSecureBoot`
|
1263
|
+
# @return [Boolean]
|
1264
|
+
attr_accessor :enable_secure_boot
|
1265
|
+
alias_method :enable_secure_boot?, :enable_secure_boot
|
1266
|
+
|
1267
|
+
# Optional. Defines whether the VM instance has the vTPM enabled. Enabled by
|
1268
|
+
# default.
|
1269
|
+
# Corresponds to the JSON property `enableVtpm`
|
1270
|
+
# @return [Boolean]
|
1271
|
+
attr_accessor :enable_vtpm
|
1272
|
+
alias_method :enable_vtpm?, :enable_vtpm
|
1273
|
+
|
1274
|
+
def initialize(**args)
|
1275
|
+
update!(**args)
|
1276
|
+
end
|
1277
|
+
|
1278
|
+
# Update properties of this object
|
1279
|
+
def update!(**args)
|
1280
|
+
@enable_integrity_monitoring = args[:enable_integrity_monitoring] if args.key?(:enable_integrity_monitoring)
|
1281
|
+
@enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot)
|
1282
|
+
@enable_vtpm = args[:enable_vtpm] if args.key?(:enable_vtpm)
|
1283
|
+
end
|
1284
|
+
end
|
1285
|
+
|
1286
|
+
# Request for starting a notebook instance
|
1287
|
+
class StartInstanceRequest
|
1288
|
+
include Google::Apis::Core::Hashable
|
1289
|
+
|
1290
|
+
def initialize(**args)
|
1291
|
+
update!(**args)
|
1292
|
+
end
|
1293
|
+
|
1294
|
+
# Update properties of this object
|
1295
|
+
def update!(**args)
|
1296
|
+
end
|
1297
|
+
end
|
1298
|
+
|
541
1299
|
# The `Status` type defines a logical error model that is suitable for different
|
542
1300
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
543
1301
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
@@ -577,6 +1335,19 @@ module Google
|
|
577
1335
|
end
|
578
1336
|
end
|
579
1337
|
|
1338
|
+
# Request for stopping a notebook instance
|
1339
|
+
class StopInstanceRequest
|
1340
|
+
include Google::Apis::Core::Hashable
|
1341
|
+
|
1342
|
+
def initialize(**args)
|
1343
|
+
update!(**args)
|
1344
|
+
end
|
1345
|
+
|
1346
|
+
# Update properties of this object
|
1347
|
+
def update!(**args)
|
1348
|
+
end
|
1349
|
+
end
|
1350
|
+
|
580
1351
|
# Request message for `TestIamPermissions` method.
|
581
1352
|
class TestIamPermissionsRequest
|
582
1353
|
include Google::Apis::Core::Hashable
|
@@ -616,6 +1387,141 @@ module Google
|
|
616
1387
|
@permissions = args[:permissions] if args.key?(:permissions)
|
617
1388
|
end
|
618
1389
|
end
|
1390
|
+
|
1391
|
+
# The entry of VM image upgrade history.
|
1392
|
+
class UpgradeHistoryEntry
|
1393
|
+
include Google::Apis::Core::Hashable
|
1394
|
+
|
1395
|
+
# Optional. Action. Rolloback or Upgrade.
|
1396
|
+
# Corresponds to the JSON property `action`
|
1397
|
+
# @return [String]
|
1398
|
+
attr_accessor :action
|
1399
|
+
|
1400
|
+
# Optional. The container image before this instance upgrade.
|
1401
|
+
# Corresponds to the JSON property `containerImage`
|
1402
|
+
# @return [String]
|
1403
|
+
attr_accessor :container_image
|
1404
|
+
|
1405
|
+
# Immutable. The time that this instance upgrade history entry is created.
|
1406
|
+
# Corresponds to the JSON property `createTime`
|
1407
|
+
# @return [String]
|
1408
|
+
attr_accessor :create_time
|
1409
|
+
|
1410
|
+
# Optional. The framework of this notebook instance.
|
1411
|
+
# Corresponds to the JSON property `framework`
|
1412
|
+
# @return [String]
|
1413
|
+
attr_accessor :framework
|
1414
|
+
|
1415
|
+
# Optional. The snapshot of the boot disk of this notebook instance before
|
1416
|
+
# upgrade.
|
1417
|
+
# Corresponds to the JSON property `snapshot`
|
1418
|
+
# @return [String]
|
1419
|
+
attr_accessor :snapshot
|
1420
|
+
|
1421
|
+
# Output only. The state of this instance upgrade history entry.
|
1422
|
+
# Corresponds to the JSON property `state`
|
1423
|
+
# @return [String]
|
1424
|
+
attr_accessor :state
|
1425
|
+
|
1426
|
+
# Optional. Target VM Version, like m63.
|
1427
|
+
# Corresponds to the JSON property `targetVersion`
|
1428
|
+
# @return [String]
|
1429
|
+
attr_accessor :target_version
|
1430
|
+
|
1431
|
+
# Optional. The version of the notebook instance before this upgrade.
|
1432
|
+
# Corresponds to the JSON property `version`
|
1433
|
+
# @return [String]
|
1434
|
+
attr_accessor :version
|
1435
|
+
|
1436
|
+
# Optional. The VM image before this instance upgrade.
|
1437
|
+
# Corresponds to the JSON property `vmImage`
|
1438
|
+
# @return [String]
|
1439
|
+
attr_accessor :vm_image
|
1440
|
+
|
1441
|
+
def initialize(**args)
|
1442
|
+
update!(**args)
|
1443
|
+
end
|
1444
|
+
|
1445
|
+
# Update properties of this object
|
1446
|
+
def update!(**args)
|
1447
|
+
@action = args[:action] if args.key?(:action)
|
1448
|
+
@container_image = args[:container_image] if args.key?(:container_image)
|
1449
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
1450
|
+
@framework = args[:framework] if args.key?(:framework)
|
1451
|
+
@snapshot = args[:snapshot] if args.key?(:snapshot)
|
1452
|
+
@state = args[:state] if args.key?(:state)
|
1453
|
+
@target_version = args[:target_version] if args.key?(:target_version)
|
1454
|
+
@version = args[:version] if args.key?(:version)
|
1455
|
+
@vm_image = args[:vm_image] if args.key?(:vm_image)
|
1456
|
+
end
|
1457
|
+
end
|
1458
|
+
|
1459
|
+
# Request for upgrading a notebook instance
|
1460
|
+
class UpgradeInstanceRequest
|
1461
|
+
include Google::Apis::Core::Hashable
|
1462
|
+
|
1463
|
+
def initialize(**args)
|
1464
|
+
update!(**args)
|
1465
|
+
end
|
1466
|
+
|
1467
|
+
# Update properties of this object
|
1468
|
+
def update!(**args)
|
1469
|
+
end
|
1470
|
+
end
|
1471
|
+
|
1472
|
+
# Request for upgrading a notebook instance from within the VM
|
1473
|
+
class UpgradeInstanceSystemRequest
|
1474
|
+
include Google::Apis::Core::Hashable
|
1475
|
+
|
1476
|
+
# Required. The VM hardware token for authenticating the VM. https://cloud.
|
1477
|
+
# google.com/compute/docs/instances/verifying-instance-identity
|
1478
|
+
# Corresponds to the JSON property `vmId`
|
1479
|
+
# @return [String]
|
1480
|
+
attr_accessor :vm_id
|
1481
|
+
|
1482
|
+
def initialize(**args)
|
1483
|
+
update!(**args)
|
1484
|
+
end
|
1485
|
+
|
1486
|
+
# Update properties of this object
|
1487
|
+
def update!(**args)
|
1488
|
+
@vm_id = args[:vm_id] if args.key?(:vm_id)
|
1489
|
+
end
|
1490
|
+
end
|
1491
|
+
|
1492
|
+
# Definition of a custom Compute Engine virtual machine image for starting a
|
1493
|
+
# notebook instance with the environment installed directly on the VM.
|
1494
|
+
class VmImage
|
1495
|
+
include Google::Apis::Core::Hashable
|
1496
|
+
|
1497
|
+
# Optional. Use this VM image family to find the image; the newest image in this
|
1498
|
+
# family will be used.
|
1499
|
+
# Corresponds to the JSON property `family`
|
1500
|
+
# @return [String]
|
1501
|
+
attr_accessor :family
|
1502
|
+
|
1503
|
+
# Optional. Use VM image name to find the image.
|
1504
|
+
# Corresponds to the JSON property `name`
|
1505
|
+
# @return [String]
|
1506
|
+
attr_accessor :name
|
1507
|
+
|
1508
|
+
# Required. The name of the Google Cloud project that this VM image belongs to.
|
1509
|
+
# Format: ``project_id``
|
1510
|
+
# Corresponds to the JSON property `project`
|
1511
|
+
# @return [String]
|
1512
|
+
attr_accessor :project
|
1513
|
+
|
1514
|
+
def initialize(**args)
|
1515
|
+
update!(**args)
|
1516
|
+
end
|
1517
|
+
|
1518
|
+
# Update properties of this object
|
1519
|
+
def update!(**args)
|
1520
|
+
@family = args[:family] if args.key?(:family)
|
1521
|
+
@name = args[:name] if args.key?(:name)
|
1522
|
+
@project = args[:project] if args.key?(:project)
|
1523
|
+
end
|
1524
|
+
end
|
619
1525
|
end
|
620
1526
|
end
|
621
1527
|
end
|