google-apis-notebooks_v1 0.1.0 → 0.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 222b21433ec01b95a9533b0aafdf232d55cb40a412818ba933251e0020fa3f6b
4
- data.tar.gz: 82139624dc408b0fd43e13ef9e64097e5849815038f6eae95a2a078769903879
3
+ metadata.gz: b8fc74b68104ea029c2d514077e62c454f40cf77408a307906c635346e939adb
4
+ data.tar.gz: 8801f3a94bfdf9986656940c925d9e49dda65195d611c88e0e8ca85d3b6ed02f
5
5
  SHA512:
6
- metadata.gz: 6262cda0a7c93b961f64b97407457e4083f7bad78c492260e4c869253e7caf841310a7d21eecec56aa0a91b98a70f2017c3756623a5a0de3bc4af5ca3ed439bd
7
- data.tar.gz: cb06d1712dbd35ab7b8e3f287a19eb59565ce71261b2d93a79f0b0ca2b56f918876e4fbd5f558d5721f44f2921bb0e51f2209c660b80723bf9fbd31cb4f9a733
6
+ metadata.gz: 1f8c0c93880beb4f8124b67f9ee4494d4dcc62cb1e52eeba583f7653008c22a7363b099049795a2e4b1418a102e7bc03a629dc52e126767758db690d53df415a
7
+ data.tar.gz: e6cdaf71ccf44a749d0ca684fea7e457a3213a3bfbc401e3ef3966711f5f66ac8ae19d5eeb43000042755558a657e4a464b33688691ae277e37d22e9c7a5ba5e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-notebooks_v1
2
2
 
3
+ ### v0.6.0 (2021-03-31)
4
+
5
+ * Regenerated from discovery document revision 20210323
6
+
7
+ ### v0.5.0 (2021-03-12)
8
+
9
+ * Regenerated from discovery document revision 20210305
10
+ * Regenerated using generator version 0.2.0
11
+
12
+ ### v0.4.0 (2021-03-04)
13
+
14
+ * Unspecified changes
15
+
16
+ ### v0.3.0 (2021-02-24)
17
+
18
+ * Regenerated from discovery document revision 20210219
19
+
20
+ ### v0.2.0 (2021-01-26)
21
+
22
+ * Regenerated from discovery document revision 20210122
23
+ * Regenerated using generator version 0.1.2
24
+
3
25
  ### v0.1.0 (2021-01-07)
4
26
 
5
27
  * Regenerated using generator version 0.1.1
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'V1'
31
31
 
32
- # View and manage your data across Google Cloud Platform services
32
+ # See, edit, configure, and delete your Google Cloud Platform data
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
34
  end
35
35
  end
@@ -286,6 +286,28 @@ module Google
286
286
  end
287
287
  end
288
288
 
289
+ # Represents a custom encryption key configuration that can be applied to a
290
+ # resource. This will encrypt all disks in Virtual Machine.
291
+ class EncryptionConfig
292
+ include Google::Apis::Core::Hashable
293
+
294
+ # The Cloud KMS resource identifier of the customer-managed encryption key used
295
+ # to protect a resource, such as a disks. It has the following format: `projects/
296
+ # `PROJECT_ID`/locations/`REGION`/keyRings/`KEY_RING_NAME`/cryptoKeys/`KEY_NAME``
297
+ # Corresponds to the JSON property `kmsKey`
298
+ # @return [String]
299
+ attr_accessor :kms_key
300
+
301
+ def initialize(**args)
302
+ update!(**args)
303
+ end
304
+
305
+ # Update properties of this object
306
+ def update!(**args)
307
+ @kms_key = args[:kms_key] if args.key?(:kms_key)
308
+ end
309
+ end
310
+
289
311
  # Definition of a software environment that is used to start a notebook instance.
290
312
  class Environment
291
313
  include Google::Apis::Core::Hashable
@@ -346,6 +368,164 @@ module Google
346
368
  end
347
369
  end
348
370
 
371
+ # The definition of a single executed notebook.
372
+ class Execution
373
+ include Google::Apis::Core::Hashable
374
+
375
+ # Output only. Time the Execution was instantiated.
376
+ # Corresponds to the JSON property `createTime`
377
+ # @return [String]
378
+ attr_accessor :create_time
379
+
380
+ # A brief description of this execution.
381
+ # Corresponds to the JSON property `description`
382
+ # @return [String]
383
+ attr_accessor :description
384
+
385
+ # Output only. Name used for UI purposes. Name can only contain alphanumeric
386
+ # characters and underscores '_'.
387
+ # Corresponds to the JSON property `displayName`
388
+ # @return [String]
389
+ attr_accessor :display_name
390
+
391
+ # The description a notebook execution workload.
392
+ # Corresponds to the JSON property `executionTemplate`
393
+ # @return [Google::Apis::NotebooksV1::ExecutionTemplate]
394
+ attr_accessor :execution_template
395
+
396
+ # Output only. The resource name of the execute. Format: `projects/`project_id`/
397
+ # locations/`location`/execution/`execution_id`
398
+ # Corresponds to the JSON property `name`
399
+ # @return [String]
400
+ attr_accessor :name
401
+
402
+ # Output notebook file generated by this execution
403
+ # Corresponds to the JSON property `outputNotebookFile`
404
+ # @return [String]
405
+ attr_accessor :output_notebook_file
406
+
407
+ # Output only. State of the underlying AI Platform job.
408
+ # Corresponds to the JSON property `state`
409
+ # @return [String]
410
+ attr_accessor :state
411
+
412
+ # Output only. Time the Execution was last updated.
413
+ # Corresponds to the JSON property `updateTime`
414
+ # @return [String]
415
+ attr_accessor :update_time
416
+
417
+ def initialize(**args)
418
+ update!(**args)
419
+ end
420
+
421
+ # Update properties of this object
422
+ def update!(**args)
423
+ @create_time = args[:create_time] if args.key?(:create_time)
424
+ @description = args[:description] if args.key?(:description)
425
+ @display_name = args[:display_name] if args.key?(:display_name)
426
+ @execution_template = args[:execution_template] if args.key?(:execution_template)
427
+ @name = args[:name] if args.key?(:name)
428
+ @output_notebook_file = args[:output_notebook_file] if args.key?(:output_notebook_file)
429
+ @state = args[:state] if args.key?(:state)
430
+ @update_time = args[:update_time] if args.key?(:update_time)
431
+ end
432
+ end
433
+
434
+ # The description a notebook execution workload.
435
+ class ExecutionTemplate
436
+ include Google::Apis::Core::Hashable
437
+
438
+ # Definition of a hardware accelerator. Note that not all combinations of `type`
439
+ # and `core_count` are valid. Check GPUs on Compute Engine to find a valid
440
+ # combination. TPUs are not supported.
441
+ # Corresponds to the JSON property `acceleratorConfig`
442
+ # @return [Google::Apis::NotebooksV1::SchedulerAcceleratorConfig]
443
+ attr_accessor :accelerator_config
444
+
445
+ # Container Image URI to a DLVM Example: 'gcr.io/deeplearning-platform-release/
446
+ # base-cu100' More examples can be found at: https://cloud.google.com/ai-
447
+ # platform/deep-learning-containers/docs/choosing-container
448
+ # Corresponds to the JSON property `containerImageUri`
449
+ # @return [String]
450
+ attr_accessor :container_image_uri
451
+
452
+ # Path to the notebook file to execute. Must be in a Google Cloud Storage bucket.
453
+ # Format: gs://`project_id`/`folder`/`notebook_file_name` Ex: gs://
454
+ # notebook_user/scheduled_notebooks/sentiment_notebook.ipynb
455
+ # Corresponds to the JSON property `inputNotebookFile`
456
+ # @return [String]
457
+ attr_accessor :input_notebook_file
458
+
459
+ # Labels for execution. If execution is scheduled, a field included will be 'nbs-
460
+ # scheduled'. Otherwise, it is an immediate execution, and an included field
461
+ # will be 'nbs-immediate'. Use fields to efficiently index between various types
462
+ # of executions.
463
+ # Corresponds to the JSON property `labels`
464
+ # @return [Hash<String,String>]
465
+ attr_accessor :labels
466
+
467
+ # Specifies the type of virtual machine to use for your training job's master
468
+ # worker. You must specify this field when `scaleTier` is set to `CUSTOM`. You
469
+ # can use certain Compute Engine machine types directly in this field. The
470
+ # following types are supported: - `n1-standard-4` - `n1-standard-8` - `n1-
471
+ # standard-16` - `n1-standard-32` - `n1-standard-64` - `n1-standard-96` - `n1-
472
+ # highmem-2` - `n1-highmem-4` - `n1-highmem-8` - `n1-highmem-16` - `n1-highmem-
473
+ # 32` - `n1-highmem-64` - `n1-highmem-96` - `n1-highcpu-16` - `n1-highcpu-32` - `
474
+ # n1-highcpu-64` - `n1-highcpu-96` Alternatively, you can use the following
475
+ # legacy machine types: - `standard` - `large_model` - `complex_model_s` - `
476
+ # complex_model_m` - `complex_model_l` - `standard_gpu` - `complex_model_m_gpu` -
477
+ # `complex_model_l_gpu` - `standard_p100` - `complex_model_m_p100` - `
478
+ # standard_v100` - `large_model_v100` - `complex_model_m_v100` - `
479
+ # complex_model_l_v100` Finally, if you want to use a TPU for training, specify `
480
+ # cloud_tpu` in this field. Learn more about the [special configuration options
481
+ # for training with TPU.
482
+ # Corresponds to the JSON property `masterType`
483
+ # @return [String]
484
+ attr_accessor :master_type
485
+
486
+ # Path to the notebook folder to write to. Must be in a Google Cloud Storage
487
+ # bucket path. Format: gs://`project_id`/`folder` Ex: gs://notebook_user/
488
+ # scheduled_notebooks
489
+ # Corresponds to the JSON property `outputNotebookFolder`
490
+ # @return [String]
491
+ attr_accessor :output_notebook_folder
492
+
493
+ # Parameters used within the 'input_notebook_file' notebook.
494
+ # Corresponds to the JSON property `parameters`
495
+ # @return [String]
496
+ attr_accessor :parameters
497
+
498
+ # Parameters to be overridden in the notebook during execution. Ref https://
499
+ # papermill.readthedocs.io/en/latest/usage-parameterize.html on how to
500
+ # specifying parameters in the input notebook and pass them here in an YAML file.
501
+ # Ex: gs://notebook_user/scheduled_notebooks/sentiment_notebook_params.yaml
502
+ # Corresponds to the JSON property `paramsYamlFile`
503
+ # @return [String]
504
+ attr_accessor :params_yaml_file
505
+
506
+ # Required. Scale tier of the hardware used for notebook execution.
507
+ # Corresponds to the JSON property `scaleTier`
508
+ # @return [String]
509
+ attr_accessor :scale_tier
510
+
511
+ def initialize(**args)
512
+ update!(**args)
513
+ end
514
+
515
+ # Update properties of this object
516
+ def update!(**args)
517
+ @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config)
518
+ @container_image_uri = args[:container_image_uri] if args.key?(:container_image_uri)
519
+ @input_notebook_file = args[:input_notebook_file] if args.key?(:input_notebook_file)
520
+ @labels = args[:labels] if args.key?(:labels)
521
+ @master_type = args[:master_type] if args.key?(:master_type)
522
+ @output_notebook_folder = args[:output_notebook_folder] if args.key?(:output_notebook_folder)
523
+ @parameters = args[:parameters] if args.key?(:parameters)
524
+ @params_yaml_file = args[:params_yaml_file] if args.key?(:params_yaml_file)
525
+ @scale_tier = args[:scale_tier] if args.key?(:scale_tier)
526
+ end
527
+ end
528
+
349
529
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
350
530
  # CEL is a C-like expression language. The syntax and semantics of CEL are
