google-api-client 0.49.0 → 0.50.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. data/generated/google/apis/accessapproval_v1.rb +1 -1
  4. data/generated/google/apis/accessapproval_v1/service.rb +12 -9
  5. data/generated/google/apis/admob_v1.rb +4 -1
  6. data/generated/google/apis/admob_v1/service.rb +4 -0
  7. data/generated/google/apis/admob_v1beta.rb +38 -0
  8. data/generated/google/apis/admob_v1beta/classes.rb +1035 -0
  9. data/generated/google/apis/admob_v1beta/representations.rb +472 -0
  10. data/generated/google/apis/admob_v1beta/service.rb +279 -0
  11. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  12. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +8 -32
  13. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +0 -16
  14. data/generated/google/apis/analyticsdata_v1alpha/service.rb +3 -32
  15. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  16. data/generated/google/apis/androidenterprise_v1/classes.rb +6 -0
  17. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  18. data/generated/google/apis/apigee_v1.rb +1 -1
  19. data/generated/google/apis/apigee_v1/classes.rb +114 -11
  20. data/generated/google/apis/apigee_v1/representations.rb +39 -1
  21. data/generated/google/apis/apigee_v1/service.rb +370 -2
  22. data/generated/google/apis/area120tables_v1alpha1.rb +1 -1
  23. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  24. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +0 -6
  25. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +0 -1
  26. data/generated/google/apis/assuredworkloads_v1beta1.rb +1 -1
  27. data/generated/google/apis/assuredworkloads_v1beta1/classes.rb +22 -10
  28. data/generated/google/apis/assuredworkloads_v1beta1/representations.rb +2 -0
  29. data/generated/google/apis/assuredworkloads_v1beta1/service.rb +1 -5
  30. data/generated/google/apis/billingbudgets_v1.rb +1 -1
  31. data/generated/google/apis/billingbudgets_v1/classes.rb +6 -6
  32. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  33. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +6 -6
  34. data/generated/google/apis/cloudasset_v1.rb +1 -1
  35. data/generated/google/apis/cloudasset_v1/classes.rb +425 -6
  36. data/generated/google/apis/cloudasset_v1/representations.rb +170 -1
  37. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  38. data/generated/google/apis/cloudasset_v1beta1/classes.rb +0 -6
  39. data/generated/google/apis/cloudasset_v1beta1/representations.rb +0 -1
  40. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  41. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +0 -6
  42. data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +0 -1
  43. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  44. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +0 -6
  45. data/generated/google/apis/cloudasset_v1p4beta1/representations.rb +0 -1
  46. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  47. data/generated/google/apis/cloudasset_v1p5beta1/classes.rb +0 -6
  48. data/generated/google/apis/cloudasset_v1p5beta1/representations.rb +0 -1
  49. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  50. data/generated/google/apis/cloudfunctions_v1/classes.rb +0 -6
  51. data/generated/google/apis/cloudfunctions_v1/representations.rb +0 -1
  52. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  53. data/generated/google/apis/cloudidentity_v1/service.rb +7 -3
  54. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  55. data/generated/google/apis/cloudidentity_v1beta1/service.rb +7 -3
  56. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  57. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +323 -6
  58. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +248 -1
  59. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  60. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +323 -6
  61. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +248 -1
  62. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  63. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +323 -6
  64. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +248 -1
  65. data/generated/google/apis/cloudresourcemanager_v2/service.rb +5 -5
  66. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  67. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +323 -6
  68. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +248 -1
  69. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +5 -5
  70. data/generated/google/apis/compute_v1.rb +1 -1
  71. data/generated/google/apis/compute_v1/classes.rb +35 -13
  72. data/generated/google/apis/compute_v1/representations.rb +2 -0
  73. data/generated/google/apis/compute_v1/service.rb +2 -1
  74. data/generated/google/apis/content_v2.rb +1 -1
  75. data/generated/google/apis/content_v2/service.rb +3 -1
  76. data/generated/google/apis/content_v2_1.rb +1 -1
  77. data/generated/google/apis/content_v2_1/classes.rb +446 -4
  78. data/generated/google/apis/content_v2_1/representations.rb +136 -0
  79. data/generated/google/apis/content_v2_1/service.rb +36 -1
  80. data/generated/google/apis/deploymentmanager_v2.rb +2 -2
  81. data/generated/google/apis/deploymentmanager_v2/service.rb +1 -1
  82. data/generated/google/apis/deploymentmanager_v2beta.rb +2 -2
  83. data/generated/google/apis/deploymentmanager_v2beta/service.rb +1 -1
  84. data/generated/google/apis/dialogflow_v2.rb +1 -1
  85. data/generated/google/apis/dialogflow_v2/classes.rb +0 -31
  86. data/generated/google/apis/dialogflow_v2/representations.rb +0 -15
  87. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  88. data/generated/google/apis/dialogflow_v2beta1/classes.rb +0 -31
  89. data/generated/google/apis/dialogflow_v2beta1/representations.rb +0 -15
  90. data/generated/google/apis/dialogflow_v2beta1/service.rb +12 -6
  91. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  92. data/generated/google/apis/dialogflow_v3beta1/classes.rb +0 -31
  93. data/generated/google/apis/dialogflow_v3beta1/representations.rb +0 -15
  94. data/generated/google/apis/displayvideo_v1.rb +1 -1
  95. data/generated/google/apis/displayvideo_v1/classes.rb +5 -5
  96. data/generated/google/apis/displayvideo_v1/service.rb +1 -1
  97. data/generated/google/apis/dlp_v2.rb +1 -1
  98. data/generated/google/apis/dlp_v2/classes.rb +6 -0
  99. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  100. data/generated/google/apis/domains_v1alpha2.rb +1 -1
  101. data/generated/google/apis/domains_v1alpha2/classes.rb +0 -6
  102. data/generated/google/apis/domains_v1alpha2/representations.rb +0 -1
  103. data/generated/google/apis/domains_v1beta1.rb +1 -1
  104. data/generated/google/apis/domains_v1beta1/classes.rb +0 -6
  105. data/generated/google/apis/domains_v1beta1/representations.rb +0 -1
  106. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  107. data/generated/google/apis/drive_v2.rb +1 -1
  108. data/generated/google/apis/drive_v2/classes.rb +2 -2
  109. data/generated/google/apis/drive_v3.rb +1 -1
  110. data/generated/google/apis/drive_v3/classes.rb +2 -2
  111. data/generated/google/apis/healthcare_v1.rb +1 -1
  112. data/generated/google/apis/healthcare_v1/classes.rb +6 -0
  113. data/generated/google/apis/healthcare_v1/representations.rb +1 -0
  114. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  115. data/generated/google/apis/healthcare_v1beta1/classes.rb +12 -54
  116. data/generated/google/apis/healthcare_v1beta1/representations.rb +3 -29
  117. data/generated/google/apis/logging_v2.rb +1 -1
  118. data/generated/google/apis/logging_v2/classes.rb +4 -2
  119. data/generated/google/apis/logging_v2/service.rb +20 -20
  120. data/generated/google/apis/managedidentities_v1.rb +1 -1
  121. data/generated/google/apis/managedidentities_v1/classes.rb +345 -4
  122. data/generated/google/apis/managedidentities_v1/representations.rb +149 -0
  123. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  124. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +345 -4
  125. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +149 -0
  126. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  127. data/generated/google/apis/managedidentities_v1beta1/classes.rb +345 -4
  128. data/generated/google/apis/managedidentities_v1beta1/representations.rb +149 -0
  129. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  130. data/generated/google/apis/memcache_v1beta2/classes.rb +345 -4
  131. data/generated/google/apis/memcache_v1beta2/representations.rb +149 -0
  132. data/generated/google/apis/notebooks_v1.rb +34 -0
  133. data/generated/google/apis/notebooks_v1/classes.rb +1461 -0
  134. data/generated/google/apis/notebooks_v1/representations.rb +581 -0
  135. data/generated/google/apis/notebooks_v1/service.rb +1042 -0
  136. data/generated/google/apis/people_v1.rb +1 -1
  137. data/generated/google/apis/people_v1/service.rb +9 -6
  138. data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
  139. data/generated/google/apis/policytroubleshooter_v1/classes.rb +0 -6
  140. data/generated/google/apis/policytroubleshooter_v1/representations.rb +0 -1
  141. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  142. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +0 -6
  143. data/generated/google/apis/policytroubleshooter_v1beta/representations.rb +0 -1
  144. data/generated/google/apis/privateca_v1beta1.rb +1 -1
  145. data/generated/google/apis/privateca_v1beta1/classes.rb +0 -6
  146. data/generated/google/apis/privateca_v1beta1/representations.rb +0 -1
  147. data/generated/google/apis/privateca_v1beta1/service.rb +0 -52
  148. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  149. data/generated/google/apis/realtimebidding_v1/classes.rb +545 -0
  150. data/generated/google/apis/realtimebidding_v1/representations.rb +232 -0
  151. data/generated/google/apis/realtimebidding_v1/service.rb +450 -0
  152. data/generated/google/apis/redis_v1.rb +1 -1
  153. data/generated/google/apis/redis_v1/classes.rb +58 -0
  154. data/generated/google/apis/redis_v1/representations.rb +20 -0
  155. data/generated/google/apis/redis_v1beta1.rb +1 -1
  156. data/generated/google/apis/redis_v1beta1/classes.rb +58 -0
  157. data/generated/google/apis/redis_v1beta1/representations.rb +20 -0
  158. data/generated/google/apis/run_v1.rb +1 -1
  159. data/generated/google/apis/run_v1/classes.rb +0 -6
  160. data/generated/google/apis/run_v1/representations.rb +0 -1
  161. data/generated/google/apis/run_v1alpha1.rb +1 -1
  162. data/generated/google/apis/run_v1alpha1/classes.rb +0 -6
  163. data/generated/google/apis/run_v1alpha1/representations.rb +0 -1
  164. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  165. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +0 -6
  166. data/generated/google/apis/runtimeconfig_v1beta1/representations.rb +0 -1
  167. data/generated/google/apis/secretmanager_v1.rb +1 -1
  168. data/generated/google/apis/secretmanager_v1/classes.rb +0 -6
  169. data/generated/google/apis/secretmanager_v1/representations.rb +0 -1
  170. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  171. data/generated/google/apis/secretmanager_v1beta1/classes.rb +0 -6
  172. data/generated/google/apis/secretmanager_v1beta1/representations.rb +0 -1
  173. data/generated/google/apis/securitycenter_v1.rb +1 -1
  174. data/generated/google/apis/securitycenter_v1/classes.rb +0 -6
  175. data/generated/google/apis/securitycenter_v1/representations.rb +0 -1
  176. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  177. data/generated/google/apis/securitycenter_v1beta1/classes.rb +0 -6
  178. data/generated/google/apis/securitycenter_v1beta1/representations.rb +0 -1
  179. data/generated/google/apis/servicedirectory_v1beta1.rb +1 -1
  180. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +26 -6
  181. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  182. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -7
  183. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -1
  184. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  185. data/generated/google/apis/servicenetworking_v1/service.rb +38 -0
  186. data/generated/google/apis/storage_v1.rb +1 -1
  187. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  188. data/generated/google/apis/storagetransfer_v1/classes.rb +31 -16
  189. data/generated/google/apis/storagetransfer_v1/representations.rb +3 -0
  190. data/generated/google/apis/storagetransfer_v1/service.rb +3 -3
  191. data/generated/google/apis/transcoder_v1beta1.rb +34 -0
  192. data/generated/google/apis/transcoder_v1beta1/classes.rb +1684 -0
  193. data/generated/google/apis/transcoder_v1beta1/representations.rb +756 -0
  194. data/generated/google/apis/transcoder_v1beta1/service.rb +329 -0
  195. data/generated/google/apis/translate_v3.rb +1 -1
  196. data/generated/google/apis/translate_v3beta1.rb +1 -1
  197. data/generated/google/apis/youtube_v3.rb +1 -1
  198. data/generated/google/apis/youtube_v3/service.rb +6 -6
  199. data/lib/google/apis/version.rb +1 -1
  200. metadata +15 -3
