google-apis-notebooks_v1 0.1.0 → 0.6.0

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