google-apis-notebooks_v1 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d715939660548e01f218d1cbca1bdf42eb266bc814ab09577b3b4b50076807fb
4
- data.tar.gz: 34240a2a09cd38dd0d1c2226ea66821937611a303a6b00f9cf8986b23c10f08e
3
+ metadata.gz: b8fc74b68104ea029c2d514077e62c454f40cf77408a307906c635346e939adb
4
+ data.tar.gz: 8801f3a94bfdf9986656940c925d9e49dda65195d611c88e0e8ca85d3b6ed02f
5
5
  SHA512:
6
- metadata.gz: 913a8b6204265d42ae034d3b336ed60b552d24c398e953b3c870bc711d175ea4f0718e00f077b83fce54ca92fdc8aceb7bd4111a0cedd74226d68fcd322b3c20
7
- data.tar.gz: 82eccc959d6c1766951d774b253f29f0b9ef8b1b986ef56ff1921b717b4c205611eb69891dcfe1f696adc898d44e3db81de8a23ef11a08b101efe7f3fde87383
6
+ metadata.gz: 1f8c0c93880beb4f8124b67f9ee4494d4dcc62cb1e52eeba583f7653008c22a7363b099049795a2e4b1418a102e7bc03a629dc52e126767758db690d53df415a
7
+ data.tar.gz: e6cdaf71ccf44a749d0ca684fea7e457a3213a3bfbc401e3ef3966711f5f66ac8ae19d5eeb43000042755558a657e4a464b33688691ae277e37d22e9c7a5ba5e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-notebooks_v1
2
2
 
3
+ ### v0.6.0 (2021-03-31)
4
+
5
+ * Regenerated from discovery document revision 20210323
6
+
3
7
  ### v0.5.0 (2021-03-12)
4
8
 
5
9
  * 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
@@ -1045,6 +1067,39 @@ module Google
1045
1067
  end
1046
1068
  end
1047
1069
 
1070
+ # Response for listing Managed Notebook Runtimes.
1071
+ class ListRuntimesResponse
1072
+ include Google::Apis::Core::Hashable
1073
+
1074
+ # Page token that can be used to continue listing from the last result in the
1075
+ # next list call.
1076
+ # Corresponds to the JSON property `nextPageToken`
1077
+ # @return [String]
1078
+ attr_accessor :next_page_token
1079
+
1080
+ # A list of returned Runtimes.
1081
+ # Corresponds to the JSON property `runtimes`
1082
+ # @return [Array<Google::Apis::NotebooksV1::Runtime>]
1083
+ attr_accessor :runtimes
1084
+
1085
+ # Locations that could not be reached. For example, ['us-west1', 'us-central1'].
1086
+ # A ListRuntimesResponse will only contain either runtimes or unreachables,
1087
+ # Corresponds to the JSON property `unreachable`
1088
+ # @return [Array<String>]
1089
+ attr_accessor :unreachable
1090
+
1091
+ def initialize(**args)
1092
+ update!(**args)
1093
+ end
1094
+
1095
+ # Update properties of this object
1096
+ def update!(**args)
1097
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1098
+ @runtimes = args[:runtimes] if args.key?(:runtimes)
1099
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1100
+ end
1101
+ end
1102
+
1048
1103
  # Response for listing scheduled notebook job.
1049
1104
  class ListSchedulesResponse
1050
1105
  include Google::Apis::Core::Hashable
@@ -1079,6 +1134,169 @@ module Google
1079
1134
  end
1080
1135
  end
1081
1136
 
