google-apis-notebooks_v1 0.5.0 → 0.10.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: d715939660548e01f218d1cbca1bdf42eb266bc814ab09577b3b4b50076807fb
4
- data.tar.gz: 34240a2a09cd38dd0d1c2226ea66821937611a303a6b00f9cf8986b23c10f08e
3
+ metadata.gz: d96a16be4cd2fa58a43ccb0b8d8ebc74b6e2243cc73cdbd113e9c1e8a606c0ef
4
+ data.tar.gz: 4181fc9077806c0f1195a3870ef044011cb806a7b05c622b8b2ebfb8e0475d13
5
5
  SHA512:
6
- metadata.gz: 913a8b6204265d42ae034d3b336ed60b552d24c398e953b3c870bc711d175ea4f0718e00f077b83fce54ca92fdc8aceb7bd4111a0cedd74226d68fcd322b3c20
7
- data.tar.gz: 82eccc959d6c1766951d774b253f29f0b9ef8b1b986ef56ff1921b717b4c205611eb69891dcfe1f696adc898d44e3db81de8a23ef11a08b101efe7f3fde87383
6
+ metadata.gz: 0abb51c3b743d5e5d2ae642ebe8c92b8c8830e40845dffa27ec766d2fb64d9f90cbfcb5cc3d17d4319b155e158a8c4dcf83ddabb8e2755da5a9e43488b63c8d1
7
+ data.tar.gz: a292966ce400054f1fa09b6e7729db0f95a0ec9937efac912bd09476d152e88323adc53d2057f42673abcfa3b300a9a38c8cdbcf5a6f3bc35068eab571ba5ce7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-notebooks_v1
2
2
 
3
+ ### v0.10.0 (2021-06-15)
4
+
5
+ * Regenerated from discovery document revision 20210610
6
+
7
+ ### v0.9.0 (2021-06-09)
8
+
9
+ * Regenerated from discovery document revision 20210603
10
+ * Regenerated using generator version 0.3.0
11
+
12
+ ### v0.8.0 (2021-05-19)
13
+
14
+ * Unspecified changes
15
+
16
+ ### v0.7.0 (2021-04-28)
17
+
18
+ * Regenerated from discovery document revision 20210422
19
+
20
+ ### v0.6.0 (2021-03-31)
21
+
22
+ * Regenerated from discovery document revision 20210323
23
+
3
24
  ### v0.5.0 (2021-03-12)
4
25
 
5
26
  * Regenerated from discovery document revision 20210305
@@ -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)
@@ -854,6 +891,33 @@ module Google
854
891
  end
855
892
  end
856
893
 
894
+ # Notebook instance configurations that can be updated.
895
+ class InstanceConfig
896
+ include Google::Apis::Core::Hashable
897
+
898
+ # Verifies core internal services are running. More info: go/notebooks-health
899
+ # Corresponds to the JSON property `enableHealthMonitoring`
900
+ # @return [Boolean]
901
+ attr_accessor :enable_health_monitoring
902
+ alias_method :enable_health_monitoring?, :enable_health_monitoring
903
+
904
+ # Cron expression in UTC timezone, used to schedule instance auto upgrade.
905
+ # Please follow the [cron format](https://en.wikipedia.org/wiki/Cron).
906
+ # Corresponds to the JSON property `notebookUpgradeSchedule`
907
+ # @return [String]
908
+ attr_accessor :notebook_upgrade_schedule
909
+
910
+ def initialize(**args)
911
+ update!(**args)
912
+ end
913
+
914
+ # Update properties of this object
915
+ def update!(**args)
916
+ @enable_health_monitoring = args[:enable_health_monitoring] if args.key?(:enable_health_monitoring)
917
+ @notebook_upgrade_schedule = args[:notebook_upgrade_schedule] if args.key?(:notebook_upgrade_schedule)
918
+ end
919
+ end
920
+
857
921
  # Response for checking if a notebook instance is upgradeable.
858
922
  class IsInstanceUpgradeableResponse
859
923
  include Google::Apis::Core::Hashable
@@ -1045,6 +1109,39 @@ module Google
1045
1109
  end
1046
1110
  end
1047
1111
 
1112
+ # Response for listing Managed Notebook Runtimes.
1113
+ class ListRuntimesResponse
1114
+ include Google::Apis::Core::Hashable
1115
+
1116
+ # Page token that can be used to continue listing from the last result in the
1117
+ # next list call.
1118
+ # Corresponds to the JSON property `nextPageToken`
1119
+ # @return [String]
1120
+ attr_accessor :next_page_token
1121
+
1122
+ # A list of returned Runtimes.
1123
+ # Corresponds to the JSON property `runtimes`
1124
+ # @return [Array<Google::Apis::NotebooksV1::Runtime>]
1125
+ attr_accessor :runtimes
1126
+
1127
+ # Locations that could not be reached. For example, ['us-west1', 'us-central1'].
1128
+ # A ListRuntimesResponse will only contain either runtimes or unreachables,
1129
+ # Corresponds to the JSON property `unreachable`
1130
+ # @return [Array<String>]
1131
+ attr_accessor :unreachable
1132
+
1133
+ def initialize(**args)
1134
+ update!(**args)
1135
+ end
1136
+
1137
+ # Update properties of this object
1138
+ def update!(**args)
1139
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1140
+ @runtimes = args[:runtimes] if args.key?(:runtimes)
1141
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1142
+ end
1143
+ end
1144
+
1048
1145
  # Response for listing scheduled notebook job.
1049
1146
  class ListSchedulesResponse
1050
1147
  include Google::Apis::Core::Hashable
@@ -1079,6 +1176,169 @@ module Google
1079
1176
  end
1080
1177
  end
1081
1178
 