351
531
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -400,6 +580,34 @@ module Google
400
580
  end
401
581
  end
402
582
 
583
+ # Response for checking if a notebook instance is healthy.
584
+ class GetInstanceHealthResponse
585
+ include Google::Apis::Core::Hashable
586
+
587
+ # Output only. Additional information about instance health. Example: healthInfo"
588
+ # : ` "docker_proxy_agent_status": "1", "docker_status": "1", "
589
+ # jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-
590
+ # 18 09:40:03.573409" `
591
+ # Corresponds to the JSON property `healthInfo`
592
+ # @return [Hash<String,String>]
593
+ attr_accessor :health_info
594
+
595
+ # Output only. Runtime health_state.
596
+ # Corresponds to the JSON property `healthState`
597
+ # @return [String]
598
+ attr_accessor :health_state
599
+
600
+ def initialize(**args)
601
+ update!(**args)
602
+ end
603
+
604
+ # Update properties of this object
605
+ def update!(**args)
606
+ @health_info = args[:health_info] if args.key?(:health_info)
607
+ @health_state = args[:health_state] if args.key?(:health_state)
608
+ end
609
+ end
610
+
403
611
  # Guest OS features for boot disk.
404
612
  class GuestOsFeature
405
613
  include Google::Apis::Core::Hashable
@@ -578,6 +786,22 @@ module Google
578
786
  # @return [String]
579
787
  attr_accessor :service_account
580
788
 
789
+ # Optional. The URIs of service account scopes to be included in Compute Engine
790
+ # instances. If not specified, the following [scopes](https://cloud.google.com/
791
+ # compute/docs/access/service-accounts#accesscopesiam) are defined: - https://
792
+ # www.googleapis.com/auth/cloud-platform - https://www.googleapis.com/auth/
793
+ # userinfo.email If not using default scopes, you need at least: https://www.
794
+ # googleapis.com/auth/compute
795
+ # Corresponds to the JSON property `serviceAccountScopes`
796
+ # @return [Array<String>]
797
+ attr_accessor :service_account_scopes
798
+
799
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
800
+ # features] Not all combinations are valid.
801
+ # Corresponds to the JSON property `shieldedInstanceConfig`
802
+ # @return [Google::Apis::NotebooksV1::ShieldedInstanceConfig]
803
+ attr_accessor :shielded_instance_config
804
+
581
805
  # Output only. The state of this instance.
582
806
  # Corresponds to the JSON property `state`
583
807
  # @return [String]
@@ -589,6 +813,12 @@ module Google
589
813
  # @return [String]
590
814
  attr_accessor :subnet
591
815
 
816
+ # Optional. The Compute Engine tags to add to runtime (see [Tagging instances](
817
+ # https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
818
+ # Corresponds to the JSON property `tags`
819
+ # @return [Array<String>]
820
+ attr_accessor :tags
821
+
592
822
  # Output only. Instance update time.
593
823
  # Corresponds to the JSON property `updateTime`
594
824
  # @return [String]
@@ -635,8 +865,11 @@ module Google
635
865
  @post_startup_script = args[:post_startup_script] if args.key?(:post_startup_script)
636
866
  @proxy_uri = args[:proxy_uri] if args.key?(:proxy_uri)
637
867
  @service_account = args[:service_account] if args.key?(:service_account)
868
+ @service_account_scopes = args[:service_account_scopes] if args.key?(:service_account_scopes)
869
+ @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
638
870
  @state = args[:state] if args.key?(:state)
639
871
  @subnet = args[:subnet] if args.key?(:subnet)
872
+ @tags = args[:tags] if args.key?(:tags)
640
873
  @update_time = args[:update_time] if args.key?(:update_time)
641
874
  @upgrade_history = args[:upgrade_history] if args.key?(:upgrade_history)
642
875
  @vm_image = args[:vm_image] if args.key?(:vm_image)
@@ -647,6 +880,13 @@ module Google
647
880
  class IsInstanceUpgradeableResponse
648
881
  include Google::Apis::Core::Hashable
649
882
 
883
+ # The new image self link this instance will be upgraded to if calling the
884
+ # upgrade endpoint. This field will only be populated if field upgradeable is
885
+ # true.
886
+ # Corresponds to the JSON property `upgradeImage`
887
+ # @return [String]
888
+ attr_accessor :upgrade_image
889
+
650
890
  # Additional information about upgrade.
651
891
  # Corresponds to the JSON property `upgradeInfo`
652
892
  # @return [String]
@@ -670,6 +910,7 @@ module Google
670
910
 
671
911
  # Update properties of this object
672
912
  def update!(**args)
913
+ @upgrade_image = args[:upgrade_image] if args.key?(:upgrade_image)
673
914
  @upgrade_info = args[:upgrade_info] if args.key?(:upgrade_info)
674
915
  @upgrade_version = args[:upgrade_version] if args.key?(:upgrade_version)
675
916
  @upgradeable = args[:upgradeable] if args.key?(:upgradeable)
@@ -708,6 +949,40 @@ module Google
708
949
  end
709
950
  end
710
951
 
952
+ # Response for listing scheduled notebook executions
953
+ class ListExecutionsResponse
954
+ include Google::Apis::Core::Hashable
955
+
956
+ # A list of returned instances.
957
+ # Corresponds to the JSON property `executions`
958
+ # @return [Array<Google::Apis::NotebooksV1::Execution>]
959
+ attr_accessor :executions
960
+
961
+ # Page token that can be used to continue listing from the last result in the
962
+ # next list call.
963
+ # Corresponds to the JSON property `nextPageToken`
964
+ # @return [String]
965
+ attr_accessor :next_page_token
966
+
967
+ # Executions IDs that could not be reached. For example, ['projects/`project_id`/
968
+ # location/`location`/executions/imagenet_test1', 'projects/`project_id`/
969
+ # location/`location`/executions/classifier_train1'].
970
+ # Corresponds to the JSON property `unreachable`
971
+ # @return [Array<String>]
972
+ attr_accessor :unreachable
973
+
974
+ def initialize(**args)
975
+ update!(**args)
976
+ end
977
+
978
+ # Update properties of this object
979
+ def update!(**args)
980
+ @executions = args[:executions] if args.key?(:executions)
981
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
982
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
983
+ end
984
+ end
985
+
711
986
  # Response for listing notebook instances.
712
987
  class ListInstancesResponse
713
988
  include Google::Apis::Core::Hashable
@@ -792,38 +1067,26 @@ module Google
792
1067
  end
793
1068
  end
794
1069
 
795
- # A resource that represents Google Cloud Platform location.
796
- class Location
1070
+ # Response for listing Managed Notebook Runtimes.
1071
+ class ListRuntimesResponse
797
1072
  include Google::Apis::Core::Hashable
798
1073
 
799
- # The friendly name for this location, typically a nearby city name. For example,
800
- # "Tokyo".
801
- # Corresponds to the JSON property `displayName`
802
- # @return [String]
803
- attr_accessor :display_name
804
-
805
- # Cross-service attributes for the location. For example `"cloud.googleapis.com/
806
- # region": "us-east1"`
807
- # Corresponds to the JSON property `labels`
808
- # @return [Hash<String,String>]
809
- attr_accessor :labels
810
-
811
- # The canonical id for this location. For example: `"us-east1"`.
812
- # Corresponds to the JSON property `locationId`
1074
+ # Page token that can be used to continue listing from the last result in the
1075
+ # next list call.
1076
+ # Corresponds to the JSON property `nextPageToken`
813
1077
  # @return [String]
