google-apis-notebooks_v1 0.4.0 → 0.9.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: c33cef5729527d3437a56a0a2b1d86691c5b58e1c020848ff6331803062d24ef
4
- data.tar.gz: 8114f0767bde2774f7f8c7f0e2d0d69bc29b3ae63f45f02135621e6a0336ed34
3
+ metadata.gz: f4a6c0493a17453f6990d5e2a1b56c3f438c9eac41d33cf07f56b90256f5d82c
4
+ data.tar.gz: e6a3a68bad11516de994dc5f90359bb202d80dda3f35720db857ad2ffdc2cc56
5
5
  SHA512:
6
- metadata.gz: c6e613ca9379ed2e489a81ea97caf73a1835fcfb751da35bfa513c65e1df312b607ca58b57a8d2c953920cb34562db4335f81c4b5c32f206233be085420ff956
7
- data.tar.gz: 292623efd6d16e92d1aae2d8a8248dc06376fbe4ca718b148d26d736575c04a2bc71fb3d564b3f43db8ad4fcccc30eb6981454dcb0888425fb02561da1541c39
6
+ metadata.gz: 32b8f99f63a31ba76227a0fa16ee46aecc7d092f26b65ecff694d640f9a321c2e5451c1af80e95ce1576fb730680c3c52d914a9d9cbdea50940f811dc8354736
7
+ data.tar.gz: ed252fe733948882ba77af196d82664e8a0572935f1d360a779059a76416bff86283a67d916cda5fb0d70ba170b2d1bbcd5db69de795947cafa17ff89ef938e7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-notebooks_v1
2
2
 
3
+ ### v0.9.0 (2021-06-09)
4
+
5
+ * Regenerated from discovery document revision 20210603
6
+ * Regenerated using generator version 0.3.0
7
+
8
+ ### v0.8.0 (2021-05-19)
9
+
10
+ * Unspecified changes
11
+
12
+ ### v0.7.0 (2021-04-28)
13
+
14
+ * Regenerated from discovery document revision 20210422
15
+
16
+ ### v0.6.0 (2021-03-31)
17
+
18
+ * Regenerated from discovery document revision 20210323
19
+
20
+ ### v0.5.0 (2021-03-12)
21
+
22
+ * Regenerated from discovery document revision 20210305
23
+ * Regenerated using generator version 0.2.0
24
+
3
25
  ### v0.4.0 (2021-03-04)
4
26
 
5
27
  * Unspecified changes
@@ -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
@@ -486,6 +508,13 @@ module Google
486
508
  # @return [String]
487
509
  attr_accessor :scale_tier
488
510
 
511
+ # The email address of a service account to use when running the execution. You
512
+ # must have the `iam.serviceAccounts.actAs` permission for the specified service
513
+ # account.
514
+ # Corresponds to the JSON property `serviceAccount`
515
+ # @return [String]
516
+ attr_accessor :service_account
517
+
489
518
  def initialize(**args)
490
519
  update!(**args)
491
520
  end
@@ -501,6 +530,7 @@ module Google
501
530
  @parameters = args[:parameters] if args.key?(:parameters)
502
531
  @params_yaml_file = args[:params_yaml_file] if args.key?(:params_yaml_file)
503
532
  @scale_tier = args[:scale_tier] if args.key?(:scale_tier)
533
+ @service_account = args[:service_account] if args.key?(:service_account)
504
534
  end
505
535
  end
506
536
 
@@ -724,6 +754,12 @@ module Google
724
754
  # @return [String]
725
755
  attr_accessor :network
726
756
 
757
+ # Optional. The type of vNIC to be used on this interface. This may be gVNIC or
758
+ # VirtioNet.
759
+ # Corresponds to the JSON property `nicType`
760
+ # @return [String]
761
+ attr_accessor :nic_type
762
+
727
763
  # If true, the notebook instance will not register with the proxy.
728
764
  # Corresponds to the JSON property `noProxyAccess`
729
765
  # @return [Boolean]
@@ -837,6 +873,7 @@ module Google
837
873
  @metadata = args[:metadata] if args.key?(:metadata)
838
874
  @name = args[:name] if args.key?(:name)
839
875
  @network = args[:network] if args.key?(:network)
876
+ @nic_type = args[:nic_type] if args.key?(:nic_type)
840
877
  @no_proxy_access = args[:no_proxy_access] if args.key?(:no_proxy_access)
841
878
  @no_public_ip = args[:no_public_ip] if args.key?(:no_public_ip)
842
879
  @no_remove_data_disk = args[:no_remove_data_disk] if args.key?(:no_remove_data_disk)
@@ -858,6 +895,13 @@ module Google
858
895
  class IsInstanceUpgradeableResponse
859
896
  include Google::Apis::Core::Hashable
860
897
 
898
+ # The new image self link this instance will be upgraded to if calling the
899
+ # upgrade endpoint. This field will only be populated if field upgradeable is
900
+ # true.
901
+ # Corresponds to the JSON property `upgradeImage`
902
+ # @return [String]
903
+ attr_accessor :upgrade_image
904
+
861
905
  # Additional information about upgrade.
862
906
  # Corresponds to the JSON property `upgradeInfo`
863
907
  # @return [String]
@@ -881,6 +925,7 @@ module Google
881
925
 
882
926
  # Update properties of this object
883
927
  def update!(**args)
928
+ @upgrade_image = args[:upgrade_image] if args.key?(:upgrade_image)
884
929
  @upgrade_info = args[:upgrade_info] if args.key?(:upgrade_info)
885
930
  @upgrade_version = args[:upgrade_version] if args.key?(:upgrade_version)
886
931
  @upgradeable = args[:upgradeable] if args.key?(:upgradeable)
@@ -1037,6 +1082,39 @@ module Google
1037
1082
  end
1038
1083
  end
1039
1084
 