1137
+ # An Local attached disk resource.
1138
+ class LocalDisk
1139
+ include Google::Apis::Core::Hashable
1140
+
1141
+ # Output only. Specifies whether the disk will be auto-deleted when the instance
1142
+ # is deleted (but not when the disk is detached from the instance).
1143
+ # Corresponds to the JSON property `autoDelete`
1144
+ # @return [Boolean]
1145
+ attr_accessor :auto_delete
1146
+ alias_method :auto_delete?, :auto_delete
1147
+
1148
+ # Output only. Indicates that this is a boot disk. The virtual machine will use
1149
+ # the first partition of the disk for its root filesystem.
1150
+ # Corresponds to the JSON property `boot`
1151
+ # @return [Boolean]
1152
+ attr_accessor :boot
1153
+ alias_method :boot?, :boot
1154
+
1155
+ # Output only. Specifies a unique device name of your choice that is reflected
1156
+ # into the /dev/disk/by-id/google-* tree of a Linux operating system running
1157
+ # within the instance. This name can be used to reference the device for
1158
+ # mounting, resizing, and so on, from within the instance. If not specified, the
1159
+ # server chooses a default device name to apply to this disk, in the form
1160
+ # persistent-disk-x, where x is a number assigned by Google Compute Engine. This
1161
+ # field is only applicable for persistent disks.
1162
+ # Corresponds to the JSON property `deviceName`
1163
+ # @return [String]
1164
+ attr_accessor :device_name
1165
+
1166
+ # Output only. Indicates a list of features to enable on the guest operating
1167
+ # system. Applicable only for bootable images. Read Enabling guest operating
1168
+ # system features to see a list of available options.
1169
+ # Corresponds to the JSON property `guestOsFeatures`
1170
+ # @return [Array<Google::Apis::NotebooksV1::RuntimeGuestOsFeature>]
1171
+ attr_accessor :guest_os_features
1172
+
1173
+ # Output only. [Output Only] A zero-based index to this disk, where 0 is
1174
+ # reserved for the boot disk. If you have many disks attached to an instance,
1175
+ # each disk would have a unique index number.
1176
+ # Corresponds to the JSON property `index`
1177
+ # @return [Fixnum]
1178
+ attr_accessor :index
1179
+
1180
+ # [Input Only] Specifies the parameters for a new disk that will be created
1181
+ # alongside the new instance. Use initialization parameters to create boot disks
1182
+ # or local SSDs attached to the new runtime. This property is mutually exclusive
1183
+ # with the source property; you can only define one or the other, but not both.
1184
+ # Corresponds to the JSON property `initializeParams`
1185
+ # @return [Google::Apis::NotebooksV1::LocalDiskInitializeParams]
1186
+ attr_accessor :initialize_params
1187
+
1188
+ # Specifies the disk interface to use for attaching this disk, which is either
1189
+ # SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and
1190
+ # the request will fail if you attempt to attach a persistent disk in any other
1191
+ # format than SCSI. Local SSDs can use either NVME or SCSI. For performance
1192
+ # characteristics of SCSI over NVMe, see Local SSD performance. Valid values:
1193
+ # NVME SCSI
1194
+ # Corresponds to the JSON property `interface`
1195
+ # @return [String]
1196
+ attr_accessor :interface
1197
+
1198
+ # Output only. Type of the resource. Always compute#attachedDisk for attached
1199
+ # disks.
1200
+ # Corresponds to the JSON property `kind`
1201
+ # @return [String]
1202
+ attr_accessor :kind
1203
+
1204
+ # Output only. [Output Only] Any valid publicly visible licenses.
1205
+ # Corresponds to the JSON property `licenses`
1206
+ # @return [Array<String>]
1207
+ attr_accessor :licenses
1208
+
1209
+ # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
1210
+ # specified, the default is to attach the disk in READ_WRITE mode. Valid values:
1211
+ # READ_ONLY READ_WRITE
1212
+ # Corresponds to the JSON property `mode`
1213
+ # @return [String]
1214
+ attr_accessor :mode
1215
+
1216
+ # Specifies a valid partial or full URL to an existing Persistent Disk resource.
1217
+ # Corresponds to the JSON property `source`
1218
+ # @return [String]
1219
+ attr_accessor :source
1220
+
1221
+ # Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified,
1222
+ # the default is PERSISTENT. Valid values: PERSISTENT SCRATCH
1223
+ # Corresponds to the JSON property `type`
1224
+ # @return [String]
1225
+ attr_accessor :type
1226
+
1227
+ def initialize(**args)
1228
+ update!(**args)
1229
+ end
1230
+
1231
+ # Update properties of this object
1232
+ def update!(**args)
1233
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
1234
+ @boot = args[:boot] if args.key?(:boot)
1235
+ @device_name = args[:device_name] if args.key?(:device_name)
1236
+ @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
1237
+ @index = args[:index] if args.key?(:index)
1238
+ @initialize_params = args[:initialize_params] if args.key?(:initialize_params)
1239
+ @interface = args[:interface] if args.key?(:interface)
1240
+ @kind = args[:kind] if args.key?(:kind)
1241
+ @licenses = args[:licenses] if args.key?(:licenses)
1242
+ @mode = args[:mode] if args.key?(:mode)
1243
+ @source = args[:source] if args.key?(:source)
1244
+ @type = args[:type] if args.key?(:type)
1245
+ end
1246
+ end
1247
+
1248
+ # [Input Only] Specifies the parameters for a new disk that will be created
1249
+ # alongside the new instance. Use initialization parameters to create boot disks
1250
+ # or local SSDs attached to the new runtime. This property is mutually exclusive
1251
+ # with the source property; you can only define one or the other, but not both.
1252
+ class LocalDiskInitializeParams
1253
+ include Google::Apis::Core::Hashable
1254
+
1255
+ # Optional. Provide this property when creating the disk.
1256
+ # Corresponds to the JSON property `description`
1257
+ # @return [String]
1258
+ attr_accessor :description
1259
+
1260
+ # Optional. Specifies the disk name. If not specified, the default is to use the
1261
+ # name of the instance. If the disk with the instance name exists already in the
1262
+ # given zone/region, a new name will be automatically generated.
1263
+ # Corresponds to the JSON property `diskName`
1264
+ # @return [String]
1265
+ attr_accessor :disk_name
1266
+
1267
+ # Optional. Specifies the size of the disk in base-2 GB. If not specified, the
1268
+ # disk will be the same size as the image (usually 10GB). If specified, the size
1269
+ # must be equal to or larger than 10GB. Default 100 GB.
1270
+ # Corresponds to the JSON property `diskSizeGb`
1271
+ # @return [Fixnum]
1272
+ attr_accessor :disk_size_gb
1273
+
1274
+ # Input only. The type of the boot disk attached to this instance, defaults to
1275
+ # standard persistent disk (`PD_STANDARD`).
1276
+ # Corresponds to the JSON property `diskType`
1277
+ # @return [String]
1278
+ attr_accessor :disk_type
1279
+
1280
+ # Optional. Labels to apply to this disk. These can be later modified by the
1281
+ # disks.setLabels method. This field is only applicable for persistent disks.
1282
+ # Corresponds to the JSON property `labels`
1283
+ # @return [Hash<String,String>]
1284
+ attr_accessor :labels
1285
+
1286
+ def initialize(**args)
1287
+ update!(**args)
1288
+ end
1289
+
1290
+ # Update properties of this object
1291
+ def update!(**args)
1292
+ @description = args[:description] if args.key?(:description)
1293
+ @disk_name = args[:disk_name] if args.key?(:disk_name)
1294
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1295
+ @disk_type = args[:disk_type] if args.key?(:disk_type)
1296
+ @labels = args[:labels] if args.key?(:labels)
1297
+ end
1298
+ end
1299
+
1082
1300
  # A resource that represents Google Cloud Platform location.