814
- attr_accessor :location_id
1078
+ attr_accessor :next_page_token
815
1079
 
816
- # Service-specific metadata. For example the available capacity at the given
817
- # location.
818
- # Corresponds to the JSON property `metadata`
819
- # @return [Hash<String,Object>]
820
- attr_accessor :metadata
1080
+ # A list of returned Runtimes.
1081
+ # Corresponds to the JSON property `runtimes`
1082
+ # @return [Array<Google::Apis::NotebooksV1::Runtime>]
1083
+ attr_accessor :runtimes
821
1084
 
822
- # Resource name for the location, which may vary between implementations. For
823
- # example: `"projects/example-project/locations/us-east1"`
824
- # Corresponds to the JSON property `name`
825
- # @return [String]
826
- attr_accessor :name
1085
+ # Locations that could not be reached. For example, ['us-west1', 'us-central1'].
1086
+ # A ListRuntimesResponse will only contain either runtimes or unreachables,
1087
+ # Corresponds to the JSON property `unreachable`
1088
+ # @return [Array<String>]
1089
+ attr_accessor :unreachable
827
1090
 
828
1091
  def initialize(**args)
829
1092
  update!(**args)
@@ -831,61 +1094,33 @@ module Google
831
1094
 
832
1095
  # Update properties of this object
833
1096
  def update!(**args)
834
- @display_name = args[:display_name] if args.key?(:display_name)
835
- @labels = args[:labels] if args.key?(:labels)
836
- @location_id = args[:location_id] if args.key?(:location_id)
837
- @metadata = args[:metadata] if args.key?(:metadata)
838
- @name = args[:name] if args.key?(:name)
1097
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1098
+ @runtimes = args[:runtimes] if args.key?(:runtimes)
1099
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
839
1100
  end
840
1101
  end
841
1102
 
842
- # This resource represents a long-running operation that is the result of a
843
- # network API call.
844
- class Operation
1103
+ # Response for listing scheduled notebook job.
1104
+ class ListSchedulesResponse
845
1105
  include Google::Apis::Core::Hashable
846
1106
 
847
- # If the value is `false`, it means the operation is still in progress. If `true`
848
- # , the operation is completed, and either `error` or `response` is available.
849
- # Corresponds to the JSON property `done`
850
- # @return [Boolean]
851
- attr_accessor :done
852
- alias_method :done?, :done
853
-
854
- # The `Status` type defines a logical error model that is suitable for different
855
- # programming environments, including REST APIs and RPC APIs. It is used by [
856
- # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
857
- # data: error code, error message, and error details. You can find out more
858
- # about this error model and how to work with it in the [API Design Guide](https:
859
- # //cloud.google.com/apis/design/errors).
860
- # Corresponds to the JSON property `error`
861
- # @return [Google::Apis::NotebooksV1::Status]
862
- attr_accessor :error
863
-
864
- # Service-specific metadata associated with the operation. It typically contains
865
- # progress information and common metadata such as create time. Some services
866
- # might not provide such metadata. Any method that returns a long-running
867
- # operation should document the metadata type, if any.
868
- # Corresponds to the JSON property `metadata`
869
- # @return [Hash<String,Object>]
870
- attr_accessor :metadata
871
-
872
- # The server-assigned name, which is only unique within the same service that
873
- # originally returns it. If you use the default HTTP mapping, the `name` should
874
- # be a resource name ending with `operations/`unique_id``.
875
- # Corresponds to the JSON property `name`
1107
+ # Page token that can be used to continue listing from the last result in the
1108
+ # next list call.
1109
+ # Corresponds to the JSON property `nextPageToken`
876
1110
  # @return [String]
877
- attr_accessor :name
1111
+ attr_accessor :next_page_token
878
1112
 
879
- # The normal response of the operation in case of success. If the original
880
- # method returns no data on success, such as `Delete`, the response is `google.
881
- # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
882
- # the response should be the resource. For other methods, the response should
883
- # have the type `XxxResponse`, where `Xxx` is the original method name. For
884
- # example, if the original method name is `TakeSnapshot()`, the inferred
885
- # response type is `TakeSnapshotResponse`.
886
- # Corresponds to the JSON property `response`
887
- # @return [Hash<String,Object>]
888
- attr_accessor :response
1113
+ # A list of returned instances.
1114
+ # Corresponds to the JSON property `schedules`
1115
+ # @return [Array<Google::Apis::NotebooksV1::Schedule>]
1116
+ attr_accessor :schedules
1117
+
1118
+ # Schedules that could not be reached. For example, ['projects/`project_id`/
1119
+ # location/`location`/schedules/monthly_digest', 'projects/`project_id`/location/
1120
+ # `location`/schedules/weekly_sentiment'].
1121
+ # Corresponds to the JSON property `unreachable`
1122
+ # @return [Array<String>]
1123
+ attr_accessor :unreachable
889
1124
 
890
1125
  def initialize(**args)
891
1126
  update!(**args)
@@ -893,27 +1128,297 @@ module Google
893
1128
 
894
1129
  # Update properties of this object
895
1130
  def update!(**args)
896
- @done = args[:done] if args.key?(:done)
897
- @error = args[:error] if args.key?(:error)
898
- @metadata = args[:metadata] if args.key?(:metadata)
899
- @name = args[:name] if args.key?(:name)
900
- @response = args[:response] if args.key?(:response)
1131
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1132
+ @schedules = args[:schedules] if args.key?(:schedules)
1133
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
901
1134
  end
902
1135
  end
903
1136
 
904
- # Represents the metadata of the long-running operation.
905
- class OperationMetadata
1137
+ # An Local attached disk resource.
1138
+ class LocalDisk
906
1139
  include Google::Apis::Core::Hashable
907
1140
 
908
- # API version used to start the operation.
909
- # Corresponds to the JSON property `apiVersion`
910
- # @return [String]
911
- attr_accessor :api_version
1141
+ # Output only. Specifies whether the disk will be auto-deleted when the instance
1142
+ # is deleted (but not when the disk is detached from the instance).
1143
+ # Corresponds to the JSON property `autoDelete`
1144
+ # @return [Boolean]
1145
+ attr_accessor :auto_delete
1146
+ alias_method :auto_delete?, :auto_delete
912
1147
 