1085
+ # Response for listing Managed Notebook Runtimes.
1086
+ class ListRuntimesResponse
1087
+ include Google::Apis::Core::Hashable
1088
+
1089
+ # Page token that can be used to continue listing from the last result in the
1090
+ # next list call.
1091
+ # Corresponds to the JSON property `nextPageToken`
1092
+ # @return [String]
1093
+ attr_accessor :next_page_token
1094
+
1095
+ # A list of returned Runtimes.
1096
+ # Corresponds to the JSON property `runtimes`
1097
+ # @return [Array<Google::Apis::NotebooksV1::Runtime>]
1098
+ attr_accessor :runtimes
1099
+
1100
+ # Locations that could not be reached. For example, ['us-west1', 'us-central1'].
1101
+ # A ListRuntimesResponse will only contain either runtimes or unreachables,
1102
+ # Corresponds to the JSON property `unreachable`
1103
+ # @return [Array<String>]
1104
+ attr_accessor :unreachable
1105
+
1106
+ def initialize(**args)
1107
+ update!(**args)
1108
+ end
1109
+
1110
+ # Update properties of this object
1111
+ def update!(**args)
1112
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1113
+ @runtimes = args[:runtimes] if args.key?(:runtimes)
1114
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1115
+ end
1116
+ end
1117
+
1040
1118
  # Response for listing scheduled notebook job.
1041
1119
  class ListSchedulesResponse
1042
1120
  include Google::Apis::Core::Hashable
@@ -1071,6 +1149,169 @@ module Google
1071
1149
  end
1072
1150
  end
1073
1151
 
1152
+ # An Local attached disk resource.
1153
+ class LocalDisk
1154
+ include Google::Apis::Core::Hashable
1155
+
1156
+ # Output only. Specifies whether the disk will be auto-deleted when the instance
1157
+ # is deleted (but not when the disk is detached from the instance).
1158
+ # Corresponds to the JSON property `autoDelete`
1159
+ # @return [Boolean]
1160
+ attr_accessor :auto_delete
1161
+ alias_method :auto_delete?, :auto_delete
1162
+
1163
+ # Output only. Indicates that this is a boot disk. The virtual machine will use
1164
+ # the first partition of the disk for its root filesystem.
1165
+ # Corresponds to the JSON property `boot`
1166
+ # @return [Boolean]
1167
+ attr_accessor :boot
1168
+ alias_method :boot?, :boot
1169
+
1170
+ # Output only. Specifies a unique device name of your choice that is reflected
1171
+ # into the /dev/disk/by-id/google-* tree of a Linux operating system running
1172
+ # within the instance. This name can be used to reference the device for
1173
+ # mounting, resizing, and so on, from within the instance. If not specified, the
1174
+ # server chooses a default device name to apply to this disk, in the form
1175
+ # persistent-disk-x, where x is a number assigned by Google Compute Engine. This
1176
+ # field is only applicable for persistent disks.
1177
+ # Corresponds to the JSON property `deviceName`
1178
+ # @return [String]
1179
+ attr_accessor :device_name
1180
+
1181
+ # Output only. Indicates a list of features to enable on the guest operating
1182
+ # system. Applicable only for bootable images. Read Enabling guest operating
1183
+ # system features to see a list of available options.
1184
+ # Corresponds to the JSON property `guestOsFeatures`
1185
+ # @return [Array<Google::Apis::NotebooksV1::RuntimeGuestOsFeature>]
1186
+ attr_accessor :guest_os_features
1187
+
1188
+ # Output only. [Output Only] A zero-based index to this disk, where 0 is
1189
+ # reserved for the boot disk. If you have many disks attached to an instance,
1190
+ # each disk would have a unique index number.
1191
+ # Corresponds to the JSON property `index`
1192
+ # @return [Fixnum]
1193
+ attr_accessor :index
1194
+
1195
+ # [Input Only] Specifies the parameters for a new disk that will be created
1196
+ # alongside the new instance. Use initialization parameters to create boot disks
1197
+ # or local SSDs attached to the new runtime. This property is mutually exclusive
1198
+ # with the source property; you can only define one or the other, but not both.
1199
+ # Corresponds to the JSON property `initializeParams`
1200
+ # @return [Google::Apis::NotebooksV1::LocalDiskInitializeParams]
1201
+ attr_accessor :initialize_params
1202
+
1203
+ # Specifies the disk interface to use for attaching this disk, which is either
1204
+ # SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and
1205
+ # the request will fail if you attempt to attach a persistent disk in any other
1206
+ # format than SCSI. Local SSDs can use either NVME or SCSI. For performance
1207
+ # characteristics of SCSI over NVMe, see Local SSD performance. Valid values:
1208
+ # NVME SCSI
1209
+ # Corresponds to the JSON property `interface`
1210
+ # @return [String]
1211
+ attr_accessor :interface
1212
+
1213
+ # Output only. Type of the resource. Always compute#attachedDisk for attached
1214
+ # disks.
1215
+ # Corresponds to the JSON property `kind`
1216
+ # @return [String]
1217
+ attr_accessor :kind
1218
+
1219
+ # Output only. [Output Only] Any valid publicly visible licenses.
1220
+ # Corresponds to the JSON property `licenses`
1221
+ # @return [Array<String>]
1222
+ attr_accessor :licenses
1223
+
1224
+ # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
1225
+ # specified, the default is to attach the disk in READ_WRITE mode. Valid values:
1226
+ # READ_ONLY READ_WRITE
1227
+ # Corresponds to the JSON property `mode`
1228
+ # @return [String]
1229
+ attr_accessor :mode
1230
+
1231
+ # Specifies a valid partial or full URL to an existing Persistent Disk resource.
1232
+ # Corresponds to the JSON property `source`
1233
+ # @return [String]
1234
+ attr_accessor :source
1235
+
1236
+ # Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified,
1237
+ # the default is PERSISTENT. Valid values: PERSISTENT SCRATCH
1238
+ # Corresponds to the JSON property `type`
1239
+ # @return [String]
1240
+ attr_accessor :type
1241
+
1242
+ def initialize(**args)
1243
+ update!(**args)
1244
+ end
1245
+
1246
+ # Update properties of this object
1247
+ def update!(**args)
1248
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
1249
+ @boot = args[:boot] if args.key?(:boot)
1250
+ @device_name = args[:device_name] if args.key?(:device_name)
1251
+ @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
1252
+ @index = args[:index] if args.key?(:index)
1253
+ @initialize_params = args[:initialize_params] if args.key?(:initialize_params)
1254
+ @interface = args[:interface] if args.key?(:interface)
1255
+ @kind = args[:kind] if args.key?(:kind)
1256
+ @licenses = args[:licenses] if args.key?(:licenses)
1257
+ @mode = args[:mode] if args.key?(:mode)
1258
+ @source = args[:source] if args.key?(:source)
1259
+ @type = args[:type] if args.key?(:type)
1260
+ end
1261
+ end
1262
+
1263
+ # [Input Only] Specifies the parameters for a new disk that will be created
1264
+ # alongside the new instance. Use initialization parameters to create boot disks
1265
+ # or local SSDs attached to the new runtime. This property is mutually exclusive
1266
+ # with the source property; you can only define one or the other, but not both.
1267
+ class LocalDiskInitializeParams
1268
+ include Google::Apis::Core::Hashable
1269
+
1270
+ # Optional. Provide this property when creating the disk.
1271
+ # Corresponds to the JSON property `description`
1272
+ # @return [String]
1273
+ attr_accessor :description
1274
+
1275
+ # Optional. Specifies the disk name. If not specified, the default is to use the
1276
+ # name of the instance. If the disk with the instance name exists already in the
1277
+ # given zone/region, a new name will be automatically generated.
1278
+ # Corresponds to the JSON property `diskName`
1279
+ # @return [String]
1280
+ attr_accessor :disk_name
1281
+
1282
+ # Optional. Specifies the size of the disk in base-2 GB. If not specified, the
1283
+ # disk will be the same size as the image (usually 10GB). If specified, the size
1284
+ # must be equal to or larger than 10GB. Default 100 GB.
1285
+ # Corresponds to the JSON property `diskSizeGb`
1286
+ # @return [Fixnum]
1287
+ attr_accessor :disk_size_gb
1288
+
1289
+ # Input only. The type of the boot disk attached to this instance, defaults to
1290
+ # standard persistent disk (`PD_STANDARD`).
1291
+ # Corresponds to the JSON property `diskType`
1292
+ # @return [String]
1293
+ attr_accessor :disk_type
1294
+
1295
+ # Optional. Labels to apply to this disk. These can be later modified by the
1296
+ # disks.setLabels method. This field is only applicable for persistent disks.
1297
+ # Corresponds to the JSON property `labels`
1298
+ # @return [Hash<String,String>]
1299
+ attr_accessor :labels
1300
+
1301
+ def initialize(**args)
1302
+ update!(**args)
1303
+ end
1304
+
1305
+ # Update properties of this object
1306
+ def update!(**args)
1307
+ @description = args[:description] if args.key?(:description)
1308
+ @disk_name = args[:disk_name] if args.key?(:disk_name)
1309
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1310
+ @disk_type = args[:disk_type] if args.key?(:disk_type)
1311
+ @labels = args[:labels] if args.key?(:labels)
1312
+ end
1313
+ end
1314
+
1074
1315
  # A resource that represents Google Cloud Platform location.