1083
1301
  class Location
1084
1302
  include Google::Apis::Core::Hashable
@@ -1398,6 +1616,303 @@ module Google
1398
1616
  end
1399
1617
  end
1400
1618
 
1619
+ # Request for reseting a Managed Notebook Runtime.
1620
+ class ResetRuntimeRequest
1621
+ include Google::Apis::Core::Hashable
1622
+
1623
+ def initialize(**args)
1624
+ update!(**args)
1625
+ end
1626
+
1627
+ # Update properties of this object
1628
+ def update!(**args)
1629
+ end
1630
+ end
1631
+
1632
+ # The definition of a Runtime for a managed notebook instance.
1633
+ class Runtime
1634
+ include Google::Apis::Core::Hashable
1635
+
1636
+ # Specifies the login configuration for Runtime
1637
+ # Corresponds to the JSON property `accessConfig`
1638
+ # @return [Google::Apis::NotebooksV1::RuntimeAccessConfig]
1639
+ attr_accessor :access_config
1640
+
1641
+ # Output only. Runtime creation time.
1642
+ # Corresponds to the JSON property `createTime`
1643
+ # @return [String]
1644
+ attr_accessor :create_time
1645
+
1646
+ # Output only. Runtime health_state.
1647
+ # Corresponds to the JSON property `healthState`
1648
+ # @return [String]
1649
+ attr_accessor :health_state
1650
+
1651
+ # Contains runtime daemon metrics, such as OS and kernels and sessions stats.
1652
+ # Corresponds to the JSON property `metrics`
1653
+ # @return [Google::Apis::NotebooksV1::RuntimeMetrics]
1654
+ attr_accessor :metrics
1655
+
1656
+ # Output only. The resource name of the runtime. Format: `projects/`project`/
1657
+ # locations/`location`/runtimes/`runtime``
1658
+ # Corresponds to the JSON property `name`
1659
+ # @return [String]
1660
+ attr_accessor :name
1661
+
1662
+ # Specifies the selection and config of software inside the runtime. / The
1663
+ # properties to set on runtime. Properties keys are specified in `key:value`
1664
+ # format, for example: * idle_shutdown: idle_shutdown=true *
1665
+ # idle_shutdown_timeout: idle_shutdown_timeout=180 * report-system-health:
1666
+ # report-system-health=true
1667
+ # Corresponds to the JSON property `softwareConfig`
1668
+ # @return [Google::Apis::NotebooksV1::RuntimeSoftwareConfig]
1669
+ attr_accessor :software_config
1670
+
1671
+ # Output only. Runtime state.
1672
+ # Corresponds to the JSON property `state`
1673
+ # @return [String]
1674
+ attr_accessor :state
1675
+
1676
+ # Output only. Runtime update time.
1677
+ # Corresponds to the JSON property `updateTime`
1678
+ # @return [String]
1679
+ attr_accessor :update_time
1680
+
1681
+ # Runtime using Virtual Machine for computing.
1682
+ # Corresponds to the JSON property `virtualMachine`
1683
+ # @return [Google::Apis::NotebooksV1::VirtualMachine]
1684
+ attr_accessor :virtual_machine
1685
+
1686
+ def initialize(**args)
1687
+ update!(**args)
1688
+ end
1689
+
1690
+ # Update properties of this object
1691
+ def update!(**args)
1692
+ @access_config = args[:access_config] if args.key?(:access_config)
1693
+ @create_time = args[:create_time] if args.key?(:create_time)
1694
+ @health_state = args[:health_state] if args.key?(:health_state)
1695
+ @metrics = args[:metrics] if args.key?(:metrics)
1696
+ @name = args[:name] if args.key?(:name)
1697
+ @software_config = args[:software_config] if args.key?(:software_config)
1698
+ @state = args[:state] if args.key?(:state)
1699
+ @update_time = args[:update_time] if args.key?(:update_time)
1700
+ @virtual_machine = args[:virtual_machine] if args.key?(:virtual_machine)
1701
+ end
1702
+ end
1703
+
1704
+ # Definition of the types of hardware accelerators that can be used. Definition
1705
+ # of the types of hardware accelerators that can be used. See [Compute Engine
1706
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
1707
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
1708
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
1709
+ # a100`
1710
+ class RuntimeAcceleratorConfig
1711
+ include Google::Apis::Core::Hashable
1712
+
1713
+ # Count of cores of this accelerator.
1714
+ # Corresponds to the JSON property `coreCount`
1715
+ # @return [Fixnum]
1716
+ attr_accessor :core_count
1717
+
1718
+ # Accelerator model.
1719
+ # Corresponds to the JSON property `type`
1720
+ # @return [String]
1721
+ attr_accessor :type
1722
+
1723
+ def initialize(**args)
1724
+ update!(**args)
1725
+ end
1726
+
1727
+ # Update properties of this object
1728
+ def update!(**args)
1729
+ @core_count = args[:core_count] if args.key?(:core_count)
1730
+ @type = args[:type] if args.key?(:type)
1731
+ end
1732
+ end
1733
+
1734
+ # Specifies the login configuration for Runtime
1735
+ class RuntimeAccessConfig
1736
+ include Google::Apis::Core::Hashable
1737
+
1738
+ # The type of access mode this instance.
1739
+ # Corresponds to the JSON property `accessType`
1740
+ # @return [String]
1741
+ attr_accessor :access_type
1742
+
1743
+ # Output only. The proxy endpoint that is used to access the runtime.
1744
+ # Corresponds to the JSON property `proxyUri`
1745
+ # @return [String]
1746
+ attr_accessor :proxy_uri
1747
+
1748
+ # The owner of this runtime after creation. Format: `alias@example.com`
1749
+ # Currently supports one owner only.
1750
+ # Corresponds to the JSON property `runtimeOwner`
1751
+ # @return [String]
1752
+ attr_accessor :runtime_owner
1753
+
1754
+ def initialize(**args)
1755
+ update!(**args)
1756
+ end
1757
+
1758
+ # Update properties of this object
1759
+ def update!(**args)
1760
+ @access_type = args[:access_type] if args.key?(:access_type)
1761
+ @proxy_uri = args[:proxy_uri] if args.key?(:proxy_uri)
1762
+ @runtime_owner = args[:runtime_owner] if args.key?(:runtime_owner)
1763
+ end
1764
+ end
1765
+
1766
+ # A list of features to enable on the guest operating system. Applicable only
1767
+ # for bootable images. Read Enabling guest operating system features to see a
1768
+ # list of available options. Guest OS features for boot disk.
1769
+ class RuntimeGuestOsFeature
1770
+ include Google::Apis::Core::Hashable
1771
+
1772
+ # The ID of a supported feature. Read Enabling guest operating system features
1773
+ # to see a list of available options. Valid values: FEATURE_TYPE_UNSPECIFIED
1774
+ # MULTI_IP_SUBNET SECURE_BOOT UEFI_COMPATIBLE VIRTIO_SCSI_MULTIQUEUE WINDOWS
1775
+ # Corresponds to the JSON property `type`
1776
+ # @return [String]
1777
+ attr_accessor :type
1778
+
1779
+ def initialize(**args)
1780
+ update!(**args)
1781
+ end
1782
+
1783
+ # Update properties of this object
1784
+ def update!(**args)
1785
+ @type = args[:type] if args.key?(:type)
1786
+ end
1787
+ end
1788
+
1789
+ # Contains runtime daemon metrics, such as OS and kernels and sessions stats.
1790
+ class RuntimeMetrics
1791
+ include Google::Apis::Core::Hashable
1792
+
1793
+ # Output only. The system metrics.
1794
+ # Corresponds to the JSON property `systemMetrics`
1795
+ # @return [Hash<String,String>]
1796
+ attr_accessor :system_metrics
1797
+
1798
+ def initialize(**args)
1799
+ update!(**args)
1800
+ end
1801
+
1802
+ # Update properties of this object
1803
+ def update!(**args)
1804
+ @system_metrics = args[:system_metrics] if args.key?(:system_metrics)
1805
+ end
1806
+ end
1807
+
1808
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
1809
+ # features] Not all combinations are valid.
1810
+ class RuntimeShieldedInstanceConfig
1811
+ include Google::Apis::Core::Hashable
1812
+
1813
+ # Defines whether the instance has integrity monitoring enabled. Enables
1814
+ # monitoring and attestation of the boot integrity of the instance. The
1815
+ # attestation is performed against the integrity policy baseline. This baseline
1816
+ # is initially derived from the implicitly trusted boot image when the instance
1817
+ # is created. Enabled by default.
1818
+ # Corresponds to the JSON property `enableIntegrityMonitoring`
1819
+ # @return [Boolean]
1820
+ attr_accessor :enable_integrity_monitoring
1821
+ alias_method :enable_integrity_monitoring?, :enable_integrity_monitoring
1822
+
1823
+ # Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure
1824
+ # that the system only runs authentic software by verifying the digital
1825
+ # signature of all boot components, and halting the boot process if signature
1826
+ # verification fails. Disabled by default.
1827
+ # Corresponds to the JSON property `enableSecureBoot`
1828
+ # @return [Boolean]
1829
+ attr_accessor :enable_secure_boot
1830
+ alias_method :enable_secure_boot?, :enable_secure_boot
1831
+
1832
+ # Defines whether the instance has the vTPM enabled. Enabled by default.
1833
+ # Corresponds to the JSON property `enableVtpm`
1834
+ # @return [Boolean]
1835
+ attr_accessor :enable_vtpm
1836
+ alias_method :enable_vtpm?, :enable_vtpm
1837
+
1838
+ def initialize(**args)
1839
+ update!(**args)
1840
+ end
1841
+
1842
+ # Update properties of this object
1843
+ def update!(**args)
1844
+ @enable_integrity_monitoring = args[:enable_integrity_monitoring] if args.key?(:enable_integrity_monitoring)
1845
+ @enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot)
1846
+ @enable_vtpm = args[:enable_vtpm] if args.key?(:enable_vtpm)
1847
+ end
1848
+ end
1849
+
1850
+ # Specifies the selection and config of software inside the runtime. / The
1851
+ # properties to set on runtime. Properties keys are specified in `key:value`
1852
+ # format, for example: * idle_shutdown: idle_shutdown=true *
1853
+ # idle_shutdown_timeout: idle_shutdown_timeout=180 * report-system-health:
1854
+ # report-system-health=true
1855
+ class RuntimeSoftwareConfig
1856
+ include Google::Apis::Core::Hashable
1857
+
1858
+ # Specify a custom Cloud Storage path where the GPU driver is stored. If not
1859
+ # specified, we'll automatically choose from official GPU drivers.
1860
+ # Corresponds to the JSON property `customGpuDriverPath`
1861
+ # @return [String]
1862
+ attr_accessor :custom_gpu_driver_path
1863
+
1864
+ # Verifies core internal services are running. Default: True
1865
+ # Corresponds to the JSON property `enableHealthMonitoring`
1866
+ # @return [Boolean]
1867
+ attr_accessor :enable_health_monitoring
1868
+ alias_method :enable_health_monitoring?, :enable_health_monitoring
1869
+
1870
+ # Runtime will automatically shutdown after idle_shutdown_time. Default: False
1871
+ # Corresponds to the JSON property `idleShutdown`
1872
+ # @return [Boolean]
1873
+ attr_accessor :idle_shutdown
1874
+ alias_method :idle_shutdown?, :idle_shutdown
1875
+
1876
+ # Time in minutes to wait before shuting down runtime. Default: 90 minutes
1877
+ # Corresponds to the JSON property `idleShutdownTimeout`
1878
+ # @return [Fixnum]
1879
+ attr_accessor :idle_shutdown_timeout
1880
+
1881
+ # Install Nvidia Driver automatically.
1882
+ # Corresponds to the JSON property `installGpuDriver`
1883
+ # @return [Boolean]
1884
+ attr_accessor :install_gpu_driver
1885
+ alias_method :install_gpu_driver?, :install_gpu_driver
1886
+
1887
+ # Cron expression in UTC timezone, used to schedule instance auto upgrade.
1888
+ # Please follow the [cron format](https://en.wikipedia.org/wiki/Cron).
1889
+ # Corresponds to the JSON property `notebookUpgradeSchedule`
1890
+ # @return [String]
1891
+ attr_accessor :notebook_upgrade_schedule
1892
+
1893
+ # Path to a Bash script that automatically runs after a notebook instance fully
1894
+ # boots up. The path must be a URL or Cloud Storage path (gs://path-to-file/file-
1895
+ # name).
1896
+ # Corresponds to the JSON property `postStartupScript`
1897
+ # @return [String]
1898
+ attr_accessor :post_startup_script
1899
+
1900
+ def initialize(**args)
1901
+ update!(**args)
1902
+ end
1903
+
1904
+ # Update properties of this object
1905
+ def update!(**args)
1906
+ @custom_gpu_driver_path = args[:custom_gpu_driver_path] if args.key?(:custom_gpu_driver_path)
1907
+ @enable_health_monitoring = args[:enable_health_monitoring] if args.key?(:enable_health_monitoring)
1908
+ @idle_shutdown = args[:idle_shutdown] if args.key?(:idle_shutdown)
1909
+ @idle_shutdown_timeout = args[:idle_shutdown_timeout] if args.key?(:idle_shutdown_timeout)
1910
+ @install_gpu_driver = args[:install_gpu_driver] if args.key?(:install_gpu_driver)
1911
+ @notebook_upgrade_schedule = args[:notebook_upgrade_schedule] if args.key?(:notebook_upgrade_schedule)
1912
+ @post_startup_script = args[:post_startup_script] if args.key?(:post_startup_script)
1913
+ end
1914
+ end
1915
+
1401
1916
  # The definition of a schedule.