913
- # The time the operation was created.
914
- # Corresponds to the JSON property `createTime`
915
- # @return [String]
916
- attr_accessor :create_time
1148
+ # Output only. Indicates that this is a boot disk. The virtual machine will use
1149
+ # the first partition of the disk for its root filesystem.
1150
+ # Corresponds to the JSON property `boot`
1151
+ # @return [Boolean]
1152
+ attr_accessor :boot
1153
+ alias_method :boot?, :boot
1154
+
1155
+ # Output only. Specifies a unique device name of your choice that is reflected
1156
+ # into the /dev/disk/by-id/google-* tree of a Linux operating system running
1157
+ # within the instance. This name can be used to reference the device for
1158
+ # mounting, resizing, and so on, from within the instance. If not specified, the
1159
+ # server chooses a default device name to apply to this disk, in the form
1160
+ # persistent-disk-x, where x is a number assigned by Google Compute Engine. This
1161
+ # field is only applicable for persistent disks.
1162
+ # Corresponds to the JSON property `deviceName`
1163
+ # @return [String]
1164
+ attr_accessor :device_name
1165
+
1166
+ # Output only. Indicates a list of features to enable on the guest operating
1167
+ # system. Applicable only for bootable images. Read Enabling guest operating
1168
+ # system features to see a list of available options.
1169
+ # Corresponds to the JSON property `guestOsFeatures`
1170
+ # @return [Array<Google::Apis::NotebooksV1::RuntimeGuestOsFeature>]
1171
+ attr_accessor :guest_os_features
1172
+
1173
+ # Output only. [Output Only] A zero-based index to this disk, where 0 is
1174
+ # reserved for the boot disk. If you have many disks attached to an instance,
1175
+ # each disk would have a unique index number.
1176
+ # Corresponds to the JSON property `index`
1177
+ # @return [Fixnum]
1178
+ attr_accessor :index
1179
+
1180
+ # [Input Only] Specifies the parameters for a new disk that will be created
1181
+ # alongside the new instance. Use initialization parameters to create boot disks
1182
+ # or local SSDs attached to the new runtime. This property is mutually exclusive
1183
+ # with the source property; you can only define one or the other, but not both.
1184
+ # Corresponds to the JSON property `initializeParams`
1185
+ # @return [Google::Apis::NotebooksV1::LocalDiskInitializeParams]
1186
+ attr_accessor :initialize_params
1187
+
1188
+ # Specifies the disk interface to use for attaching this disk, which is either
1189
+ # SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and
1190
+ # the request will fail if you attempt to attach a persistent disk in any other
1191
+ # format than SCSI. Local SSDs can use either NVME or SCSI. For performance
1192
+ # characteristics of SCSI over NVMe, see Local SSD performance. Valid values:
1193
+ # NVME SCSI
1194
+ # Corresponds to the JSON property `interface`
1195
+ # @return [String]
1196
+ attr_accessor :interface
1197
+
1198
+ # Output only. Type of the resource. Always compute#attachedDisk for attached
1199
+ # disks.
1200
+ # Corresponds to the JSON property `kind`
1201
+ # @return [String]
1202
+ attr_accessor :kind
1203
+
1204
+ # Output only. [Output Only] Any valid publicly visible licenses.
1205
+ # Corresponds to the JSON property `licenses`
1206
+ # @return [Array<String>]
1207
+ attr_accessor :licenses
1208
+
1209
+ # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
1210
+ # specified, the default is to attach the disk in READ_WRITE mode. Valid values:
1211
+ # READ_ONLY READ_WRITE
1212
+ # Corresponds to the JSON property `mode`
1213
+ # @return [String]
1214
+ attr_accessor :mode
1215
+
1216
+ # Specifies a valid partial or full URL to an existing Persistent Disk resource.
1217
+ # Corresponds to the JSON property `source`
1218
+ # @return [String]
1219
+ attr_accessor :source
1220
+
1221
+ # Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified,
1222
+ # the default is PERSISTENT. Valid values: PERSISTENT SCRATCH
1223
+ # Corresponds to the JSON property `type`
1224
+ # @return [String]
1225
+ attr_accessor :type
1226
+
1227
+ def initialize(**args)
1228
+ update!(**args)
1229
+ end
1230
+
1231
+ # Update properties of this object
1232
+ def update!(**args)
1233
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
1234
+ @boot = args[:boot] if args.key?(:boot)
1235
+ @device_name = args[:device_name] if args.key?(:device_name)
1236
+ @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
1237
+ @index = args[:index] if args.key?(:index)
1238
+ @initialize_params = args[:initialize_params] if args.key?(:initialize_params)
1239
+ @interface = args[:interface] if args.key?(:interface)
1240
+ @kind = args[:kind] if args.key?(:kind)
1241
+ @licenses = args[:licenses] if args.key?(:licenses)
1242
+ @mode = args[:mode] if args.key?(:mode)
1243
+ @source = args[:source] if args.key?(:source)
1244
+ @type = args[:type] if args.key?(:type)
1245
+ end
1246
+ end
1247
+
1248
+ # [Input Only] Specifies the parameters for a new disk that will be created
1249
+ # alongside the new instance. Use initialization parameters to create boot disks
1250
+ # or local SSDs attached to the new runtime. This property is mutually exclusive
1251
+ # with the source property; you can only define one or the other, but not both.
1252
+ class LocalDiskInitializeParams
1253
+ include Google::Apis::Core::Hashable
1254
+
1255
+ # Optional. Provide this property when creating the disk.
1256
+ # Corresponds to the JSON property `description`
1257
+ # @return [String]
1258
+ attr_accessor :description
1259
+
1260
+ # Optional. Specifies the disk name. If not specified, the default is to use the
1261
+ # name of the instance. If the disk with the instance name exists already in the
1262
+ # given zone/region, a new name will be automatically generated.
1263
+ # Corresponds to the JSON property `diskName`
1264
+ # @return [String]
1265
+ attr_accessor :disk_name
1266
+
1267
+ # Optional. Specifies the size of the disk in base-2 GB. If not specified, the
1268
+ # disk will be the same size as the image (usually 10GB). If specified, the size
1269
+ # must be equal to or larger than 10GB. Default 100 GB.
1270
+ # Corresponds to the JSON property `diskSizeGb`
1271
+ # @return [Fixnum]
1272
+ attr_accessor :disk_size_gb
1273
+
1274
+ # Input only. The type of the boot disk attached to this instance, defaults to
1275
+ # standard persistent disk (`PD_STANDARD`).
1276
+ # Corresponds to the JSON property `diskType`
1277
+ # @return [String]
1278
+ attr_accessor :disk_type
1279
+
1280
+ # Optional. Labels to apply to this disk. These can be later modified by the
1281
+ # disks.setLabels method. This field is only applicable for persistent disks.
1282
+ # Corresponds to the JSON property `labels`
1283
+ # @return [Hash<String,String>]
1284
+ attr_accessor :labels
1285
+
1286
+ def initialize(**args)
1287
+ update!(**args)
1288
+ end
1289
+
1290
+ # Update properties of this object
1291
+ def update!(**args)
1292
+ @description = args[:description] if args.key?(:description)
1293
+ @disk_name = args[:disk_name] if args.key?(:disk_name)
1294
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1295
+ @disk_type = args[:disk_type] if args.key?(:disk_type)
1296
+ @labels = args[:labels] if args.key?(:labels)
1297
+ end
1298
+ end
1299
+
1300
+ # A resource that represents Google Cloud Platform location.
1301
+ class Location
1302
+ include Google::Apis::Core::Hashable
1303
+
1304
+ # The friendly name for this location, typically a nearby city name. For example,
1305
+ # "Tokyo".
1306
+ # Corresponds to the JSON property `displayName`
1307
+ # @return [String]
1308
+ attr_accessor :display_name
1309
+
1310
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
1311
+ # region": "us-east1"`
1312
+ # Corresponds to the JSON property `labels`
1313
+ # @return [Hash<String,String>]
1314
+ attr_accessor :labels
1315
+
1316
+ # The canonical id for this location. For example: `"us-east1"`.
1317
+ # Corresponds to the JSON property `locationId`
1318
+ # @return [String]
1319
+ attr_accessor :location_id
1320
+
1321
+ # Service-specific metadata. For example the available capacity at the given
1322
+ # location.
1323
+ # Corresponds to the JSON property `metadata`
1324
+ # @return [Hash<String,Object>]
1325
+ attr_accessor :metadata
1326
+
1327
+ # Resource name for the location, which may vary between implementations. For
1328
+ # example: `"projects/example-project/locations/us-east1"`
1329
+ # Corresponds to the JSON property `name`
1330
+ # @return [String]
1331
+ attr_accessor :name
1332
+
1333
+ def initialize(**args)
1334
+ update!(**args)
1335
+ end
1336
+
1337
+ # Update properties of this object
1338
+ def update!(**args)
1339
+ @display_name = args[:display_name] if args.key?(:display_name)
1340
+ @labels = args[:labels] if args.key?(:labels)
1341
+ @location_id = args[:location_id] if args.key?(:location_id)
1342
+ @metadata = args[:metadata] if args.key?(:metadata)
1343
+ @name = args[:name] if args.key?(:name)
1344
+ end
1345
+ end
1346
+
1347
+ # This resource represents a long-running operation that is the result of a
1348
+ # network API call.
1349
+ class Operation
1350
+ include Google::Apis::Core::Hashable
1351
+
1352
+ # If the value is `false`, it means the operation is still in progress. If `true`
1353
+ # , the operation is completed, and either `error` or `response` is available.
1354
+ # Corresponds to the JSON property `done`
1355
+ # @return [Boolean]
1356
+ attr_accessor :done
1357
+ alias_method :done?, :done
1358
+
1359
+ # The `Status` type defines a logical error model that is suitable for different
1360
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1361
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1362
+ # data: error code, error message, and error details. You can find out more
1363
+ # about this error model and how to work with it in the [API Design Guide](https:
1364
+ # //cloud.google.com/apis/design/errors).
1365
+ # Corresponds to the JSON property `error`
1366
+ # @return [Google::Apis::NotebooksV1::Status]
1367
+ attr_accessor :error
1368
+
1369
+ # Service-specific metadata associated with the operation. It typically contains
1370
+ # progress information and common metadata such as create time. Some services
1371
+ # might not provide such metadata. Any method that returns a long-running
1372
+ # operation should document the metadata type, if any.
1373
+ # Corresponds to the JSON property `metadata`
1374
+ # @return [Hash<String,Object>]
1375
+ attr_accessor :metadata
1376
+
1377
+ # The server-assigned name, which is only unique within the same service that
1378
+ # originally returns it. If you use the default HTTP mapping, the `name` should
1379
+ # be a resource name ending with `operations/`unique_id``.
1380
+ # Corresponds to the JSON property `name`
1381
+ # @return [String]
1382
+ attr_accessor :name
1383
+
1384
+ # The normal response of the operation in case of success. If the original
1385
+ # method returns no data on success, such as `Delete`, the response is `google.
1386
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
1387
+ # the response should be the resource. For other methods, the response should
1388
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
1389
+ # example, if the original method name is `TakeSnapshot()`, the inferred
1390
+ # response type is `TakeSnapshotResponse`.
1391
+ # Corresponds to the JSON property `response`
1392
+ # @return [Hash<String,Object>]
1393
+ attr_accessor :response
1394
+
1395
+ def initialize(**args)
1396
+ update!(**args)
1397
+ end
1398
+
1399
+ # Update properties of this object
1400
+ def update!(**args)
1401
+ @done = args[:done] if args.key?(:done)
1402
+ @error = args[:error] if args.key?(:error)
1403
+ @metadata = args[:metadata] if args.key?(:metadata)
1404
+ @name = args[:name] if args.key?(:name)
1405
+ @response = args[:response] if args.key?(:response)
1406
+ end
1407
+ end
1408
+
1409
+ # Represents the metadata of the long-running operation.
1410
+ class OperationMetadata
1411
+ include Google::Apis::Core::Hashable
1412
+
1413
+ # API version used to start the operation.
1414
+ # Corresponds to the JSON property `apiVersion`
1415
+ # @return [String]
1416
+ attr_accessor :api_version
1417
+
1418
+ # The time the operation was created.
1419
+ # Corresponds to the JSON property `createTime`
1420
+ # @return [String]
1421
+ attr_accessor :create_time
917
1422
 
918
1423
  # The time the operation finished running.
919
1424
  # Corresponds to the JSON property `endTime`
@@ -1043,23 +1548,354 @@ module Google
1043
1548
 
1044
1549
  # Update properties of this object
1045
1550
  def update!(**args)