1179
+ # An Local attached disk resource.
1180
+ class LocalDisk
1181
+ include Google::Apis::Core::Hashable
1182
+
1183
+ # Output only. Specifies whether the disk will be auto-deleted when the instance
1184
+ # is deleted (but not when the disk is detached from the instance).
1185
+ # Corresponds to the JSON property `autoDelete`
1186
+ # @return [Boolean]
1187
+ attr_accessor :auto_delete
1188
+ alias_method :auto_delete?, :auto_delete
1189
+
1190
+ # Output only. Indicates that this is a boot disk. The virtual machine will use
1191
+ # the first partition of the disk for its root filesystem.
1192
+ # Corresponds to the JSON property `boot`
1193
+ # @return [Boolean]
1194
+ attr_accessor :boot
1195
+ alias_method :boot?, :boot
1196
+
1197
+ # Output only. Specifies a unique device name of your choice that is reflected
1198
+ # into the /dev/disk/by-id/google-* tree of a Linux operating system running
1199
+ # within the instance. This name can be used to reference the device for
1200
+ # mounting, resizing, and so on, from within the instance. If not specified, the
1201
+ # server chooses a default device name to apply to this disk, in the form
1202
+ # persistent-disk-x, where x is a number assigned by Google Compute Engine. This
1203
+ # field is only applicable for persistent disks.
1204
+ # Corresponds to the JSON property `deviceName`
1205
+ # @return [String]
1206
+ attr_accessor :device_name
1207
+
1208
+ # Output only. Indicates a list of features to enable on the guest operating
1209
+ # system. Applicable only for bootable images. Read Enabling guest operating
1210
+ # system features to see a list of available options.
1211
+ # Corresponds to the JSON property `guestOsFeatures`
1212
+ # @return [Array<Google::Apis::NotebooksV1::RuntimeGuestOsFeature>]
1213
+ attr_accessor :guest_os_features
1214
+
1215
+ # Output only. [Output Only] A zero-based index to this disk, where 0 is
1216
+ # reserved for the boot disk. If you have many disks attached to an instance,
1217
+ # each disk would have a unique index number.
1218
+ # Corresponds to the JSON property `index`
1219
+ # @return [Fixnum]
1220
+ attr_accessor :index
1221
+
1222
+ # [Input Only] Specifies the parameters for a new disk that will be created
1223
+ # alongside the new instance. Use initialization parameters to create boot disks
1224
+ # or local SSDs attached to the new runtime. This property is mutually exclusive
1225
+ # with the source property; you can only define one or the other, but not both.
1226
+ # Corresponds to the JSON property `initializeParams`
1227
+ # @return [Google::Apis::NotebooksV1::LocalDiskInitializeParams]
1228
+ attr_accessor :initialize_params
1229
+
1230
+ # Specifies the disk interface to use for attaching this disk, which is either
1231
+ # SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and
1232
+ # the request will fail if you attempt to attach a persistent disk in any other
1233
+ # format than SCSI. Local SSDs can use either NVME or SCSI. For performance
1234
+ # characteristics of SCSI over NVMe, see Local SSD performance. Valid values:
1235
+ # NVME SCSI
1236
+ # Corresponds to the JSON property `interface`
1237
+ # @return [String]
1238
+ attr_accessor :interface
1239
+
1240
+ # Output only. Type of the resource. Always compute#attachedDisk for attached
1241
+ # disks.
1242
+ # Corresponds to the JSON property `kind`
1243
+ # @return [String]
1244
+ attr_accessor :kind
1245
+
1246
+ # Output only. [Output Only] Any valid publicly visible licenses.
1247
+ # Corresponds to the JSON property `licenses`
1248
+ # @return [Array<String>]
1249
+ attr_accessor :licenses
1250
+
1251
+ # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
1252
+ # specified, the default is to attach the disk in READ_WRITE mode. Valid values:
1253
+ # READ_ONLY READ_WRITE
1254
+ # Corresponds to the JSON property `mode`
1255
+ # @return [String]
1256
+ attr_accessor :mode
1257
+
1258
+ # Specifies a valid partial or full URL to an existing Persistent Disk resource.
1259
+ # Corresponds to the JSON property `source`
1260
+ # @return [String]
1261
+ attr_accessor :source
1262
+
1263
+ # Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified,
1264
+ # the default is PERSISTENT. Valid values: PERSISTENT SCRATCH
1265
+ # Corresponds to the JSON property `type`
1266
+ # @return [String]
1267
+ attr_accessor :type
1268
+
1269
+ def initialize(**args)
1270
+ update!(**args)
1271
+ end
1272
+
1273
+ # Update properties of this object
1274
+ def update!(**args)
1275
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
1276
+ @boot = args[:boot] if args.key?(:boot)
1277
+ @device_name = args[:device_name] if args.key?(:device_name)
1278
+ @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
1279
+ @index = args[:index] if args.key?(:index)
1280
+ @initialize_params = args[:initialize_params] if args.key?(:initialize_params)
1281
+ @interface = args[:interface] if args.key?(:interface)
1282
+ @kind = args[:kind] if args.key?(:kind)
1283
+ @licenses = args[:licenses] if args.key?(:licenses)
1284
+ @mode = args[:mode] if args.key?(:mode)
1285
+ @source = args[:source] if args.key?(:source)
1286
+ @type = args[:type] if args.key?(:type)
1287
+ end
1288
+ end
1289
+
1290
+ # [Input Only] Specifies the parameters for a new disk that will be created
1291
+ # alongside the new instance. Use initialization parameters to create boot disks
1292
+ # or local SSDs attached to the new runtime. This property is mutually exclusive
1293
+ # with the source property; you can only define one or the other, but not both.
1294
+ class LocalDiskInitializeParams
1295
+ include Google::Apis::Core::Hashable
1296
+
1297
+ # Optional. Provide this property when creating the disk.
1298
+ # Corresponds to the JSON property `description`
1299
+ # @return [String]
1300
+ attr_accessor :description
1301
+
1302
+ # Optional. Specifies the disk name. If not specified, the default is to use the
1303
+ # name of the instance. If the disk with the instance name exists already in the
1304
+ # given zone/region, a new name will be automatically generated.
1305
+ # Corresponds to the JSON property `diskName`
1306
+ # @return [String]
1307
+ attr_accessor :disk_name
1308
+
1309
+ # Optional. Specifies the size of the disk in base-2 GB. If not specified, the
1310
+ # disk will be the same size as the image (usually 10GB). If specified, the size
1311
+ # must be equal to or larger than 10GB. Default 100 GB.
1312
+ # Corresponds to the JSON property `diskSizeGb`
1313
+ # @return [Fixnum]
1314
+ attr_accessor :disk_size_gb
1315
+
1316
+ # Input only. The type of the boot disk attached to this instance, defaults to
1317
+ # standard persistent disk (`PD_STANDARD`).
1318
+ # Corresponds to the JSON property `diskType`
1319
+ # @return [String]
1320
+ attr_accessor :disk_type
1321
+
1322
+ # Optional. Labels to apply to this disk. These can be later modified by the
1323
+ # disks.setLabels method. This field is only applicable for persistent disks.
1324
+ # Corresponds to the JSON property `labels`
1325
+ # @return [Hash<String,String>]
1326
+ attr_accessor :labels
1327
+
1328
+ def initialize(**args)
1329
+ update!(**args)
1330
+ end
1331
+
1332
+ # Update properties of this object
1333
+ def update!(**args)
1334
+ @description = args[:description] if args.key?(:description)
1335
+ @disk_name = args[:disk_name] if args.key?(:disk_name)
1336
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1337
+ @disk_type = args[:disk_type] if args.key?(:disk_type)
1338
+ @labels = args[:labels] if args.key?(:labels)
1339
+ end
1340
+ end
1341
+
1082
1342
  # A resource that represents Google Cloud Platform location.