@@ -34,6 +34,24 @@ module Google
34
34
  include Google::Apis::Core::JsonObjectSupport
35
35
  end
36
36
 
37
+ class DailyCycle
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
43
+ class Date
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class DenyMaintenancePeriod
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
37
55
  class Empty
38
56
  class Representation < Google::Apis::Core::JsonRepresentation; end
39
57
 
@@ -136,6 +154,18 @@ module Google
136
154
  include Google::Apis::Core::JsonObjectSupport
137
155
  end
138
156
 
157
+ class MaintenancePolicy
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
163
+ class MaintenanceWindow
164
+ class Representation < Google::Apis::Core::JsonRepresentation; end
165
+
166
+ include Google::Apis::Core::JsonObjectSupport
167
+ end
168
+
139
169
  class MemcacheParameters
140
170
  class Representation < Google::Apis::Core::JsonRepresentation; end
141
171
 
@@ -160,18 +190,42 @@ module Google
160
190
  include Google::Apis::Core::JsonObjectSupport
161
191
  end
162
192
 
193
+ class Schedule
194
+ class Representation < Google::Apis::Core::JsonRepresentation; end
195
+
196
+ include Google::Apis::Core::JsonObjectSupport
197
+ end
198
+
163
199
  class Status
164
200
  class Representation < Google::Apis::Core::JsonRepresentation; end
165
201
 
166
202
  include Google::Apis::Core::JsonObjectSupport
167
203
  end
168
204
 
205
+ class TimeOfDay
206
+ class Representation < Google::Apis::Core::JsonRepresentation; end
207
+
208
+ include Google::Apis::Core::JsonObjectSupport
209
+ end
210
+
169
211
  class UpdateParametersRequest
170
212
  class Representation < Google::Apis::Core::JsonRepresentation; end
171
213
 
172
214
  include Google::Apis::Core::JsonObjectSupport
173
215
  end
174
216
 
217
+ class UpdatePolicy
218
+ class Representation < Google::Apis::Core::JsonRepresentation; end
219
+
220
+ include Google::Apis::Core::JsonObjectSupport
221
+ end
222
+
223
+ class WeeklyCycle
224
+ class Representation < Google::Apis::Core::JsonRepresentation; end
225
+
226
+ include Google::Apis::Core::JsonObjectSupport
227
+ end
228
+
175
229
  class ZoneMetadata
176
230
  class Representation < Google::Apis::Core::JsonRepresentation; end
177
231
 
@@ -192,6 +246,36 @@ module Google
192
246
  end
193
247
  end
194
248
 
249
+ class DailyCycle
250
+ # @private
251
+ class Representation < Google::Apis::Core::JsonRepresentation
252
+ property :duration, as: 'duration'
253
+ property :start_time, as: 'startTime', class: Google::Apis::MemcacheV1beta2::TimeOfDay, decorator: Google::Apis::MemcacheV1beta2::TimeOfDay::Representation
254
+
255
+ end
256
+ end
257
+
258
+ class Date
259
+ # @private
260
+ class Representation < Google::Apis::Core::JsonRepresentation
261
+ property :day, as: 'day'
262
+ property :month, as: 'month'
263
+ property :year, as: 'year'
264
+ end
265
+ end
266
+
267
+ class DenyMaintenancePeriod
268
+ # @private
269
+ class Representation < Google::Apis::Core::JsonRepresentation
270
+ property :end_date, as: 'endDate', class: Google::Apis::MemcacheV1beta2::Date, decorator: Google::Apis::MemcacheV1beta2::Date::Representation
271
+
272
+ property :start_date, as: 'startDate', class: Google::Apis::MemcacheV1beta2::Date, decorator: Google::Apis::MemcacheV1beta2::Date::Representation
273
+
274
+ property :time, as: 'time', class: Google::Apis::MemcacheV1beta2::TimeOfDay, decorator: Google::Apis::MemcacheV1beta2::TimeOfDay::Representation
275
+
276
+ end
277
+ end
278
+
195
279
  class Empty
196
280
  # @private
197
281
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -258,6 +342,8 @@ module Google
258
342
  # @private
259
343
  class Representation < Google::Apis::Core::JsonRepresentation
260
344
  property :exclude, as: 'exclude'
345
+ hash :maintenance_policies, as: 'maintenancePolicies', class: Google::Apis::MemcacheV1beta2::MaintenancePolicy, decorator: Google::Apis::MemcacheV1beta2::MaintenancePolicy::Representation
346
+
261
347
  end
262
348
  end
263
349
 
@@ -383,6 +469,30 @@ module Google
383
469
  end
384
470
  end
385
471
 
472
+ class MaintenancePolicy
473
+ # @private
474
+ class Representation < Google::Apis::Core::JsonRepresentation
475
+ property :create_time, as: 'createTime'
476
+ property :description, as: 'description'
477
+ hash :labels, as: 'labels'
478
+ property :name, as: 'name'
479
+ property :state, as: 'state'
480
+ property :update_policy, as: 'updatePolicy', class: Google::Apis::MemcacheV1beta2::UpdatePolicy, decorator: Google::Apis::MemcacheV1beta2::UpdatePolicy::Representation
481
+
482
+ property :update_time, as: 'updateTime'
483
+ end
484
+ end
485
+
486
+ class MaintenanceWindow
487
+ # @private
488
+ class Representation < Google::Apis::Core::JsonRepresentation
489
+ property :daily_cycle, as: 'dailyCycle', class: Google::Apis::MemcacheV1beta2::DailyCycle, decorator: Google::Apis::MemcacheV1beta2::DailyCycle::Representation
490
+
491
+ property :weekly_cycle, as: 'weeklyCycle', class: Google::Apis::MemcacheV1beta2::WeeklyCycle, decorator: Google::Apis::MemcacheV1beta2::WeeklyCycle::Representation
492
+
493
+ end
494
+ end
495
+
386
496
  class MemcacheParameters
387
497
  # @private
388
498
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -424,6 +534,16 @@ module Google
424
534
  end
425
535
  end
426
536
 
537
+ class Schedule
538
+ # @private
539
+ class Representation < Google::Apis::Core::JsonRepresentation
540
+ property :day, as: 'day'
541
+ property :duration, as: 'duration'
542
+ property :start_time, as: 'startTime', class: Google::Apis::MemcacheV1beta2::TimeOfDay, decorator: Google::Apis::MemcacheV1beta2::TimeOfDay::Representation
543
+
544
+ end
545
+ end
546
+
427
547
  class Status
428
548
  # @private
429
549
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -433,6 +553,16 @@ module Google
433
553
  end
434
554
  end
435
555
 
556
+ class TimeOfDay
557
+ # @private
558
+ class Representation < Google::Apis::Core::JsonRepresentation
559
+ property :hours, as: 'hours'
560
+ property :minutes, as: 'minutes'
561
+ property :nanos, as: 'nanos'
562
+ property :seconds, as: 'seconds'
563
+ end
564
+ end
565
+
436
566
  class UpdateParametersRequest
437
567
  # @private
438
568
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -442,6 +572,25 @@ module Google
442
572
  end
443
573
  end
444
574
 