1046
- @bindings = args[:bindings] if args.key?(:bindings)
1047
- @etag = args[:etag] if args.key?(:etag)
1048
- @version = args[:version] if args.key?(:version)
1551
+ @bindings = args[:bindings] if args.key?(:bindings)
1552
+ @etag = args[:etag] if args.key?(:etag)
1553
+ @version = args[:version] if args.key?(:version)
1554
+ end
1555
+ end
1556
+
1557
+ # Request for registering a notebook instance.
1558
+ class RegisterInstanceRequest
1559
+ include Google::Apis::Core::Hashable
1560
+
1561
+ # Required. User defined unique ID of this instance. The `instance_id` must be 1
1562
+ # to 63 characters long and contain only lowercase letters, numeric characters,
1563
+ # and dashes. The first character must be a lowercase letter and the last
1564
+ # character cannot be a dash.
1565
+ # Corresponds to the JSON property `instanceId`
1566
+ # @return [String]
1567
+ attr_accessor :instance_id
1568
+
1569
+ def initialize(**args)
1570
+ update!(**args)
1571
+ end
1572
+
1573
+ # Update properties of this object
1574
+ def update!(**args)
1575
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
1576
+ end
1577
+ end
1578
+
1579
+ # Request for notebook instances to report information to Notebooks API.
1580
+ class ReportInstanceInfoRequest
1581
+ include Google::Apis::Core::Hashable
1582
+
1583
+ # The metadata reported to Notebooks API. This will be merged to the instance
1584
+ # metadata store
1585
+ # Corresponds to the JSON property `metadata`
1586
+ # @return [Hash<String,String>]
1587
+ attr_accessor :metadata
1588
+
1589
+ # Required. The VM hardware token for authenticating the VM. https://cloud.
1590
+ # google.com/compute/docs/instances/verifying-instance-identity
1591
+ # Corresponds to the JSON property `vmId`
1592
+ # @return [String]
1593
+ attr_accessor :vm_id
1594
+
1595
+ def initialize(**args)
1596
+ update!(**args)
1597
+ end
1598
+
1599
+ # Update properties of this object
1600
+ def update!(**args)
1601
+ @metadata = args[:metadata] if args.key?(:metadata)
1602
+ @vm_id = args[:vm_id] if args.key?(:vm_id)
1603
+ end
1604
+ end
1605
+
1606
+ # Request for reseting a notebook instance
1607
+ class ResetInstanceRequest
1608
+ include Google::Apis::Core::Hashable
1609
+
1610
+ def initialize(**args)
1611
+ update!(**args)
1612
+ end
1613
+
1614
+ # Update properties of this object
1615
+ def update!(**args)
1616
+ end
1617
+ end
1618
+
1619
+ # Request for reseting a Managed Notebook Runtime.
1620
+ class ResetRuntimeRequest
1621
+ include Google::Apis::Core::Hashable
1622
+
1623
+ def initialize(**args)
1624
+ update!(**args)
1625
+ end
1626
+
1627
+ # Update properties of this object
1628
+ def update!(**args)
1629
+ end
1630
+ end
1631
+
1632
+ # The definition of a Runtime for a managed notebook instance.
1633
+ class Runtime
1634
+ include Google::Apis::Core::Hashable
1635
+
1636
+ # Specifies the login configuration for Runtime
1637
+ # Corresponds to the JSON property `accessConfig`
1638
+ # @return [Google::Apis::NotebooksV1::RuntimeAccessConfig]
1639
+ attr_accessor :access_config
1640
+
1641
+ # Output only. Runtime creation time.
1642
+ # Corresponds to the JSON property `createTime`
1643
+ # @return [String]
1644
+ attr_accessor :create_time
1645
+
1646
+ # Output only. Runtime health_state.
1647
+ # Corresponds to the JSON property `healthState`
1648
+ # @return [String]
1649
+ attr_accessor :health_state
1650
+
1651
+ # Contains runtime daemon metrics, such as OS and kernels and sessions stats.
1652
+ # Corresponds to the JSON property `metrics`
1653
+ # @return [Google::Apis::NotebooksV1::RuntimeMetrics]
1654
+ attr_accessor :metrics
1655
+
1656
+ # Output only. The resource name of the runtime. Format: `projects/`project`/
1657
+ # locations/`location`/runtimes/`runtime``
1658
+ # Corresponds to the JSON property `name`
1659
+ # @return [String]
1660
+ attr_accessor :name
1661
+
1662
+ # Specifies the selection and config of software inside the runtime. / The
1663
+ # properties to set on runtime. Properties keys are specified in `key:value`
1664
+ # format, for example: * idle_shutdown: idle_shutdown=true *
1665
+ # idle_shutdown_timeout: idle_shutdown_timeout=180 * report-system-health:
1666
+ # report-system-health=true
1667
+ # Corresponds to the JSON property `softwareConfig`
1668
+ # @return [Google::Apis::NotebooksV1::RuntimeSoftwareConfig]
1669
+ attr_accessor :software_config
1670
+
1671
+ # Output only. Runtime state.
1672
+ # Corresponds to the JSON property `state`
1673
+ # @return [String]
1674
+ attr_accessor :state
1675
+
1676
+ # Output only. Runtime update time.
1677
+ # Corresponds to the JSON property `updateTime`
1678
+ # @return [String]
1679
+ attr_accessor :update_time
1680
+
1681
+ # Runtime using Virtual Machine for computing.
1682
+ # Corresponds to the JSON property `virtualMachine`
1683
+ # @return [Google::Apis::NotebooksV1::VirtualMachine]
1684
+ attr_accessor :virtual_machine
1685
+
1686
+ def initialize(**args)
1687
+ update!(**args)
1688
+ end
1689
+
1690
+ # Update properties of this object
1691
+ def update!(**args)
1692
+ @access_config = args[:access_config] if args.key?(:access_config)
1693
+ @create_time = args[:create_time] if args.key?(:create_time)
1694
+ @health_state = args[:health_state] if args.key?(:health_state)
1695
+ @metrics = args[:metrics] if args.key?(:metrics)
1696
+ @name = args[:name] if args.key?(:name)
1697
+ @software_config = args[:software_config] if args.key?(:software_config)
1698
+ @state = args[:state] if args.key?(:state)
1699
+ @update_time = args[:update_time] if args.key?(:update_time)
1700
+ @virtual_machine = args[:virtual_machine] if args.key?(:virtual_machine)
1701
+ end
1702
+ end
1703
+
1704
+ # Definition of the types of hardware accelerators that can be used. Definition
1705
+ # of the types of hardware accelerators that can be used. See [Compute Engine
1706
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
1707
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
1708
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
1709
+ # a100`
1710
+ class RuntimeAcceleratorConfig
1711
+ include Google::Apis::Core::Hashable
1712
+
1713
+ # Count of cores of this accelerator.
1714
+ # Corresponds to the JSON property `coreCount`
1715
+ # @return [Fixnum]
1716
+ attr_accessor :core_count
1717
+
1718
+ # Accelerator model.
1719
+ # Corresponds to the JSON property `type`
1720
+ # @return [String]
1721
+ attr_accessor :type
1722
+
1723
+ def initialize(**args)
1724
+ update!(**args)
1725
+ end
1726
+
1727
+ # Update properties of this object
1728
+ def update!(**args)
1729
+ @core_count = args[:core_count] if args.key?(:core_count)
1730
+ @type = args[:type] if args.key?(:type)
1731
+ end
1732
+ end
1733
+
1734
+ # Specifies the login configuration for Runtime
1735
+ class RuntimeAccessConfig
1736
+ include Google::Apis::Core::Hashable
1737
+
1738
+ # The type of access mode this instance.
1739
+ # Corresponds to the JSON property `accessType`
1740
+ # @return [String]
1741
+ attr_accessor :access_type
1742
+
1743
+ # Output only. The proxy endpoint that is used to access the runtime.
1744
+ # Corresponds to the JSON property `proxyUri`
1745
+ # @return [String]
1746
+ attr_accessor :proxy_uri
1747
+
1748
+ # The owner of this runtime after creation. Format: `alias@example.com`
1749
+ # Currently supports one owner only.
1750
+ # Corresponds to the JSON property `runtimeOwner`
1751
+ # @return [String]
1752
+ attr_accessor :runtime_owner
1753
+
1754
+ def initialize(**args)
1755
+ update!(**args)
1756
+ end
1757
+
1758
+ # Update properties of this object
1759
+ def update!(**args)
1760
+ @access_type = args[:access_type] if args.key?(:access_type)
1761
+ @proxy_uri = args[:proxy_uri] if args.key?(:proxy_uri)
1762
+ @runtime_owner = args[:runtime_owner] if args.key?(:runtime_owner)
1763
+ end
1764
+ end
1765
+
1766
+ # A list of features to enable on the guest operating system. Applicable only
1767
+ # for bootable images. Read Enabling guest operating system features to see a
1768
+ # list of available options. Guest OS features for boot disk.
1769
+ class RuntimeGuestOsFeature
1770
+ include Google::Apis::Core::Hashable
1771
+
1772
+ # The ID of a supported feature. Read Enabling guest operating system features
1773
+ # to see a list of available options. Valid values: FEATURE_TYPE_UNSPECIFIED
1774
+ # MULTI_IP_SUBNET SECURE_BOOT UEFI_COMPATIBLE VIRTIO_SCSI_MULTIQUEUE WINDOWS
1775
+ # Corresponds to the JSON property `type`
1776
+ # @return [String]
1777
+ attr_accessor :type
1778
+
1779
+ def initialize(**args)
1780
+ update!(**args)
1781
+ end
1782
+
1783
+ # Update properties of this object
1784
+ def update!(**args)
1785
+ @type = args[:type] if args.key?(:type)
1786
+ end
1787
+ end
1788
+
1789
+ # Contains runtime daemon metrics, such as OS and kernels and sessions stats.
1790
+ class RuntimeMetrics
1791
+ include Google::Apis::Core::Hashable
1792
+
1793
+ # Output only. The system metrics.
1794
+ # Corresponds to the JSON property `systemMetrics`
1795
+ # @return [Hash<String,String>]
1796
+ attr_accessor :system_metrics
1797
+
1798
+ def initialize(**args)
1799
+ update!(**args)
1800
+ end
1801
+
1802
+ # Update properties of this object
1803
+ def update!(**args)
1804
+ @system_metrics = args[:system_metrics] if args.key?(:system_metrics)
1805
+ end
1806
+ end
1807
+
1808
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
1809
+ # features] Not all combinations are valid.
1810
+ class RuntimeShieldedInstanceConfig
1811
+ include Google::Apis::Core::Hashable
1812
+
1813
+ # Defines whether the instance has integrity monitoring enabled. Enables
1814
+ # monitoring and attestation of the boot integrity of the instance. The
1815
+ # attestation is performed against the integrity policy baseline. This baseline
1816
+ # is initially derived from the implicitly trusted boot image when the instance
1817
+ # is created. Enabled by default.
1818
+ # Corresponds to the JSON property `enableIntegrityMonitoring`
1819
+ # @return [Boolean]
1820
+ attr_accessor :enable_integrity_monitoring
1821
+ alias_method :enable_integrity_monitoring?, :enable_integrity_monitoring
1822
+
1823
+ # Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure
1824
+ # that the system only runs authentic software by verifying the digital
1825
+ # signature of all boot components, and halting the boot process if signature
1826
+ # verification fails. Disabled by default.
1827
+ # Corresponds to the JSON property `enableSecureBoot`
1828
+ # @return [Boolean]
1829
+ attr_accessor :enable_secure_boot
1830
+ alias_method :enable_secure_boot?, :enable_secure_boot
1831
+
1832
+ # Defines whether the instance has the vTPM enabled. Enabled by default.
1833
+ # Corresponds to the JSON property `enableVtpm`
1834
+ # @return [Boolean]
1835
+ attr_accessor :enable_vtpm
1836
+ alias_method :enable_vtpm?, :enable_vtpm
1837
+
1838
+ def initialize(**args)
1839
+ update!(**args)
1840
+ end
1841
+
1842
+ # Update properties of this object
1843
+ def update!(**args)
1844
+ @enable_integrity_monitoring = args[:enable_integrity_monitoring] if args.key?(:enable_integrity_monitoring)
1845
+ @enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot)
1846
+ @enable_vtpm = args[:enable_vtpm] if args.key?(:enable_vtpm)
1049
1847
  end