1083
1343
  class Location
1084
1344
  include Google::Apis::Core::Hashable
@@ -1398,93 +1658,118 @@ module Google
1398
1658
  end
1399
1659
  end
1400
1660
 
1401
- # The definition of a schedule.
1402
- class Schedule
1661
+ # Request for reseting a Managed Notebook Runtime.
1662
+ class ResetRuntimeRequest
1403
1663
  include Google::Apis::Core::Hashable
1404
1664
 
1405
- # Output only. Time the schedule was created.
1406
- # Corresponds to the JSON property `createTime`
1407
- # @return [String]
1408
- attr_accessor :create_time
1665
+ def initialize(**args)
1666
+ update!(**args)
1667
+ end
1409
1668
 
1410
- # Cron-tab formatted schedule by which the job will execute Format: minute, hour,
1411
- # day of month, month, day of week e.g. 0 0 * * WED = every Wednesday More
1412
- # examples: https://crontab.guru/examples.html
1413
- # Corresponds to the JSON property `cronSchedule`
1669
+ # Update properties of this object
1670
+ def update!(**args)
1671
+ end
1672
+ end
1673
+
1674
+ # Request for rollbacking a notebook instance
1675
+ class RollbackInstanceRequest
1676
+ include Google::Apis::Core::Hashable
1677
+
1678
+ # Required. The snapshot for rollback. Example: "projects/test-project/global/
1679
+ # snapshots/krwlzipynril".
1680
+ # Corresponds to the JSON property `targetSnapshot`
1414
1681
  # @return [String]
1415
- attr_accessor :cron_schedule
1682
+ attr_accessor :target_snapshot
1416
1683
 
1417
- # A brief description of this environment.
1418
- # Corresponds to the JSON property `description`
1684
+ def initialize(**args)
1685
+ update!(**args)
1686
+ end
1687
+
1688
+ # Update properties of this object
1689
+ def update!(**args)
1690
+ @target_snapshot = args[:target_snapshot] if args.key?(:target_snapshot)
1691
+ end
1692
+ end
1693
+
1694
+ # The definition of a Runtime for a managed notebook instance.
1695
+ class Runtime
1696
+ include Google::Apis::Core::Hashable
1697
+
1698
+ # Specifies the login configuration for Runtime
1699
+ # Corresponds to the JSON property `accessConfig`
1700
+ # @return [Google::Apis::NotebooksV1::RuntimeAccessConfig]
1701
+ attr_accessor :access_config
1702
+
1703
+ # Output only. Runtime creation time.
1704
+ # Corresponds to the JSON property `createTime`
1419
1705
  # @return [String]
1420
- attr_accessor :description
1706
+ attr_accessor :create_time
1421
1707
 
1422
- # Output only. Display name used for UI purposes. Name can only contain
1423
- # alphanumeric characters, hyphens ‘-’, and underscores ‘_’.
1424
- # Corresponds to the JSON property `displayName`
1708
+ # Output only. Runtime health_state.
1709
+ # Corresponds to the JSON property `healthState`
1425
1710
  # @return [String]
1426
- attr_accessor :display_name
1711
+ attr_accessor :health_state
1427
1712
 
1428
- # The description a notebook execution workload.
1429
- # Corresponds to the JSON property `executionTemplate`
1430
- # @return [Google::Apis::NotebooksV1::ExecutionTemplate]
1431
- attr_accessor :execution_template
1713
+ # Contains runtime daemon metrics, such as OS and kernels and sessions stats.
1714
+ # Corresponds to the JSON property `metrics`
1715
+ # @return [Google::Apis::NotebooksV1::RuntimeMetrics]
1716
+ attr_accessor :metrics
1432
1717
 
1433
- # Output only. The name of this schedule. Format: `projects/`project_id`/
1434
- # locations/`location`/schedules/`schedule_id``
1718
+ # Output only. The resource name of the runtime. Format: `projects/`project`/
1719
+ # locations/`location`/runtimes/`runtime``
1435
1720
  # Corresponds to the JSON property `name`
1436
1721
  # @return [String]
1437
1722
  attr_accessor :name
1438
1723
 
1439
- # Output only. The most recent execution names triggered from this schedule and
1440
- # their corresponding states.
1441
- # Corresponds to the JSON property `recentExecutions`
1442
- # @return [Array<Google::Apis::NotebooksV1::Execution>]
1443
- attr_accessor :recent_executions
1724
+ # Specifies the selection and config of software inside the runtime. / The
1725
+ # properties to set on runtime. Properties keys are specified in `key:value`
1726
+ # format, for example: * idle_shutdown: idle_shutdown=true *
1727
+ # idle_shutdown_timeout: idle_shutdown_timeout=180 * report-system-health:
1728
+ # report-system-health=true
1729
+ # Corresponds to the JSON property `softwareConfig`
1730
+ # @return [Google::Apis::NotebooksV1::RuntimeSoftwareConfig]
1731
+ attr_accessor :software_config
1444
1732
 
1445
- #
1733
+ # Output only. Runtime state.
1446
1734
  # Corresponds to the JSON property `state`
1447
1735
  # @return [String]
