google-apis-notebooks_v1 0.5.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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