1050
1848
  end
1051
1849
 
1052
- # Request for registering a notebook instance.
1053
- class RegisterInstanceRequest
1850
+ # Specifies the selection and config of software inside the runtime. / The
1851
+ # properties to set on runtime. Properties keys are specified in `key:value`
1852
+ # format, for example: * idle_shutdown: idle_shutdown=true *
1853
+ # idle_shutdown_timeout: idle_shutdown_timeout=180 * report-system-health:
1854
+ # report-system-health=true
1855
+ class RuntimeSoftwareConfig
1054
1856
  include Google::Apis::Core::Hashable
1055
1857
 
1056
- # Required. User defined unique ID of this instance. The `instance_id` must be 1
1057
- # to 63 characters long and contain only lowercase letters, numeric characters,
1058
- # and dashes. The first character must be a lowercase letter and the last
1059
- # character cannot be a dash.
1060
- # Corresponds to the JSON property `instanceId`
1858
+ # Specify a custom Cloud Storage path where the GPU driver is stored. If not
1859
+ # specified, we'll automatically choose from official GPU drivers.
1860
+ # Corresponds to the JSON property `customGpuDriverPath`
1061
1861
  # @return [String]
1062
- attr_accessor :instance_id
1862
+ attr_accessor :custom_gpu_driver_path
1863
+
1864
+ # Verifies core internal services are running. Default: True
1865
+ # Corresponds to the JSON property `enableHealthMonitoring`
1866
+ # @return [Boolean]
1867
+ attr_accessor :enable_health_monitoring
1868
+ alias_method :enable_health_monitoring?, :enable_health_monitoring
1869
+
1870
+ # Runtime will automatically shutdown after idle_shutdown_time. Default: False
1871
+ # Corresponds to the JSON property `idleShutdown`
1872
+ # @return [Boolean]
1873
+ attr_accessor :idle_shutdown
1874
+ alias_method :idle_shutdown?, :idle_shutdown
1875
+
1876
+ # Time in minutes to wait before shuting down runtime. Default: 90 minutes
1877
+ # Corresponds to the JSON property `idleShutdownTimeout`
1878
+ # @return [Fixnum]
1879
+ attr_accessor :idle_shutdown_timeout
1880
+
1881
+ # Install Nvidia Driver automatically.
1882
+ # Corresponds to the JSON property `installGpuDriver`
1883
+ # @return [Boolean]
1884
+ attr_accessor :install_gpu_driver
1885
+ alias_method :install_gpu_driver?, :install_gpu_driver
1886
+
1887
+ # Cron expression in UTC timezone, used to schedule instance auto upgrade.
1888
+ # Please follow the [cron format](https://en.wikipedia.org/wiki/Cron).
1889
+ # Corresponds to the JSON property `notebookUpgradeSchedule`
1890
+ # @return [String]
1891
+ attr_accessor :notebook_upgrade_schedule
1892
+
1893
+ # Path to a Bash script that automatically runs after a notebook instance fully
1894
+ # boots up. The path must be a URL or Cloud Storage path (gs://path-to-file/file-
1895
+ # name).
1896
+ # Corresponds to the JSON property `postStartupScript`
1897
+ # @return [String]
1898
+ attr_accessor :post_startup_script
1063
1899
 
1064
1900
  def initialize(**args)
1065
1901
  update!(**args)
@@ -1067,25 +1903,79 @@ module Google
1067
1903
 
1068
1904
  # Update properties of this object
1069
1905
  def update!(**args)
1070
- @instance_id = args[:instance_id] if args.key?(:instance_id)
1906
+ @custom_gpu_driver_path = args[:custom_gpu_driver_path] if args.key?(:custom_gpu_driver_path)
1907
+ @enable_health_monitoring = args[:enable_health_monitoring] if args.key?(:enable_health_monitoring)
1908
+ @idle_shutdown = args[:idle_shutdown] if args.key?(:idle_shutdown)
1909
+ @idle_shutdown_timeout = args[:idle_shutdown_timeout] if args.key?(:idle_shutdown_timeout)
1910
+ @install_gpu_driver = args[:install_gpu_driver] if args.key?(:install_gpu_driver)
1911
+ @notebook_upgrade_schedule = args[:notebook_upgrade_schedule] if args.key?(:notebook_upgrade_schedule)
1912
+ @post_startup_script = args[:post_startup_script] if args.key?(:post_startup_script)
1071
1913
  end
1072
1914
  end
1073
1915
 
1074
- # Request for notebook instances to report information to Notebooks API.
1075
- class ReportInstanceInfoRequest
1916
+ # The definition of a schedule.
1917
+ class Schedule
1076
1918
  include Google::Apis::Core::Hashable
1077
1919
 
1078
- # The metadata reported to Notebooks API. This will be merged to the instance
1079
- # metadata store
1080
- # Corresponds to the JSON property `metadata`
1081
- # @return [Hash<String,String>]
1082
- attr_accessor :metadata
1920
+ # Output only. Time the schedule was created.
1921
+ # Corresponds to the JSON property `createTime`
1922
+ # @return [String]
1923
+ attr_accessor :create_time
1083
1924
 
1084
- # Required. The VM hardware token for authenticating the VM. https://cloud.
1085
- # google.com/compute/docs/instances/verifying-instance-identity
1086
- # Corresponds to the JSON property `vmId`
1925
+ # Cron-tab formatted schedule by which the job will execute Format: minute, hour,
1926
+ # day of month, month, day of week e.g. 0 0 * * WED = every Wednesday More
1927
+ # examples: https://crontab.guru/examples.html
1928
+ # Corresponds to the JSON property `cronSchedule`
1087
1929
  # @return [String]
1088
- attr_accessor :vm_id
1930
+ attr_accessor :cron_schedule
1931
+
1932
+ # A brief description of this environment.
1933
+ # Corresponds to the JSON property `description`
1934
+ # @return [String]
1935
+ attr_accessor :description
1936
+
1937
+ # Output only. Display name used for UI purposes. Name can only contain
1938
+ # alphanumeric characters, hyphens ‘-’, and underscores ‘_’.
1939
+ # Corresponds to the JSON property `displayName`
1940
+ # @return [String]
1941
+ attr_accessor :display_name
1942
+
1943
+ # The description a notebook execution workload.
1944
+ # Corresponds to the JSON property `executionTemplate`
1945
+ # @return [Google::Apis::NotebooksV1::ExecutionTemplate]
1946
+ attr_accessor :execution_template
1947
+
1948
+ # Output only. The name of this schedule. Format: `projects/`project_id`/
1949
+ # locations/`location`/schedules/`schedule_id``
1950
+ # Corresponds to the JSON property `name`
1951
+ # @return [String]
1952
+ attr_accessor :name
1953
+
1954
+ # Output only. The most recent execution names triggered from this schedule and
1955
+ # their corresponding states.
1956
+ # Corresponds to the JSON property `recentExecutions`
1957
+ # @return [Array<Google::Apis::NotebooksV1::Execution>]
1958
+ attr_accessor :recent_executions
1959
+
1960
+ #
1961
+ # Corresponds to the JSON property `state`
1962
+ # @return [String]
1963
+ attr_accessor :state
1964
+
1965
+ # Timezone on which the cron_schedule. The value of this field must be a time
1966
+ # zone name from the tz database. TZ Database: https://en.wikipedia.org/wiki/
1967
+ # List_of_tz_database_time_zones Note that some time zones include a provision
1968
+ # for daylight savings time. The rules for daylight saving time are determined
1969
+ # by the chosen tz. For UTC use the string "utc". If a time zone is not
1970
+ # specified, the default will be in UTC (also known as GMT).
1971
+ # Corresponds to the JSON property `timeZone`
1972
+ # @return [String]
1973
+ attr_accessor :time_zone
1974
+
1975
+ # Output only. Time the schedule was last updated.
1976
+ # Corresponds to the JSON property `updateTime`
1977
+ # @return [String]
1978
+ attr_accessor :update_time
1089
1979
 