1402
1917
  class Schedule
1403
1918
  include Google::Apis::Core::Hashable
@@ -1676,6 +2191,19 @@ module Google
1676
2191
  end
1677
2192
  end
1678
2193
 
2194
+ # Request for starting a Managed Notebook Runtime.
2195
+ class StartRuntimeRequest
2196
+ include Google::Apis::Core::Hashable
2197
+
2198
+ def initialize(**args)
2199
+ update!(**args)
2200
+ end
2201
+
2202
+ # Update properties of this object
2203
+ def update!(**args)
2204
+ end
2205
+ end
2206
+
1679
2207
  # The `Status` type defines a logical error model that is suitable for different
1680
2208
  # programming environments, including REST APIs and RPC APIs. It is used by [
1681
2209
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -1728,6 +2256,49 @@ module Google
1728
2256
  end
1729
2257
  end
1730
2258
 
2259
+ # Request for stopping a Managed Notebook Runtime.
2260
+ class StopRuntimeRequest
2261
+ include Google::Apis::Core::Hashable
2262
+
2263
+ def initialize(**args)
2264
+ update!(**args)
2265
+ end
2266
+
2267
+ # Update properties of this object
2268
+ def update!(**args)
2269
+ end
2270
+ end
2271
+
2272
+ # Request for switching a Managed Notebook Runtime.
2273
+ class SwitchRuntimeRequest
2274
+ include Google::Apis::Core::Hashable
2275
+
2276
+ # Definition of the types of hardware accelerators that can be used. Definition
2277
+ # of the types of hardware accelerators that can be used. See [Compute Engine
2278
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
2279
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
2280
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
2281
+ # a100`
2282
+ # Corresponds to the JSON property `acceleratorConfig`
2283
+ # @return [Google::Apis::NotebooksV1::RuntimeAcceleratorConfig]
2284
+ attr_accessor :accelerator_config
2285
+
2286
+ # machine type.
2287
+ # Corresponds to the JSON property `machineType`
2288
+ # @return [String]
2289
+ attr_accessor :machine_type
2290
+
2291
+ def initialize(**args)
2292
+ update!(**args)
2293
+ end
2294
+
2295
+ # Update properties of this object
2296
+ def update!(**args)
2297
+ @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config)
2298
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
2299
+ end
2300
+ end
2301
+
1731
2302
  # Request message for `TestIamPermissions` method.