1448
1736
  attr_accessor :state
1449
1737
 
1450
- # Timezone on which the cron_schedule. The value of this field must be a time
1451
- # zone name from the tz database. TZ Database: https://en.wikipedia.org/wiki/
1452
- # List_of_tz_database_time_zones Note that some time zones include a provision
1453
- # for daylight savings time. The rules for daylight saving time are determined
1454
- # by the chosen tz. For UTC use the string "utc". If a time zone is not
1455
- # specified, the default will be in UTC (also known as GMT).
1456
- # Corresponds to the JSON property `timeZone`
1457
- # @return [String]
1458
- attr_accessor :time_zone
1459
-
1460
- # Output only. Time the schedule was last updated.
1738
+ # Output only. Runtime update time.
1461
1739
  # Corresponds to the JSON property `updateTime`
1462
1740
  # @return [String]
1463
1741
  attr_accessor :update_time
1464
1742
 
1743
+ # Runtime using Virtual Machine for computing.
1744
+ # Corresponds to the JSON property `virtualMachine`
1745
+ # @return [Google::Apis::NotebooksV1::VirtualMachine]
1746
+ attr_accessor :virtual_machine
1747
+
1465
1748
  def initialize(**args)
1466
1749
  update!(**args)
1467
1750
  end
1468
1751
 
1469
1752
  # Update properties of this object
1470
1753
  def update!(**args)
1754
+ @access_config = args[:access_config] if args.key?(:access_config)
1471
1755
  @create_time = args[:create_time] if args.key?(:create_time)
1472
- @cron_schedule = args[:cron_schedule] if args.key?(:cron_schedule)
1473
- @description = args[:description] if args.key?(:description)
1474
- @display_name = args[:display_name] if args.key?(:display_name)
1475
- @execution_template = args[:execution_template] if args.key?(:execution_template)
1756
+ @health_state = args[:health_state] if args.key?(:health_state)
1757
+ @metrics = args[:metrics] if args.key?(:metrics)
1476
1758
  @name = args[:name] if args.key?(:name)
1477
- @recent_executions = args[:recent_executions] if args.key?(:recent_executions)
1759
+ @software_config = args[:software_config] if args.key?(:software_config)
1478
1760
  @state = args[:state] if args.key?(:state)
1479
- @time_zone = args[:time_zone] if args.key?(:time_zone)
1480
1761
  @update_time = args[:update_time] if args.key?(:update_time)
1762
+ @virtual_machine = args[:virtual_machine] if args.key?(:virtual_machine)
1481
1763
  end
1482
1764
  end
1483
1765
 
1484
- # Definition of a hardware accelerator. Note that not all combinations of `type`
1485
- # and `core_count` are valid. Check GPUs on Compute Engine to find a valid
1486
- # combination. TPUs are not supported.
1487
- class SchedulerAcceleratorConfig
1766
+ # Definition of the types of hardware accelerators that can be used. Definition
1767
+ # of the types of hardware accelerators that can be used. See [Compute Engine
1768
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
1769
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
1770
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
1771
+ # a100`
1772
+ class RuntimeAcceleratorConfig
1488
1773
  include Google::Apis::Core::Hashable
1489
1774
 
1490
1775
  # Count of cores of this accelerator.
@@ -1492,7 +1777,7 @@ module Google
1492
1777
  # @return [Fixnum]
1493
1778
  attr_accessor :core_count
1494
1779
 
1495
- # Type of this accelerator.
1780
+ # Accelerator model.
1496
1781
  # Corresponds to the JSON property `type`
1497
1782
  # @return [String]
1498
1783
  attr_accessor :type
@@ -1508,14 +1793,306 @@ module Google
1508
1793
  end
1509
1794
  end
1510
1795
 
1511
- # Request message for `SetIamPolicy` method.
1512
- class SetIamPolicyRequest
1796
+ # Specifies the login configuration for Runtime
1797
+ class RuntimeAccessConfig
1513
1798
  include Google::Apis::Core::Hashable
1514
1799
 