1090
1980
  def initialize(**args)
1091
1981
  update!(**args)
@@ -1093,21 +1983,43 @@ module Google
1093
1983
 
1094
1984
  # Update properties of this object
1095
1985
  def update!(**args)
1096
- @metadata = args[:metadata] if args.key?(:metadata)
1097
- @vm_id = args[:vm_id] if args.key?(:vm_id)
1986
+ @create_time = args[:create_time] if args.key?(:create_time)
1987
+ @cron_schedule = args[:cron_schedule] if args.key?(:cron_schedule)
1988
+ @description = args[:description] if args.key?(:description)
1989
+ @display_name = args[:display_name] if args.key?(:display_name)
1990
+ @execution_template = args[:execution_template] if args.key?(:execution_template)
1991
+ @name = args[:name] if args.key?(:name)
1992
+ @recent_executions = args[:recent_executions] if args.key?(:recent_executions)
1993
+ @state = args[:state] if args.key?(:state)
1994
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
1995
+ @update_time = args[:update_time] if args.key?(:update_time)
1098
1996
  end
1099
1997
  end
1100
1998
 
1101
- # Request for reseting a notebook instance
1102
- class ResetInstanceRequest
1999
+ # Definition of a hardware accelerator. Note that not all combinations of `type`
2000
+ # and `core_count` are valid. Check GPUs on Compute Engine to find a valid
2001
+ # combination. TPUs are not supported.
2002
+ class SchedulerAcceleratorConfig
1103
2003
  include Google::Apis::Core::Hashable
1104
2004
 
2005
+ # Count of cores of this accelerator.
2006
+ # Corresponds to the JSON property `coreCount`
2007
+ # @return [Fixnum]
2008
+ attr_accessor :core_count
2009
+
2010
+ # Type of this accelerator.
2011
+ # Corresponds to the JSON property `type`
2012
+ # @return [String]
2013
+ attr_accessor :type
2014
+
1105
2015
  def initialize(**args)
1106
2016
  update!(**args)
1107
2017
  end
1108
2018
 
1109
2019
  # Update properties of this object
1110
2020
  def update!(**args)
2021
+ @core_count = args[:core_count] if args.key?(:core_count)
2022
+ @type = args[:type] if args.key?(:type)
1111
2023
  end
1112
2024
  end
1113
2025
 
@@ -1224,6 +2136,48 @@ module Google
1224
2136
  end
1225
2137
  end
1226
2138
 
2139
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
2140
+ # features] Not all combinations are valid.
2141
+ class ShieldedInstanceConfig
2142
+ include Google::Apis::Core::Hashable
2143
+
2144
+ # Defines whether the instance has integrity monitoring enabled. Enables
2145
+ # monitoring and attestation of the boot integrity of the instance. The
2146
+ # attestation is performed against the integrity policy baseline. This baseline
2147
+ # is initially derived from the implicitly trusted boot image when the instance
2148
+ # is created. Enabled by default.
2149
+ # Corresponds to the JSON property `enableIntegrityMonitoring`
2150
+ # @return [Boolean]
2151
+ attr_accessor :enable_integrity_monitoring
2152
+ alias_method :enable_integrity_monitoring?, :enable_integrity_monitoring
2153
+
2154
+ # Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure
2155
+ # that the system only runs authentic software by verifying the digital
2156
+ # signature of all boot components, and halting the boot process if signature
2157
+ # verification fails. Disabled by default.
2158
+ # Corresponds to the JSON property `enableSecureBoot`
2159
+ # @return [Boolean]
2160
+ attr_accessor :enable_secure_boot
2161
+ alias_method :enable_secure_boot?, :enable_secure_boot
2162
+
2163
+ # Defines whether the instance has the vTPM enabled. Enabled by default.
2164
+ # Corresponds to the JSON property `enableVtpm`
2165
+ # @return [Boolean]
2166
+ attr_accessor :enable_vtpm
2167
+ alias_method :enable_vtpm?, :enable_vtpm
2168
+
2169
+ def initialize(**args)
2170
+ update!(**args)
2171
+ end
2172
+
2173
+ # Update properties of this object
2174
+ def update!(**args)
2175
+ @enable_integrity_monitoring = args[:enable_integrity_monitoring] if args.key?(:enable_integrity_monitoring)
2176
+ @enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot)
2177
+ @enable_vtpm = args[:enable_vtpm] if args.key?(:enable_vtpm)
2178
+ end
2179
+ end
2180
+
1227
2181
  # Request for starting a notebook instance
1228
2182
  class StartInstanceRequest
1229
2183
  include Google::Apis::Core::Hashable
@@ -1237,6 +2191,19 @@ module Google
1237
2191
  end
1238
2192
  end
1239
2193
 
2194
+ # Request for starting a Managed Notebook Runtime.
2195
+ class StartRuntimeRequest
2196
+ include Google::Apis::Core::Hashable
2197
+
2198
+ def initialize(**args)
2199
+ update!(**args)
2200
+ end
2201
+
2202
+ # Update properties of this object
2203
+ def update!(**args)
2204
+ end
2205
+ end
2206
+
1240
2207
  # The `Status` type defines a logical error model that is suitable for different
1241
2208
  # programming environments, including REST APIs and RPC APIs. It is used by [
1242
2209
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -1289,6 +2256,49 @@ module Google
1289
2256
  end
1290
2257
  end
1291
2258
 
2259
+ # Request for stopping a Managed Notebook Runtime.
2260
+ class StopRuntimeRequest
2261
+ include Google::Apis::Core::Hashable
2262
+
2263
+ def initialize(**args)
2264
+ update!(**args)
2265
+ end
2266
+
2267
+ # Update properties of this object
2268
+ def update!(**args)
2269
+ end
2270
+ end
2271
+
2272
+ # Request for switching a Managed Notebook Runtime.
2273
+ class SwitchRuntimeRequest
2274
+ include Google::Apis::Core::Hashable
2275
+
2276
+ # Definition of the types of hardware accelerators that can be used. Definition
2277
+ # of the types of hardware accelerators that can be used. See [Compute Engine
2278
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
2279
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
2280
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
2281
+ # a100`
2282
+ # Corresponds to the JSON property `acceleratorConfig`
2283
+ # @return [Google::Apis::NotebooksV1::RuntimeAcceleratorConfig]
2284
+ attr_accessor :accelerator_config
2285
+
2286
+ # machine type.
2287
+ # Corresponds to the JSON property `machineType`
2288
+ # @return [String]
2289
+ attr_accessor :machine_type
2290
+
2291
+ def initialize(**args)
2292
+ update!(**args)
2293
+ end
2294
+
2295
+ # Update properties of this object
2296
+ def update!(**args)
2297
+ @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config)
2298
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
2299
+ end
2300
+ end
2301
+
1292
2302
  # Request message for `TestIamPermissions` method.
1293
2303
  class TestIamPermissionsRequest
1294
2304
  include Google::Apis::Core::Hashable
@@ -1342,10 +2352,36 @@ module Google
1342
2352
  end
1343
2353
  end
1344
2354
 
1345
- #
2355
+ # Request for updating the Shielded Instance config for a notebook instance. You
2356
+ # can only use this method on a stopped instance
2357
+ class UpdateShieldedInstanceConfigRequest
2358
+ include Google::Apis::Core::Hashable
2359
+
2360
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
2361
+ # features] Not all combinations are valid.
2362
+ # Corresponds to the JSON property `shieldedInstanceConfig`
2363
+ # @return [Google::Apis::NotebooksV1::ShieldedInstanceConfig]
2364
+ attr_accessor :shielded_instance_config
2365
+
2366
+ def initialize(**args)
2367
+ update!(**args)
2368
+ end
2369
+
2370
+ # Update properties of this object
2371
+ def update!(**args)
2372
+ @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
2373
+ end
2374
+ end
2375
+
2376
+ # The entry of VM image upgrade history.
1346
2377
  class UpgradeHistoryEntry
1347
2378
  include Google::Apis::Core::Hashable
1348
2379
 
2380
+ # Action. Rolloback or Upgrade.
2381
+ # Corresponds to the JSON property `action`
2382
+ # @return [String]
2383
+ attr_accessor :action
2384
+
1349
2385
  # The container image before this instance upgrade.
1350
2386
  # Corresponds to the JSON property `containerImage`
1351
2387
  # @return [String]
@@ -1371,6 +2407,16 @@ module Google
1371
2407
  # @return [String]
1372
2408
  attr_accessor :state
1373
2409
 