1732
2303
  class TestIamPermissionsRequest
1733
2304
  include Google::Apis::Core::Hashable
@@ -1781,6 +2352,27 @@ module Google
1781
2352
  end
1782
2353
  end
1783
2354
 
2355
+ # Request for updating the Shielded Instance config for a notebook instance. You
2356
+ # can only use this method on a stopped instance
2357
+ class UpdateShieldedInstanceConfigRequest
2358
+ include Google::Apis::Core::Hashable
2359
+
2360
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
2361
+ # features] Not all combinations are valid.
2362
+ # Corresponds to the JSON property `shieldedInstanceConfig`
2363
+ # @return [Google::Apis::NotebooksV1::ShieldedInstanceConfig]
2364
+ attr_accessor :shielded_instance_config
2365
+
2366
+ def initialize(**args)
2367
+ update!(**args)
2368
+ end
2369
+
2370
+ # Update properties of this object
2371
+ def update!(**args)
2372
+ @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
2373
+ end
2374
+ end
2375
+
1784
2376
  # The entry of VM image upgrade history.
1785
2377
  class UpgradeHistoryEntry
1786
2378
  include Google::Apis::Core::Hashable
@@ -1887,6 +2479,172 @@ module Google
1887
2479
  end
1888
2480
  end
1889
2481
 