575
+ class UpdatePolicy
576
+ # @private
577
+ class Representation < Google::Apis::Core::JsonRepresentation
578
+ property :channel, as: 'channel'
579
+ collection :deny_maintenance_periods, as: 'denyMaintenancePeriods', class: Google::Apis::MemcacheV1beta2::DenyMaintenancePeriod, decorator: Google::Apis::MemcacheV1beta2::DenyMaintenancePeriod::Representation
580
+
581
+ property :window, as: 'window', class: Google::Apis::MemcacheV1beta2::MaintenanceWindow, decorator: Google::Apis::MemcacheV1beta2::MaintenanceWindow::Representation
582
+
583
+ end
584
+ end
585
+
586
+ class WeeklyCycle
587
+ # @private
588
+ class Representation < Google::Apis::Core::JsonRepresentation
589
+ collection :schedule, as: 'schedule', class: Google::Apis::MemcacheV1beta2::Schedule, decorator: Google::Apis::MemcacheV1beta2::Schedule::Representation
590
+
591
+ end
592
+ end
593
+
445
594
  class ZoneMetadata
446
595
  # @private
447
596
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -0,0 +1,34 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/notebooks_v1/service.rb'
16
+ require 'google/apis/notebooks_v1/classes.rb'
17
+ require 'google/apis/notebooks_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Notebooks API
22
+ #
23
+ # AI Platform Notebooks API is used to manage notebook resources in Google Cloud.
24
+ #
25
+ # @see https://cloud.google.com/ai-platform/notebooks/docs/
26
+ module NotebooksV1
27
+ VERSION = 'V1'
28
+ REVISION = '20201030'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,1461 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module NotebooksV1
24
+
25
+ # Definition of a hardware accelerator. Note that not all combinations of `type`
26
+ # and `core_count` are valid. Check [GPUs on Compute Engine](/compute/docs/gpus/#
27
+ # gpus-list) to find a valid combination. TPUs are not supported.
28
+ class AcceleratorConfig
29
+ include Google::Apis::Core::Hashable
30
+
31
+ # Count of cores of this accelerator.
32
+ # Corresponds to the JSON property `coreCount`
33
+ # @return [Fixnum]
34
+ attr_accessor :core_count
35
+
36
+ # Type of this accelerator.
37
+ # Corresponds to the JSON property `type`
38
+ # @return [String]
39
+ attr_accessor :type
40
+
41
+ def initialize(**args)
42
+ update!(**args)
43
+ end
44
+
45
+ # Update properties of this object
46
+ def update!(**args)
47
+ @core_count = args[:core_count] if args.key?(:core_count)
48
+ @type = args[:type] if args.key?(:type)
49
+ end
50
+ end
51
+
52
+ # Associates `members` with a `role`.
53
+ class Binding
54
+ include Google::Apis::Core::Hashable
55
+
56
+ #
57
+ # Corresponds to the JSON property `bindingId`
58
+ # @return [String]
59
+ attr_accessor :binding_id
60
+
61
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
62
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
63
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
64
+ # "Summary size limit" description: "Determines if a summary is less than 100
65
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
66
+ # Requestor is owner" description: "Determines if requestor is the document
67
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
68
+ # Logic): title: "Public documents" description: "Determine whether the document
69
+ # should be publicly visible" expression: "document.type != 'private' &&
70
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
71
+ # string" description: "Create a notification string with a timestamp."
72
+ # expression: "'New message received at ' + string(document.create_time)" The
73
+ # exact variables and functions that may be referenced within an expression are
74
+ # determined by the service that evaluates it. See the service documentation for
75
+ # additional information.
76
+ # Corresponds to the JSON property `condition`
77
+ # @return [Google::Apis::NotebooksV1::Expr]
78
+ attr_accessor :condition
79
+
80
+ # Specifies the identities requesting access for a Cloud Platform resource. `
81
+ # members` can have the following values: * `allUsers`: A special identifier
82
+ # that represents anyone who is on the internet; with or without a Google
83
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
84
+ # anyone who is authenticated with a Google account or a service account. * `
85
+ # user:`emailid``: An email address that represents a specific Google account.
86
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
87
+ # address that represents a service account. For example, `my-other-app@appspot.
88
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
89
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
90
+ # `uniqueid``: An email address (plus unique identifier) representing a user
91
+ # that has been recently deleted. For example, `alice@example.com?uid=
92
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
93
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
94
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
95
+ # identifier) representing a service account that has been recently deleted. For
96
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
97
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
98
+ # emailid`` and the undeleted service account retains the role in the binding. *
99
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
100
+ # identifier) representing a Google group that has been recently deleted. For
101
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
102
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
103
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
104
+ # primary) that represents all the users of that domain. For example, `google.
105
+ # com` or `example.com`.
106
+ # Corresponds to the JSON property `members`
107
+ # @return [Array<String>]
108
+ attr_accessor :members
109
+
110
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
111
+ # , or `roles/owner`.
112
+ # Corresponds to the JSON property `role`
113
+ # @return [String]
114
+ attr_accessor :role
115
+
116
+ def initialize(**args)
117
+ update!(**args)
118
+ end
119
+
120
+ # Update properties of this object
121
+ def update!(**args)
122
+ @binding_id = args[:binding_id] if args.key?(:binding_id)
123
+ @condition = args[:condition] if args.key?(:condition)
124
+ @members = args[:members] if args.key?(:members)
125
+ @role = args[:role] if args.key?(:role)
126
+ end
127
+ end
128
+
129
+ # The request message for Operations.CancelOperation.
130
+ class CancelOperationRequest
131
+ include Google::Apis::Core::Hashable
132
+
133
+ def initialize(**args)
134
+ update!(**args)
135
+ end
136
+
137
+ # Update properties of this object
138
+ def update!(**args)
139
+ end
140
+ end
141
+
142
+ # Definition of a container image for starting a notebook instance with the
143
+ # environment installed in a container.
144
+ class ContainerImage
145
+ include Google::Apis::Core::Hashable
146
+
147
+ # Required. The path to the container image repository. For example: `gcr.io/`
148
+ # project_id`/`image_name``
149
+ # Corresponds to the JSON property `repository`
150
+ # @return [String]
151
+ attr_accessor :repository
152
+
153
+ # The tag of the container image. If not specified, this defaults to the latest
154
+ # tag.
155
+ # Corresponds to the JSON property `tag`
156
+ # @return [String]
157
+ attr_accessor :tag
158
+
159
+ def initialize(**args)
160
+ update!(**args)
161
+ end
162
+
163
+ # Update properties of this object
164
+ def update!(**args)
165
+ @repository = args[:repository] if args.key?(:repository)
166
+ @tag = args[:tag] if args.key?(:tag)
167
+ end
168
+ end
169
+
170
+ # An instance-attached disk resource.
171
+ class Disk
172
+ include Google::Apis::Core::Hashable
173
+
174
+ # Indicates whether the disk will be auto-deleted when the instance is deleted (
175
+ # but not when the disk is detached from the instance).
176
+ # Corresponds to the JSON property `autoDelete`
177
+ # @return [Boolean]
178
+ attr_accessor :auto_delete
179
+ alias_method :auto_delete?, :auto_delete
180
+
181
+ # Indicates that this is a boot disk. The virtual machine will use the first
182
+ # partition of the disk for its root filesystem.
183
+ # Corresponds to the JSON property `boot`
184
+ # @return [Boolean]
185
+ attr_accessor :boot
186
+ alias_method :boot?, :boot
187
+
188
+ # Indicates a unique device name of your choice that is reflected into the /dev/
189
+ # disk/by-id/google-* tree of a Linux operating system running within the
190
+ # instance. This name can be used to reference the device for mounting, resizing,
191
+ # and so on, from within the instance. If not specified, the server chooses a
192
+ # default device name to apply to this disk, in the form persistent-disk-x,
193
+ # where x is a number assigned by Google Compute Engine.This field is only
194
+ # applicable for persistent disks.
195
+ # Corresponds to the JSON property `deviceName`
196
+ # @return [String]
197
+ attr_accessor :device_name
198
+
199
+ # Indicates the size of the disk in base-2 GB.
200
+ # Corresponds to the JSON property `diskSizeGb`
201
+ # @return [Fixnum]
202
+ attr_accessor :disk_size_gb
203
+
204
+ # Indicates a list of features to enable on the guest operating system.
205
+ # Applicable only for bootable images. Read Enabling guest operating system
206
+ # features to see a list of available options.
207
+ # Corresponds to the JSON property `guestOsFeatures`
208
+ # @return [Array<Google::Apis::NotebooksV1::GuestOsFeature>]
209
+ attr_accessor :guest_os_features
210
+
211
+ # A zero-based index to this disk, where 0 is reserved for the boot disk. If you
212
+ # have many disks attached to an instance, each disk would have a unique index
213
+ # number.
214
+ # Corresponds to the JSON property `index`
215
+ # @return [Fixnum]
216
+ attr_accessor :index
217
+
218
+ # Indicates the disk interface to use for attaching this disk, which is either
219
+ # SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and
220
+ # the request will fail if you attempt to attach a persistent disk in any other
221
+ # format than SCSI. Local SSDs can use either NVME or SCSI. For performance
222
+ # characteristics of SCSI over NVMe, see Local SSD performance. Valid values:
223
+ # NVME SCSI
224
+ # Corresponds to the JSON property `interface`
225
+ # @return [String]
226
+ attr_accessor :interface
227
+
228
+ # Type of the resource. Always compute#attachedDisk for attached disks.
229
+ # Corresponds to the JSON property `kind`
230
+ # @return [String]
231
+ attr_accessor :kind
232
+
233
+ # A list of publicly visible licenses. Reserved for Google's use. A License
234
+ # represents billing and aggregate usage data for public and marketplace images.
235
+ # Corresponds to the JSON property `licenses`
236
+ # @return [Array<String>]
237
+ attr_accessor :licenses
238
+
239
+ # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
240
+ # specified, the default is to attach the disk in READ_WRITE mode. Valid values:
241
+ # READ_ONLY READ_WRITE
242
+ # Corresponds to the JSON property `mode`
243
+ # @return [String]
244
+ attr_accessor :mode
245
+
246
+ # Indicates a valid partial or full URL to an existing Persistent Disk resource.
247
+ # Corresponds to the JSON property `source`
248
+ # @return [String]
249
+ attr_accessor :source
250
+
251
+ # Indicates the type of the disk, either SCRATCH or PERSISTENT. Valid values:
252
+ # PERSISTENT SCRATCH
253
+ # Corresponds to the JSON property `type`
254
+ # @return [String]
255
+ attr_accessor :type
256
+
257
+ def initialize(**args)
258
+ update!(**args)
259
+ end
260
+
261
+ # Update properties of this object
262
+ def update!(**args)
263
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
264
+ @boot = args[:boot] if args.key?(:boot)
265
+ @device_name = args[:device_name] if args.key?(:device_name)
266
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
267
+ @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
268
+ @index = args[:index] if args.key?(:index)
269
+ @interface = args[:interface] if args.key?(:interface)
270
+ @kind = args[:kind] if args.key?(:kind)
271
+ @licenses = args[:licenses] if args.key?(:licenses)
272
+ @mode = args[:mode] if args.key?(:mode)
273
+ @source = args[:source] if args.key?(:source)
274
+ @type = args[:type] if args.key?(:type)
275
+ end
276
+ end
277
+
278
+ # A generic empty message that you can re-use to avoid defining duplicated empty
279
+ # messages in your APIs. A typical example is to use it as the request or the
280
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
281
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
282
+ # `Empty` is empty JSON object ````.
283
+ class Empty
284
+ include Google::Apis::Core::Hashable
285
+
286
+ def initialize(**args)
287
+ update!(**args)
288
+ end
289
+
290
+ # Update properties of this object
291
+ def update!(**args)
292
+ end
293
+ end
294
+
295
+ # Definition of a software environment that is used to start a notebook instance.
296
+ class Environment
297
+ include Google::Apis::Core::Hashable
298
+
299
+ # Definition of a container image for starting a notebook instance with the
300
+ # environment installed in a container.
301
+ # Corresponds to the JSON property `containerImage`
302
+ # @return [Google::Apis::NotebooksV1::ContainerImage]
303
+ attr_accessor :container_image
304
+
305
+ # Output only. The time at which this environment was created.
306
+ # Corresponds to the JSON property `createTime`
307
+ # @return [String]
308
+ attr_accessor :create_time
309
+
310
+ # A brief description of this environment.
311
+ # Corresponds to the JSON property `description`
312
+ # @return [String]
313
+ attr_accessor :description
314
+
315
+ # Display name of this environment for the UI.
316
+ # Corresponds to the JSON property `displayName`
317
+ # @return [String]
318
+ attr_accessor :display_name
319
+
320
+ # Output only. Name of this environment. Format: `projects/`project_id`/
321
+ # locations/`location`/environments/`environment_id``
322
+ # Corresponds to the JSON property `name`
323
+ # @return [String]
324
+ attr_accessor :name
325
+
326
+ # Path to a Bash script that automatically runs after a notebook instance fully
327
+ # boots up. The path must be a URL or Cloud Storage path. Example: `"gs://path-
328
+ # to-file/file-name"`
329
+ # Corresponds to the JSON property `postStartupScript`
330
+ # @return [String]
331
+ attr_accessor :post_startup_script
332
+
333
+ # Definition of a custom Compute Engine virtual machine image for starting a
334
+ # notebook instance with the environment installed directly on the VM.
335
+ # Corresponds to the JSON property `vmImage`
336
+ # @return [Google::Apis::NotebooksV1::VmImage]
337
+ attr_accessor :vm_image
338
+
339
+ def initialize(**args)
340
+ update!(**args)
341
+ end
342
+
343
+ # Update properties of this object
344
+ def update!(**args)
345
+ @container_image = args[:container_image] if args.key?(:container_image)
346
+ @create_time = args[:create_time] if args.key?(:create_time)
347
+ @description = args[:description] if args.key?(:description)
348
+ @display_name = args[:display_name] if args.key?(:display_name)
349
+ @name = args[:name] if args.key?(:name)
350
+ @post_startup_script = args[:post_startup_script] if args.key?(:post_startup_script)
351
+ @vm_image = args[:vm_image] if args.key?(:vm_image)
352
+ end
353
+ end
354
+
355
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
356
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
357
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
358
+ # "Summary size limit" description: "Determines if a summary is less than 100
359
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
360
+ # Requestor is owner" description: "Determines if requestor is the document
361
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
362
+ # Logic): title: "Public documents" description: "Determine whether the document
363
+ # should be publicly visible" expression: "document.type != 'private' &&
364
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
365
+ # string" description: "Create a notification string with a timestamp."
366
+ # expression: "'New message received at ' + string(document.create_time)" The
367
+ # exact variables and functions that may be referenced within an expression are
368
+ # determined by the service that evaluates it. See the service documentation for
369
+ # additional information.
370
+ class Expr
371
+ include Google::Apis::Core::Hashable
372
+
373
+ # Optional. Description of the expression. This is a longer text which describes
374
+ # the expression, e.g. when hovered over it in a UI.
375
+ # Corresponds to the JSON property `description`
376
+ # @return [String]
377
+ attr_accessor :description
378
+
379
+ # Textual representation of an expression in Common Expression Language syntax.
380
+ # Corresponds to the JSON property `expression`
381
+ # @return [String]
382
+ attr_accessor :expression
383
+
384
+ # Optional. String indicating the location of the expression for error reporting,
385
+ # e.g. a file name and a position in the file.
386
+ # Corresponds to the JSON property `location`
387
+ # @return [String]
388
+ attr_accessor :location
389
+
390
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
391
+ # This can be used e.g. in UIs which allow to enter the expression.
392
+ # Corresponds to the JSON property `title`
393
+ # @return [String]
394
+ attr_accessor :title
395
+
396
+ def initialize(**args)
397
+ update!(**args)
398
+ end
399
+
400
+ # Update properties of this object
401
+ def update!(**args)
402
+ @description = args[:description] if args.key?(:description)
403
+ @expression = args[:expression] if args.key?(:expression)
404
+ @location = args[:location] if args.key?(:location)
405
+ @title = args[:title] if args.key?(:title)
406
+ end
407
+ end
408
+
409
+ # Guest OS features for boot disk.
410
+ class GuestOsFeature
411
+ include Google::Apis::Core::Hashable
412
+
413
+ # The ID of a supported feature. Read Enabling guest operating system features
414
+ # to see a list of available options. Valid values: FEATURE_TYPE_UNSPECIFIED
415
+ # MULTI_IP_SUBNET SECURE_BOOT UEFI_COMPATIBLE VIRTIO_SCSI_MULTIQUEUE WINDOWS
416
+ # Corresponds to the JSON property `type`
417
+ # @return [String]
418
+ attr_accessor :type
419
+
420
+ def initialize(**args)
421
+ update!(**args)
422
+ end
423
+
424
+ # Update properties of this object
425
+ def update!(**args)
426
+ @type = args[:type] if args.key?(:type)
427
+ end
428
+ end
429
+
430
+ # The definition of a notebook instance.
431
+ class Instance
432
+ include Google::Apis::Core::Hashable
433
+
434
+ # Definition of a hardware accelerator. Note that not all combinations of `type`
435
+ # and `core_count` are valid. Check [GPUs on Compute Engine](/compute/docs/gpus/#
436
+ # gpus-list) to find a valid combination. TPUs are not supported.
437
+ # Corresponds to the JSON property `acceleratorConfig`
438
+ # @return [Google::Apis::NotebooksV1::AcceleratorConfig]
439
+ attr_accessor :accelerator_config
440
+
441
+ # Input only. The size of the boot disk in GB attached to this instance, up to a
442
+ # maximum of 64000 GB (64 TB). The minimum recommended value is 100 GB. If not
443
+ # specified, this defaults to 100.
444
+ # Corresponds to the JSON property `bootDiskSizeGb`
445
+ # @return [Fixnum]
446
+ attr_accessor :boot_disk_size_gb
447
+
448
+ # Input only. The type of the boot disk attached to this instance, defaults to
449
+ # standard persistent disk (`PD_STANDARD`).
450
+ # Corresponds to the JSON property `bootDiskType`
451
+ # @return [String]
452
+ attr_accessor :boot_disk_type
453
+
454
+ # Definition of a container image for starting a notebook instance with the
455
+ # environment installed in a container.
456
+ # Corresponds to the JSON property `containerImage`
457
+ # @return [Google::Apis::NotebooksV1::ContainerImage]
458
+ attr_accessor :container_image
459
+
460
+ # Output only. Instance creation time.
461
+ # Corresponds to the JSON property `createTime`
462
+ # @return [String]
463
+ attr_accessor :create_time
464
+
465
+ # Specify a custom Cloud Storage path where the GPU driver is stored. If not
466
+ # specified, we'll automatically choose from official GPU drivers.
467
+ # Corresponds to the JSON property `customGpuDriverPath`
468
+ # @return [String]
469
+ attr_accessor :custom_gpu_driver_path
470
+
471
+ # Input only. The size of the data disk in GB attached to this instance, up to a
472
+ # maximum of 64000 GB (64 TB). You can choose the size of the data disk based on
473
+ # how big your notebooks and data are. If not specified, this defaults to 100.
474
+ # Corresponds to the JSON property `dataDiskSizeGb`
475
+ # @return [Fixnum]
476
+ attr_accessor :data_disk_size_gb
477
+
478
+ # Input only. The type of the data disk attached to this instance, defaults to
479
+ # standard persistent disk (`PD_STANDARD`).
480
+ # Corresponds to the JSON property `dataDiskType`
481
+ # @return [String]
482
+ attr_accessor :data_disk_type
483
+
484
+ # Input only. Disk encryption method used on the boot and data disks, defaults
485
+ # to GMEK.
486
+ # Corresponds to the JSON property `diskEncryption`
487
+ # @return [String]
488
+ attr_accessor :disk_encryption
489
+
490
+ # Output only. Attached disks to notebook instance.
491
+ # Corresponds to the JSON property `disks`
492
+ # @return [Array<Google::Apis::NotebooksV1::Disk>]
493
+ attr_accessor :disks
494
+
495
+ # Whether the end user authorizes Google Cloud to install GPU driver on this
496
+ # instance. If this field is empty or set to false, the GPU driver won't be
497
+ # installed. Only applicable to instances with GPUs.
498
+ # Corresponds to the JSON property `installGpuDriver`
499
+ # @return [Boolean]
500
+ attr_accessor :install_gpu_driver
501
+ alias_method :install_gpu_driver?, :install_gpu_driver
502
+
503
+ # Input only. The owner of this instance after creation. Format: `alias@example.
504
+ # com` Currently supports one owner only. If not specified, all of the service
505
+ # account users of your VM instance's service account can use the instance.
506
+ # Corresponds to the JSON property `instanceOwners`
507
+ # @return [Array<String>]
508
+ attr_accessor :instance_owners
509
+
510
+ # Input only. The KMS key used to encrypt the disks, only applicable if
511
+ # disk_encryption is CMEK. Format: `projects/`project_id`/locations/`location`/
512
+ # keyRings/`key_ring_id`/cryptoKeys/`key_id`` Learn more about [using your own
513
+ # encryption keys](/kms/docs/quickstart).
514
+ # Corresponds to the JSON property `kmsKey`
515
+ # @return [String]
516
+ attr_accessor :kms_key
517
+
518
+ # Labels to apply to this instance. These can be later modified by the setLabels
519
+ # method.
520
+ # Corresponds to the JSON property `labels`
521
+ # @return [Hash<String,String>]
522
+ attr_accessor :labels
523
+
524
+ # Required. The [Compute Engine machine type](/compute/docs/machine-types) of
525
+ # this instance.
526
+ # Corresponds to the JSON property `machineType`
527
+ # @return [String]
528
+ attr_accessor :machine_type
529
+
530
+ # Custom metadata to apply to this instance.
531
+ # Corresponds to the JSON property `metadata`
532
+ # @return [Hash<String,String>]
533
+ attr_accessor :metadata
534
+
535
+ # Output only. The name of this notebook instance. Format: `projects/`project_id`
536
+ # /locations/`location`/instances/`instance_id``
537
+ # Corresponds to the JSON property `name`
538
+ # @return [String]
539
+ attr_accessor :name
540
+
541
+ # The name of the VPC that this instance is in. Format: `projects/`project_id`/
542
+ # global/networks/`network_id``
543
+ # Corresponds to the JSON property `network`
544
+ # @return [String]
545
+ attr_accessor :network
546
+
547
+ # If true, the notebook instance will not register with the proxy.
548
+ # Corresponds to the JSON property `noProxyAccess`
549
+ # @return [Boolean]
550
+ attr_accessor :no_proxy_access
551
+ alias_method :no_proxy_access?, :no_proxy_access
552
+
553
+ # If true, no public IP will be assigned to this instance.
554
+ # Corresponds to the JSON property `noPublicIp`
555
+ # @return [Boolean]
556
+ attr_accessor :no_public_ip
557
+ alias_method :no_public_ip?, :no_public_ip
558
+
559
+ # Input only. If true, the data disk will not be auto deleted when deleting the
560
+ # instance.
561
+ # Corresponds to the JSON property `noRemoveDataDisk`
562
+ # @return [Boolean]
563
+ attr_accessor :no_remove_data_disk
564
+ alias_method :no_remove_data_disk?, :no_remove_data_disk
565
+
566
+ # Path to a Bash script that automatically runs after a notebook instance fully
567
+ # boots up. The path must be a URL or Cloud Storage path (gs://path-to-file/file-
568
+ # name).
569
+ # Corresponds to the JSON property `postStartupScript`
570
+ # @return [String]
571
+ attr_accessor :post_startup_script
572
+
573
+ # Output only. The proxy endpoint that is used to access the Jupyter notebook.
574
+ # Corresponds to the JSON property `proxyUri`
575
+ # @return [String]
576
+ attr_accessor :proxy_uri
577
+
578
+ # The service account on this instance, giving access to other Google Cloud
579
+ # services. You can use any service account within the same project, but you
580
+ # must have the service account user permission to use the instance. If not
581
+ # specified, the [Compute Engine default service account](https://cloud.google.
582
+ # com/compute/docs/access/service-accounts#default_service_account) is used.
583
+ # Corresponds to the JSON property `serviceAccount`
584
+ # @return [String]
585
+ attr_accessor :service_account
586
+
587
+ # Output only. The state of this instance.
588
+ # Corresponds to the JSON property `state`
589
+ # @return [String]
590
+ attr_accessor :state
591
+
592
+ # The name of the subnet that this instance is in. Format: `projects/`project_id`
593
+ # /regions/`region`/subnetworks/`subnetwork_id``
594
+ # Corresponds to the JSON property `subnet`
595
+ # @return [String]
596
+ attr_accessor :subnet
597
+
598
+ # Output only. Instance update time.
599
+ # Corresponds to the JSON property `updateTime`
600
+ # @return [String]
601
+ attr_accessor :update_time
602
+
603
+ # The upgrade history of this instance.
604
+ # Corresponds to the JSON property `upgradeHistory`
605
+ # @return [Array<Google::Apis::NotebooksV1::UpgradeHistoryEntry>]
606
+ attr_accessor :upgrade_history
607
+
608
+ # Definition of a custom Compute Engine virtual machine image for starting a
609
+ # notebook instance with the environment installed directly on the VM.
610
+ # Corresponds to the JSON property `vmImage`
611
+ # @return [Google::Apis::NotebooksV1::VmImage]
612
+ attr_accessor :vm_image
613
+
614
+ def initialize(**args)
615
+ update!(**args)
616
+ end
617
+
618
+ # Update properties of this object
619
+ def update!(**args)
620
+ @accelerator_config = args[:accelerator_config] if args.key?(:accelerator_config)
621
+ @boot_disk_size_gb = args[:boot_disk_size_gb] if args.key?(:boot_disk_size_gb)
622
+ @boot_disk_type = args[:boot_disk_type] if args.key?(:boot_disk_type)
623
+ @container_image = args[:container_image] if args.key?(:container_image)
624
+ @create_time = args[:create_time] if args.key?(:create_time)
625
+ @custom_gpu_driver_path = args[:custom_gpu_driver_path] if args.key?(:custom_gpu_driver_path)
626
+ @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
627
+ @data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type)
628
+ @disk_encryption = args[:disk_encryption] if args.key?(:disk_encryption)
629
+ @disks = args[:disks] if args.key?(:disks)
630
+ @install_gpu_driver = args[:install_gpu_driver] if args.key?(:install_gpu_driver)
631
+ @instance_owners = args[:instance_owners] if args.key?(:instance_owners)
632
+ @kms_key = args[:kms_key] if args.key?(:kms_key)
633
+ @labels = args[:labels] if args.key?(:labels)
634
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
635
+ @metadata = args[:metadata] if args.key?(:metadata)
636
+ @name = args[:name] if args.key?(:name)
637
+ @network = args[:network] if args.key?(:network)
638
+ @no_proxy_access = args[:no_proxy_access] if args.key?(:no_proxy_access)
639
+ @no_public_ip = args[:no_public_ip] if args.key?(:no_public_ip)
640
+ @no_remove_data_disk = args[:no_remove_data_disk] if args.key?(:no_remove_data_disk)
641
+ @post_startup_script = args[:post_startup_script] if args.key?(:post_startup_script)
642
+ @proxy_uri = args[:proxy_uri] if args.key?(:proxy_uri)
643
+ @service_account = args[:service_account] if args.key?(:service_account)
644
+ @state = args[:state] if args.key?(:state)
645
+ @subnet = args[:subnet] if args.key?(:subnet)
646
+ @update_time = args[:update_time] if args.key?(:update_time)
647
+ @upgrade_history = args[:upgrade_history] if args.key?(:upgrade_history)
648
+ @vm_image = args[:vm_image] if args.key?(:vm_image)
649
+ end
650
+ end
651
+
652
+ # Response for checking if a notebook instance is upgradeable.
653
+ class IsInstanceUpgradeableResponse
654
+ include Google::Apis::Core::Hashable
655
+
656
+ # Additional information about upgrade.
657
+ # Corresponds to the JSON property `upgradeInfo`
658
+ # @return [String]
659
+ attr_accessor :upgrade_info
660
+
661
+ # The version this instance will be upgraded to if calling the upgrade endpoint.
662
+ # This field will only be populated if field upgradeable is true.
663
+ # Corresponds to the JSON property `upgradeVersion`
664
+ # @return [String]
665
+ attr_accessor :upgrade_version
666
+
667
+ # If an instance is upgradeable.
668
+ # Corresponds to the JSON property `upgradeable`
669
+ # @return [Boolean]
670
+ attr_accessor :upgradeable
671
+ alias_method :upgradeable?, :upgradeable
672
+
673
+ def initialize(**args)
674
+ update!(**args)
675
+ end
676
+
677
+ # Update properties of this object
678
+ def update!(**args)
679
+ @upgrade_info = args[:upgrade_info] if args.key?(:upgrade_info)
680
+ @upgrade_version = args[:upgrade_version] if args.key?(:upgrade_version)
681
+ @upgradeable = args[:upgradeable] if args.key?(:upgradeable)
682
+ end
683
+ end
684
+
685
+ # Response for listing environments.
686
+ class ListEnvironmentsResponse
687
+ include Google::Apis::Core::Hashable
688
+
689
+ # A list of returned environments.
690
+ # Corresponds to the JSON property `environments`
691
+ # @return [Array<Google::Apis::NotebooksV1::Environment>]
692
+ attr_accessor :environments
693
+
694
+ # A page token that can be used to continue listing from the last result in the
695
+ # next list call.
696
+ # Corresponds to the JSON property `nextPageToken`
697
+ # @return [String]
698
+ attr_accessor :next_page_token
699
+
700
+ # Locations that could not be reached.
701
+ # Corresponds to the JSON property `unreachable`
702
+ # @return [Array<String>]
703
+ attr_accessor :unreachable
704
+
705
+ def initialize(**args)
706
+ update!(**args)
707
+ end
708
+
709
+ # Update properties of this object
710
+ def update!(**args)
711
+ @environments = args[:environments] if args.key?(:environments)
712
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
713
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
714
+ end
715
+ end
716
+
717
+ # Response for listing notebook instances.
718
+ class ListInstancesResponse
719
+ include Google::Apis::Core::Hashable
720
+
721
+ # A list of returned instances.
722
+ # Corresponds to the JSON property `instances`
723
+ # @return [Array<Google::Apis::NotebooksV1::Instance>]
724
+ attr_accessor :instances
725
+
726
+ # Page token that can be used to continue listing from the last result in the
727
+ # next list call.
728
+ # Corresponds to the JSON property `nextPageToken`
729
+ # @return [String]
730
+ attr_accessor :next_page_token
731
+
732
+ # Locations that could not be reached. For example, ['us-west1-a', 'us-central1-
733
+ # b']. A ListInstancesResponse will only contain either instances or
734
+ # unreachables,
735
+ # Corresponds to the JSON property `unreachable`
736
+ # @return [Array<String>]
737
+ attr_accessor :unreachable
738
+
739
+ def initialize(**args)
740
+ update!(**args)
741
+ end
742
+
743
+ # Update properties of this object
744
+ def update!(**args)
745
+ @instances = args[:instances] if args.key?(:instances)
746
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
747
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
748
+ end
749
+ end
750
+
751
+ # The response message for Locations.ListLocations.
752
+ class ListLocationsResponse
753
+ include Google::Apis::Core::Hashable
754
+
755
+ # A list of locations that matches the specified filter in the request.
756
+ # Corresponds to the JSON property `locations`
757
+ # @return [Array<Google::Apis::NotebooksV1::Location>]
758
+ attr_accessor :locations
759
+
760
+ # The standard List next-page token.
761
+ # Corresponds to the JSON property `nextPageToken`
762
+ # @return [String]
763
+ attr_accessor :next_page_token
764
+
765
+ def initialize(**args)
766
+ update!(**args)
767
+ end
768
+
769
+ # Update properties of this object
770
+ def update!(**args)
771
+ @locations = args[:locations] if args.key?(:locations)
772
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
773
+ end
774
+ end
775
+
776
+ # The response message for Operations.ListOperations.
777
+ class ListOperationsResponse
778
+ include Google::Apis::Core::Hashable
779
+
780
+ # The standard List next-page token.
781
+ # Corresponds to the JSON property `nextPageToken`
782
+ # @return [String]
783
+ attr_accessor :next_page_token
784
+
785
+ # A list of operations that matches the specified filter in the request.
786
+ # Corresponds to the JSON property `operations`
787
+ # @return [Array<Google::Apis::NotebooksV1::Operation>]
788
+ attr_accessor :operations
789
+
790
+ def initialize(**args)
791
+ update!(**args)
792
+ end
793
+
794
+ # Update properties of this object
795
+ def update!(**args)
796
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
797
+ @operations = args[:operations] if args.key?(:operations)
798
+ end
799
+ end
800
+
801
+ # A resource that represents Google Cloud Platform location.
802
+ class Location
803
+ include Google::Apis::Core::Hashable
804
+
805
+ # The friendly name for this location, typically a nearby city name. For example,
806
+ # "Tokyo".
807
+ # Corresponds to the JSON property `displayName`
808
+ # @return [String]
809
+ attr_accessor :display_name
810
+
811
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
812
+ # region": "us-east1"`
813
+ # Corresponds to the JSON property `labels`
814
+ # @return [Hash<String,String>]
815
+ attr_accessor :labels
816
+
817
+ # The canonical id for this location. For example: `"us-east1"`.
818
+ # Corresponds to the JSON property `locationId`
819
+ # @return [String]
820
+ attr_accessor :location_id
821
+
822
+ # Service-specific metadata. For example the available capacity at the given
823
+ # location.
824
+ # Corresponds to the JSON property `metadata`
825
+ # @return [Hash<String,Object>]
826
+ attr_accessor :metadata
827
+
828
+ # Resource name for the location, which may vary between implementations. For
829
+ # example: `"projects/example-project/locations/us-east1"`
830
+ # Corresponds to the JSON property `name`
831
+ # @return [String]
832
+ attr_accessor :name
833
+
834
+ def initialize(**args)
835
+ update!(**args)
836
+ end
837
+
838
+ # Update properties of this object
839
+ def update!(**args)
840
+ @display_name = args[:display_name] if args.key?(:display_name)
841
+ @labels = args[:labels] if args.key?(:labels)
842
+ @location_id = args[:location_id] if args.key?(:location_id)
843
+ @metadata = args[:metadata] if args.key?(:metadata)
844
+ @name = args[:name] if args.key?(:name)
845
+ end
846
+ end
847
+
848
+ # This resource represents a long-running operation that is the result of a
849
+ # network API call.
850
+ class Operation
851
+ include Google::Apis::Core::Hashable
852
+
853
+ # If the value is `false`, it means the operation is still in progress. If `true`
854
+ # , the operation is completed, and either `error` or `response` is available.
855
+ # Corresponds to the JSON property `done`
856
+ # @return [Boolean]
857
+ attr_accessor :done
858
+ alias_method :done?, :done
859
+
860
+ # The `Status` type defines a logical error model that is suitable for different
861
+ # programming environments, including REST APIs and RPC APIs. It is used by [
862
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
863
+ # data: error code, error message, and error details. You can find out more
864
+ # about this error model and how to work with it in the [API Design Guide](https:
865
+ # //cloud.google.com/apis/design/errors).
866
+ # Corresponds to the JSON property `error`
867
+ # @return [Google::Apis::NotebooksV1::Status]
868
+ attr_accessor :error
869
+
870
+ # Service-specific metadata associated with the operation. It typically contains
871
+ # progress information and common metadata such as create time. Some services
872
+ # might not provide such metadata. Any method that returns a long-running
873
+ # operation should document the metadata type, if any.
874
+ # Corresponds to the JSON property `metadata`
875
+ # @return [Hash<String,Object>]
876
+ attr_accessor :metadata
877
+
878
+ # The server-assigned name, which is only unique within the same service that
879
+ # originally returns it. If you use the default HTTP mapping, the `name` should
880
+ # be a resource name ending with `operations/`unique_id``.
881
+ # Corresponds to the JSON property `name`
882
+ # @return [String]
883
+ attr_accessor :name
884
+
885
+ # The normal response of the operation in case of success. If the original
886
+ # method returns no data on success, such as `Delete`, the response is `google.
887
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
888
+ # the response should be the resource. For other methods, the response should
889
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
890
+ # example, if the original method name is `TakeSnapshot()`, the inferred
891
+ # response type is `TakeSnapshotResponse`.
892
+ # Corresponds to the JSON property `response`
893
+ # @return [Hash<String,Object>]
894
+ attr_accessor :response
895
+
896
+ def initialize(**args)
897
+ update!(**args)
898
+ end
899
+
900
+ # Update properties of this object
901
+ def update!(**args)
902
+ @done = args[:done] if args.key?(:done)
903
+ @error = args[:error] if args.key?(:error)
904
+ @metadata = args[:metadata] if args.key?(:metadata)
905
+ @name = args[:name] if args.key?(:name)
906
+ @response = args[:response] if args.key?(:response)
907
+ end
908
+ end
909
+
910
+ # Represents the metadata of the long-running operation.
911
+ class OperationMetadata
912
+ include Google::Apis::Core::Hashable
913
+
914
+ # API version used to start the operation.
915
+ # Corresponds to the JSON property `apiVersion`
916
+ # @return [String]
917
+ attr_accessor :api_version
918
+
919
+ # The time the operation was created.
920
+ # Corresponds to the JSON property `createTime`
921
+ # @return [String]
922
+ attr_accessor :create_time
923
+
924
+ # The time the operation finished running.
925
+ # Corresponds to the JSON property `endTime`
926
+ # @return [String]
927
+ attr_accessor :end_time
928
+
929
+ # API endpoint name of this operation.
930
+ # Corresponds to the JSON property `endpoint`
931
+ # @return [String]
932
+ attr_accessor :endpoint
933
+
934
+ # Identifies whether the user has requested cancellation of the operation.
935
+ # Operations that have successfully been cancelled have Operation.error value
936
+ # with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
937
+ # Corresponds to the JSON property `requestedCancellation`
938
+ # @return [Boolean]
939
+ attr_accessor :requested_cancellation
940
+ alias_method :requested_cancellation?, :requested_cancellation
941
+
942
+ # Human-readable status of the operation, if any.
943
+ # Corresponds to the JSON property `statusMessage`
944
+ # @return [String]
945
+ attr_accessor :status_message
946
+
947
+ # Server-defined resource path for the target of the operation.
948
+ # Corresponds to the JSON property `target`
949
+ # @return [String]
950
+ attr_accessor :target
951
+
952
+ # Name of the verb executed by the operation.
953
+ # Corresponds to the JSON property `verb`
954
+ # @return [String]
955
+ attr_accessor :verb
956
+
957
+ def initialize(**args)
958
+ update!(**args)
959
+ end
960
+
961
+ # Update properties of this object
962
+ def update!(**args)
963
+ @api_version = args[:api_version] if args.key?(:api_version)
964
+ @create_time = args[:create_time] if args.key?(:create_time)
965
+ @end_time = args[:end_time] if args.key?(:end_time)
966
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
967
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
968
+ @status_message = args[:status_message] if args.key?(:status_message)
969
+ @target = args[:target] if args.key?(:target)
970
+ @verb = args[:verb] if args.key?(:verb)
971
+ end
972
+ end
973
+
974
+ # An Identity and Access Management (IAM) policy, which specifies access
975
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
976
+ # A `binding` binds one or more `members` to a single `role`. Members can be
977
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
978
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
979
+ # role or a user-created custom role. For some types of Google Cloud resources,
980
+ # a `binding` can also specify a `condition`, which is a logical expression that
981
+ # allows access to a resource only if the expression evaluates to `true`. A
982
+ # condition can add constraints based on attributes of the request, the resource,
983
+ # or both. To learn which resources support conditions in their IAM policies,
984
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
985
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
986
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
987
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
988
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
989
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
990
+ # title": "expirable access", "description": "Does not grant access after Sep
991
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
992
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
993
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
994
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
995
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
996
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
997
+ # description: Does not grant access after Sep 2020 expression: request.time <
998
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
999
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1000
+ # google.com/iam/docs/).
1001
+ class Policy
1002
+ include Google::Apis::Core::Hashable
1003
+
1004
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
1005
+ # condition` that determines how and when the `bindings` are applied. Each of
1006
+ # the `bindings` must contain at least one member.
1007
+ # Corresponds to the JSON property `bindings`
1008
+ # @return [Array<Google::Apis::NotebooksV1::Binding>]
1009
+ attr_accessor :bindings
1010
+
1011
+ # `etag` is used for optimistic concurrency control as a way to help prevent
1012
+ # simultaneous updates of a policy from overwriting each other. It is strongly
1013
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
1014
+ # to perform policy updates in order to avoid race conditions: An `etag` is
1015
+ # returned in the response to `getIamPolicy`, and systems are expected to put
1016
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
1017
+ # applied to the same version of the policy. **Important:** If you use IAM
1018
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
1019
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
1020
+ # with a version `1` policy, and all of the conditions in the version `3` policy
1021
+ # are lost.
1022
+ # Corresponds to the JSON property `etag`
1023
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1024
+ # @return [String]
1025
+ attr_accessor :etag
1026
+
1027
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
1028
+ # Requests that specify an invalid value are rejected. Any operation that
1029
+ # affects conditional role bindings must specify version `3`. This requirement
1030
+ # applies to the following operations: * Getting a policy that includes a
1031
+ # conditional role binding * Adding a conditional role binding to a policy *
1032
+ # Changing a conditional role binding in a policy * Removing any role binding,
1033
+ # with or without a condition, from a policy that includes conditions **
1034
+ # Important:** If you use IAM Conditions, you must include the `etag` field
1035
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
1036
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
1037
+ # conditions in the version `3` policy are lost. If a policy does not include
1038
+ # any conditions, operations on that policy may specify any valid version or
1039
+ # leave the field unset. To learn which resources support conditions in their
1040
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
1041
+ # conditions/resource-policies).
1042
+ # Corresponds to the JSON property `version`
1043
+ # @return [Fixnum]
1044
+ attr_accessor :version
1045
+
1046
+ def initialize(**args)
1047
+ update!(**args)
1048
+ end
1049
+
1050
+ # Update properties of this object
1051
+ def update!(**args)
1052
+ @bindings = args[:bindings] if args.key?(:bindings)
1053
+ @etag = args[:etag] if args.key?(:etag)
1054
+ @version = args[:version] if args.key?(:version)
1055
+ end
1056
+ end
1057
+
1058
+ # Request for registering a notebook instance.
1059
+ class RegisterInstanceRequest
1060
+ include Google::Apis::Core::Hashable
1061
+
1062
+ # Required. User defined unique ID of this instance. The `instance_id` must be 1
1063
+ # to 63 characters long and contain only lowercase letters, numeric characters,
1064
+ # and dashes. The first character must be a lowercase letter and the last
1065
+ # character cannot be a dash.
1066
+ # Corresponds to the JSON property `instanceId`
1067
+ # @return [String]
1068
+ attr_accessor :instance_id
1069
+
1070
+ def initialize(**args)
1071
+ update!(**args)
1072
+ end
1073
+
1074
+ # Update properties of this object
1075
+ def update!(**args)
1076
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
1077
+ end
1078
+ end
1079
+
1080
+ # Request for notebook instances to report information to Notebooks API.
1081
+ class ReportInstanceInfoRequest
1082
+ include Google::Apis::Core::Hashable
1083
+
1084
+ # The metadata reported to Notebooks API. This will be merged to the instance
1085
+ # metadata store
1086
+ # Corresponds to the JSON property `metadata`
1087
+ # @return [Hash<String,String>]
1088
+ attr_accessor :metadata
1089
+
1090
+ # Required. The VM hardware token for authenticating the VM. https://cloud.
1091
+ # google.com/compute/docs/instances/verifying-instance-identity
1092
+ # Corresponds to the JSON property `vmId`
1093
+ # @return [String]
1094
+ attr_accessor :vm_id
1095
+
1096
+ def initialize(**args)
1097
+ update!(**args)
1098
+ end
1099
+
1100
+ # Update properties of this object
1101
+ def update!(**args)
1102
+ @metadata = args[:metadata] if args.key?(:metadata)
1103
+ @vm_id = args[:vm_id] if args.key?(:vm_id)
1104
+ end
1105
+ end
1106
+
1107
+ # Request for reseting a notebook instance
1108
+ class ResetInstanceRequest
1109
+ include Google::Apis::Core::Hashable
1110
+
1111
+ def initialize(**args)
1112
+ update!(**args)
1113
+ end
1114
+
1115
+ # Update properties of this object
1116
+ def update!(**args)
1117
+ end
1118
+ end
1119
+
1120
+ # Request message for `SetIamPolicy` method.
1121
+ class SetIamPolicyRequest
1122
+ include Google::Apis::Core::Hashable
1123
+
1124
+ # An Identity and Access Management (IAM) policy, which specifies access
1125
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1126
+ # A `binding` binds one or more `members` to a single `role`. Members can be
1127
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1128
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
1129
+ # role or a user-created custom role. For some types of Google Cloud resources,
1130
+ # a `binding` can also specify a `condition`, which is a logical expression that
1131
+ # allows access to a resource only if the expression evaluates to `true`. A
1132
+ # condition can add constraints based on attributes of the request, the resource,
1133
+ # or both. To learn which resources support conditions in their IAM policies,
1134
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1135
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1136
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1137
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1138
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1139
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1140
+ # title": "expirable access", "description": "Does not grant access after Sep
1141
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1142
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1143
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
1144
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1145
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1146
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
1147
+ # description: Does not grant access after Sep 2020 expression: request.time <
1148
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
1149
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1150
+ # google.com/iam/docs/).
1151
+ # Corresponds to the JSON property `policy`
1152
+ # @return [Google::Apis::NotebooksV1::Policy]
1153
+ attr_accessor :policy
1154
+
1155
+ def initialize(**args)
1156
+ update!(**args)
1157
+ end
1158
+
1159
+ # Update properties of this object
1160
+ def update!(**args)
1161
+ @policy = args[:policy] if args.key?(:policy)
1162
+ end
1163
+ end
1164
+
1165
+ # Request for setting instance accelerator.
1166
+ class SetInstanceAcceleratorRequest
1167
+ include Google::Apis::Core::Hashable
1168
+
1169
+ # Required. Count of cores of this accelerator. Note that not all combinations
1170
+ # of `type` and `core_count` are valid. Check [GPUs on Compute Engine](https://
1171
+ # cloud.google.com/compute/docs/gpus/#gpus-list) to find a valid combination.
1172
+ # TPUs are not supported.
1173
+ # Corresponds to the JSON property `coreCount`
1174
+ # @return [Fixnum]
1175
+ attr_accessor :core_count
1176
+
1177
+ # Required. Type of this accelerator.
1178
+ # Corresponds to the JSON property `type`
1179
+ # @return [String]
1180
+ attr_accessor :type
1181
+
1182
+ def initialize(**args)
1183
+ update!(**args)
1184
+ end
1185
+
1186
+ # Update properties of this object
1187
+ def update!(**args)
1188
+ @core_count = args[:core_count] if args.key?(:core_count)
1189
+ @type = args[:type] if args.key?(:type)
1190
+ end
1191
+ end
1192
+
1193
+ # Request for setting instance labels.
1194
+ class SetInstanceLabelsRequest
1195
+ include Google::Apis::Core::Hashable
1196
+
1197
+ # Labels to apply to this instance. These can be later modified by the setLabels
1198
+ # method
1199
+ # Corresponds to the JSON property `labels`
1200
+ # @return [Hash<String,String>]
1201
+ attr_accessor :labels
1202
+
1203
+ def initialize(**args)
1204
+ update!(**args)
1205
+ end
1206
+
1207
+ # Update properties of this object
1208
+ def update!(**args)
1209
+ @labels = args[:labels] if args.key?(:labels)
1210
+ end
1211
+ end
1212
+
1213
+ # Request for setting instance machine type.
1214
+ class SetInstanceMachineTypeRequest
1215
+ include Google::Apis::Core::Hashable
1216
+
1217
+ # Required. The [Compute Engine machine type](https://cloud.google.com/compute/
1218
+ # docs/machine-types).
1219
+ # Corresponds to the JSON property `machineType`
1220
+ # @return [String]
1221
+ attr_accessor :machine_type
1222
+
1223
+ def initialize(**args)
1224
+ update!(**args)
1225
+ end
1226
+
1227
+ # Update properties of this object
1228
+ def update!(**args)
1229
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
1230
+ end
1231
+ end
1232
+
1233
+ # Request for starting a notebook instance
1234
+ class StartInstanceRequest
1235
+ include Google::Apis::Core::Hashable
1236
+
1237
+ def initialize(**args)
1238
+ update!(**args)
1239
+ end
1240
+
1241
+ # Update properties of this object
1242
+ def update!(**args)
1243
+ end
1244
+ end
1245
+
1246
+ # The `Status` type defines a logical error model that is suitable for different
1247
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1248
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1249
+ # data: error code, error message, and error details. You can find out more
1250
+ # about this error model and how to work with it in the [API Design Guide](https:
1251
+ # //cloud.google.com/apis/design/errors).
1252
+ class Status
1253
+ include Google::Apis::Core::Hashable
1254
+
1255
+ # The status code, which should be an enum value of google.rpc.Code.
1256
+ # Corresponds to the JSON property `code`
1257
+ # @return [Fixnum]
1258
+ attr_accessor :code
1259
+
1260
+ # A list of messages that carry the error details. There is a common set of
1261
+ # message types for APIs to use.
1262
+ # Corresponds to the JSON property `details`
1263
+ # @return [Array<Hash<String,Object>>]
1264
+ attr_accessor :details
1265
+
1266
+ # A developer-facing error message, which should be in English. Any user-facing
1267
+ # error message should be localized and sent in the google.rpc.Status.details
1268
+ # field, or localized by the client.
1269
+ # Corresponds to the JSON property `message`
1270
+ # @return [String]
1271
+ attr_accessor :message
1272
+
1273
+ def initialize(**args)
1274
+ update!(**args)
1275
+ end
1276
+
1277
+ # Update properties of this object
1278
+ def update!(**args)
1279
+ @code = args[:code] if args.key?(:code)
1280
+ @details = args[:details] if args.key?(:details)
1281
+ @message = args[:message] if args.key?(:message)
1282
+ end
1283
+ end
1284
+
1285
+ # Request for stopping a notebook instance
1286
+ class StopInstanceRequest
1287
+ include Google::Apis::Core::Hashable
1288
+
1289
+ def initialize(**args)
1290
+ update!(**args)
1291
+ end
1292
+
1293
+ # Update properties of this object
1294
+ def update!(**args)
1295
+ end
1296
+ end
1297
+
1298
+ # Request message for `TestIamPermissions` method.
1299
+ class TestIamPermissionsRequest
1300
+ include Google::Apis::Core::Hashable
1301
+
1302
+ # The set of permissions to check for the `resource`. Permissions with wildcards
1303
+ # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
1304
+ # Overview](https://cloud.google.com/iam/docs/overview#permissions).
1305
+ # Corresponds to the JSON property `permissions`
1306
+ # @return [Array<String>]
1307
+ attr_accessor :permissions
1308
+
1309
+ def initialize(**args)
1310
+ update!(**args)
1311
+ end
1312
+
1313
+ # Update properties of this object
1314
+ def update!(**args)
1315
+ @permissions = args[:permissions] if args.key?(:permissions)
1316
+ end
1317
+ end
1318
+
1319
+ # Response message for `TestIamPermissions` method.
1320
+ class TestIamPermissionsResponse
1321
+ include Google::Apis::Core::Hashable
1322
+
1323
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
1324
+ # Corresponds to the JSON property `permissions`
1325
+ # @return [Array<String>]
1326
+ attr_accessor :permissions
1327
+
1328
+ def initialize(**args)
1329
+ update!(**args)
1330
+ end
1331
+
1332
+ # Update properties of this object
1333
+ def update!(**args)
1334
+ @permissions = args[:permissions] if args.key?(:permissions)
1335
+ end
1336
+ end
1337
+
1338
+ #
1339
+ class UpgradeHistoryEntry
1340
+ include Google::Apis::Core::Hashable
1341
+
1342
+ # The container image before this instance upgrade.
1343
+ # Corresponds to the JSON property `containerImage`
1344
+ # @return [String]
1345
+ attr_accessor :container_image
1346
+
1347
+ # The time that this instance upgrade history entry is created.
1348
+ # Corresponds to the JSON property `createTime`
1349
+ # @return [String]
1350
+ attr_accessor :create_time
1351
+
1352
+ # The framework of this notebook instance.
1353
+ # Corresponds to the JSON property `framework`
1354
+ # @return [String]
1355
+ attr_accessor :framework
1356
+
1357
+ # The snapshot of the boot disk of this notebook instance before upgrade.
1358
+ # Corresponds to the JSON property `snapshot`
1359
+ # @return [String]
1360
+ attr_accessor :snapshot
1361
+
1362
+ # The state of this instance upgrade history entry.
1363
+ # Corresponds to the JSON property `state`
1364
+ # @return [String]
1365
+ attr_accessor :state
1366
+
1367
+ # The version of the notebook instance before this upgrade.
1368
+ # Corresponds to the JSON property `version`
1369
+ # @return [String]
1370
+ attr_accessor :version
1371
+
1372
+ # The VM image before this instance upgrade.
1373
+ # Corresponds to the JSON property `vmImage`
1374
+ # @return [String]
1375
+ attr_accessor :vm_image
1376
+
1377
+ def initialize(**args)
1378
+ update!(**args)
1379
+ end
1380
+
1381
+ # Update properties of this object
1382
+ def update!(**args)
1383
+ @container_image = args[:container_image] if args.key?(:container_image)
1384
+ @create_time = args[:create_time] if args.key?(:create_time)
1385
+ @framework = args[:framework] if args.key?(:framework)
1386
+ @snapshot = args[:snapshot] if args.key?(:snapshot)
1387
+ @state = args[:state] if args.key?(:state)
1388
+ @version = args[:version] if args.key?(:version)
1389
+ @vm_image = args[:vm_image] if args.key?(:vm_image)
1390
+ end
1391
+ end
1392
+
1393
+ # Request for upgrading a notebook instance from within the VM
1394
+ class UpgradeInstanceInternalRequest
1395
+ include Google::Apis::Core::Hashable
1396
+
1397
+ # Required. The VM hardware token for authenticating the VM. https://cloud.
1398
+ # google.com/compute/docs/instances/verifying-instance-identity
1399
+ # Corresponds to the JSON property `vmId`
1400
+ # @return [String]
1401
+ attr_accessor :vm_id
1402
+
1403
+ def initialize(**args)
1404
+ update!(**args)
1405
+ end
1406
+
1407
+ # Update properties of this object
1408
+ def update!(**args)
1409
+ @vm_id = args[:vm_id] if args.key?(:vm_id)
1410
+ end
1411
+ end
1412
+
1413
+ # Request for upgrading a notebook instance
1414
+ class UpgradeInstanceRequest
1415
+ include Google::Apis::Core::Hashable
1416
+
1417
+ def initialize(**args)
1418
+ update!(**args)
1419
+ end
1420
+
1421
+ # Update properties of this object
1422
+ def update!(**args)
1423
+ end
1424
+ end
1425
+
1426
+ # Definition of a custom Compute Engine virtual machine image for starting a
1427
+ # notebook instance with the environment installed directly on the VM.
1428
+ class VmImage
1429
+ include Google::Apis::Core::Hashable
1430
+
1431
+ # Use this VM image family to find the image; the newest image in this family
1432
+ # will be used.
1433
+ # Corresponds to the JSON property `imageFamily`
1434
+ # @return [String]
1435
+ attr_accessor :image_family
1436
+
1437
+ # Use VM image name to find the image.
1438
+ # Corresponds to the JSON property `imageName`
1439
+ # @return [String]
1440
+ attr_accessor :image_name
1441
+
1442
+ # Required. The name of the Google Cloud project that this VM image belongs to.
1443
+ # Format: `projects/`project_id``
1444
+ # Corresponds to the JSON property `project`
1445
+ # @return [String]
1446
+ attr_accessor :project
1447
+
1448
+ def initialize(**args)
1449
+ update!(**args)
1450
+ end
1451
+
1452
+ # Update properties of this object
1453
+ def update!(**args)
1454
+ @image_family = args[:image_family] if args.key?(:image_family)
1455
+ @image_name = args[:image_name] if args.key?(:image_name)
1456
+ @project = args[:project] if args.key?(:project)
1457
+ end
1458
+ end
1459
+ end
1460
+ end
1461
+ end