1075
1316
  class Location
1076
1317
  include Google::Apis::Core::Hashable
@@ -1390,93 +1631,118 @@ module Google
1390
1631
  end
1391
1632
  end
1392
1633
 
1393
- # The definition of a schedule.
1394
- class Schedule
1634
+ # Request for reseting a Managed Notebook Runtime.
1635
+ class ResetRuntimeRequest
1395
1636
  include Google::Apis::Core::Hashable
1396
1637
 
1397
- # Output only. Time the schedule was created.
1398
- # Corresponds to the JSON property `createTime`
1399
- # @return [String]
1400
- attr_accessor :create_time
1638
+ def initialize(**args)
1639
+ update!(**args)
1640
+ end
1401
1641
 
1402
- # Cron-tab formatted schedule by which the job will execute Format: minute, hour,
1403
- # day of month, month, day of week e.g. 0 0 * * WED = every Wednesday More
1404
- # examples: https://crontab.guru/examples.html
1405
- # Corresponds to the JSON property `cronSchedule`
1642
+ # Update properties of this object
1643
+ def update!(**args)
1644
+ end
1645
+ end
1646
+
1647
+ # Request for rollbacking a notebook instance
1648
+ class RollbackInstanceRequest
1649
+ include Google::Apis::Core::Hashable
1650
+
1651
+ # Required. The snapshot for rollback. Example: "projects/test-project/global/
1652
+ # snapshots/krwlzipynril".
1653
+ # Corresponds to the JSON property `targetSnapshot`
1406
1654
  # @return [String]
1407
- attr_accessor :cron_schedule
1655
+ attr_accessor :target_snapshot
1408
1656
 
1409
- # A brief description of this environment.
1410
- # Corresponds to the JSON property `description`
1657
+ def initialize(**args)
1658
+ update!(**args)
1659
+ end
1660
+
1661
+ # Update properties of this object
1662
+ def update!(**args)
1663
+ @target_snapshot = args[:target_snapshot] if args.key?(:target_snapshot)
1664
+ end
1665
+ end
1666
+
1667
+ # The definition of a Runtime for a managed notebook instance.
1668
+ class Runtime
1669
+ include Google::Apis::Core::Hashable
1670
+
1671
+ # Specifies the login configuration for Runtime
1672
+ # Corresponds to the JSON property `accessConfig`
1673
+ # @return [Google::Apis::NotebooksV1::RuntimeAccessConfig]
1674
+ attr_accessor :access_config
1675
+
1676
+ # Output only. Runtime creation time.
1677
+ # Corresponds to the JSON property `createTime`
1411
1678
  # @return [String]
1412
- attr_accessor :description
1679
+ attr_accessor :create_time
1413
1680
 
1414
- # Output only. Display name used for UI purposes. Name can only contain
1415
- # alphanumeric characters, hyphens ‘-’, and underscores ‘_’.
1416
- # Corresponds to the JSON property `displayName`
1681
+ # Output only. Runtime health_state.
1682
+ # Corresponds to the JSON property `healthState`
1417
1683
  # @return [String]
1418
- attr_accessor :display_name
1684
+ attr_accessor :health_state
1419
1685
 
1420
- # The description a notebook execution workload.
1421
- # Corresponds to the JSON property `executionTemplate`
1422
- # @return [Google::Apis::NotebooksV1::ExecutionTemplate]
1423
- attr_accessor :execution_template
1686
+ # Contains runtime daemon metrics, such as OS and kernels and sessions stats.
1687
+ # Corresponds to the JSON property `metrics`
1688
+ # @return [Google::Apis::NotebooksV1::RuntimeMetrics]
1689
+ attr_accessor :metrics
1424
1690
 
1425
- # Output only. The name of this schedule. Format: `projects/`project_id`/
1426
- # locations/`location`/schedules/`schedule_id``
1691
+ # Output only. The resource name of the runtime. Format: `projects/`project`/
1692
+ # locations/`location`/runtimes/`runtime``
1427
1693
  # Corresponds to the JSON property `name`
1428
1694
  # @return [String]
1429
1695
  attr_accessor :name
1430
1696
 