1515
- # An Identity and Access Management (IAM) policy, which specifies access
1516
- # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1517
- # A `binding` binds one or more `members` to a single `role`. Members can be
1518
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
1800
+ # The type of access mode this instance.
1801
+ # Corresponds to the JSON property `accessType`
1802
+ # @return [String]
1803
+ attr_accessor :access_type
1804
+
1805
+ # Output only. The proxy endpoint that is used to access the runtime.
1806
+ # Corresponds to the JSON property `proxyUri`
1807
+ # @return [String]
1808
+ attr_accessor :proxy_uri
1809
+
1810
+ # The owner of this runtime after creation. Format: `alias@example.com`
1811
+ # Currently supports one owner only.
1812
+ # Corresponds to the JSON property `runtimeOwner`
1813
+ # @return [String]
1814
+ attr_accessor :runtime_owner
1815
+
1816
+ def initialize(**args)
1817
+ update!(**args)
1818
+ end
1819
+
1820
+ # Update properties of this object
1821
+ def update!(**args)
1822
+ @access_type = args[:access_type] if args.key?(:access_type)
1823
+ @proxy_uri = args[:proxy_uri] if args.key?(:proxy_uri)
1824
+ @runtime_owner = args[:runtime_owner] if args.key?(:runtime_owner)
1825
+ end
1826
+ end
1827
+
1828
+ # A list of features to enable on the guest operating system. Applicable only
1829
+ # for bootable images. Read Enabling guest operating system features to see a
1830
+ # list of available options. Guest OS features for boot disk.
1831
+ class RuntimeGuestOsFeature
1832
+ include Google::Apis::Core::Hashable
1833
+
1834
+ # The ID of a supported feature. Read Enabling guest operating system features
1835
+ # to see a list of available options. Valid values: FEATURE_TYPE_UNSPECIFIED
1836
+ # MULTI_IP_SUBNET SECURE_BOOT UEFI_COMPATIBLE VIRTIO_SCSI_MULTIQUEUE WINDOWS
1837
+ # Corresponds to the JSON property `type`
1838
+ # @return [String]
1839
+ attr_accessor :type
1840
+
1841
+ def initialize(**args)
1842
+ update!(**args)
1843
+ end
1844
+
1845
+ # Update properties of this object
1846
+ def update!(**args)
1847
+ @type = args[:type] if args.key?(:type)
1848
+ end
1849
+ end
1850
+
1851
+ # Contains runtime daemon metrics, such as OS and kernels and sessions stats.
1852
+ class RuntimeMetrics
1853
+ include Google::Apis::Core::Hashable
1854
+
1855
+ # Output only. The system metrics.
1856
+ # Corresponds to the JSON property `systemMetrics`
1857
+ # @return [Hash<String,String>]
1858
+ attr_accessor :system_metrics
1859
+
1860
+ def initialize(**args)
1861
+ update!(**args)
1862
+ end
1863
+
1864
+ # Update properties of this object
1865
+ def update!(**args)
1866
+ @system_metrics = args[:system_metrics] if args.key?(:system_metrics)
1867
+ end
1868
+ end
1869
+
1870
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
1871
+ # features] Not all combinations are valid.
1872
+ class RuntimeShieldedInstanceConfig
1873
+ include Google::Apis::Core::Hashable
1874
+
1875
+ # Defines whether the instance has integrity monitoring enabled. Enables
1876
+ # monitoring and attestation of the boot integrity of the instance. The
1877
+ # attestation is performed against the integrity policy baseline. This baseline
1878
+ # is initially derived from the implicitly trusted boot image when the instance
1879
+ # is created. Enabled by default.
1880
+ # Corresponds to the JSON property `enableIntegrityMonitoring`
1881
+ # @return [Boolean]
1882
+ attr_accessor :enable_integrity_monitoring
1883
+ alias_method :enable_integrity_monitoring?, :enable_integrity_monitoring
1884
+
1885
+ # Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure
1886
+ # that the system only runs authentic software by verifying the digital
1887
+ # signature of all boot components, and halting the boot process if signature
1888
+ # verification fails. Disabled by default.
1889
+ # Corresponds to the JSON property `enableSecureBoot`
1890
+ # @return [Boolean]
1891
+ attr_accessor :enable_secure_boot
1892
+ alias_method :enable_secure_boot?, :enable_secure_boot
1893
+
1894
+ # Defines whether the instance has the vTPM enabled. Enabled by default.
1895
+ # Corresponds to the JSON property `enableVtpm`
1896
+ # @return [Boolean]
1897
+ attr_accessor :enable_vtpm
1898
+ alias_method :enable_vtpm?, :enable_vtpm
1899
+
1900
+ def initialize(**args)
1901
+ update!(**args)
1902
+ end
1903
+
1904
+ # Update properties of this object
1905
+ def update!(**args)
1906
+ @enable_integrity_monitoring = args[:enable_integrity_monitoring] if args.key?(:enable_integrity_monitoring)
1907
+ @enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot)
1908
+ @enable_vtpm = args[:enable_vtpm] if args.key?(:enable_vtpm)
1909
+ end
1910
+ end
1911
+
1912
+ # Specifies the selection and config of software inside the runtime. / The
1913
+ # properties to set on runtime. Properties keys are specified in `key:value`
1914
+ # format, for example: * idle_shutdown: idle_shutdown=true *
1915
+ # idle_shutdown_timeout: idle_shutdown_timeout=180 * report-system-health:
1916
+ # report-system-health=true
1917
+ class RuntimeSoftwareConfig
1918
+ include Google::Apis::Core::Hashable
1919
+
1920
+ # Specify a custom Cloud Storage path where the GPU driver is stored. If not
1921
+ # specified, we'll automatically choose from official GPU drivers.
1922
+ # Corresponds to the JSON property `customGpuDriverPath`
1923
+ # @return [String]
1924
+ attr_accessor :custom_gpu_driver_path
1925
+
1926
+ # Verifies core internal services are running. Default: True
1927
+ # Corresponds to the JSON property `enableHealthMonitoring`
1928
+ # @return [Boolean]
1929
+ attr_accessor :enable_health_monitoring
1930
+ alias_method :enable_health_monitoring?, :enable_health_monitoring
1931
+
1932
+ # Runtime will automatically shutdown after idle_shutdown_time. Default: False
1933
+ # Corresponds to the JSON property `idleShutdown`
1934
+ # @return [Boolean]
1935
+ attr_accessor :idle_shutdown
1936
+ alias_method :idle_shutdown?, :idle_shutdown
1937
+
1938
+ # Time in minutes to wait before shuting down runtime. Default: 90 minutes
1939
+ # Corresponds to the JSON property `idleShutdownTimeout`
1940
+ # @return [Fixnum]
1941
+ attr_accessor :idle_shutdown_timeout
1942
+
1943
+ # Install Nvidia Driver automatically.
1944
+ # Corresponds to the JSON property `installGpuDriver`
1945
+ # @return [Boolean]
1946
+ attr_accessor :install_gpu_driver
1947
+ alias_method :install_gpu_driver?, :install_gpu_driver
1948
+
1949
+ # Cron expression in UTC timezone, used to schedule instance auto upgrade.
1950
+ # Please follow the [cron format](https://en.wikipedia.org/wiki/Cron).
1951
+ # Corresponds to the JSON property `notebookUpgradeSchedule`
1952
+ # @return [String]
1953
+ attr_accessor :notebook_upgrade_schedule
1954
+
1955
+ # Path to a Bash script that automatically runs after a notebook instance fully
1956
+ # boots up. The path must be a URL or Cloud Storage path (gs://path-to-file/file-
1957
+ # name).
1958
+ # Corresponds to the JSON property `postStartupScript`
1959
+ # @return [String]
1960
+ attr_accessor :post_startup_script
1961
+
1962
+ def initialize(**args)
1963
+ update!(**args)
1964
+ end
1965
+
1966
+ # Update properties of this object
1967
+ def update!(**args)
1968
+ @custom_gpu_driver_path = args[:custom_gpu_driver_path] if args.key?(:custom_gpu_driver_path)
1969
+ @enable_health_monitoring = args[:enable_health_monitoring] if args.key?(:enable_health_monitoring)
1970
+ @idle_shutdown = args[:idle_shutdown] if args.key?(:idle_shutdown)
1971
+ @idle_shutdown_timeout = args[:idle_shutdown_timeout] if args.key?(:idle_shutdown_timeout)
1972
+ @install_gpu_driver = args[:install_gpu_driver] if args.key?(:install_gpu_driver)
1973
+ @notebook_upgrade_schedule = args[:notebook_upgrade_schedule] if args.key?(:notebook_upgrade_schedule)
1974
+ @post_startup_script = args[:post_startup_script] if args.key?(:post_startup_script)
1975
+ end
1976
+ end
1977
+
1978
+ # The definition of a schedule.
1979
+ class Schedule
1980
+ include Google::Apis::Core::Hashable
1981
+
1982
+ # Output only. Time the schedule was created.
1983
+ # Corresponds to the JSON property `createTime`
1984
+ # @return [String]
1985
+ attr_accessor :create_time
1986
+
1987
+ # Cron-tab formatted schedule by which the job will execute Format: minute, hour,
1988
+ # day of month, month, day of week e.g. 0 0 * * WED = every Wednesday More
1989
+ # examples: https://crontab.guru/examples.html
1990
+ # Corresponds to the JSON property `cronSchedule`
1991
+ # @return [String]
1992
+ attr_accessor :cron_schedule
1993
+
1994
+ # A brief description of this environment.
1995
+ # Corresponds to the JSON property `description`
1996
+ # @return [String]
1997
+ attr_accessor :description
1998
+
1999
+ # Output only. Display name used for UI purposes. Name can only contain
2000
+ # alphanumeric characters, hyphens '-', and underscores '_'.
2001
+ # Corresponds to the JSON property `displayName`
2002
+ # @return [String]
2003
+ attr_accessor :display_name
2004
+
2005
+ # The description a notebook execution workload.
2006
+ # Corresponds to the JSON property `executionTemplate`
2007
+ # @return [Google::Apis::NotebooksV1::ExecutionTemplate]
2008
+ attr_accessor :execution_template
2009
+
2010
+ # Output only. The name of this schedule. Format: `projects/`project_id`/
2011
+ # locations/`location`/schedules/`schedule_id``
2012
+ # Corresponds to the JSON property `name`
2013
+ # @return [String]
2014
+ attr_accessor :name
2015
+
2016
+ # Output only. The most recent execution names triggered from this schedule and
2017
+ # their corresponding states.
2018
+ # Corresponds to the JSON property `recentExecutions`
2019
+ # @return [Array<Google::Apis::NotebooksV1::Execution>]
2020
+ attr_accessor :recent_executions
2021
+
2022
+ #
2023
+ # Corresponds to the JSON property `state`
2024
+ # @return [String]
2025
+ attr_accessor :state
2026
+
2027
+ # Timezone on which the cron_schedule. The value of this field must be a time
2028
+ # zone name from the tz database. TZ Database: https://en.wikipedia.org/wiki/
2029
+ # List_of_tz_database_time_zones Note that some time zones include a provision
2030
+ # for daylight savings time. The rules for daylight saving time are determined
2031
+ # by the chosen tz. For UTC use the string "utc". If a time zone is not
2032
+ # specified, the default will be in UTC (also known as GMT).
2033
+ # Corresponds to the JSON property `timeZone`
2034
+ # @return [String]
2035
+ attr_accessor :time_zone
2036
+
2037
+ # Output only. Time the schedule was last updated.
2038
+ # Corresponds to the JSON property `updateTime`
2039
+ # @return [String]
2040
+ attr_accessor :update_time
2041
+
2042
+ def initialize(**args)
2043
+ update!(**args)
2044
+ end
2045
+
2046
+ # Update properties of this object
2047
+ def update!(**args)
2048
+ @create_time = args[:create_time] if args.key?(:create_time)
2049
+ @cron_schedule = args[:cron_schedule] if args.key?(:cron_schedule)
2050
+ @description = args[:description] if args.key?(:description)
2051
+ @display_name = args[:display_name] if args.key?(:display_name)
2052
+ @execution_template = args[:execution_template] if args.key?(:execution_template)
2053
+ @name = args[:name] if args.key?(:name)
2054
+ @recent_executions = args[:recent_executions] if args.key?(:recent_executions)
2055
+ @state = args[:state] if args.key?(:state)
2056
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
2057
+ @update_time = args[:update_time] if args.key?(:update_time)
2058
+ end
2059
+ end
2060
+
2061
+ # Definition of a hardware accelerator. Note that not all combinations of `type`
2062
+ # and `core_count` are valid. Check GPUs on Compute Engine to find a valid
2063
+ # combination. TPUs are not supported.
2064
+ class SchedulerAcceleratorConfig
2065
+ include Google::Apis::Core::Hashable
2066
+
2067
+ # Count of cores of this accelerator.
2068
+ # Corresponds to the JSON property `coreCount`
2069
+ # @return [Fixnum]
2070
+ attr_accessor :core_count
2071
+
2072
+ # Type of this accelerator.
2073
+ # Corresponds to the JSON property `type`
2074
+ # @return [String]
2075
+ attr_accessor :type
2076
+
2077
+ def initialize(**args)
2078
+ update!(**args)
2079
+ end
2080
+
2081
+ # Update properties of this object
2082
+ def update!(**args)
2083
+ @core_count = args[:core_count] if args.key?(:core_count)
2084
+ @type = args[:type] if args.key?(:type)
2085
+ end
2086
+ end
2087
+
2088
+ # Request message for `SetIamPolicy` method.
2089
+ class SetIamPolicyRequest
2090
+ include Google::Apis::Core::Hashable
2091
+
2092
+ # An Identity and Access Management (IAM) policy, which specifies access
2093
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
2094
+ # A `binding` binds one or more `members` to a single `role`. Members can be
2095
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1519
2096
  # A `role` is a named list of permissions; each `role` can be an IAM predefined