2482
+ # Runtime using Virtual Machine for computing.
2483
+ class VirtualMachine
2484
+ include Google::Apis::Core::Hashable
2485
+
2486
+ # Output only. The unique identifier of the Managed Compute Engine instance.
2487
+ # Corresponds to the JSON property `instanceId`
2488
+ # @return [String]
2489
+ attr_accessor :instance_id
2490
+
2491
+ # Output only. The user-friendly name of the Managed Compute Engine instance.
2492
+ # Corresponds to the JSON property `instanceName`
2493
+ # @return [String]
2494
+ attr_accessor :instance_name
2495
+
2496
+ # The config settings for virtual machine.
2497
+ # Corresponds to the JSON property `virtualMachineConfig`
2498
+ # @return [Google::Apis::NotebooksV1::VirtualMachineConfig]
2499
+ attr_accessor :virtual_machine_config
2500
+
2501
+ def initialize(**args)
2502
+ update!(**args)
2503
+ end
2504
+
2505
+ # Update properties of this object
2506
+ def update!(**args)
2507
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
2508
+ @instance_name = args[:instance_name] if args.key?(:instance_name)
2509
+ @virtual_machine_config = args[:virtual_machine_config] if args.key?(:virtual_machine_config)
2510
+ end
2511
+ end
2512
+
2513
+ # The config settings for virtual machine.
2514
+ class VirtualMachineConfig
2515
+ include Google::Apis::Core::Hashable
2516
+
2517
+ # Definition of the types of hardware accelerators that can be used. Definition
2518
+ # of the types of hardware accelerators that can be used. See [Compute Engine
2519
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/
2520
+ # acceleratorTypes). Examples: * `nvidia-tesla-k80` * `nvidia-tesla-p100` * `
2521
+ # nvidia-tesla-v100` * `nvidia-tesla-p4` * `nvidia-tesla-t4` * `nvidia-tesla-
2522
+ # a100`
2523
+ # Corresponds to the JSON property `acceleratorConfig`
2524
+ # @return [Google::Apis::NotebooksV1::RuntimeAcceleratorConfig]
2525
+ attr_accessor :accelerator_config
2526
+
2527
+ # Optional. Use a list of container images to start the notebook instance.
2528
+ # Corresponds to the JSON property `containerImages`
2529
+ # @return [Array<Google::Apis::NotebooksV1::ContainerImage>]
2530
+ attr_accessor :container_images
2531
+
2532
+ # An Local attached disk resource.
2533
+ # Corresponds to the JSON property `dataDisk`
2534
+ # @return [Google::Apis::NotebooksV1::LocalDisk]
2535
+ attr_accessor :data_disk
2536
+
2537
+ # Represents a custom encryption key configuration that can be applied to a
2538
+ # resource. This will encrypt all disks in Virtual Machine.
2539
+ # Corresponds to the JSON property `encryptionConfig`
2540
+ # @return [Google::Apis::NotebooksV1::EncryptionConfig]
2541
+ attr_accessor :encryption_config
2542
+
2543
+ # Output only. The Compute Engine guest attributes. (see [Project and instance
2544
+ # guest attributes](https://cloud.google.com/compute/docs/storing-retrieving-
2545
+ # metadata#guest_attributes)).
2546
+ # Corresponds to the JSON property `guestAttributes`
2547
+ # @return [Hash<String,String>]
2548
+ attr_accessor :guest_attributes
2549
+
2550
+ # Optional. If true, runtime will only have internal IP addresses. By default,
2551
+ # runtimes are not restricted to internal IP addresses, and will have ephemeral
2552
+ # external IP addresses assigned to each vm. This `internal_ip_only` restriction
2553
+ # can only be enabled for subnetwork enabled networks, and all dependencies must
2554
+ # be configured to be accessible without external IP addresses.
2555
+ # Corresponds to the JSON property `internalIpOnly`
2556
+ # @return [Boolean]
2557
+ attr_accessor :internal_ip_only
2558
+ alias_method :internal_ip_only?, :internal_ip_only
2559
+
2560
+ # Optional. The labels to associate with this runtime. Label **keys** must
2561
+ # contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.
2562
+ # org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must
2563
+ # contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.
2564
+ # org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster.
2565
+ # Corresponds to the JSON property `labels`
2566
+ # @return [Hash<String,String>]
2567
+ attr_accessor :labels
2568
+
2569
+ # Required. The Compute Engine machine type used for runtimes. Short name is
2570
+ # valid. Examples: * `n1-standard-2` * `e2-standard-8`
2571
+ # Corresponds to the JSON property `machineType`
2572
+ # @return [String]
2573
+ attr_accessor :machine_type
2574
+
2575
+ # Optional. The Compute Engine metadata entries to add to virtual machine. (see [
2576
+ # Project and instance metadata](https://cloud.google.com/compute/docs/storing-
2577
+ # retrieving-metadata#project_and_instance_metadata)).
2578
+ # Corresponds to the JSON property `metadata`
2579
+ # @return [Hash<String,String>]
2580
+ attr_accessor :metadata
2581
+
2582
+ # Optional. The Compute Engine network to be used for machine communications.
2583
+ # Cannot be specified with subnetwork. If neither `network` nor `subnet` is
2584
+ # specified, the "default" network of the project is used, if it exists. A full
2585
+ # URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/
2586
+ # projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/
2587
+ # global/default` Runtimes are managed resources inside Google Infrastructure.
2588
+ # Runtimes support the following network configurations: * Google Managed
2589
+ # Network (Network & subnet are empty) * Consumer Project VPC (network & subnet
2590
+ # are required). Requires configuring Private Service Access. * Shared VPC (
2591
+ # network & subnet are required). Requires configuring Private Service Access.
2592
+ # Corresponds to the JSON property `network`
2593
+ # @return [String]
2594
+ attr_accessor :network
2595
+
2596
+ # A set of Shielded Instance options. Check [Images using supported Shielded VM
2597
+ # features] Not all combinations are valid.
2598
+ # Corresponds to the JSON property `shieldedInstanceConfig`
2599
+ # @return [Google::Apis::NotebooksV1::RuntimeShieldedInstanceConfig]
2600
+ attr_accessor :shielded_instance_config
2601
+
2602
+ # Optional. The Compute Engine subnetwork to be used for machine communications.
2603
+ # Cannot be specified with network. A full URL or partial URI are valid.
2604
+ # Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/
2605
+ # regions/us-east1/subnetworks/sub0` * `projects/[project_id]/regions/us-east1/
2606
+ # subnetworks/sub0`
2607
+ # Corresponds to the JSON property `subnet`
2608
+ # @return [String]
2609
+ attr_accessor :subnet
2610
+
2611
+ # Optional. The Compute Engine tags to add to runtime (see [Tagging instances](
2612
+ # https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
2613
+ # Corresponds to the JSON property `tags`
2614
+ # @return [Array<String>]
2615
+ attr_accessor :tags
2616
+
2617
+ # Output only. The zone where the virtual machine is located. If using regional
2618
+ # request, the notebooks service will pick a location in the corresponding
2619
+ # runtime region. On a get request, zone will always be present. Example: * `us-
2620
+ # central1-b`
2621
+ # Corresponds to the JSON property `zone`
2622
+ # @return [String]
2623
+ attr_accessor :zone
2624
+
2625
+ def initialize(**args)
2626
+ update!(**args)
2627
+ end
2628
+
2629
+ # Update properties of this object
2630
+ def update!(**args)
2631
+ @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config)
2632
+ @container_images = args[:container_images] if args.key?(:container_images)
2633
+ @data_disk = args[:data_disk] if args.key?(:data_disk)
2634
+ @encryption_config = args[:encryption_config] if args.key?(:encryption_config)
2635
+ @guest_attributes = args[:guest_attributes] if args.key?(:guest_attributes)
2636
+ @internal_ip_only = args[:internal_ip_only] if args.key?(:internal_ip_only)
2637
+ @labels = args[:labels] if args.key?(:labels)
2638
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
2639
+ @metadata = args[:metadata] if args.key?(:metadata)
2640
+ @network = args[:network] if args.key?(:network)
2641
+ @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
2642
+ @subnet = args[:subnet] if args.key?(:subnet)
2643
+ @tags = args[:tags] if args.key?(:tags)
2644
+ @zone = args[:zone] if args.key?(:zone)
2645
+ end
2646
+ end
2647
+
1890
2648
  # Definition of a custom Compute Engine virtual machine image for starting a
1891
2649
  # notebook instance with the environment installed directly on the VM.
1892
2650
  class VmImage