1431
- # Output only. The most recent execution names triggered from this schedule and
1432
- # their corresponding states.
1433
- # Corresponds to the JSON property `recentExecutions`
1434
- # @return [Array<Google::Apis::NotebooksV1::Execution>]
1435
- attr_accessor :recent_executions
1697
+ # Specifies the selection and config of software inside the runtime. / The
1698
+ # properties to set on runtime. Properties keys are specified in `key:value`
1699
+ # format, for example: * idle_shutdown: idle_shutdown=true *
1700
+ # idle_shutdown_timeout: idle_shutdown_timeout=180 * report-system-health:
1701
+ # report-system-health=true
1702
+ # Corresponds to the JSON property `softwareConfig`
1703
+ # @return [Google::Apis::NotebooksV1::RuntimeSoftwareConfig]
1704
+ attr_accessor :software_config
1436
1705
 
1437
- #
1706
+ # Output only. Runtime state.
1438
1707
  # Corresponds to the JSON property `state`
1439
1708
  # @return [String]
1440
1709
  attr_accessor :state
1441
1710
 
1442
- # Timezone on which the cron_schedule. The value of this field must be a time
1443
- # zone name from the tz database. TZ Database: https://en.wikipedia.org/wiki/
1444
- # List_of_tz_database_time_zones Note that some time zones include a provision
1445
- # for daylight savings time. The rules for daylight saving time are determined
1446
- # by the chosen tz. For UTC use the string "utc". If a time zone is not
1447
- # specified, the default will be in UTC (also known as GMT).
1448
- # Corresponds to the JSON property `timeZone`
1449
- # @return [String]
1450
- attr_accessor :time_zone
1451
-
1452
- # Output only. Time the schedule was last updated.
1711
+ # Output only. Runtime update time.
1453
1712
  # Corresponds to the JSON property `updateTime`
1454
1713
  # @return [String]
1455
1714
  attr_accessor :update_time
1456
1715
 
1716
+ # Runtime using Virtual Machine for computing.
1717
+ # Corresponds to the JSON property `virtualMachine`
1718
+ # @return [Google::Apis::NotebooksV1::VirtualMachine]
1719
+ attr_accessor :virtual_machine
1720
+
1457
1721
  def initialize(**args)
1458
1722
  update!(**args)
1459
1723
  end
1460
1724
 
1461
1725
  # Update properties of this object
1462
1726
  def update!(**args)
1727
+ @access_config = args[:access_config] if args.key?(:access_config)
1463
1728
  @create_time = args[:create_time] if args.key?(:create_time)
1464
- @cron_schedule = args[:cron_schedule] if args.key?(:cron_schedule)
1465
- @description = args[:description] if args.key?(:description)
1466
- @display_name = args[:display_name] if args.key?(:display_name)
1467
- @execution_template = args[:execution_template] if args.key?(:execution_template)
1729
+ @health_state = args[:health_state] if args.key?(:health_state)
1730
+ @metrics = args[:metrics] if args.key?(:metrics)
1468
1731
  @name = args[:name] if args.key?(:name)
1469
- @recent_executions = args[:recent_executions] if args.key?(:recent_executions)
1732
+ @software_config = args[:software_config] if args.key?(:software_config)
1470
1733
  @state = args[:state] if args.key?(:state)
1471
- @time_zone = args[:time_zone] if args.key?(:time_zone)
1472
1734
  @update_time = args[:update_time] if args.key?(:update_time)
1735
+ @virtual_machine = args[:virtual_machine] if args.key?(:virtual_machine)
1473
1736
  end
1474
1737
  end
1475
1738
 
1476
- # Definition of a hardware accelerator. Note that not all combinations of `type`
1477
- # and `core_count` are valid. Check GPUs on Compute Engine to find a valid
1478
- # combination. TPUs are not supported.
1479
- class SchedulerAcceleratorConfig
1739
+ # Definition of the types of hardware accelerators that can be used. Definition
1740
+ # of the types of hardware accelerators that can be used. See [Compute Engine
1741
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
1742
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
1743
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
1744
+ # a100`
1745
+ class RuntimeAcceleratorConfig
1480
1746
  include Google::Apis::Core::Hashable
1481
1747
 
1482
1748
  # Count of cores of this accelerator.
@@ -1484,7 +1750,7 @@ module Google
1484
1750
  # @return [Fixnum]
1485
1751
  attr_accessor :core_count
1486
1752
 
1487
- # Type of this accelerator.
1753
+ # Accelerator model.
1488
1754
  # Corresponds to the JSON property `type`
1489
1755
  # @return [String]
1490
1756
  attr_accessor :type
@@ -1500,27 +1766,319 @@ module Google
1500
1766
  end
1501
1767
  end
1502
1768
 
1503
- # Request message for `SetIamPolicy` method.
1504
- class SetIamPolicyRequest
1769
+ # Specifies the login configuration for Runtime
1770
+ class RuntimeAccessConfig
1505
1771
  include Google::Apis::Core::Hashable
1506
1772
 