1520
2097
  # role or a user-created custom role. For some types of Google Cloud resources,
1521
2098
  # a `binding` can also specify a `condition`, which is a logical expression that
@@ -1676,6 +2253,19 @@ module Google
1676
2253
  end
1677
2254
  end
1678
2255
 
2256
+ # Request for starting a Managed Notebook Runtime.
2257
+ class StartRuntimeRequest
2258
+ include Google::Apis::Core::Hashable
2259
+
2260
+ def initialize(**args)
2261
+ update!(**args)
2262
+ end
2263
+
2264
+ # Update properties of this object
2265
+ def update!(**args)
2266
+ end
2267
+ end
2268
+
1679
2269
  # The `Status` type defines a logical error model that is suitable for different
1680
2270
  # programming environments, including REST APIs and RPC APIs. It is used by [
1681
2271
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -1728,6 +2318,49 @@ module Google
1728
2318
  end
1729
2319
  end
1730
2320
 
2321
+ # Request for stopping a Managed Notebook Runtime.
2322
+ class StopRuntimeRequest
2323
+ include Google::Apis::Core::Hashable
2324
+
2325
+ def initialize(**args)
2326
+ update!(**args)
2327
+ end
2328
+
2329
+ # Update properties of this object
2330
+ def update!(**args)
2331
+ end
2332
+ end
2333
+
2334
+ # Request for switching a Managed Notebook Runtime.
2335
+ class SwitchRuntimeRequest
2336
+ include Google::Apis::Core::Hashable
2337
+
2338
+ # Definition of the types of hardware accelerators that can be used. Definition
2339
+ # of the types of hardware accelerators that can be used. See [Compute Engine
2340
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
2341
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
2342
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
2343
+ # a100`
2344
+ # Corresponds to the JSON property `acceleratorConfig`
2345
+ # @return [Google::Apis::NotebooksV1::RuntimeAcceleratorConfig]
2346
+ attr_accessor :accelerator_config
2347
+
2348
+ # machine type.
2349
+ # Corresponds to the JSON property `machineType`
2350
+ # @return [String]
2351
+ attr_accessor :machine_type
2352
+
2353
+ def initialize(**args)
2354
+ update!(**args)
2355
+ end
2356
+
2357
+ # Update properties of this object
2358
+ def update!(**args)
2359
+ @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config)
2360
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
2361
+ end
2362
+ end
2363
+
1731
2364
  # Request message for `TestIamPermissions` method.