2410
+ # Target VM Image. Format: ainotebooks-vm/project/image-name/name.
2411
+ # Corresponds to the JSON property `targetImage`
2412
+ # @return [String]
2413
+ attr_accessor :target_image
2414
+
2415
+ # Target VM Version, like m63.
2416
+ # Corresponds to the JSON property `targetVersion`
2417
+ # @return [String]
2418
+ attr_accessor :target_version
2419
+
1374
2420
  # The version of the notebook instance before this upgrade.
1375
2421
  # Corresponds to the JSON property `version`
1376
2422
  # @return [String]
@@ -1387,11 +2433,14 @@ module Google
1387
2433
 
1388
2434
  # Update properties of this object
1389
2435
  def update!(**args)
2436
+ @action = args[:action] if args.key?(:action)
1390
2437
  @container_image = args[:container_image] if args.key?(:container_image)
1391
2438
  @create_time = args[:create_time] if args.key?(:create_time)
1392
2439
  @framework = args[:framework] if args.key?(:framework)
1393
2440
  @snapshot = args[:snapshot] if args.key?(:snapshot)
1394
2441
  @state = args[:state] if args.key?(:state)
2442
+ @target_image = args[:target_image] if args.key?(:target_image)
2443
+ @target_version = args[:target_version] if args.key?(:target_version)
1395
2444
  @version = args[:version] if args.key?(:version)
1396
2445
  @vm_image = args[:vm_image] if args.key?(:vm_image)
1397
2446
  end
@@ -1430,6 +2479,172 @@ module Google
1430
2479
  end
1431
2480
  end
1432
2481
 
2482
+ # Runtime using Virtual Machine for computing.
2483
+ class VirtualMachine
2484
+ include Google::Apis::Core::Hashable
2485
+
2486
+ # Output only. The unique identifier of the Managed Compute Engine instance.
2487
+ # Corresponds to the JSON property `instanceId`
2488
+ # @return [String]
2489
+ attr_accessor :instance_id
2490
+
2491
+ # Output only. The user-friendly name of the Managed Compute Engine instance.
2492
+ # Corresponds to the JSON property `instanceName`
2493
+ # @return [String]
2494
+ attr_accessor :instance_name
2495
+
2496
+ # The config settings for virtual machine.
2497
+ # Corresponds to the JSON property `virtualMachineConfig`
2498
+ # @return [Google::Apis::NotebooksV1::VirtualMachineConfig]
2499
+ attr_accessor :virtual_machine_config
2500
+
2501
+ def initialize(**args)
2502
+ update!(**args)
2503
+ end
2504
+
2505
+ # Update properties of this object
2506
+ def update!(**args)
2507
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
2508
+ @instance_name = args[:instance_name] if args.key?(:instance_name)
2509
+ @virtual_machine_config = args[:virtual_machine_config] if args.key?(:virtual_machine_config)
2510
+ end
2511
+ end
2512
+
2513
+ # The config settings for virtual machine.
2514
+ class VirtualMachineConfig
2515
+ include Google::Apis::Core::Hashable
2516
+
2517
+ # Definition of the types of hardware accelerators that can be used. Definition
2518
+ # of the types of hardware accelerators that can be used. See [Compute Engine
2519
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
2520
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
2521
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
2522
+ # a100`
2523
+ # Corresponds to the JSON property `acceleratorConfig`
2524
+ # @return [Google::Apis::NotebooksV1::RuntimeAcceleratorConfig]
2525
+ attr_accessor :accelerator_config
2526
+
2527
+ # Optional. Use a list of container images to start the notebook instance.
2528
+ # Corresponds to the JSON property `containerImages`
2529
+ # @return [Array<Google::Apis::NotebooksV1::ContainerImage>]
2530
+ attr_accessor :container_images
2531
+
2532
+ # An Local attached disk resource.
2533
+ # Corresponds to the JSON property `dataDisk`
2534
+ # @return [Google::Apis::NotebooksV1::LocalDisk]
2535
+ attr_accessor :data_disk
2536
+
2537
+ # Represents a custom encryption key configuration that can be applied to a
2538
+ # resource. This will encrypt all disks in Virtual Machine.
2539
+ # Corresponds to the JSON property `encryptionConfig`
2540
+ # @return [Google::Apis::NotebooksV1::EncryptionConfig]
2541
+ attr_accessor :encryption_config
2542
+
2543
+ # Output only. The Compute Engine guest attributes. (see [Project and instance
2544
+ # guest attributes](https://cloud.google.com/compute/docs/storing-retrieving-
2545
+ # metadata#guest_attributes)).
2546
+ # Corresponds to the JSON property `guestAttributes`
2547
+ # @return [Hash<String,String>]
2548
+ attr_accessor :guest_attributes
2549
+
2550
+ # Optional. If true, runtime will only have internal IP addresses. By default,
2551
+ # runtimes are not restricted to internal IP addresses, and will have ephemeral
2552
+ # external IP addresses assigned to each vm. This `internal_ip_only` restriction
2553
+ # can only be enabled for subnetwork enabled networks, and all dependencies must
2554
+ # be configured to be accessible without external IP addresses.
2555
+ # Corresponds to the JSON property `internalIpOnly`
2556
+ # @return [Boolean]
2557
+ attr_accessor :internal_ip_only
2558
+ alias_method :internal_ip_only?, :internal_ip_only
2559
+
2560
+ # Optional. The labels to associate with this runtime. Label **keys** must
2561
+ # contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.
2562
+ # org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must
2563
+ # contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.
2564
+ # org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster.
2565
+ # Corresponds to the JSON property `labels`
2566
+ # @return [Hash<String,String>]
2567
+ attr_accessor :labels
2568
+
2569
+ # Required. The Compute Engine machine type used for runtimes. Short name is
2570
+ # valid. Examples: * `n1-standard-2` * `e2-standard-8`
2571
+ # Corresponds to the JSON property `machineType`
2572
+ # @return [String]
2573
+ attr_accessor :machine_type
2574
+
2575
+ # Optional. The Compute Engine metadata entries to add to virtual machine. (see [
2576
+ # Project and instance metadata](https://cloud.google.com/compute/docs/storing-
2577
+ # retrieving-metadata#project_and_instance_metadata)).
2578
+ # Corresponds to the JSON property `metadata`
2579
+ # @return [Hash<String,String>]
2580
+ attr_accessor :metadata
2581
+
2582
+ # Optional. The Compute Engine network to be used for machine communications.
2583
+ # Cannot be specified with subnetwork. If neither `network` nor `subnet` is
2584
+ # specified, the "default" network of the project is used, if it exists. A full
2585
+ # URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/
2586
+ # projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/
2587
+ # global/default` Runtimes are managed resources inside Google Infrastructure.
2588
+ # Runtimes support the following network configurations: * Google Managed
2589
+ # Network (Network & subnet are empty) * Consumer Project VPC (network & subnet
2590
+ # are required). Requires configuring Private Service Access. * Shared VPC (
2591
+ # network & subnet are required). Requires configuring Private Service Access.
2592
+ # Corresponds to the JSON property `network`
2593
+ # @return [String]
2594
+ attr_accessor :network
2595
+
2596
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
2597
+ # features] Not all combinations are valid.
2598
+ # Corresponds to the JSON property `shieldedInstanceConfig`
2599
+ # @return [Google::Apis::NotebooksV1::RuntimeShieldedInstanceConfig]
2600
+ attr_accessor :shielded_instance_config
2601
+
2602
+ # Optional. The Compute Engine subnetwork to be used for machine communications.
2603
+ # Cannot be specified with network. A full URL or partial URI are valid.
2604
+ # Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/
2605
+ # regions/us-east1/subnetworks/sub0` * `projects/[project_id]/regions/us-east1/
2606
+ # subnetworks/sub0`
2607
+ # Corresponds to the JSON property `subnet`
2608
+ # @return [String]
2609
+ attr_accessor :subnet
2610
+
2611
+ # Optional. The Compute Engine tags to add to runtime (see [Tagging instances](
2612
+ # https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
2613
+ # Corresponds to the JSON property `tags`
2614
+ # @return [Array<String>]
2615
+ attr_accessor :tags
2616
+
2617
+ # Output only. The zone where the virtual machine is located. If using regional
2618
+ # request, the notebooks service will pick a location in the corresponding
2619
+ # runtime region. On a get request, zone will always be present. Example: * `us-
2620
+ # central1-b`
2621
+ # Corresponds to the JSON property `zone`
2622
+ # @return [String]
2623
+ attr_accessor :zone
2624
+
2625
+ def initialize(**args)
2626
+ update!(**args)
2627
+ end
2628
+
2629
+ # Update properties of this object
2630
+ def update!(**args)
2631
+ @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config)
2632
+ @container_images = args[:container_images] if args.key?(:container_images)
2633
+ @data_disk = args[:data_disk] if args.key?(:data_disk)
2634
+ @encryption_config = args[:encryption_config] if args.key?(:encryption_config)
2635
+ @guest_attributes = args[:guest_attributes] if args.key?(:guest_attributes)
2636
+ @internal_ip_only = args[:internal_ip_only] if args.key?(:internal_ip_only)
2637
+ @labels = args[:labels] if args.key?(:labels)
2638
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
2639
+ @metadata = args[:metadata] if args.key?(:metadata)
2640
+ @network = args[:network] if args.key?(:network)
2641
+ @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
2642
+ @subnet = args[:subnet] if args.key?(:subnet)
2643
+ @tags = args[:tags] if args.key?(:tags)
2644
+ @zone = args[:zone] if args.key?(:zone)
2645
+ end
2646
+ end
2647
+
1433
2648
  # Definition of a custom Compute Engine virtual machine image for starting a
1434
2649
  # notebook instance with the environment installed directly on the VM.
1435
2650
  class VmImage