1507
- # An Identity and Access Management (IAM) policy, which specifies access
1508
- # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1509
- # A `binding` binds one or more `members` to a single `role`. Members can be
1510
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
1511
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
1512
- # role or a user-created custom role. For some types of Google Cloud resources,
1513
- # a `binding` can also specify a `condition`, which is a logical expression that
1514
- # allows access to a resource only if the expression evaluates to `true`. A
1515
- # condition can add constraints based on attributes of the request, the resource,
1516
- # or both. To learn which resources support conditions in their IAM policies,
1517
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1518
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1519
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1520
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1521
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1522
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1523
- # title": "expirable access", "description": "Does not grant access after Sep
1773
+ # The type of access mode this instance.
1774
+ # Corresponds to the JSON property `accessType`
1775
+ # @return [String]
1776
+ attr_accessor :access_type
1777
+
1778
+ # Output only. The proxy endpoint that is used to access the runtime.
1779
+ # Corresponds to the JSON property `proxyUri`
1780
+ # @return [String]
1781
+ attr_accessor :proxy_uri
1782
+
1783
+ # The owner of this runtime after creation. Format: `alias@example.com`
1784
+ # Currently supports one owner only.
1785
+ # Corresponds to the JSON property `runtimeOwner`
1786
+ # @return [String]
1787
+ attr_accessor :runtime_owner
1788
+
1789
+ def initialize(**args)
1790
+ update!(**args)
1791
+ end
1792
+
1793
+ # Update properties of this object
1794
+ def update!(**args)
1795
+ @access_type = args[:access_type] if args.key?(:access_type)
1796
+ @proxy_uri = args[:proxy_uri] if args.key?(:proxy_uri)
1797
+ @runtime_owner = args[:runtime_owner] if args.key?(:runtime_owner)
1798
+ end
1799
+ end
1800
+
1801
+ # A list of features to enable on the guest operating system. Applicable only
1802
+ # for bootable images. Read Enabling guest operating system features to see a
1803
+ # list of available options. Guest OS features for boot disk.
1804
+ class RuntimeGuestOsFeature
1805
+ include Google::Apis::Core::Hashable
1806
+
1807
+ # The ID of a supported feature. Read Enabling guest operating system features
1808
+ # to see a list of available options. Valid values: FEATURE_TYPE_UNSPECIFIED
1809
+ # MULTI_IP_SUBNET SECURE_BOOT UEFI_COMPATIBLE VIRTIO_SCSI_MULTIQUEUE WINDOWS
1810
+ # Corresponds to the JSON property `type`
1811
+ # @return [String]
1812
+ attr_accessor :type
1813
+
1814
+ def initialize(**args)
1815
+ update!(**args)
1816
+ end
1817
+
1818
+ # Update properties of this object
1819
+ def update!(**args)
1820
+ @type = args[:type] if args.key?(:type)
1821
+ end
1822
+ end
1823
+
1824
+ # Contains runtime daemon metrics, such as OS and kernels and sessions stats.
1825
+ class RuntimeMetrics
1826
+ include Google::Apis::Core::Hashable
1827
+
1828
+ # Output only. The system metrics.
1829
+ # Corresponds to the JSON property `systemMetrics`
1830
+ # @return [Hash<String,String>]
1831
+ attr_accessor :system_metrics
1832
+
1833
+ def initialize(**args)
1834
+ update!(**args)
1835
+ end
1836
+
1837
+ # Update properties of this object
1838
+ def update!(**args)
1839
+ @system_metrics = args[:system_metrics] if args.key?(:system_metrics)
1840
+ end
1841
+ end
1842
+
1843
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
1844
+ # features] Not all combinations are valid.
1845
+ class RuntimeShieldedInstanceConfig
1846
+ include Google::Apis::Core::Hashable
1847
+
1848
+ # Defines whether the instance has integrity monitoring enabled. Enables
1849
+ # monitoring and attestation of the boot integrity of the instance. The
1850
+ # attestation is performed against the integrity policy baseline. This baseline
1851
+ # is initially derived from the implicitly trusted boot image when the instance
1852
+ # is created. Enabled by default.
1853
+ # Corresponds to the JSON property `enableIntegrityMonitoring`
1854
+ # @return [Boolean]
1855
+ attr_accessor :enable_integrity_monitoring
1856
+ alias_method :enable_integrity_monitoring?, :enable_integrity_monitoring
1857
+
1858
+ # Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure
1859
+ # that the system only runs authentic software by verifying the digital
1860
+ # signature of all boot components, and halting the boot process if signature
1861
+ # verification fails. Disabled by default.
1862
+ # Corresponds to the JSON property `enableSecureBoot`
1863
+ # @return [Boolean]
1864
+ attr_accessor :enable_secure_boot
1865
+ alias_method :enable_secure_boot?, :enable_secure_boot
1866
+
1867
+ # Defines whether the instance has the vTPM enabled. Enabled by default.
1868
+ # Corresponds to the JSON property `enableVtpm`
1869
+ # @return [Boolean]
1870
+ attr_accessor :enable_vtpm
1871
+ alias_method :enable_vtpm?, :enable_vtpm
1872
+
1873
+ def initialize(**args)
1874
+ update!(**args)
1875
+ end
1876
+
1877
+ # Update properties of this object
1878
+ def update!(**args)
1879
+ @enable_integrity_monitoring = args[:enable_integrity_monitoring] if args.key?(:enable_integrity_monitoring)
1880
+ @enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot)
1881
+ @enable_vtpm = args[:enable_vtpm] if args.key?(:enable_vtpm)
1882
+ end
1883
+ end
1884
+
1885
+ # Specifies the selection and config of software inside the runtime. / The
1886
+ # properties to set on runtime. Properties keys are specified in `key:value`
1887
+ # format, for example: * idle_shutdown: idle_shutdown=true *
1888
+ # idle_shutdown_timeout: idle_shutdown_timeout=180 * report-system-health:
1889
+ # report-system-health=true
1890
+ class RuntimeSoftwareConfig
1891
+ include Google::Apis::Core::Hashable
1892
+
1893
+ # Specify a custom Cloud Storage path where the GPU driver is stored. If not
1894
+ # specified, we'll automatically choose from official GPU drivers.
1895
+ # Corresponds to the JSON property `customGpuDriverPath`
1896
+ # @return [String]
1897
+ attr_accessor :custom_gpu_driver_path
1898
+
1899
+ # Verifies core internal services are running. Default: True
1900
+ # Corresponds to the JSON property `enableHealthMonitoring`
1901
+ # @return [Boolean]
1902
+ attr_accessor :enable_health_monitoring
1903
+ alias_method :enable_health_monitoring?, :enable_health_monitoring
1904
+
1905
+ # Runtime will automatically shutdown after idle_shutdown_time. Default: False
1906
+ # Corresponds to the JSON property `idleShutdown`
1907
+ # @return [Boolean]
1908
+ attr_accessor :idle_shutdown
1909
+ alias_method :idle_shutdown?, :idle_shutdown
1910
+
1911
+ # Time in minutes to wait before shuting down runtime. Default: 90 minutes
1912
+ # Corresponds to the JSON property `idleShutdownTimeout`
1913
+ # @return [Fixnum]
1914
+ attr_accessor :idle_shutdown_timeout
1915
+
1916
+ # Install Nvidia Driver automatically.
1917
+ # Corresponds to the JSON property `installGpuDriver`
1918
+ # @return [Boolean]
1919
+ attr_accessor :install_gpu_driver
1920
+ alias_method :install_gpu_driver?, :install_gpu_driver
1921
+
1922
+ # Cron expression in UTC timezone, used to schedule instance auto upgrade.
1923
+ # Please follow the [cron format](https://en.wikipedia.org/wiki/Cron).
1924
+ # Corresponds to the JSON property `notebookUpgradeSchedule`
1925
+ # @return [String]
1926
+ attr_accessor :notebook_upgrade_schedule
1927
+
1928
+ # Path to a Bash script that automatically runs after a notebook instance fully
1929
+ # boots up. The path must be a URL or Cloud Storage path (gs://path-to-file/file-
1930
+ # name).
1931
+ # Corresponds to the JSON property `postStartupScript`
1932
+ # @return [String]
1933
+ attr_accessor :post_startup_script
1934
+
1935
+ def initialize(**args)
1936
+ update!(**args)
1937
+ end
1938
+
1939
+ # Update properties of this object
1940
+ def update!(**args)
1941
+ @custom_gpu_driver_path = args[:custom_gpu_driver_path] if args.key?(:custom_gpu_driver_path)
1942
+ @enable_health_monitoring = args[:enable_health_monitoring] if args.key?(:enable_health_monitoring)
1943
+ @idle_shutdown = args[:idle_shutdown] if args.key?(:idle_shutdown)
1944
+ @idle_shutdown_timeout = args[:idle_shutdown_timeout] if args.key?(:idle_shutdown_timeout)
1945
+ @install_gpu_driver = args[:install_gpu_driver] if args.key?(:install_gpu_driver)
1946
+ @notebook_upgrade_schedule = args[:notebook_upgrade_schedule] if args.key?(:notebook_upgrade_schedule)
1947
+ @post_startup_script = args[:post_startup_script] if args.key?(:post_startup_script)
1948
+ end
1949
+ end
1950
+
1951
+ # The definition of a schedule.
1952
+ class Schedule
1953
+ include Google::Apis::Core::Hashable
1954
+
1955
+ # Output only. Time the schedule was created.
1956
+ # Corresponds to the JSON property `createTime`
1957
+ # @return [String]
1958
+ attr_accessor :create_time
1959
+
1960
+ # Cron-tab formatted schedule by which the job will execute Format: minute, hour,
1961
+ # day of month, month, day of week e.g. 0 0 * * WED = every Wednesday More
1962
+ # examples: https://crontab.guru/examples.html
1963
+ # Corresponds to the JSON property `cronSchedule`
1964
+ # @return [String]
1965
+ attr_accessor :cron_schedule
1966
+
1967
+ # A brief description of this environment.
1968
+ # Corresponds to the JSON property `description`
1969
+ # @return [String]
1970
+ attr_accessor :description
1971
+
1972
+ # Output only. Display name used for UI purposes. Name can only contain
1973
+ # alphanumeric characters, hyphens '-', and underscores '_'.
1974
+ # Corresponds to the JSON property `displayName`
1975
+ # @return [String]
1976
+ attr_accessor :display_name
1977
+
1978
+ # The description a notebook execution workload.
1979
+ # Corresponds to the JSON property `executionTemplate`
1980
+ # @return [Google::Apis::NotebooksV1::ExecutionTemplate]
1981
+ attr_accessor :execution_template
1982
+
1983
+ # Output only. The name of this schedule. Format: `projects/`project_id`/
1984
+ # locations/`location`/schedules/`schedule_id``
1985
+ # Corresponds to the JSON property `name`
1986
+ # @return [String]
1987
+ attr_accessor :name
1988
+
1989
+ # Output only. The most recent execution names triggered from this schedule and
1990
+ # their corresponding states.
1991
+ # Corresponds to the JSON property `recentExecutions`
1992
+ # @return [Array<Google::Apis::NotebooksV1::Execution>]
1993
+ attr_accessor :recent_executions
1994
+
1995
+ #
1996
+ # Corresponds to the JSON property `state`
1997
+ # @return [String]
1998
+ attr_accessor :state
1999
+
2000
+ # Timezone on which the cron_schedule. The value of this field must be a time
2001
+ # zone name from the tz database. TZ Database: https://en.wikipedia.org/wiki/
2002
+ # List_of_tz_database_time_zones Note that some time zones include a provision
2003
+ # for daylight savings time. The rules for daylight saving time are determined
2004
+ # by the chosen tz. For UTC use the string "utc". If a time zone is not
2005
+ # specified, the default will be in UTC (also known as GMT).
2006
+ # Corresponds to the JSON property `timeZone`
2007
+ # @return [String]
2008
+ attr_accessor :time_zone
2009
+
2010
+ # Output only. Time the schedule was last updated.
2011
+ # Corresponds to the JSON property `updateTime`
2012
+ # @return [String]
2013
+ attr_accessor :update_time
2014
+
2015
+ def initialize(**args)
2016
+ update!(**args)
2017
+ end
2018
+
2019
+ # Update properties of this object
2020
+ def update!(**args)
2021
+ @create_time = args[:create_time] if args.key?(:create_time)
2022
+ @cron_schedule = args[:cron_schedule] if args.key?(:cron_schedule)
2023
+ @description = args[:description] if args.key?(:description)
2024
+ @display_name = args[:display_name] if args.key?(:display_name)
2025
+ @execution_template = args[:execution_template] if args.key?(:execution_template)
2026
+ @name = args[:name] if args.key?(:name)
2027
+ @recent_executions = args[:recent_executions] if args.key?(:recent_executions)
2028
+ @state = args[:state] if args.key?(:state)
2029
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
2030
+ @update_time = args[:update_time] if args.key?(:update_time)
2031
+ end
2032
+ end
2033
+
2034
+ # Definition of a hardware accelerator. Note that not all combinations of `type`
2035
+ # and `core_count` are valid. Check GPUs on Compute Engine to find a valid
2036
+ # combination. TPUs are not supported.
2037
+ class SchedulerAcceleratorConfig
2038
+ include Google::Apis::Core::Hashable
2039
+
2040
+ # Count of cores of this accelerator.
2041
+ # Corresponds to the JSON property `coreCount`
2042
+ # @return [Fixnum]
2043
+ attr_accessor :core_count
2044
+
2045
+ # Type of this accelerator.
2046
+ # Corresponds to the JSON property `type`
2047
+ # @return [String]
2048
+ attr_accessor :type
2049
+
2050
+ def initialize(**args)
2051
+ update!(**args)
2052
+ end
2053
+
2054
+ # Update properties of this object
2055
+ def update!(**args)
2056
+ @core_count = args[:core_count] if args.key?(:core_count)
2057
+ @type = args[:type] if args.key?(:type)
2058
+ end
2059
+ end
2060
+
2061
+ # Request message for `SetIamPolicy` method.
2062
+ class SetIamPolicyRequest
2063
+ include Google::Apis::Core::Hashable
2064
+
2065
+ # An Identity and Access Management (IAM) policy, which specifies access
2066
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
2067
+ # A `binding` binds one or more `members` to a single `role`. Members can be
2068
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
2069
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
2070
+ # role or a user-created custom role. For some types of Google Cloud resources,
2071
+ # a `binding` can also specify a `condition`, which is a logical expression that
2072
+ # allows access to a resource only if the expression evaluates to `true`. A
2073
+ # condition can add constraints based on attributes of the request, the resource,
2074
+ # or both. To learn which resources support conditions in their IAM policies,
2075
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
2076
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
2077
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
2078
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
2079
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
2080
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
2081
+ # title": "expirable access", "description": "Does not grant access after Sep
1524
2082
  # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1525