1732
2365
  class TestIamPermissionsRequest
1733
2366
  include Google::Apis::Core::Hashable
@@ -1781,6 +2414,46 @@ module Google
1781
2414
  end
1782
2415
  end
1783
2416
 
2417
+ # Request for updating instance configurations.
2418
+ class UpdateInstanceConfigRequest
2419
+ include Google::Apis::Core::Hashable
2420
+
2421
+ # Notebook instance configurations that can be updated.
2422
+ # Corresponds to the JSON property `config`
2423
+ # @return [Google::Apis::NotebooksV1::InstanceConfig]
2424
+ attr_accessor :config
2425
+
2426
+ def initialize(**args)
2427
+ update!(**args)
2428
+ end
2429
+
2430
+ # Update properties of this object
2431
+ def update!(**args)
2432
+ @config = args[:config] if args.key?(:config)
2433
+ end
2434
+ end
2435
+
2436
+ # Request for updating the Shielded Instance config for a notebook instance. You
2437
+ # can only use this method on a stopped instance
2438
+ class UpdateShieldedInstanceConfigRequest
2439
+ include Google::Apis::Core::Hashable
2440
+
2441
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
2442
+ # features] Not all combinations are valid.
2443
+ # Corresponds to the JSON property `shieldedInstanceConfig`
2444
+ # @return [Google::Apis::NotebooksV1::ShieldedInstanceConfig]
2445
+ attr_accessor :shielded_instance_config
2446
+
2447
+ def initialize(**args)
2448
+ update!(**args)
2449
+ end
2450
+
2451
+ # Update properties of this object
2452
+ def update!(**args)
2453
+ @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
2454
+ end
2455
+ end
2456
+
1784
2457
  # The entry of VM image upgrade history.
1785
2458
  class UpgradeHistoryEntry
1786
2459
  include Google::Apis::Core::Hashable
@@ -1887,6 +2560,179 @@ module Google
1887
2560
  end
1888
2561
  end
1889
2562
 