2083
  # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1526
2084
  # members: - user:mike@example.com - group:admins@example.com - domain:google.
@@ -1668,6 +2226,19 @@ module Google
1668
2226
  end
1669
2227
  end
1670
2228
 
2229
+ # Request for starting a Managed Notebook Runtime.
2230
+ class StartRuntimeRequest
2231
+ include Google::Apis::Core::Hashable
2232
+
2233
+ def initialize(**args)
2234
+ update!(**args)
2235
+ end
2236
+
2237
+ # Update properties of this object
2238
+ def update!(**args)
2239
+ end
2240
+ end
2241
+
1671
2242
  # The `Status` type defines a logical error model that is suitable for different
1672
2243
  # programming environments, including REST APIs and RPC APIs. It is used by [
1673
2244
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -1720,6 +2291,49 @@ module Google
1720
2291
  end
1721
2292
  end
1722
2293
 
2294
+ # Request for stopping a Managed Notebook Runtime.
2295
+ class StopRuntimeRequest
2296
+ include Google::Apis::Core::Hashable
2297
+
2298
+ def initialize(**args)
2299
+ update!(**args)
2300
+ end
2301
+
2302
+ # Update properties of this object
2303
+ def update!(**args)
2304
+ end
2305
+ end
2306
+
2307
+ # Request for switching a Managed Notebook Runtime.
2308
+ class SwitchRuntimeRequest
2309
+ include Google::Apis::Core::Hashable
2310
+
2311
+ # Definition of the types of hardware accelerators that can be used. Definition
2312
+ # of the types of hardware accelerators that can be used. See [Compute Engine
2313
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
2314
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
2315
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
2316
+ # a100`
2317
+ # Corresponds to the JSON property `acceleratorConfig`
2318
+ # @return [Google::Apis::NotebooksV1::RuntimeAcceleratorConfig]
2319
+ attr_accessor :accelerator_config
2320
+
2321
+ # machine type.
2322
+ # Corresponds to the JSON property `machineType`
2323
+ # @return [String]
2324
+ attr_accessor :machine_type
2325
+
2326
+ def initialize(**args)
2327
+ update!(**args)
2328
+ end
2329
+
2330
+ # Update properties of this object
2331
+ def update!(**args)
2332
+ @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config)
2333
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
2334
+ end
2335
+ end
2336
+
1723
2337
  # Request message for `TestIamPermissions` method.
1724
2338
  class TestIamPermissionsRequest
1725
2339
  include Google::Apis::Core::Hashable
@@ -1773,6 +2387,27 @@ module Google
1773
2387
  end
1774
2388
  end
1775
2389
 
2390
+ # Request for updating the Shielded Instance config for a notebook instance. You
2391
+ # can only use this method on a stopped instance
2392
+ class UpdateShieldedInstanceConfigRequest
2393
+ include Google::Apis::Core::Hashable
2394
+
2395
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
2396
+ # features] Not all combinations are valid.
2397
+ # Corresponds to the JSON property `shieldedInstanceConfig`
2398
+ # @return [Google::Apis::NotebooksV1::ShieldedInstanceConfig]
2399
+ attr_accessor :shielded_instance_config
2400
+
2401
+ def initialize(**args)
2402
+ update!(**args)
2403
+ end
2404
+
2405
+ # Update properties of this object
2406
+ def update!(**args)
2407
+ @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
2408
+ end
2409
+ end
2410
+
1776
2411
  # The entry of VM image upgrade history.
1777
2412
  class UpgradeHistoryEntry
1778
2413
  include Google::Apis::Core::Hashable
@@ -1879,6 +2514,179 @@ module Google
1879
2514
  end
1880
2515
  end
1881
2516
 