2563
+ # Runtime using Virtual Machine for computing.
2564
+ class VirtualMachine
2565
+ include Google::Apis::Core::Hashable
2566
+
2567
+ # Output only. The unique identifier of the Managed Compute Engine instance.
2568
+ # Corresponds to the JSON property `instanceId`
2569
+ # @return [String]
2570
+ attr_accessor :instance_id
2571
+
2572
+ # Output only. The user-friendly name of the Managed Compute Engine instance.
2573
+ # Corresponds to the JSON property `instanceName`
2574
+ # @return [String]
2575
+ attr_accessor :instance_name
2576
+
2577
+ # The config settings for virtual machine.
2578
+ # Corresponds to the JSON property `virtualMachineConfig`
2579
+ # @return [Google::Apis::NotebooksV1::VirtualMachineConfig]
2580
+ attr_accessor :virtual_machine_config
2581
+
2582
+ def initialize(**args)
2583
+ update!(**args)
2584
+ end
2585
+
2586
+ # Update properties of this object
2587
+ def update!(**args)
2588
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
2589
+ @instance_name = args[:instance_name] if args.key?(:instance_name)
2590
+ @virtual_machine_config = args[:virtual_machine_config] if args.key?(:virtual_machine_config)
2591
+ end
2592
+ end
2593
+
2594
+ # The config settings for virtual machine.
2595
+ class VirtualMachineConfig
2596
+ include Google::Apis::Core::Hashable
2597
+
2598
+ # Definition of the types of hardware accelerators that can be used. Definition
2599
+ # of the types of hardware accelerators that can be used. See [Compute Engine
2600
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
2601
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
2602
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
2603
+ # a100`
2604
+ # Corresponds to the JSON property `acceleratorConfig`
2605
+ # @return [Google::Apis::NotebooksV1::RuntimeAcceleratorConfig]
2606
+ attr_accessor :accelerator_config
2607
+
2608
+ # Optional. Use a list of container images to start the notebook instance.
2609
+ # Corresponds to the JSON property `containerImages`
2610
+ # @return [Array<Google::Apis::NotebooksV1::ContainerImage>]
2611
+ attr_accessor :container_images
2612
+
2613
+ # An Local attached disk resource.
2614
+ # Corresponds to the JSON property `dataDisk`
2615
+ # @return [Google::Apis::NotebooksV1::LocalDisk]
2616
+ attr_accessor :data_disk
2617
+
2618
+ # Represents a custom encryption key configuration that can be applied to a
2619
+ # resource. This will encrypt all disks in Virtual Machine.
2620
+ # Corresponds to the JSON property `encryptionConfig`
2621
+ # @return [Google::Apis::NotebooksV1::EncryptionConfig]
2622
+ attr_accessor :encryption_config
2623
+
2624
+ # Output only. The Compute Engine guest attributes. (see [Project and instance
2625
+ # guest attributes](https://cloud.google.com/compute/docs/storing-retrieving-
2626
+ # metadata#guest_attributes)).
2627
+ # Corresponds to the JSON property `guestAttributes`
2628
+ # @return [Hash<String,String>]
2629
+ attr_accessor :guest_attributes
2630
+
2631
+ # Optional. If true, runtime will only have internal IP addresses. By default,
2632
+ # runtimes are not restricted to internal IP addresses, and will have ephemeral
2633
+ # external IP addresses assigned to each vm. This `internal_ip_only` restriction
2634
+ # can only be enabled for subnetwork enabled networks, and all dependencies must
2635
+ # be configured to be accessible without external IP addresses.
2636
+ # Corresponds to the JSON property `internalIpOnly`
2637
+ # @return [Boolean]
2638
+ attr_accessor :internal_ip_only
2639
+ alias_method :internal_ip_only?, :internal_ip_only
2640
+
2641
+ # Optional. The labels to associate with this runtime. Label **keys** must
2642
+ # contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.
2643
+ # org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must
2644
+ # contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.
2645
+ # org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster.
2646
+ # Corresponds to the JSON property `labels`
2647
+ # @return [Hash<String,String>]
2648
+ attr_accessor :labels
2649
+
2650
+ # Required. The Compute Engine machine type used for runtimes. Short name is
2651
+ # valid. Examples: * `n1-standard-2` * `e2-standard-8`
2652
+ # Corresponds to the JSON property `machineType`
2653
+ # @return [String]
2654
+ attr_accessor :machine_type
2655
+
2656
+ # Optional. The Compute Engine metadata entries to add to virtual machine. (see [
2657
+ # Project and instance metadata](https://cloud.google.com/compute/docs/storing-
2658
+ # retrieving-metadata#project_and_instance_metadata)).
2659
+ # Corresponds to the JSON property `metadata`
2660
+ # @return [Hash<String,String>]
2661
+ attr_accessor :metadata
2662
+
2663
+ # Optional. The Compute Engine network to be used for machine communications.
2664
+ # Cannot be specified with subnetwork. If neither `network` nor `subnet` is
2665
+ # specified, the "default" network of the project is used, if it exists. A full
2666
+ # URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/
2667
+ # projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/
2668
+ # global/default` Runtimes are managed resources inside Google Infrastructure.
2669
+ # Runtimes support the following network configurations: * Google Managed
2670
+ # Network (Network & subnet are empty) * Consumer Project VPC (network & subnet
2671
+ # are required). Requires configuring Private Service Access. * Shared VPC (
2672
+ # network & subnet are required). Requires configuring Private Service Access.
2673
+ # Corresponds to the JSON property `network`
2674
+ # @return [String]
2675
+ attr_accessor :network
2676
+
2677
+ # Optional. The type of vNIC to be used on this interface. This may be gVNIC or
2678
+ # VirtioNet.
2679
+ # Corresponds to the JSON property `nicType`
2680
+ # @return [String]
2681
+ attr_accessor :nic_type
2682
+
2683
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
2684
+ # features] Not all combinations are valid.
2685
+ # Corresponds to the JSON property `shieldedInstanceConfig`
2686
+ # @return [Google::Apis::NotebooksV1::RuntimeShieldedInstanceConfig]
2687
+ attr_accessor :shielded_instance_config
2688
+
2689
+ # Optional. The Compute Engine subnetwork to be used for machine communications.
2690
+ # Cannot be specified with network. A full URL or partial URI are valid.
2691
+ # Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/
2692
+ # regions/us-east1/subnetworks/sub0` * `projects/[project_id]/regions/us-east1/
2693
+ # subnetworks/sub0`
2694
+ # Corresponds to the JSON property `subnet`
2695
+ # @return [String]
2696
+ attr_accessor :subnet
2697
+
2698
+ # Optional. The Compute Engine tags to add to runtime (see [Tagging instances](
2699
+ # https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
2700
+ # Corresponds to the JSON property `tags`
2701
+ # @return [Array<String>]
2702
+ attr_accessor :tags
2703
+
2704
+ # Output only. The zone where the virtual machine is located. If using regional
2705
+ # request, the notebooks service will pick a location in the corresponding
2706
+ # runtime region. On a get request, zone will always be present. Example: * `us-
2707
+ # central1-b`
2708
+ # Corresponds to the JSON property `zone`
2709
+ # @return [String]
2710
+ attr_accessor :zone
2711
+
2712
+ def initialize(**args)
2713
+ update!(**args)
2714
+ end
2715
+
2716
+ # Update properties of this object
2717
+ def update!(**args)
2718
+ @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config)
2719
+ @container_images = args[:container_images] if args.key?(:container_images)
2720
+ @data_disk = args[:data_disk] if args.key?(:data_disk)
2721
+ @encryption_config = args[:encryption_config] if args.key?(:encryption_config)
2722
+ @guest_attributes = args[:guest_attributes] if args.key?(:guest_attributes)
2723
+ @internal_ip_only = args[:internal_ip_only] if args.key?(:internal_ip_only)
2724
+ @labels = args[:labels] if args.key?(:labels)
2725
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
2726
+ @metadata = args[:metadata] if args.key?(:metadata)
2727
+ @network = args[:network] if args.key?(:network)
2728
+ @nic_type = args[:nic_type] if args.key?(:nic_type)
2729
+ @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
2730
+ @subnet = args[:subnet] if args.key?(:subnet)
2731
+ @tags = args[:tags] if args.key?(:tags)
2732
+ @zone = args[:zone] if args.key?(:zone)
2733
+ end
2734
+ end
2735
+
1890
2736
  # Definition of a custom Compute Engine virtual machine image for starting a
1891
2737
  # notebook instance with the environment installed directly on the VM.
1892
2738
  class VmImage