2517
+ # Runtime using Virtual Machine for computing.
2518
+ class VirtualMachine
2519
+ include Google::Apis::Core::Hashable
2520
+
2521
+ # Output only. The unique identifier of the Managed Compute Engine instance.
2522
+ # Corresponds to the JSON property `instanceId`
2523
+ # @return [String]
2524
+ attr_accessor :instance_id
2525
+
2526
+ # Output only. The user-friendly name of the Managed Compute Engine instance.
2527
+ # Corresponds to the JSON property `instanceName`
2528
+ # @return [String]
2529
+ attr_accessor :instance_name
2530
+
2531
+ # The config settings for virtual machine.
2532
+ # Corresponds to the JSON property `virtualMachineConfig`
2533
+ # @return [Google::Apis::NotebooksV1::VirtualMachineConfig]
2534
+ attr_accessor :virtual_machine_config
2535
+
2536
+ def initialize(**args)
2537
+ update!(**args)
2538
+ end
2539
+
2540
+ # Update properties of this object
2541
+ def update!(**args)
2542
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
2543
+ @instance_name = args[:instance_name] if args.key?(:instance_name)
2544
+ @virtual_machine_config = args[:virtual_machine_config] if args.key?(:virtual_machine_config)
2545
+ end
2546
+ end
2547
+
2548
+ # The config settings for virtual machine.
2549
+ class VirtualMachineConfig
2550
+ include Google::Apis::Core::Hashable
2551
+
2552
+ # Definition of the types of hardware accelerators that can be used. Definition
2553
+ # of the types of hardware accelerators that can be used. See [Compute Engine
2554
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
2555
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
2556
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
2557
+ # a100`
2558
+ # Corresponds to the JSON property `acceleratorConfig`
2559
+ # @return [Google::Apis::NotebooksV1::RuntimeAcceleratorConfig]
2560
+ attr_accessor :accelerator_config
2561
+
2562
+ # Optional. Use a list of container images to start the notebook instance.
2563
+ # Corresponds to the JSON property `containerImages`
2564
+ # @return [Array<Google::Apis::NotebooksV1::ContainerImage>]
2565
+ attr_accessor :container_images
2566
+
2567
+ # An Local attached disk resource.
2568
+ # Corresponds to the JSON property `dataDisk`
2569
+ # @return [Google::Apis::NotebooksV1::LocalDisk]
2570
+ attr_accessor :data_disk
2571
+
2572
+ # Represents a custom encryption key configuration that can be applied to a
2573
+ # resource. This will encrypt all disks in Virtual Machine.
2574
+ # Corresponds to the JSON property `encryptionConfig`
2575
+ # @return [Google::Apis::NotebooksV1::EncryptionConfig]
2576
+ attr_accessor :encryption_config
2577
+
2578
+ # Output only. The Compute Engine guest attributes. (see [Project and instance
2579
+ # guest attributes](https://cloud.google.com/compute/docs/storing-retrieving-
2580
+ # metadata#guest_attributes)).
2581
+ # Corresponds to the JSON property `guestAttributes`
2582
+ # @return [Hash<String,String>]
2583
+ attr_accessor :guest_attributes
2584
+
2585
+ # Optional. If true, runtime will only have internal IP addresses. By default,
2586
+ # runtimes are not restricted to internal IP addresses, and will have ephemeral
2587
+ # external IP addresses assigned to each vm. This `internal_ip_only` restriction
2588
+ # can only be enabled for subnetwork enabled networks, and all dependencies must
2589
+ # be configured to be accessible without external IP addresses.
2590
+ # Corresponds to the JSON property `internalIpOnly`
2591
+ # @return [Boolean]
2592
+ attr_accessor :internal_ip_only
2593
+ alias_method :internal_ip_only?, :internal_ip_only
2594
+
2595
+ # Optional. The labels to associate with this runtime. Label **keys** must
2596
+ # contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.
2597
+ # org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must
2598
+ # contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.
2599
+ # org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster.
2600
+ # Corresponds to the JSON property `labels`
2601
+ # @return [Hash<String,String>]
2602
+ attr_accessor :labels
2603
+
2604
+ # Required. The Compute Engine machine type used for runtimes. Short name is
2605
+ # valid. Examples: * `n1-standard-2` * `e2-standard-8`
2606
+ # Corresponds to the JSON property `machineType`
2607
+ # @return [String]
2608
+ attr_accessor :machine_type
2609
+
2610
+ # Optional. The Compute Engine metadata entries to add to virtual machine. (see [
2611
+ # Project and instance metadata](https://cloud.google.com/compute/docs/storing-
2612
+ # retrieving-metadata#project_and_instance_metadata)).
2613
+ # Corresponds to the JSON property `metadata`
2614
+ # @return [Hash<String,String>]
2615
+ attr_accessor :metadata
2616
+
2617
+ # Optional. The Compute Engine network to be used for machine communications.
2618
+ # Cannot be specified with subnetwork. If neither `network` nor `subnet` is
2619
+ # specified, the "default" network of the project is used, if it exists. A full
2620
+ # URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/
2621
+ # projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/
2622
+ # global/default` Runtimes are managed resources inside Google Infrastructure.
2623
+ # Runtimes support the following network configurations: * Google Managed
2624
+ # Network (Network & subnet are empty) * Consumer Project VPC (network & subnet
2625
+ # are required). Requires configuring Private Service Access. * Shared VPC (
2626
+ # network & subnet are required). Requires configuring Private Service Access.
2627
+ # Corresponds to the JSON property `network`
2628
+ # @return [String]
2629
+ attr_accessor :network
2630
+
2631
+ # Optional. The type of vNIC to be used on this interface. This may be gVNIC or
2632
+ # VirtioNet.
2633
+ # Corresponds to the JSON property `nicType`
2634
+ # @return [String]
2635
+ attr_accessor :nic_type
2636
+
2637
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
2638
+ # features] Not all combinations are valid.
2639
+ # Corresponds to the JSON property `shieldedInstanceConfig`
2640
+ # @return [Google::Apis::NotebooksV1::RuntimeShieldedInstanceConfig]
2641
+ attr_accessor :shielded_instance_config
2642
+
2643
+ # Optional. The Compute Engine subnetwork to be used for machine communications.
2644
+ # Cannot be specified with network. A full URL or partial URI are valid.
2645
+ # Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/
2646
+ # regions/us-east1/subnetworks/sub0` * `projects/[project_id]/regions/us-east1/
2647
+ # subnetworks/sub0`
2648
+ # Corresponds to the JSON property `subnet`
2649
+ # @return [String]
2650
+ attr_accessor :subnet
2651
+
2652
+ # Optional. The Compute Engine tags to add to runtime (see [Tagging instances](
2653
+ # https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
2654
+ # Corresponds to the JSON property `tags`
2655
+ # @return [Array<String>]
2656
+ attr_accessor :tags
2657
+
2658
+ # Output only. The zone where the virtual machine is located. If using regional
2659
+ # request, the notebooks service will pick a location in the corresponding
2660
+ # runtime region. On a get request, zone will always be present. Example: * `us-
2661
+ # central1-b`
2662
+ # Corresponds to the JSON property `zone`
2663
+ # @return [String]
2664
+ attr_accessor :zone
2665
+
2666
+ def initialize(**args)
2667
+ update!(**args)
2668
+ end
2669
+
2670
+ # Update properties of this object
2671
+ def update!(**args)
2672
+ @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config)
2673
+ @container_images = args[:container_images] if args.key?(:container_images)
2674
+ @data_disk = args[:data_disk] if args.key?(:data_disk)
2675
+ @encryption_config = args[:encryption_config] if args.key?(:encryption_config)
2676
+ @guest_attributes = args[:guest_attributes] if args.key?(:guest_attributes)
2677
+ @internal_ip_only = args[:internal_ip_only] if args.key?(:internal_ip_only)
2678
+ @labels = args[:labels] if args.key?(:labels)
2679
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
2680
+ @metadata = args[:metadata] if args.key?(:metadata)
2681
+ @network = args[:network] if args.key?(:network)
2682
+ @nic_type = args[:nic_type] if args.key?(:nic_type)
2683
+ @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
2684
+ @subnet = args[:subnet] if args.key?(:subnet)
2685
+ @tags = args[:tags] if args.key?(:tags)
2686
+ @zone = args[:zone] if args.key?(:zone)
2687
+ end
2688
+ end
2689
+
1882
2690
  # Definition of a custom Compute Engine virtual machine image for starting a
1883
2691
  # notebook instance with the environment installed directly on the VM.
1884
2692
  class VmImage