google-apis-drivelabels_v2beta 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3358 @@
1
+ # Copyright 2020 Google LLC
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 DrivelabelsV2beta
24
+
25
+ # The color derived from BadgeConfig and changed to the closest recommended
26
+ # supported color.
27
+ class GoogleAppsDriveLabelsV2betaBadgeColors
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Represents a color in the RGBA color space. This representation is designed
31
+ # for simplicity of conversion to/from color representations in various
32
+ # languages over compactness. For example, the fields of this representation can
33
+ # be trivially provided to the constructor of `java.awt.Color` in Java; it can
34
+ # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
35
+ # method in iOS; and, with just a little work, it can be easily formatted into a
36
+ # CSS `rgba()` string in JavaScript. This reference page doesn't carry
37
+ # information about the absolute color space that should be used to interpret
38
+ # the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default,
39
+ # applications should assume the sRGB color space. When color equality needs to
40
+ # be decided, implementations, unless documented otherwise, treat two colors as
41
+ # equal if all their red, green, blue, and alpha values each differ by at most
42
+ # 1e-5. Example (Java): import com.google.type.Color; // ... public static java.
43
+ # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
44
+ # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
45
+ # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
46
+ # Color toProto(java.awt.Color color) ` float red = (float) color.getRed();
47
+ # float green = (float) color.getGreen(); float blue = (float) color.getBlue();
48
+ # float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .
49
+ # setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue /
50
+ # denominator); int alpha = color.getAlpha(); if (alpha != 255) ` result.
51
+ # setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .
52
+ # build()); ` return resultBuilder.build(); ` // ... Example (iOS / Obj-C): // ..
53
+ # . static UIColor* fromProto(Color* protocolor) ` float red = [protocolor red];
54
+ # float green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
55
+ # alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
56
+ # nil) ` alpha = [alpha_wrapper value]; ` return [UIColor colorWithRed:red green:
57
+ # green blue:blue alpha:alpha]; ` static Color* toProto(UIColor* color) `
58
+ # CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&
59
+ # blue alpha:&alpha]) ` return nil; ` Color* result = [[Color alloc] init]; [
60
+ # result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <
61
+ # = 0.9999) ` [result setAlpha:floatWrapperWithValue(alpha)]; ` [result
62
+ # autorelease]; return result; ` // ... Example (JavaScript): // ... var
63
+ # protoToCssColor = function(rgb_color) ` var redFrac = rgb_color.red || 0.0;
64
+ # var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0;
65
+ # var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255);
66
+ # var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) ` return
67
+ # rgbToCssColor(red, green, blue); ` var alphaFrac = rgb_color.alpha.value || 0.
68
+ # 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',
69
+ # ', alphaFrac, ')'].join(''); `; var rgbToCssColor = function(red, green, blue)
70
+ # ` var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString
71
+ # = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
72
+ # resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) ` resultBuilder.
73
+ # push('0'); ` resultBuilder.push(hexString); return resultBuilder.join(''); `; /
74
+ # / ...
75
+ # Corresponds to the JSON property `backgroundColor`
76
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleTypeColor]
77
+ attr_accessor :background_color
78
+
79
+ # Represents a color in the RGBA color space. This representation is designed
80
+ # for simplicity of conversion to/from color representations in various
81
+ # languages over compactness. For example, the fields of this representation can
82
+ # be trivially provided to the constructor of `java.awt.Color` in Java; it can
83
+ # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
84
+ # method in iOS; and, with just a little work, it can be easily formatted into a
85
+ # CSS `rgba()` string in JavaScript. This reference page doesn't carry
86
+ # information about the absolute color space that should be used to interpret
87
+ # the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default,
88
+ # applications should assume the sRGB color space. When color equality needs to
89
+ # be decided, implementations, unless documented otherwise, treat two colors as
90
+ # equal if all their red, green, blue, and alpha values each differ by at most
91
+ # 1e-5. Example (Java): import com.google.type.Color; // ... public static java.
92
+ # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
93
+ # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
94
+ # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
95
+ # Color toProto(java.awt.Color color) ` float red = (float) color.getRed();
96
+ # float green = (float) color.getGreen(); float blue = (float) color.getBlue();
97
+ # float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .
98
+ # setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue /
99
+ # denominator); int alpha = color.getAlpha(); if (alpha != 255) ` result.
100
+ # setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .
101
+ # build()); ` return resultBuilder.build(); ` // ... Example (iOS / Obj-C): // ..
102
+ # . static UIColor* fromProto(Color* protocolor) ` float red = [protocolor red];
103
+ # float green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
104
+ # alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
105
+ # nil) ` alpha = [alpha_wrapper value]; ` return [UIColor colorWithRed:red green:
106
+ # green blue:blue alpha:alpha]; ` static Color* toProto(UIColor* color) `
107
+ # CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&
108
+ # blue alpha:&alpha]) ` return nil; ` Color* result = [[Color alloc] init]; [
109
+ # result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <
110
+ # = 0.9999) ` [result setAlpha:floatWrapperWithValue(alpha)]; ` [result
111
+ # autorelease]; return result; ` // ... Example (JavaScript): // ... var
112
+ # protoToCssColor = function(rgb_color) ` var redFrac = rgb_color.red || 0.0;
113
+ # var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0;
114
+ # var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255);
115
+ # var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) ` return
116
+ # rgbToCssColor(red, green, blue); ` var alphaFrac = rgb_color.alpha.value || 0.
117
+ # 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',
118
+ # ', alphaFrac, ')'].join(''); `; var rgbToCssColor = function(red, green, blue)
119
+ # ` var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString
120
+ # = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
121
+ # resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) ` resultBuilder.
122
+ # push('0'); ` resultBuilder.push(hexString); return resultBuilder.join(''); `; /
123
+ # / ...
124
+ # Corresponds to the JSON property `foregroundColor`
125
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleTypeColor]
126
+ attr_accessor :foreground_color
127
+
128
+ # Represents a color in the RGBA color space. This representation is designed
129
+ # for simplicity of conversion to/from color representations in various
130
+ # languages over compactness. For example, the fields of this representation can
131
+ # be trivially provided to the constructor of `java.awt.Color` in Java; it can
132
+ # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
133
+ # method in iOS; and, with just a little work, it can be easily formatted into a
134
+ # CSS `rgba()` string in JavaScript. This reference page doesn't carry
135
+ # information about the absolute color space that should be used to interpret
136
+ # the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default,
137
+ # applications should assume the sRGB color space. When color equality needs to
138
+ # be decided, implementations, unless documented otherwise, treat two colors as
139
+ # equal if all their red, green, blue, and alpha values each differ by at most
140
+ # 1e-5. Example (Java): import com.google.type.Color; // ... public static java.
141
+ # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
142
+ # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
143
+ # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
144
+ # Color toProto(java.awt.Color color) ` float red = (float) color.getRed();
145
+ # float green = (float) color.getGreen(); float blue = (float) color.getBlue();
146
+ # float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .
147
+ # setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue /
148
+ # denominator); int alpha = color.getAlpha(); if (alpha != 255) ` result.
149
+ # setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .
150
+ # build()); ` return resultBuilder.build(); ` // ... Example (iOS / Obj-C): // ..
151
+ # . static UIColor* fromProto(Color* protocolor) ` float red = [protocolor red];
152
+ # float green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
153
+ # alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
154
+ # nil) ` alpha = [alpha_wrapper value]; ` return [UIColor colorWithRed:red green:
155
+ # green blue:blue alpha:alpha]; ` static Color* toProto(UIColor* color) `
156
+ # CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&
157
+ # blue alpha:&alpha]) ` return nil; ` Color* result = [[Color alloc] init]; [
158
+ # result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <
159
+ # = 0.9999) ` [result setAlpha:floatWrapperWithValue(alpha)]; ` [result
160
+ # autorelease]; return result; ` // ... Example (JavaScript): // ... var
161
+ # protoToCssColor = function(rgb_color) ` var redFrac = rgb_color.red || 0.0;
162
+ # var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0;
163
+ # var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255);
164
+ # var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) ` return
165
+ # rgbToCssColor(red, green, blue); ` var alphaFrac = rgb_color.alpha.value || 0.
166
+ # 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',
167
+ # ', alphaFrac, ')'].join(''); `; var rgbToCssColor = function(red, green, blue)
168
+ # ` var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString
169
+ # = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
170
+ # resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) ` resultBuilder.
171
+ # push('0'); ` resultBuilder.push(hexString); return resultBuilder.join(''); `; /
172
+ # / ...
173
+ # Corresponds to the JSON property `soloColor`
174
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleTypeColor]
175
+ attr_accessor :solo_color
176
+
177
+ def initialize(**args)
178
+ update!(**args)
179
+ end
180
+
181
+ # Update properties of this object
182
+ def update!(**args)
183
+ @background_color = args[:background_color] if args.key?(:background_color)
184
+ @foreground_color = args[:foreground_color] if args.key?(:foreground_color)
185
+ @solo_color = args[:solo_color] if args.key?(:solo_color)
186
+ end
187
+ end
188
+
189
+ # Badge status of the label.
190
+ class GoogleAppsDriveLabelsV2betaBadgeConfig
191
+ include Google::Apis::Core::Hashable
192
+
193
+ # Represents a color in the RGBA color space. This representation is designed
194
+ # for simplicity of conversion to/from color representations in various
195
+ # languages over compactness. For example, the fields of this representation can
196
+ # be trivially provided to the constructor of `java.awt.Color` in Java; it can
197
+ # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
198
+ # method in iOS; and, with just a little work, it can be easily formatted into a
199
+ # CSS `rgba()` string in JavaScript. This reference page doesn't carry
200
+ # information about the absolute color space that should be used to interpret
201
+ # the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default,
202
+ # applications should assume the sRGB color space. When color equality needs to
203
+ # be decided, implementations, unless documented otherwise, treat two colors as
204
+ # equal if all their red, green, blue, and alpha values each differ by at most
205
+ # 1e-5. Example (Java): import com.google.type.Color; // ... public static java.
206
+ # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
207
+ # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
208
+ # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
209
+ # Color toProto(java.awt.Color color) ` float red = (float) color.getRed();
210
+ # float green = (float) color.getGreen(); float blue = (float) color.getBlue();
211
+ # float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .
212
+ # setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue /
213
+ # denominator); int alpha = color.getAlpha(); if (alpha != 255) ` result.
214
+ # setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .
215
+ # build()); ` return resultBuilder.build(); ` // ... Example (iOS / Obj-C): // ..
216
+ # . static UIColor* fromProto(Color* protocolor) ` float red = [protocolor red];
217
+ # float green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
218
+ # alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
219
+ # nil) ` alpha = [alpha_wrapper value]; ` return [UIColor colorWithRed:red green:
220
+ # green blue:blue alpha:alpha]; ` static Color* toProto(UIColor* color) `
221
+ # CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&
222
+ # blue alpha:&alpha]) ` return nil; ` Color* result = [[Color alloc] init]; [
223
+ # result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <
224
+ # = 0.9999) ` [result setAlpha:floatWrapperWithValue(alpha)]; ` [result
225
+ # autorelease]; return result; ` // ... Example (JavaScript): // ... var
226
+ # protoToCssColor = function(rgb_color) ` var redFrac = rgb_color.red || 0.0;
227
+ # var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0;
228
+ # var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255);
229
+ # var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) ` return
230
+ # rgbToCssColor(red, green, blue); ` var alphaFrac = rgb_color.alpha.value || 0.
231
+ # 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',
232
+ # ', alphaFrac, ')'].join(''); `; var rgbToCssColor = function(red, green, blue)
233
+ # ` var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString
234
+ # = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
235
+ # resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) ` resultBuilder.
236
+ # push('0'); ` resultBuilder.push(hexString); return resultBuilder.join(''); `; /
237
+ # / ...
238
+ # Corresponds to the JSON property `color`
239
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleTypeColor]
240
+ attr_accessor :color
241
+
242
+ # Override the default global priority of this badge. When set to 0, the default
243
+ # priority heuristic is used.
244
+ # Corresponds to the JSON property `priorityOverride`
245
+ # @return [Fixnum]
246
+ attr_accessor :priority_override
247
+
248
+ def initialize(**args)
249
+ update!(**args)
250
+ end
251
+
252
+ # Update properties of this object
253
+ def update!(**args)
254
+ @color = args[:color] if args.key?(:color)
255
+ @priority_override = args[:priority_override] if args.key?(:priority_override)
256
+ end
257
+ end
258
+
259
+ # Deletes one of more Label Permissions.
260
+ class GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest
261
+ include Google::Apis::Core::Hashable
262
+
263
+ # Required. The request message specifying the resources to update.
264
+ # Corresponds to the JSON property `requests`
265
+ # @return [Array<Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest>]
266
+ attr_accessor :requests
267
+
268
+ # Set to `true` in order to use the user's admin credentials. The server will
269
+ # verify the user is an admin for the Label before allowing access. If this is
270
+ # set, the use_admin_access field in the DeleteLabelPermissionRequest messages
271
+ # must either be empty or match this field.
272
+ # Corresponds to the JSON property `useAdminAccess`
273
+ # @return [Boolean]
274
+ attr_accessor :use_admin_access
275
+ alias_method :use_admin_access?, :use_admin_access
276
+
277
+ def initialize(**args)
278
+ update!(**args)
279
+ end
280
+
281
+ # Update properties of this object
282
+ def update!(**args)
283
+ @requests = args[:requests] if args.key?(:requests)
284
+ @use_admin_access = args[:use_admin_access] if args.key?(:use_admin_access)
285
+ end
286
+ end
287
+
288
+ # Updates one or more Label Permissions.
289
+ class GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest
290
+ include Google::Apis::Core::Hashable
291
+
292
+ # Required. The request message specifying the resources to update.
293
+ # Corresponds to the JSON property `requests`
294
+ # @return [Array<Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest>]
295
+ attr_accessor :requests
296
+
297
+ # Set to `true` in order to use the user's admin credentials. The server will
298
+ # verify the user is an admin for the Label before allowing access. If this is
299
+ # set, the use_admin_access field in the UpdateLabelPermissionRequest messages
300
+ # must either be empty or match this field.
301
+ # Corresponds to the JSON property `useAdminAccess`
302
+ # @return [Boolean]
303
+ attr_accessor :use_admin_access
304
+ alias_method :use_admin_access?, :use_admin_access
305
+
306
+ def initialize(**args)
307
+ update!(**args)
308
+ end
309
+
310
+ # Update properties of this object
311
+ def update!(**args)
312
+ @requests = args[:requests] if args.key?(:requests)
313
+ @use_admin_access = args[:use_admin_access] if args.key?(:use_admin_access)
314
+ end
315
+ end
316
+
317
+ # Response for updating one or more Label Permissions.
318
+ class GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse
319
+ include Google::Apis::Core::Hashable
320
+
321
+ # Required. Permissions updated.
322
+ # Corresponds to the JSON property `permissions`
323
+ # @return [Array<Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabelPermission>]
324
+ attr_accessor :permissions
325
+
326
+ def initialize(**args)
327
+ update!(**args)
328
+ end
329
+
330
+ # Update properties of this object
331
+ def update!(**args)
332
+ @permissions = args[:permissions] if args.key?(:permissions)
333
+ end
334
+ end
335
+
336
+ # Limits for date Field type.
337
+ class GoogleAppsDriveLabelsV2betaDateLimits
338
+ include Google::Apis::Core::Hashable
339
+
340
+ # Represents a whole or partial calendar date, such as a birthday. The time of
341
+ # day and time zone are either specified elsewhere or are insignificant. The
342
+ # date is relative to the Gregorian Calendar. This can represent one of the
343
+ # following: * A full date, with non-zero year, month, and day values. * A month
344
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
345
+ # with a zero month and a zero day. * A year and month, with a zero day (for
346
+ # example, a credit card expiration date). Related types: * google.type.
347
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
348
+ # Corresponds to the JSON property `maxValue`
349
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleTypeDate]
350
+ attr_accessor :max_value
351
+
352
+ # Represents a whole or partial calendar date, such as a birthday. The time of
353
+ # day and time zone are either specified elsewhere or are insignificant. The
354
+ # date is relative to the Gregorian Calendar. This can represent one of the
355
+ # following: * A full date, with non-zero year, month, and day values. * A month
356
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
357
+ # with a zero month and a zero day. * A year and month, with a zero day (for
358
+ # example, a credit card expiration date). Related types: * google.type.
359
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
360
+ # Corresponds to the JSON property `minValue`
361
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleTypeDate]
362
+ attr_accessor :min_value
363
+
364
+ def initialize(**args)
365
+ update!(**args)
366
+ end
367
+
368
+ # Update properties of this object
369
+ def update!(**args)
370
+ @max_value = args[:max_value] if args.key?(:max_value)
371
+ @min_value = args[:min_value] if args.key?(:min_value)
372
+ end
373
+ end
374
+
375
+ # Deletes a Label Permission. Permissions affect the Label resource as a whole,
376
+ # are not revisioned, and do not require publishing.
377
+ class GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest
378
+ include Google::Apis::Core::Hashable
379
+
380
+ # Required. Label Permission resource name.
381
+ # Corresponds to the JSON property `name`
382
+ # @return [String]
383
+ attr_accessor :name
384
+
385
+ # Set to `true` in order to use the user's admin credentials. The server will
386
+ # verify the user is an admin for the Label before allowing access.
387
+ # Corresponds to the JSON property `useAdminAccess`
388
+ # @return [Boolean]
389
+ attr_accessor :use_admin_access
390
+ alias_method :use_admin_access?, :use_admin_access
391
+
392
+ def initialize(**args)
393
+ update!(**args)
394
+ end
395
+
396
+ # Update properties of this object
397
+ def update!(**args)
398
+ @name = args[:name] if args.key?(:name)
399
+ @use_admin_access = args[:use_admin_access] if args.key?(:use_admin_access)
400
+ end
401
+ end
402
+
403
+ # The set of requests for updating aspects of a Label. If any request is not
404
+ # valid, no requests will be applied.
405
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest
406
+ include Google::Apis::Core::Hashable
407
+
408
+ # The BCP-47 language code to use for evaluating localized Field labels when `
409
+ # include_label_in_response` is `true`.
410
+ # Corresponds to the JSON property `languageCode`
411
+ # @return [String]
412
+ attr_accessor :language_code
413
+
414
+ # A list of updates to apply to the Label. Requests will be applied in the order
415
+ # they are specified.
416
+ # Corresponds to the JSON property `requests`
417
+ # @return [Array<Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest>]
418
+ attr_accessor :requests
419
+
420
+ # Set to `true` in order to use the user's admin credentials. The server will
421
+ # verify the user is an admin for the Label before allowing access.
422
+ # Corresponds to the JSON property `useAdminAccess`
423
+ # @return [Boolean]
424
+ attr_accessor :use_admin_access
425
+ alias_method :use_admin_access?, :use_admin_access
426
+
427
+ # When specified, only certain fields belonging to the indicated view will be
428
+ # returned.
429
+ # Corresponds to the JSON property `view`
430
+ # @return [String]
431
+ attr_accessor :view
432
+
433
+ # Provides control over how write requests are executed. When not specified, the
434
+ # last write wins.
435
+ # Corresponds to the JSON property `writeControl`
436
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaWriteControl]
437
+ attr_accessor :write_control
438
+
439
+ def initialize(**args)
440
+ update!(**args)
441
+ end
442
+
443
+ # Update properties of this object
444
+ def update!(**args)
445
+ @language_code = args[:language_code] if args.key?(:language_code)
446
+ @requests = args[:requests] if args.key?(:requests)
447
+ @use_admin_access = args[:use_admin_access] if args.key?(:use_admin_access)
448
+ @view = args[:view] if args.key?(:view)
449
+ @write_control = args[:write_control] if args.key?(:write_control)
450
+ end
451
+ end
452
+
453
+ # Request to create a Field within a Label.
454
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest
455
+ include Google::Apis::Core::Hashable
456
+
457
+ # Defines a field that has a display name, data type, and other configuration
458
+ # options. This field defines the kind of metadata that may be set on a Drive
459
+ # item.
460
+ # Corresponds to the JSON property `field`
461
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaField]
462
+ attr_accessor :field
463
+
464
+ def initialize(**args)
465
+ update!(**args)
466
+ end
467
+
468
+ # Update properties of this object
469
+ def update!(**args)
470
+ @field = args[:field] if args.key?(:field)
471
+ end
472
+ end
473
+
474
+ # Request to create a Selection Choice.
475
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest
476
+ include Google::Apis::Core::Hashable
477
+
478
+ # Selection field choice.
479
+ # Corresponds to the JSON property `choice`
480
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice]
481
+ attr_accessor :choice
482
+
483
+ # Required. The Selection Field in which a Choice will be created.
484
+ # Corresponds to the JSON property `fieldId`
485
+ # @return [String]
486
+ attr_accessor :field_id
487
+
488
+ def initialize(**args)
489
+ update!(**args)
490
+ end
491
+
492
+ # Update properties of this object
493
+ def update!(**args)
494
+ @choice = args[:choice] if args.key?(:choice)
495
+ @field_id = args[:field_id] if args.key?(:field_id)
496
+ end
497
+ end
498
+
499
+ # Request to delete the Field.
500
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest
501
+ include Google::Apis::Core::Hashable
502
+
503
+ # Required. ID of the Field to delete.
504
+ # Corresponds to the JSON property `id`
505
+ # @return [String]
506
+ attr_accessor :id
507
+
508
+ def initialize(**args)
509
+ update!(**args)
510
+ end
511
+
512
+ # Update properties of this object
513
+ def update!(**args)
514
+ @id = args[:id] if args.key?(:id)
515
+ end
516
+ end
517
+
518
+ # Request to delete a Choice.
519
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest
520
+ include Google::Apis::Core::Hashable
521
+
522
+ # Required. The Selection Field from which a Choice will be deleted.
523
+ # Corresponds to the JSON property `fieldId`
524
+ # @return [String]
525
+ attr_accessor :field_id
526
+
527
+ # Required. Choice to delete.
528
+ # Corresponds to the JSON property `id`
529
+ # @return [String]
530
+ attr_accessor :id
531
+
532
+ def initialize(**args)
533
+ update!(**args)
534
+ end
535
+
536
+ # Update properties of this object
537
+ def update!(**args)
538
+ @field_id = args[:field_id] if args.key?(:field_id)
539
+ @id = args[:id] if args.key?(:id)
540
+ end
541
+ end
542
+
543
+ # Request to disable the Field.
544
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest
545
+ include Google::Apis::Core::Hashable
546
+
547
+ # The policy that governs how to treat a disabled label, field, or selection
548
+ # choice in different contexts.
549
+ # Corresponds to the JSON property `disabledPolicy`
550
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy]
551
+ attr_accessor :disabled_policy
552
+
553
+ # Required. Key of the Field to disable.
554
+ # Corresponds to the JSON property `id`
555
+ # @return [String]
556
+ attr_accessor :id
557
+
558
+ # The fields that should be updated. At least one field must be specified. The
559
+ # root `disabled_policy` is implied and should not be specified. A single `*`
560
+ # can be used as short-hand for updating every field.
561
+ # Corresponds to the JSON property `updateMask`
562
+ # @return [String]
563
+ attr_accessor :update_mask
564
+
565
+ def initialize(**args)
566
+ update!(**args)
567
+ end
568
+
569
+ # Update properties of this object
570
+ def update!(**args)
571
+ @disabled_policy = args[:disabled_policy] if args.key?(:disabled_policy)
572
+ @id = args[:id] if args.key?(:id)
573
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
574
+ end
575
+ end
576
+
577
+ # Request to disable a Choice.
578
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest
579
+ include Google::Apis::Core::Hashable
580
+
581
+ # The policy that governs how to treat a disabled label, field, or selection
582
+ # choice in different contexts.
583
+ # Corresponds to the JSON property `disabledPolicy`
584
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy]
585
+ attr_accessor :disabled_policy
586
+
587
+ # Required. The Selection Field in which a Choice will be disabled.
588
+ # Corresponds to the JSON property `fieldId`
589
+ # @return [String]
590
+ attr_accessor :field_id
591
+
592
+ # Required. Choice to disable.
593
+ # Corresponds to the JSON property `id`
594
+ # @return [String]
595
+ attr_accessor :id
596
+
597
+ # The fields that should be updated. At least one field must be specified. The
598
+ # root `disabled_policy` is implied and should not be specified. A single `*`
599
+ # can be used as short-hand for updating every field.
600
+ # Corresponds to the JSON property `updateMask`
601
+ # @return [String]
602
+ attr_accessor :update_mask
603
+
604
+ def initialize(**args)
605
+ update!(**args)
606
+ end
607
+
608
+ # Update properties of this object
609
+ def update!(**args)
610
+ @disabled_policy = args[:disabled_policy] if args.key?(:disabled_policy)
611
+ @field_id = args[:field_id] if args.key?(:field_id)
612
+ @id = args[:id] if args.key?(:id)
613
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
614
+ end
615
+ end
616
+
617
+ # Request to enable the Field.
618
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest
619
+ include Google::Apis::Core::Hashable
620
+
621
+ # Required. ID of the Field to enable.
622
+ # Corresponds to the JSON property `id`
623
+ # @return [String]
624
+ attr_accessor :id
625
+
626
+ def initialize(**args)
627
+ update!(**args)
628
+ end
629
+
630
+ # Update properties of this object
631
+ def update!(**args)
632
+ @id = args[:id] if args.key?(:id)
633
+ end
634
+ end
635
+
636
+ # Request to enable a Choice.
637
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest
638
+ include Google::Apis::Core::Hashable
639
+
640
+ # Required. The Selection Field in which a Choice will be enabled.
641
+ # Corresponds to the JSON property `fieldId`
642
+ # @return [String]
643
+ attr_accessor :field_id
644
+
645
+ # Required. Choice to enable.
646
+ # Corresponds to the JSON property `id`
647
+ # @return [String]
648
+ attr_accessor :id
649
+
650
+ def initialize(**args)
651
+ update!(**args)
652
+ end
653
+
654
+ # Update properties of this object
655
+ def update!(**args)
656
+ @field_id = args[:field_id] if args.key?(:field_id)
657
+ @id = args[:id] if args.key?(:id)
658
+ end
659
+ end
660
+
661
+ # A single kind of update to apply to a Label.
662
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest
663
+ include Google::Apis::Core::Hashable
664
+
665
+ # Request to create a Field within a Label.
666
+ # Corresponds to the JSON property `createField`
667
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest]
668
+ attr_accessor :create_field
669
+
670
+ # Request to create a Selection Choice.
671
+ # Corresponds to the JSON property `createSelectionChoice`
672
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest]
673
+ attr_accessor :create_selection_choice
674
+
675
+ # Request to delete the Field.
676
+ # Corresponds to the JSON property `deleteField`
677
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest]
678
+ attr_accessor :delete_field
679
+
680
+ # Request to delete a Choice.
681
+ # Corresponds to the JSON property `deleteSelectionChoice`
682
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest]
683
+ attr_accessor :delete_selection_choice
684
+
685
+ # Request to disable the Field.
686
+ # Corresponds to the JSON property `disableField`
687
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest]
688
+ attr_accessor :disable_field
689
+
690
+ # Request to disable a Choice.
691
+ # Corresponds to the JSON property `disableSelectionChoice`
692
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest]
693
+ attr_accessor :disable_selection_choice
694
+
695
+ # Request to enable the Field.
696
+ # Corresponds to the JSON property `enableField`
697
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest]
698
+ attr_accessor :enable_field
699
+
700
+ # Request to enable a Choice.
701
+ # Corresponds to the JSON property `enableSelectionChoice`
702
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest]
703
+ attr_accessor :enable_selection_choice
704
+
705
+ # Request to update Field properties.
706
+ # Corresponds to the JSON property `updateField`
707
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest]
708
+ attr_accessor :update_field
709
+
710
+ # Request to change the type of a Field.
711
+ # Corresponds to the JSON property `updateFieldType`
712
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest]
713
+ attr_accessor :update_field_type
714
+
715
+ # Updates basic properties of a Label.
716
+ # Corresponds to the JSON property `updateLabel`
717
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest]
718
+ attr_accessor :update_label
719
+
720
+ # Request to update a Choice properties.
721
+ # Corresponds to the JSON property `updateSelectionChoiceProperties`
722
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest]
723
+ attr_accessor :update_selection_choice_properties
724
+
725
+ def initialize(**args)
726
+ update!(**args)
727
+ end
728
+
729
+ # Update properties of this object
730
+ def update!(**args)
731
+ @create_field = args[:create_field] if args.key?(:create_field)
732
+ @create_selection_choice = args[:create_selection_choice] if args.key?(:create_selection_choice)
733
+ @delete_field = args[:delete_field] if args.key?(:delete_field)
734
+ @delete_selection_choice = args[:delete_selection_choice] if args.key?(:delete_selection_choice)
735
+ @disable_field = args[:disable_field] if args.key?(:disable_field)
736
+ @disable_selection_choice = args[:disable_selection_choice] if args.key?(:disable_selection_choice)
737
+ @enable_field = args[:enable_field] if args.key?(:enable_field)
738
+ @enable_selection_choice = args[:enable_selection_choice] if args.key?(:enable_selection_choice)
739
+ @update_field = args[:update_field] if args.key?(:update_field)
740
+ @update_field_type = args[:update_field_type] if args.key?(:update_field_type)
741
+ @update_label = args[:update_label] if args.key?(:update_label)
742
+ @update_selection_choice_properties = args[:update_selection_choice_properties] if args.key?(:update_selection_choice_properties)
743
+ end
744
+ end
745
+
746
+ # Request to update Field properties.
747
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest
748
+ include Google::Apis::Core::Hashable
749
+
750
+ # Required. The Field to update.
751
+ # Corresponds to the JSON property `id`
752
+ # @return [String]
753
+ attr_accessor :id
754
+
755
+ # The basic properties of the field.
756
+ # Corresponds to the JSON property `properties`
757
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldProperties]
758
+ attr_accessor :properties
759
+
760
+ # The fields that should be updated. At least one field must be specified. The
761
+ # root `properties` is implied and should not be specified. A single `*` can be
762
+ # used as short-hand for updating every field.
763
+ # Corresponds to the JSON property `updateMask`
764
+ # @return [String]
765
+ attr_accessor :update_mask
766
+
767
+ def initialize(**args)
768
+ update!(**args)
769
+ end
770
+
771
+ # Update properties of this object
772
+ def update!(**args)
773
+ @id = args[:id] if args.key?(:id)
774
+ @properties = args[:properties] if args.key?(:properties)
775
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
776
+ end
777
+ end
778
+
779
+ # Request to change the type of a Field.
780
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest
781
+ include Google::Apis::Core::Hashable
782
+
783
+ # Options for the date field type.
784
+ # Corresponds to the JSON property `dateOptions`
785
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldDateOptions]
786
+ attr_accessor :date_options
787
+
788
+ # Required. The Field to update.
789
+ # Corresponds to the JSON property `id`
790
+ # @return [String]
791
+ attr_accessor :id
792
+
793
+ # Options for the Integer field type.
794
+ # Corresponds to the JSON property `integerOptions`
795
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldIntegerOptions]
796
+ attr_accessor :integer_options
797
+
798
+ # Options the Long Text field type.
799
+ # Corresponds to the JSON property `longTextOptions`
800
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldLongTextOptions]
801
+ attr_accessor :long_text_options
802
+
803
+ # Options for the selection field type.
804
+ # Corresponds to the JSON property `selectionOptions`
805
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldSelectionOptions]
806
+ attr_accessor :selection_options
807
+
808
+ # Options for the Text field type.
809
+ # Corresponds to the JSON property `textOptions`
810
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldTextOptions]
811
+ attr_accessor :text_options
812
+
813
+ # The fields that should be updated. At least one field must be specified. The
814
+ # root of `type_options` is implied and should not be specified. A single `*`
815
+ # can be used as short-hand for updating every field.
816
+ # Corresponds to the JSON property `updateMask`
817
+ # @return [String]
818
+ attr_accessor :update_mask
819
+
820
+ # Options for the user field type.
821
+ # Corresponds to the JSON property `userOptions`
822
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldUserOptions]
823
+ attr_accessor :user_options
824
+
825
+ def initialize(**args)
826
+ update!(**args)
827
+ end
828
+
829
+ # Update properties of this object
830
+ def update!(**args)
831
+ @date_options = args[:date_options] if args.key?(:date_options)
832
+ @id = args[:id] if args.key?(:id)
833
+ @integer_options = args[:integer_options] if args.key?(:integer_options)
834
+ @long_text_options = args[:long_text_options] if args.key?(:long_text_options)
835
+ @selection_options = args[:selection_options] if args.key?(:selection_options)
836
+ @text_options = args[:text_options] if args.key?(:text_options)
837
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
838
+ @user_options = args[:user_options] if args.key?(:user_options)
839
+ end
840
+ end
841
+
842
+ # Updates basic properties of a Label.
843
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest
844
+ include Google::Apis::Core::Hashable
845
+
846
+ # Basic properties of the label.
847
+ # Corresponds to the JSON property `properties`
848
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabelProperties]
849
+ attr_accessor :properties
850
+
851
+ # The fields that should be updated. At least one field must be specified. The
852
+ # root `label_properties` is implied and should not be specified. A single `*`
853
+ # can be used as short-hand for updating every field.
854
+ # Corresponds to the JSON property `updateMask`
855
+ # @return [String]
856
+ attr_accessor :update_mask
857
+
858
+ def initialize(**args)
859
+ update!(**args)
860
+ end
861
+
862
+ # Update properties of this object
863
+ def update!(**args)
864
+ @properties = args[:properties] if args.key?(:properties)
865
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
866
+ end
867
+ end
868
+
869
+ # Request to update a Choice properties.
870
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest
871
+ include Google::Apis::Core::Hashable
872
+
873
+ # Required. The Selection Field to update.
874
+ # Corresponds to the JSON property `fieldId`
875
+ # @return [String]
876
+ attr_accessor :field_id
877
+
878
+ # Required. The Choice to update.
879
+ # Corresponds to the JSON property `id`
880
+ # @return [String]
881
+ attr_accessor :id
882
+
883
+ # Basic properties of the choice.
884
+ # Corresponds to the JSON property `properties`
885
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties]
886
+ attr_accessor :properties
887
+
888
+ # The fields that should be updated. At least one field must be specified. The
889
+ # root `properties` is implied and should not be specified. A single `*` can be
890
+ # used as short-hand for updating every field.
891
+ # Corresponds to the JSON property `updateMask`
892
+ # @return [String]
893
+ attr_accessor :update_mask
894
+
895
+ def initialize(**args)
896
+ update!(**args)
897
+ end
898
+
899
+ # Update properties of this object
900
+ def update!(**args)
901
+ @field_id = args[:field_id] if args.key?(:field_id)
902
+ @id = args[:id] if args.key?(:id)
903
+ @properties = args[:properties] if args.key?(:properties)
904
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
905
+ end
906
+ end
907
+
908
+ # Response for Label update.
909
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse
910
+ include Google::Apis::Core::Hashable
911
+
912
+ # The reply of the updates. This maps 1:1 with the updates, although responses
913
+ # to some requests may be empty.
914
+ # Corresponds to the JSON property `responses`
915
+ # @return [Array<Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse>]
916
+ attr_accessor :responses
917
+
918
+ # A label defines a taxonomy that can be applied to Drive items in order to
919
+ # organize and search across items. Labels can be simple strings, or can contain
920
+ # fields that describe additional metadata that can be further used to organize
921
+ # and search Drive items.
922
+ # Corresponds to the JSON property `updatedLabel`
923
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabel]
924
+ attr_accessor :updated_label
925
+
926
+ def initialize(**args)
927
+ update!(**args)
928
+ end
929
+
930
+ # Update properties of this object
931
+ def update!(**args)
932
+ @responses = args[:responses] if args.key?(:responses)
933
+ @updated_label = args[:updated_label] if args.key?(:updated_label)
934
+ end
935
+ end
936
+
937
+ # Response following Field create.
938
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse
939
+ include Google::Apis::Core::Hashable
940
+
941
+ # The field of the created field. When left blank in a create request, a key
942
+ # will be autogenerated and can be identified here.
943
+ # Corresponds to the JSON property `id`
944
+ # @return [String]
945
+ attr_accessor :id
946
+
947
+ # The priority of the created field. The priority may change from what was
948
+ # specified to assure contiguous priorities between fields (1-n).
949
+ # Corresponds to the JSON property `priority`
950
+ # @return [Fixnum]
951
+ attr_accessor :priority
952
+
953
+ def initialize(**args)
954
+ update!(**args)
955
+ end
956
+
957
+ # Update properties of this object
958
+ def update!(**args)
959
+ @id = args[:id] if args.key?(:id)
960
+ @priority = args[:priority] if args.key?(:priority)
961
+ end
962
+ end
963
+
964
+ # Response following Selection Choice create.
965
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse
966
+ include Google::Apis::Core::Hashable
967
+
968
+ # The server-generated id of the field.
969
+ # Corresponds to the JSON property `fieldId`
970
+ # @return [String]
971
+ attr_accessor :field_id
972
+
973
+ # The server-generated ID of the created choice within the Field
974
+ # Corresponds to the JSON property `id`
975
+ # @return [String]
976
+ attr_accessor :id
977
+
978
+ def initialize(**args)
979
+ update!(**args)
980
+ end
981
+
982
+ # Update properties of this object
983
+ def update!(**args)
984
+ @field_id = args[:field_id] if args.key?(:field_id)
985
+ @id = args[:id] if args.key?(:id)
986
+ end
987
+ end
988
+
989
+ # Response following Field delete.
990
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse
991
+ include Google::Apis::Core::Hashable
992
+
993
+ def initialize(**args)
994
+ update!(**args)
995
+ end
996
+
997
+ # Update properties of this object
998
+ def update!(**args)
999
+ end
1000
+ end
1001
+
1002
+ # Response following Choice delete.
1003
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse
1004
+ include Google::Apis::Core::Hashable
1005
+
1006
+ def initialize(**args)
1007
+ update!(**args)
1008
+ end
1009
+
1010
+ # Update properties of this object
1011
+ def update!(**args)
1012
+ end
1013
+ end
1014
+
1015
+ # Response following Field disable.
1016
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse
1017
+ include Google::Apis::Core::Hashable
1018
+
1019
+ def initialize(**args)
1020
+ update!(**args)
1021
+ end
1022
+
1023
+ # Update properties of this object
1024
+ def update!(**args)
1025
+ end
1026
+ end
1027
+
1028
+ # Response following Choice disable.
1029
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse
1030
+ include Google::Apis::Core::Hashable
1031
+
1032
+ def initialize(**args)
1033
+ update!(**args)
1034
+ end
1035
+
1036
+ # Update properties of this object
1037
+ def update!(**args)
1038
+ end
1039
+ end
1040
+
1041
+ # Response following Field enable.
1042
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse
1043
+ include Google::Apis::Core::Hashable
1044
+
1045
+ def initialize(**args)
1046
+ update!(**args)
1047
+ end
1048
+
1049
+ # Update properties of this object
1050
+ def update!(**args)
1051
+ end
1052
+ end
1053
+
1054
+ # Response following Choice enable.
1055
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse
1056
+ include Google::Apis::Core::Hashable
1057
+
1058
+ def initialize(**args)
1059
+ update!(**args)
1060
+ end
1061
+
1062
+ # Update properties of this object
1063
+ def update!(**args)
1064
+ end
1065
+ end
1066
+
1067
+ # A single response from an update.
1068
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse
1069
+ include Google::Apis::Core::Hashable
1070
+
1071
+ # Response following Field create.
1072
+ # Corresponds to the JSON property `createField`
1073
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse]
1074
+ attr_accessor :create_field
1075
+
1076
+ # Response following Selection Choice create.
1077
+ # Corresponds to the JSON property `createSelectionChoice`
1078
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse]
1079
+ attr_accessor :create_selection_choice
1080
+
1081
+ # Response following Field delete.
1082
+ # Corresponds to the JSON property `deleteField`
1083
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse]
1084
+ attr_accessor :delete_field
1085
+
1086
+ # Response following Choice delete.
1087
+ # Corresponds to the JSON property `deleteSelectionChoice`
1088
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse]
1089
+ attr_accessor :delete_selection_choice
1090
+
1091
+ # Response following Field disable.
1092
+ # Corresponds to the JSON property `disableField`
1093
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse]
1094
+ attr_accessor :disable_field
1095
+
1096
+ # Response following Choice disable.
1097
+ # Corresponds to the JSON property `disableSelectionChoice`
1098
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse]
1099
+ attr_accessor :disable_selection_choice
1100
+
1101
+ # Response following Field enable.
1102
+ # Corresponds to the JSON property `enableField`
1103
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse]
1104
+ attr_accessor :enable_field
1105
+
1106
+ # Response following Choice enable.
1107
+ # Corresponds to the JSON property `enableSelectionChoice`
1108
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse]
1109
+ attr_accessor :enable_selection_choice
1110
+
1111
+ # Response following update to Field properties.
1112
+ # Corresponds to the JSON property `updateField`
1113
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse]
1114
+ attr_accessor :update_field
1115
+
1116
+ # Response following update to Field type.
1117
+ # Corresponds to the JSON property `updateFieldType`
1118
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse]
1119
+ attr_accessor :update_field_type
1120
+
1121
+ # Response following update to Label properties.
1122
+ # Corresponds to the JSON property `updateLabel`
1123
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse]
1124
+ attr_accessor :update_label
1125
+
1126
+ # Response following update to Selection Choice properties.
1127
+ # Corresponds to the JSON property `updateSelectionChoiceProperties`
1128
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse]
1129
+ attr_accessor :update_selection_choice_properties
1130
+
1131
+ def initialize(**args)
1132
+ update!(**args)
1133
+ end
1134
+
1135
+ # Update properties of this object
1136
+ def update!(**args)
1137
+ @create_field = args[:create_field] if args.key?(:create_field)
1138
+ @create_selection_choice = args[:create_selection_choice] if args.key?(:create_selection_choice)
1139
+ @delete_field = args[:delete_field] if args.key?(:delete_field)
1140
+ @delete_selection_choice = args[:delete_selection_choice] if args.key?(:delete_selection_choice)
1141
+ @disable_field = args[:disable_field] if args.key?(:disable_field)
1142
+ @disable_selection_choice = args[:disable_selection_choice] if args.key?(:disable_selection_choice)
1143
+ @enable_field = args[:enable_field] if args.key?(:enable_field)
1144
+ @enable_selection_choice = args[:enable_selection_choice] if args.key?(:enable_selection_choice)
1145
+ @update_field = args[:update_field] if args.key?(:update_field)
1146
+ @update_field_type = args[:update_field_type] if args.key?(:update_field_type)
1147
+ @update_label = args[:update_label] if args.key?(:update_label)
1148
+ @update_selection_choice_properties = args[:update_selection_choice_properties] if args.key?(:update_selection_choice_properties)
1149
+ end
1150
+ end
1151
+
1152
+ # Response following update to Field properties.
1153
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse
1154
+ include Google::Apis::Core::Hashable
1155
+
1156
+ # The priority of the updated field. The priority may change from what was
1157
+ # specified to assure contiguous priorities between fields (1-n).
1158
+ # Corresponds to the JSON property `priority`
1159
+ # @return [Fixnum]
1160
+ attr_accessor :priority
1161
+
1162
+ def initialize(**args)
1163
+ update!(**args)
1164
+ end
1165
+
1166
+ # Update properties of this object
1167
+ def update!(**args)
1168
+ @priority = args[:priority] if args.key?(:priority)
1169
+ end
1170
+ end
1171
+
1172
+ # Response following update to Field type.
1173
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse
1174
+ include Google::Apis::Core::Hashable
1175
+
1176
+ def initialize(**args)
1177
+ update!(**args)
1178
+ end
1179
+
1180
+ # Update properties of this object
1181
+ def update!(**args)
1182
+ end
1183
+ end
1184
+
1185
+ # Response following update to Label properties.
1186
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse
1187
+ include Google::Apis::Core::Hashable
1188
+
1189
+ def initialize(**args)
1190
+ update!(**args)
1191
+ end
1192
+
1193
+ # Update properties of this object
1194
+ def update!(**args)
1195
+ end
1196
+ end
1197
+
1198
+ # Response following update to Selection Choice properties.
1199
+ class GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse
1200
+ include Google::Apis::Core::Hashable
1201
+
1202
+ # The priority of the updated choice. The priority may change from what was
1203
+ # specified to assure contiguous priorities between choices (1-n).
1204
+ # Corresponds to the JSON property `priority`
1205
+ # @return [Fixnum]
1206
+ attr_accessor :priority
1207
+
1208
+ def initialize(**args)
1209
+ update!(**args)
1210
+ end
1211
+
1212
+ # Update properties of this object
1213
+ def update!(**args)
1214
+ @priority = args[:priority] if args.key?(:priority)
1215
+ end
1216
+ end
1217
+
1218
+ # Request to deprecate a published Label.
1219
+ class GoogleAppsDriveLabelsV2betaDisableLabelRequest
1220
+ include Google::Apis::Core::Hashable
1221
+
1222
+ # The policy that governs how to treat a disabled label, field, or selection
1223
+ # choice in different contexts.
1224
+ # Corresponds to the JSON property `disabledPolicy`
1225
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy]
1226
+ attr_accessor :disabled_policy
1227
+
1228
+ # The BCP-47 language code to use for evaluating localized field labels. When
1229
+ # not specified, values in the default configured language will be used.
1230
+ # Corresponds to the JSON property `languageCode`
1231
+ # @return [String]
1232
+ attr_accessor :language_code
1233
+
1234
+ # The fields that should be updated. At least one field must be specified. The
1235
+ # root `disabled_policy` is implied and should not be specified. A single `*`
1236
+ # can be used as short-hand for updating every field.
1237
+ # Corresponds to the JSON property `updateMask`
1238
+ # @return [String]
1239
+ attr_accessor :update_mask
1240
+
1241
+ # Set to `true` in order to use the user's admin credentials. The server will
1242
+ # verify the user is an admin for the Label before allowing access.
1243
+ # Corresponds to the JSON property `useAdminAccess`
1244
+ # @return [Boolean]
1245
+ attr_accessor :use_admin_access
1246
+ alias_method :use_admin_access?, :use_admin_access
1247
+
1248
+ # Provides control over how write requests are executed. When not specified, the
1249
+ # last write wins.
1250
+ # Corresponds to the JSON property `writeControl`
1251
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaWriteControl]
1252
+ attr_accessor :write_control
1253
+
1254
+ def initialize(**args)
1255
+ update!(**args)
1256
+ end
1257
+
1258
+ # Update properties of this object
1259
+ def update!(**args)
1260
+ @disabled_policy = args[:disabled_policy] if args.key?(:disabled_policy)
1261
+ @language_code = args[:language_code] if args.key?(:language_code)
1262
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1263
+ @use_admin_access = args[:use_admin_access] if args.key?(:use_admin_access)
1264
+ @write_control = args[:write_control] if args.key?(:write_control)
1265
+ end
1266
+ end
1267
+
1268
+ # Request to enable a label.
1269
+ class GoogleAppsDriveLabelsV2betaEnableLabelRequest
1270
+ include Google::Apis::Core::Hashable
1271
+
1272
+ # The BCP-47 language code to use for evaluating localized field labels. When
1273
+ # not specified, values in the default configured language will be used.
1274
+ # Corresponds to the JSON property `languageCode`
1275
+ # @return [String]
1276
+ attr_accessor :language_code
1277
+
1278
+ # Set to `true` in order to use the user's admin credentials. The server will
1279
+ # verify the user is an admin for the Label before allowing access.
1280
+ # Corresponds to the JSON property `useAdminAccess`
1281
+ # @return [Boolean]
1282
+ attr_accessor :use_admin_access
1283
+ alias_method :use_admin_access?, :use_admin_access
1284
+
1285
+ # Provides control over how write requests are executed. When not specified, the
1286
+ # last write wins.
1287
+ # Corresponds to the JSON property `writeControl`
1288
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaWriteControl]
1289
+ attr_accessor :write_control
1290
+
1291
+ def initialize(**args)
1292
+ update!(**args)
1293
+ end
1294
+
1295
+ # Update properties of this object
1296
+ def update!(**args)
1297
+ @language_code = args[:language_code] if args.key?(:language_code)
1298
+ @use_admin_access = args[:use_admin_access] if args.key?(:use_admin_access)
1299
+ @write_control = args[:write_control] if args.key?(:write_control)
1300
+ end
1301
+ end
1302
+
1303
+ # Defines a field that has a display name, data type, and other configuration
1304
+ # options. This field defines the kind of metadata that may be set on a Drive
1305
+ # item.
1306
+ class GoogleAppsDriveLabelsV2betaField
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # The capabilities related to this field on applied metadata.
1310
+ # Corresponds to the JSON property `appliedCapabilities`
1311
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldAppliedCapabilities]
1312
+ attr_accessor :applied_capabilities
1313
+
1314
+ # Output only. The time this field was created.
1315
+ # Corresponds to the JSON property `createTime`
1316
+ # @return [String]
1317
+ attr_accessor :create_time
1318
+
1319
+ # Information about a user.
1320
+ # Corresponds to the JSON property `creator`
1321
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
1322
+ attr_accessor :creator
1323
+
1324
+ # Options for the date field type.
1325
+ # Corresponds to the JSON property `dateOptions`
1326
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldDateOptions]
1327
+ attr_accessor :date_options
1328
+
1329
+ # Output only. The time this field was disabled. This value has no meaning when
1330
+ # the field is not disabled.
1331
+ # Corresponds to the JSON property `disableTime`
1332
+ # @return [String]
1333
+ attr_accessor :disable_time
1334
+
1335
+ # Information about a user.
1336
+ # Corresponds to the JSON property `disabler`
1337
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
1338
+ attr_accessor :disabler
1339
+
1340
+ # UI display hints for rendering a field.
1341
+ # Corresponds to the JSON property `displayHints`
1342
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldDisplayHints]
1343
+ attr_accessor :display_hints
1344
+
1345
+ # Output only. The key of a field, unique within a label or library. This value
1346
+ # is autogenerated. Matches the regex: `([a-zA-Z0-9])+`
1347
+ # Corresponds to the JSON property `id`
1348
+ # @return [String]
1349
+ attr_accessor :id
1350
+
1351
+ # Options for the Integer field type.
1352
+ # Corresponds to the JSON property `integerOptions`
1353
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldIntegerOptions]
1354
+ attr_accessor :integer_options
1355
+
1356
+ # The lifecycle state of an object, such as label, field, or choice. The
1357
+ # lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting
1358
+ # state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted)
1359
+ # * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (
1360
+ # Deleted) The published and disabled states have some distinct characteristics:
1361
+ # * Published—Some kinds of changes might be made to an object in this state, in
1362
+ # which case `has_unpublished_changes` will be true. Also, some kinds of changes
1363
+ # are not permitted. Generally, any change that would invalidate or cause new
1364
+ # restrictions on existing metadata related to the label are rejected. *
1365
+ # Disabled—When disabled, the configured `DisabledPolicy` takes effect.
1366
+ # Corresponds to the JSON property `lifecycle`
1367
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLifecycle]
1368
+ attr_accessor :lifecycle
1369
+
1370
+ # Contains information about whether a label component should be considered
1371
+ # locked.
1372
+ # Corresponds to the JSON property `lockStatus`
1373
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLockStatus]
1374
+ attr_accessor :lock_status
1375
+
1376
+ # The basic properties of the field.
1377
+ # Corresponds to the JSON property `properties`
1378
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldProperties]
1379
+ attr_accessor :properties
1380
+
1381
+ # Information about a user.
1382
+ # Corresponds to the JSON property `publisher`
1383
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
1384
+ attr_accessor :publisher
1385
+
1386
+ # Output only. The key to use when constructing Drive search queries to find
1387
+ # files based on values defined for this field on files. For example, "``
1388
+ # query_key`` > 2001-01-01".
1389
+ # Corresponds to the JSON property `queryKey`
1390
+ # @return [String]
1391
+ attr_accessor :query_key
1392
+
1393
+ # The capabilities related to this field when editing the field.
1394
+ # Corresponds to the JSON property `schemaCapabilities`
1395
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldSchemaCapabilities]
1396
+ attr_accessor :schema_capabilities
1397
+
1398
+ # Options for the selection field type.
1399
+ # Corresponds to the JSON property `selectionOptions`
1400
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldSelectionOptions]
1401
+ attr_accessor :selection_options
1402
+
1403
+ # Options for the Text field type.
1404
+ # Corresponds to the JSON property `textOptions`
1405
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldTextOptions]
1406
+ attr_accessor :text_options
1407
+
1408
+ # Output only. The time this field was updated.
1409
+ # Corresponds to the JSON property `updateTime`
1410
+ # @return [String]
1411
+ attr_accessor :update_time
1412
+
1413
+ # Information about a user.
1414
+ # Corresponds to the JSON property `updater`
1415
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
1416
+ attr_accessor :updater
1417
+
1418
+ # Options for the user field type.
1419
+ # Corresponds to the JSON property `userOptions`
1420
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldUserOptions]
1421
+ attr_accessor :user_options
1422
+
1423
+ def initialize(**args)
1424
+ update!(**args)
1425
+ end
1426
+
1427
+ # Update properties of this object
1428
+ def update!(**args)
1429
+ @applied_capabilities = args[:applied_capabilities] if args.key?(:applied_capabilities)
1430
+ @create_time = args[:create_time] if args.key?(:create_time)
1431
+ @creator = args[:creator] if args.key?(:creator)
1432
+ @date_options = args[:date_options] if args.key?(:date_options)
1433
+ @disable_time = args[:disable_time] if args.key?(:disable_time)
1434
+ @disabler = args[:disabler] if args.key?(:disabler)
1435
+ @display_hints = args[:display_hints] if args.key?(:display_hints)
1436
+ @id = args[:id] if args.key?(:id)
1437
+ @integer_options = args[:integer_options] if args.key?(:integer_options)
1438
+ @lifecycle = args[:lifecycle] if args.key?(:lifecycle)
1439
+ @lock_status = args[:lock_status] if args.key?(:lock_status)
1440
+ @properties = args[:properties] if args.key?(:properties)
1441
+ @publisher = args[:publisher] if args.key?(:publisher)
1442
+ @query_key = args[:query_key] if args.key?(:query_key)
1443
+ @schema_capabilities = args[:schema_capabilities] if args.key?(:schema_capabilities)
1444
+ @selection_options = args[:selection_options] if args.key?(:selection_options)
1445
+ @text_options = args[:text_options] if args.key?(:text_options)
1446
+ @update_time = args[:update_time] if args.key?(:update_time)
1447
+ @updater = args[:updater] if args.key?(:updater)
1448
+ @user_options = args[:user_options] if args.key?(:user_options)
1449
+ end
1450
+ end
1451
+
1452
+ # The capabilities related to this field on applied metadata.
1453
+ class GoogleAppsDriveLabelsV2betaFieldAppliedCapabilities
1454
+ include Google::Apis::Core::Hashable
1455
+
1456
+ # Whether the user can read related applied metadata on items.
1457
+ # Corresponds to the JSON property `canRead`
1458
+ # @return [Boolean]
1459
+ attr_accessor :can_read
1460
+ alias_method :can_read?, :can_read
1461
+
1462
+ # Whether the user can search for Drive items referencing this field.
1463
+ # Corresponds to the JSON property `canSearch`
1464
+ # @return [Boolean]
1465
+ attr_accessor :can_search
1466
+ alias_method :can_search?, :can_search
1467
+
1468
+ # Whether the user can set this field on Drive items.
1469
+ # Corresponds to the JSON property `canWrite`
1470
+ # @return [Boolean]
1471
+ attr_accessor :can_write
1472
+ alias_method :can_write?, :can_write
1473
+
1474
+ def initialize(**args)
1475
+ update!(**args)
1476
+ end
1477
+
1478
+ # Update properties of this object
1479
+ def update!(**args)
1480
+ @can_read = args[:can_read] if args.key?(:can_read)
1481
+ @can_search = args[:can_search] if args.key?(:can_search)
1482
+ @can_write = args[:can_write] if args.key?(:can_write)
1483
+ end
1484
+ end
1485
+
1486
+ # Options for the date field type.
1487
+ class GoogleAppsDriveLabelsV2betaFieldDateOptions
1488
+ include Google::Apis::Core::Hashable
1489
+
1490
+ # Output only. ICU date format.
1491
+ # Corresponds to the JSON property `dateFormat`
1492
+ # @return [String]
1493
+ attr_accessor :date_format
1494
+
1495
+ # Localized date formatting option. Field values are rendered in this format
1496
+ # according to their locale.
1497
+ # Corresponds to the JSON property `dateFormatType`
1498
+ # @return [String]
1499
+ attr_accessor :date_format_type
1500
+
1501
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1502
+ # day and time zone are either specified elsewhere or are insignificant. The
1503
+ # date is relative to the Gregorian Calendar. This can represent one of the
1504
+ # following: * A full date, with non-zero year, month, and day values. * A month
1505
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
1506
+ # with a zero month and a zero day. * A year and month, with a zero day (for
1507
+ # example, a credit card expiration date). Related types: * google.type.
1508
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
1509
+ # Corresponds to the JSON property `maxValue`
1510
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleTypeDate]
1511
+ attr_accessor :max_value
1512
+
1513
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1514
+ # day and time zone are either specified elsewhere or are insignificant. The
1515
+ # date is relative to the Gregorian Calendar. This can represent one of the
1516
+ # following: * A full date, with non-zero year, month, and day values. * A month
1517
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
1518
+ # with a zero month and a zero day. * A year and month, with a zero day (for
1519
+ # example, a credit card expiration date). Related types: * google.type.
1520
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
1521
+ # Corresponds to the JSON property `minValue`
1522
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleTypeDate]
1523
+ attr_accessor :min_value
1524
+
1525
+ def initialize(**args)
1526
+ update!(**args)
1527
+ end
1528
+
1529
+ # Update properties of this object
1530
+ def update!(**args)
1531
+ @date_format = args[:date_format] if args.key?(:date_format)
1532
+ @date_format_type = args[:date_format_type] if args.key?(:date_format_type)
1533
+ @max_value = args[:max_value] if args.key?(:max_value)
1534
+ @min_value = args[:min_value] if args.key?(:min_value)
1535
+ end
1536
+ end
1537
+
1538
+ # UI display hints for rendering a field.
1539
+ class GoogleAppsDriveLabelsV2betaFieldDisplayHints
1540
+ include Google::Apis::Core::Hashable
1541
+
1542
+ # Whether the field should be shown in the UI as disabled.
1543
+ # Corresponds to the JSON property `disabled`
1544
+ # @return [Boolean]
1545
+ attr_accessor :disabled
1546
+ alias_method :disabled?, :disabled
1547
+
1548
+ # This field should be hidden in the search menu when searching for Drive items.
1549
+ # Corresponds to the JSON property `hiddenInSearch`
1550
+ # @return [Boolean]
1551
+ attr_accessor :hidden_in_search
1552
+ alias_method :hidden_in_search?, :hidden_in_search
1553
+
1554
+ # Whether the field should be shown as required in the UI.
1555
+ # Corresponds to the JSON property `required`
1556
+ # @return [Boolean]
1557
+ attr_accessor :required
1558
+ alias_method :required?, :required
1559
+
1560
+ # This field should be shown in the apply menu when applying values to a Drive
1561
+ # item.
1562
+ # Corresponds to the JSON property `shownInApply`
1563
+ # @return [Boolean]
1564
+ attr_accessor :shown_in_apply
1565
+ alias_method :shown_in_apply?, :shown_in_apply
1566
+
1567
+ def initialize(**args)
1568
+ update!(**args)
1569
+ end
1570
+
1571
+ # Update properties of this object
1572
+ def update!(**args)
1573
+ @disabled = args[:disabled] if args.key?(:disabled)
1574
+ @hidden_in_search = args[:hidden_in_search] if args.key?(:hidden_in_search)
1575
+ @required = args[:required] if args.key?(:required)
1576
+ @shown_in_apply = args[:shown_in_apply] if args.key?(:shown_in_apply)
1577
+ end
1578
+ end
1579
+
1580
+ # Options for the Integer field type.
1581
+ class GoogleAppsDriveLabelsV2betaFieldIntegerOptions
1582
+ include Google::Apis::Core::Hashable
1583
+
1584
+ # Output only. The maximum valid value for the integer field.
1585
+ # Corresponds to the JSON property `maxValue`
1586
+ # @return [Fixnum]
1587
+ attr_accessor :max_value
1588
+
1589
+ # Output only. The minimum valid value for the integer field.
1590
+ # Corresponds to the JSON property `minValue`
1591
+ # @return [Fixnum]
1592
+ attr_accessor :min_value
1593
+
1594
+ def initialize(**args)
1595
+ update!(**args)
1596
+ end
1597
+
1598
+ # Update properties of this object
1599
+ def update!(**args)
1600
+ @max_value = args[:max_value] if args.key?(:max_value)
1601
+ @min_value = args[:min_value] if args.key?(:min_value)
1602
+ end
1603
+ end
1604
+
1605
+ # Field constants governing the structure of a Field; such as, the maximum title
1606
+ # length, minimum and maximum field values or length, etc.
1607
+ class GoogleAppsDriveLabelsV2betaFieldLimits
1608
+ include Google::Apis::Core::Hashable
1609
+
1610
+ # Limits for date Field type.
1611
+ # Corresponds to the JSON property `dateLimits`
1612
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaDateLimits]
1613
+ attr_accessor :date_limits
1614
+
1615
+ # Limits for integer Field type.
1616
+ # Corresponds to the JSON property `integerLimits`
1617
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaIntegerLimits]
1618
+ attr_accessor :integer_limits
1619
+
1620
+ # Limits for long text Field type.
1621
+ # Corresponds to the JSON property `longTextLimits`
1622
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLongTextLimits]
1623
+ attr_accessor :long_text_limits
1624
+
1625
+ # Limits for Field description, also called help text.
1626
+ # Corresponds to the JSON property `maxDescriptionLength`
1627
+ # @return [Fixnum]
1628
+ attr_accessor :max_description_length
1629
+
1630
+ # Limits for Field title.
1631
+ # Corresponds to the JSON property `maxDisplayNameLength`
1632
+ # @return [Fixnum]
1633
+ attr_accessor :max_display_name_length
1634
+
1635
+ # Max length for the id.
1636
+ # Corresponds to the JSON property `maxIdLength`
1637
+ # @return [Fixnum]
1638
+ attr_accessor :max_id_length
1639
+
1640
+ # Limits for selection Field type.
1641
+ # Corresponds to the JSON property `selectionLimits`
1642
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaSelectionLimits]
1643
+ attr_accessor :selection_limits
1644
+
1645
+ # Limits for text Field type.
1646
+ # Corresponds to the JSON property `textLimits`
1647
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaTextLimits]
1648
+ attr_accessor :text_limits
1649
+
1650
+ # Limits for Field.Type.USER.
1651
+ # Corresponds to the JSON property `userLimits`
1652
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserLimits]
1653
+ attr_accessor :user_limits
1654
+
1655
+ def initialize(**args)
1656
+ update!(**args)
1657
+ end
1658
+
1659
+ # Update properties of this object
1660
+ def update!(**args)
1661
+ @date_limits = args[:date_limits] if args.key?(:date_limits)
1662
+ @integer_limits = args[:integer_limits] if args.key?(:integer_limits)
1663
+ @long_text_limits = args[:long_text_limits] if args.key?(:long_text_limits)
1664
+ @max_description_length = args[:max_description_length] if args.key?(:max_description_length)
1665
+ @max_display_name_length = args[:max_display_name_length] if args.key?(:max_display_name_length)
1666
+ @max_id_length = args[:max_id_length] if args.key?(:max_id_length)
1667
+ @selection_limits = args[:selection_limits] if args.key?(:selection_limits)
1668
+ @text_limits = args[:text_limits] if args.key?(:text_limits)
1669
+ @user_limits = args[:user_limits] if args.key?(:user_limits)
1670
+ end
1671
+ end
1672
+
1673
+ # Options for a multi-valued variant of an associated field type.
1674
+ class GoogleAppsDriveLabelsV2betaFieldListOptions
1675
+ include Google::Apis::Core::Hashable
1676
+
1677
+ # Maximum number of entries permitted.
1678
+ # Corresponds to the JSON property `maxEntries`
1679
+ # @return [Fixnum]
1680
+ attr_accessor :max_entries
1681
+
1682
+ def initialize(**args)
1683
+ update!(**args)
1684
+ end
1685
+
1686
+ # Update properties of this object
1687
+ def update!(**args)
1688
+ @max_entries = args[:max_entries] if args.key?(:max_entries)
1689
+ end
1690
+ end
1691
+
1692
+ # Options the Long Text field type.
1693
+ class GoogleAppsDriveLabelsV2betaFieldLongTextOptions
1694
+ include Google::Apis::Core::Hashable
1695
+
1696
+ # Output only. The maximum valid length of values for the text field.
1697
+ # Corresponds to the JSON property `maxLength`
1698
+ # @return [Fixnum]
1699
+ attr_accessor :max_length
1700
+
1701
+ # Output only. The minimum valid length of values for the text field.
1702
+ # Corresponds to the JSON property `minLength`
1703
+ # @return [Fixnum]
1704
+ attr_accessor :min_length
1705
+
1706
+ def initialize(**args)
1707
+ update!(**args)
1708
+ end
1709
+
1710
+ # Update properties of this object
1711
+ def update!(**args)
1712
+ @max_length = args[:max_length] if args.key?(:max_length)
1713
+ @min_length = args[:min_length] if args.key?(:min_length)
1714
+ end
1715
+ end
1716
+
1717
+ # The basic properties of the field.
1718
+ class GoogleAppsDriveLabelsV2betaFieldProperties
1719
+ include Google::Apis::Core::Hashable
1720
+
1721
+ # Required. The display text to show in the UI identifying this field.
1722
+ # Corresponds to the JSON property `displayName`
1723
+ # @return [String]
1724
+ attr_accessor :display_name
1725
+
1726
+ # Input only. Insert or move this field before the indicated field. If empty,
1727
+ # the field is placed at the end of the list.
1728
+ # Corresponds to the JSON property `insertBeforeField`
1729
+ # @return [String]
1730
+ attr_accessor :insert_before_field
1731
+
1732
+ # Whether the field should be marked as required.
1733
+ # Corresponds to the JSON property `required`
1734
+ # @return [Boolean]
1735
+ attr_accessor :required
1736
+ alias_method :required?, :required
1737
+
1738
+ def initialize(**args)
1739
+ update!(**args)
1740
+ end
1741
+
1742
+ # Update properties of this object
1743
+ def update!(**args)
1744
+ @display_name = args[:display_name] if args.key?(:display_name)
1745
+ @insert_before_field = args[:insert_before_field] if args.key?(:insert_before_field)
1746
+ @required = args[:required] if args.key?(:required)
1747
+ end
1748
+ end
1749
+
1750
+ # The capabilities related to this field when editing the field.
1751
+ class GoogleAppsDriveLabelsV2betaFieldSchemaCapabilities
1752
+ include Google::Apis::Core::Hashable
1753
+
1754
+ # Whether the user can delete this field. The user must have permission and the
1755
+ # field must be deprecated.
1756
+ # Corresponds to the JSON property `canDelete`
1757
+ # @return [Boolean]
1758
+ attr_accessor :can_delete
1759
+ alias_method :can_delete?, :can_delete
1760
+
1761
+ # Whether the user can disable this field. The user must have permission and
1762
+ # this field must not already be disabled.
1763
+ # Corresponds to the JSON property `canDisable`
1764
+ # @return [Boolean]
1765
+ attr_accessor :can_disable
1766
+ alias_method :can_disable?, :can_disable
1767
+
1768
+ # Whether the user can enable this field. The user must have permission and this
1769
+ # field must be disabled.
1770
+ # Corresponds to the JSON property `canEnable`
1771
+ # @return [Boolean]
1772
+ attr_accessor :can_enable
1773
+ alias_method :can_enable?, :can_enable
1774
+
1775
+ # Whether the user can change this field.
1776
+ # Corresponds to the JSON property `canUpdate`
1777
+ # @return [Boolean]
1778
+ attr_accessor :can_update
1779
+ alias_method :can_update?, :can_update
1780
+
1781
+ def initialize(**args)
1782
+ update!(**args)
1783
+ end
1784
+
1785
+ # Update properties of this object
1786
+ def update!(**args)
1787
+ @can_delete = args[:can_delete] if args.key?(:can_delete)
1788
+ @can_disable = args[:can_disable] if args.key?(:can_disable)
1789
+ @can_enable = args[:can_enable] if args.key?(:can_enable)
1790
+ @can_update = args[:can_update] if args.key?(:can_update)
1791
+ end
1792
+ end
1793
+
1794
+ # Options for the selection field type.
1795
+ class GoogleAppsDriveLabelsV2betaFieldSelectionOptions
1796
+ include Google::Apis::Core::Hashable
1797
+
1798
+ # The options available for this selection field. The list order is consistent,
1799
+ # and modified with `insert_before_choice`.
1800
+ # Corresponds to the JSON property `choices`
1801
+ # @return [Array<Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice>]
1802
+ attr_accessor :choices
1803
+
1804
+ # Options for a multi-valued variant of an associated field type.
1805
+ # Corresponds to the JSON property `listOptions`
1806
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldListOptions]
1807
+ attr_accessor :list_options
1808
+
1809
+ def initialize(**args)
1810
+ update!(**args)
1811
+ end
1812
+
1813
+ # Update properties of this object
1814
+ def update!(**args)
1815
+ @choices = args[:choices] if args.key?(:choices)
1816
+ @list_options = args[:list_options] if args.key?(:list_options)
1817
+ end
1818
+ end
1819
+
1820
+ # Selection field choice.
1821
+ class GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice
1822
+ include Google::Apis::Core::Hashable
1823
+
1824
+ # The capabilities related to this choice on applied metadata.
1825
+ # Corresponds to the JSON property `appliedCapabilities`
1826
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceAppliedCapabilities]
1827
+ attr_accessor :applied_capabilities
1828
+
1829
+ # Output only. The time this choice was created.
1830
+ # Corresponds to the JSON property `createTime`
1831
+ # @return [String]
1832
+ attr_accessor :create_time
1833
+
1834
+ # Information about a user.
1835
+ # Corresponds to the JSON property `creator`
1836
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
1837
+ attr_accessor :creator
1838
+
1839
+ # Output only. The time this choice was disabled. This value has no meaning when
1840
+ # the choice is not disabled.
1841
+ # Corresponds to the JSON property `disableTime`
1842
+ # @return [String]
1843
+ attr_accessor :disable_time
1844
+
1845
+ # Information about a user.
1846
+ # Corresponds to the JSON property `disabler`
1847
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
1848
+ attr_accessor :disabler
1849
+
1850
+ # UI display hints for rendering an option.
1851
+ # Corresponds to the JSON property `displayHints`
1852
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceDisplayHints]
1853
+ attr_accessor :display_hints
1854
+
1855
+ # The unique value of the choice. This ID is autogenerated. Matches the regex: `(
1856
+ # [a-zA-Z0-9_])+`.
1857
+ # Corresponds to the JSON property `id`
1858
+ # @return [String]
1859
+ attr_accessor :id
1860
+
1861
+ # The lifecycle state of an object, such as label, field, or choice. The
1862
+ # lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting
1863
+ # state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted)
1864
+ # * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (
1865
+ # Deleted) The published and disabled states have some distinct characteristics:
1866
+ # * Published—Some kinds of changes might be made to an object in this state, in
1867
+ # which case `has_unpublished_changes` will be true. Also, some kinds of changes
1868
+ # are not permitted. Generally, any change that would invalidate or cause new
1869
+ # restrictions on existing metadata related to the label are rejected. *
1870
+ # Disabled—When disabled, the configured `DisabledPolicy` takes effect.
1871
+ # Corresponds to the JSON property `lifecycle`
1872
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLifecycle]
1873
+ attr_accessor :lifecycle
1874
+
1875
+ # Contains information about whether a label component should be considered
1876
+ # locked.
1877
+ # Corresponds to the JSON property `lockStatus`
1878
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLockStatus]
1879
+ attr_accessor :lock_status
1880
+
1881
+ # Basic properties of the choice.
1882
+ # Corresponds to the JSON property `properties`
1883
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties]
1884
+ attr_accessor :properties
1885
+
1886
+ # Output only. The time this choice was published. This value has no meaning
1887
+ # when the choice is not published.
1888
+ # Corresponds to the JSON property `publishTime`
1889
+ # @return [String]
1890
+ attr_accessor :publish_time
1891
+
1892
+ # Information about a user.
1893
+ # Corresponds to the JSON property `publisher`
1894
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
1895
+ attr_accessor :publisher
1896
+
1897
+ # The capabilities related to this choice when editing the choice.
1898
+ # Corresponds to the JSON property `schemaCapabilities`
1899
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceSchemaCapabilities]
1900
+ attr_accessor :schema_capabilities
1901
+
1902
+ # Output only. The time this choice was updated last.
1903
+ # Corresponds to the JSON property `updateTime`
1904
+ # @return [String]
1905
+ attr_accessor :update_time
1906
+
1907
+ # Information about a user.
1908
+ # Corresponds to the JSON property `updater`
1909
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
1910
+ attr_accessor :updater
1911
+
1912
+ def initialize(**args)
1913
+ update!(**args)
1914
+ end
1915
+
1916
+ # Update properties of this object
1917
+ def update!(**args)
1918
+ @applied_capabilities = args[:applied_capabilities] if args.key?(:applied_capabilities)
1919
+ @create_time = args[:create_time] if args.key?(:create_time)
1920
+ @creator = args[:creator] if args.key?(:creator)
1921
+ @disable_time = args[:disable_time] if args.key?(:disable_time)
1922
+ @disabler = args[:disabler] if args.key?(:disabler)
1923
+ @display_hints = args[:display_hints] if args.key?(:display_hints)
1924
+ @id = args[:id] if args.key?(:id)
1925
+ @lifecycle = args[:lifecycle] if args.key?(:lifecycle)
1926
+ @lock_status = args[:lock_status] if args.key?(:lock_status)
1927
+ @properties = args[:properties] if args.key?(:properties)
1928
+ @publish_time = args[:publish_time] if args.key?(:publish_time)
1929
+ @publisher = args[:publisher] if args.key?(:publisher)
1930
+ @schema_capabilities = args[:schema_capabilities] if args.key?(:schema_capabilities)
1931
+ @update_time = args[:update_time] if args.key?(:update_time)
1932
+ @updater = args[:updater] if args.key?(:updater)
1933
+ end
1934
+ end
1935
+
1936
+ # The capabilities related to this choice on applied metadata.
1937
+ class GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceAppliedCapabilities
1938
+ include Google::Apis::Core::Hashable
1939
+
1940
+ # Whether the user can read related applied metadata on items.
1941
+ # Corresponds to the JSON property `canRead`
1942
+ # @return [Boolean]
1943
+ attr_accessor :can_read
1944
+ alias_method :can_read?, :can_read
1945
+
1946
+ # Whether the user can use this choice in search queries.
1947
+ # Corresponds to the JSON property `canSearch`
1948
+ # @return [Boolean]
1949
+ attr_accessor :can_search
1950
+ alias_method :can_search?, :can_search
1951
+
1952
+ # Whether the user can select this choice on an item.
1953
+ # Corresponds to the JSON property `canSelect`
1954
+ # @return [Boolean]
1955
+ attr_accessor :can_select
1956
+ alias_method :can_select?, :can_select
1957
+
1958
+ def initialize(**args)
1959
+ update!(**args)
1960
+ end
1961
+
1962
+ # Update properties of this object
1963
+ def update!(**args)
1964
+ @can_read = args[:can_read] if args.key?(:can_read)
1965
+ @can_search = args[:can_search] if args.key?(:can_search)
1966
+ @can_select = args[:can_select] if args.key?(:can_select)
1967
+ end
1968
+ end
1969
+
1970
+ # UI display hints for rendering an option.
1971
+ class GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceDisplayHints
1972
+ include Google::Apis::Core::Hashable
1973
+
1974
+ # The color derived from BadgeConfig and changed to the closest recommended
1975
+ # supported color.
1976
+ # Corresponds to the JSON property `badgeColors`
1977
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaBadgeColors]
1978
+ attr_accessor :badge_colors
1979
+
1980
+ # The priority of this badge. Used to compare and sort between multiple badges.
1981
+ # A lower number means the badge should be shown first. When a badging
1982
+ # configuration is not present, this will be 0. Otherwise, this will be set to `
1983
+ # BadgeConfig.priority_override` or the default heuristic which prefers creation
1984
+ # date of the label, and field and option priority.
1985
+ # Corresponds to the JSON property `badgePriority`
1986
+ # @return [Fixnum]
1987
+ attr_accessor :badge_priority
1988
+
1989
+ # The color derived from BadgeConfig and changed to the closest recommended
1990
+ # supported color.
1991
+ # Corresponds to the JSON property `darkBadgeColors`
1992
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaBadgeColors]
1993
+ attr_accessor :dark_badge_colors
1994
+
1995
+ # Whether the option should be shown in the UI as disabled.
1996
+ # Corresponds to the JSON property `disabled`
1997
+ # @return [Boolean]
1998
+ attr_accessor :disabled
1999
+ alias_method :disabled?, :disabled
2000
+
2001
+ # This option should be hidden in the search menu when searching for Drive items.
2002
+ # Corresponds to the JSON property `hiddenInSearch`
2003
+ # @return [Boolean]
2004
+ attr_accessor :hidden_in_search
2005
+ alias_method :hidden_in_search?, :hidden_in_search
2006
+
2007
+ # This option should be shown in the apply menu when applying values to a Drive
2008
+ # item.
2009
+ # Corresponds to the JSON property `shownInApply`
2010
+ # @return [Boolean]
2011
+ attr_accessor :shown_in_apply
2012
+ alias_method :shown_in_apply?, :shown_in_apply
2013
+
2014
+ def initialize(**args)
2015
+ update!(**args)
2016
+ end
2017
+
2018
+ # Update properties of this object
2019
+ def update!(**args)
2020
+ @badge_colors = args[:badge_colors] if args.key?(:badge_colors)
2021
+ @badge_priority = args[:badge_priority] if args.key?(:badge_priority)
2022
+ @dark_badge_colors = args[:dark_badge_colors] if args.key?(:dark_badge_colors)
2023
+ @disabled = args[:disabled] if args.key?(:disabled)
2024
+ @hidden_in_search = args[:hidden_in_search] if args.key?(:hidden_in_search)
2025
+ @shown_in_apply = args[:shown_in_apply] if args.key?(:shown_in_apply)
2026
+ end
2027
+ end
2028
+
2029
+ # Basic properties of the choice.
2030
+ class GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties
2031
+ include Google::Apis::Core::Hashable
2032
+
2033
+ # Badge status of the label.
2034
+ # Corresponds to the JSON property `badgeConfig`
2035
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaBadgeConfig]
2036
+ attr_accessor :badge_config
2037
+
2038
+ # The description of this label.
2039
+ # Corresponds to the JSON property `description`
2040
+ # @return [String]
2041
+ attr_accessor :description
2042
+
2043
+ # Required. The display text to show in the UI identifying this field.
2044
+ # Corresponds to the JSON property `displayName`
2045
+ # @return [String]
2046
+ attr_accessor :display_name
2047
+
2048
+ # Input only. Insert or move this choice before the indicated choice. If empty,
2049
+ # the choice is placed at the end of the list.
2050
+ # Corresponds to the JSON property `insertBeforeChoice`
2051
+ # @return [String]
2052
+ attr_accessor :insert_before_choice
2053
+
2054
+ def initialize(**args)
2055
+ update!(**args)
2056
+ end
2057
+
2058
+ # Update properties of this object
2059
+ def update!(**args)
2060
+ @badge_config = args[:badge_config] if args.key?(:badge_config)
2061
+ @description = args[:description] if args.key?(:description)
2062
+ @display_name = args[:display_name] if args.key?(:display_name)
2063
+ @insert_before_choice = args[:insert_before_choice] if args.key?(:insert_before_choice)
2064
+ end
2065
+ end
2066
+
2067
+ # The capabilities related to this choice when editing the choice.
2068
+ class GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceSchemaCapabilities
2069
+ include Google::Apis::Core::Hashable
2070
+
2071
+ # Whether the user can delete this choice.
2072
+ # Corresponds to the JSON property `canDelete`
2073
+ # @return [Boolean]
2074
+ attr_accessor :can_delete
2075
+ alias_method :can_delete?, :can_delete
2076
+
2077
+ # Whether the user can disable this choice.
2078
+ # Corresponds to the JSON property `canDisable`
2079
+ # @return [Boolean]
2080
+ attr_accessor :can_disable
2081
+ alias_method :can_disable?, :can_disable
2082
+
2083
+ # Whether the user can enable this choice.
2084
+ # Corresponds to the JSON property `canEnable`
2085
+ # @return [Boolean]
2086
+ attr_accessor :can_enable
2087
+ alias_method :can_enable?, :can_enable
2088
+
2089
+ # Whether the user can update this choice.
2090
+ # Corresponds to the JSON property `canUpdate`
2091
+ # @return [Boolean]
2092
+ attr_accessor :can_update
2093
+ alias_method :can_update?, :can_update
2094
+
2095
+ def initialize(**args)
2096
+ update!(**args)
2097
+ end
2098
+
2099
+ # Update properties of this object
2100
+ def update!(**args)
2101
+ @can_delete = args[:can_delete] if args.key?(:can_delete)
2102
+ @can_disable = args[:can_disable] if args.key?(:can_disable)
2103
+ @can_enable = args[:can_enable] if args.key?(:can_enable)
2104
+ @can_update = args[:can_update] if args.key?(:can_update)
2105
+ end
2106
+ end
2107
+
2108
+ # Options for the Text field type.
2109
+ class GoogleAppsDriveLabelsV2betaFieldTextOptions
2110
+ include Google::Apis::Core::Hashable
2111
+
2112
+ # Output only. The maximum valid length of values for the text field.
2113
+ # Corresponds to the JSON property `maxLength`
2114
+ # @return [Fixnum]
2115
+ attr_accessor :max_length
2116
+
2117
+ # Output only. The minimum valid length of values for the text field.
2118
+ # Corresponds to the JSON property `minLength`
2119
+ # @return [Fixnum]
2120
+ attr_accessor :min_length
2121
+
2122
+ def initialize(**args)
2123
+ update!(**args)
2124
+ end
2125
+
2126
+ # Update properties of this object
2127
+ def update!(**args)
2128
+ @max_length = args[:max_length] if args.key?(:max_length)
2129
+ @min_length = args[:min_length] if args.key?(:min_length)
2130
+ end
2131
+ end
2132
+
2133
+ # Options for the user field type.
2134
+ class GoogleAppsDriveLabelsV2betaFieldUserOptions
2135
+ include Google::Apis::Core::Hashable
2136
+
2137
+ # Options for a multi-valued variant of an associated field type.
2138
+ # Corresponds to the JSON property `listOptions`
2139
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldListOptions]
2140
+ attr_accessor :list_options
2141
+
2142
+ def initialize(**args)
2143
+ update!(**args)
2144
+ end
2145
+
2146
+ # Update properties of this object
2147
+ def update!(**args)
2148
+ @list_options = args[:list_options] if args.key?(:list_options)
2149
+ end
2150
+ end
2151
+
2152
+ # Limits for integer Field type.
2153
+ class GoogleAppsDriveLabelsV2betaIntegerLimits
2154
+ include Google::Apis::Core::Hashable
2155
+
2156
+ # Maximum value for an integer Field type.
2157
+ # Corresponds to the JSON property `maxValue`
2158
+ # @return [Fixnum]
2159
+ attr_accessor :max_value
2160
+
2161
+ # Minimum value for an integer Field type.
2162
+ # Corresponds to the JSON property `minValue`
2163
+ # @return [Fixnum]
2164
+ attr_accessor :min_value
2165
+
2166
+ def initialize(**args)
2167
+ update!(**args)
2168
+ end
2169
+
2170
+ # Update properties of this object
2171
+ def update!(**args)
2172
+ @max_value = args[:max_value] if args.key?(:max_value)
2173
+ @min_value = args[:min_value] if args.key?(:min_value)
2174
+ end
2175
+ end
2176
+
2177
+ # A label defines a taxonomy that can be applied to Drive items in order to
2178
+ # organize and search across items. Labels can be simple strings, or can contain
2179
+ # fields that describe additional metadata that can be further used to organize
2180
+ # and search Drive items.
2181
+ class GoogleAppsDriveLabelsV2betaLabel
2182
+ include Google::Apis::Core::Hashable
2183
+
2184
+ # The capabilities a user has on this label's applied metadata.
2185
+ # Corresponds to the JSON property `appliedCapabilities`
2186
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabelAppliedCapabilities]
2187
+ attr_accessor :applied_capabilities
2188
+
2189
+ # Behavior of this label when it's applied to Drive items.
2190
+ # Corresponds to the JSON property `appliedLabelPolicy`
2191
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabelAppliedLabelPolicy]
2192
+ attr_accessor :applied_label_policy
2193
+
2194
+ # Output only. The time this label was created.
2195
+ # Corresponds to the JSON property `createTime`
2196
+ # @return [String]
2197
+ attr_accessor :create_time
2198
+
2199
+ # Information about a user.
2200
+ # Corresponds to the JSON property `creator`
2201
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
2202
+ attr_accessor :creator
2203
+
2204
+ # Output only. The time this label was disabled. This value has no meaning when
2205
+ # the label is not disabled.
2206
+ # Corresponds to the JSON property `disableTime`
2207
+ # @return [String]
2208
+ attr_accessor :disable_time
2209
+
2210
+ # Information about a user.
2211
+ # Corresponds to the JSON property `disabler`
2212
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
2213
+ attr_accessor :disabler
2214
+
2215
+ # UI display hints for rendering the label.
2216
+ # Corresponds to the JSON property `displayHints`
2217
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabelDisplayHints]
2218
+ attr_accessor :display_hints
2219
+
2220
+ # List of fields in descending priority order.
2221
+ # Corresponds to the JSON property `fields`
2222
+ # @return [Array<Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaField>]
2223
+ attr_accessor :fields
2224
+
2225
+ # Output only. Globally unique identifier of this label. ID makes up part of the
2226
+ # label `name`, but unlike `name`, ID is consistent between revisions. Matches
2227
+ # the regex: `([a-zA-Z0-9])+`
2228
+ # Corresponds to the JSON property `id`
2229
+ # @return [String]
2230
+ attr_accessor :id
2231
+
2232
+ # Required. The type of label.
2233
+ # Corresponds to the JSON property `labelType`
2234
+ # @return [String]
2235
+ attr_accessor :label_type
2236
+
2237
+ # Custom URL to present to users to allow them to learn more about this label
2238
+ # and how it should be used.
2239
+ # Corresponds to the JSON property `learnMoreUri`
2240
+ # @return [String]
2241
+ attr_accessor :learn_more_uri
2242
+
2243
+ # The lifecycle state of an object, such as label, field, or choice. The
2244
+ # lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting
2245
+ # state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted)
2246
+ # * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (
2247
+ # Deleted) The published and disabled states have some distinct characteristics:
2248
+ # * Published—Some kinds of changes might be made to an object in this state, in
2249
+ # which case `has_unpublished_changes` will be true. Also, some kinds of changes
2250
+ # are not permitted. Generally, any change that would invalidate or cause new
2251
+ # restrictions on existing metadata related to the label are rejected. *
2252
+ # Disabled—When disabled, the configured `DisabledPolicy` takes effect.
2253
+ # Corresponds to the JSON property `lifecycle`
2254
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLifecycle]
2255
+ attr_accessor :lifecycle
2256
+
2257
+ # Contains information about whether a label component should be considered
2258
+ # locked.
2259
+ # Corresponds to the JSON property `lockStatus`
2260
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLockStatus]
2261
+ attr_accessor :lock_status
2262
+
2263
+ # Output only. Resource name of the label. Will be in the form of either: `
2264
+ # labels/`id`` or `labels/`id`@`revision_id`` depending on the request. See `id`
2265
+ # and `revision_id` below.
2266
+ # Corresponds to the JSON property `name`
2267
+ # @return [String]
2268
+ attr_accessor :name
2269
+
2270
+ # Basic properties of the label.
2271
+ # Corresponds to the JSON property `properties`
2272
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabelProperties]
2273
+ attr_accessor :properties
2274
+
2275
+ # Output only. The time this label was published. This value has no meaning when
2276
+ # the label is not published.
2277
+ # Corresponds to the JSON property `publishTime`
2278
+ # @return [String]
2279
+ attr_accessor :publish_time
2280
+
2281
+ # Information about a user.
2282
+ # Corresponds to the JSON property `publisher`
2283
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
2284
+ attr_accessor :publisher
2285
+
2286
+ # Output only. The time this label revision was created.
2287
+ # Corresponds to the JSON property `revisionCreateTime`
2288
+ # @return [String]
2289
+ attr_accessor :revision_create_time
2290
+
2291
+ # Information about a user.
2292
+ # Corresponds to the JSON property `revisionCreator`
2293
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
2294
+ attr_accessor :revision_creator
2295
+
2296
+ # Output only. Revision ID of the label. Revision ID might be part of the label `
2297
+ # name` depending on the request issued. A new revision is created whenever
2298
+ # revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])
2299
+ # +`
2300
+ # Corresponds to the JSON property `revisionId`
2301
+ # @return [String]
2302
+ attr_accessor :revision_id
2303
+
2304
+ # The capabilities related to this label when editing the label.
2305
+ # Corresponds to the JSON property `schemaCapabilities`
2306
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabelSchemaCapabilities]
2307
+ attr_accessor :schema_capabilities
2308
+
2309
+ def initialize(**args)
2310
+ update!(**args)
2311
+ end
2312
+
2313
+ # Update properties of this object
2314
+ def update!(**args)
2315
+ @applied_capabilities = args[:applied_capabilities] if args.key?(:applied_capabilities)
2316
+ @applied_label_policy = args[:applied_label_policy] if args.key?(:applied_label_policy)
2317
+ @create_time = args[:create_time] if args.key?(:create_time)
2318
+ @creator = args[:creator] if args.key?(:creator)
2319
+ @disable_time = args[:disable_time] if args.key?(:disable_time)
2320
+ @disabler = args[:disabler] if args.key?(:disabler)
2321
+ @display_hints = args[:display_hints] if args.key?(:display_hints)
2322
+ @fields = args[:fields] if args.key?(:fields)
2323
+ @id = args[:id] if args.key?(:id)
2324
+ @label_type = args[:label_type] if args.key?(:label_type)
2325
+ @learn_more_uri = args[:learn_more_uri] if args.key?(:learn_more_uri)
2326
+ @lifecycle = args[:lifecycle] if args.key?(:lifecycle)
2327
+ @lock_status = args[:lock_status] if args.key?(:lock_status)
2328
+ @name = args[:name] if args.key?(:name)
2329
+ @properties = args[:properties] if args.key?(:properties)
2330
+ @publish_time = args[:publish_time] if args.key?(:publish_time)
2331
+ @publisher = args[:publisher] if args.key?(:publisher)
2332
+ @revision_create_time = args[:revision_create_time] if args.key?(:revision_create_time)
2333
+ @revision_creator = args[:revision_creator] if args.key?(:revision_creator)
2334
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
2335
+ @schema_capabilities = args[:schema_capabilities] if args.key?(:schema_capabilities)
2336
+ end
2337
+ end
2338
+
2339
+ # The capabilities a user has on this label's applied metadata.
2340
+ class GoogleAppsDriveLabelsV2betaLabelAppliedCapabilities
2341
+ include Google::Apis::Core::Hashable
2342
+
2343
+ # Whether the user can apply this label to items.
2344
+ # Corresponds to the JSON property `canApply`
2345
+ # @return [Boolean]
2346
+ attr_accessor :can_apply
2347
+ alias_method :can_apply?, :can_apply
2348
+
2349
+ # Whether the user can read applied metadata related to this label.
2350
+ # Corresponds to the JSON property `canRead`
2351
+ # @return [Boolean]
2352
+ attr_accessor :can_read
2353
+ alias_method :can_read?, :can_read
2354
+
2355
+ # Whether the user can remove this label from items.
2356
+ # Corresponds to the JSON property `canRemove`
2357
+ # @return [Boolean]
2358
+ attr_accessor :can_remove
2359
+ alias_method :can_remove?, :can_remove
2360
+
2361
+ def initialize(**args)
2362
+ update!(**args)
2363
+ end
2364
+
2365
+ # Update properties of this object
2366
+ def update!(**args)
2367
+ @can_apply = args[:can_apply] if args.key?(:can_apply)
2368
+ @can_read = args[:can_read] if args.key?(:can_read)
2369
+ @can_remove = args[:can_remove] if args.key?(:can_remove)
2370
+ end
2371
+ end
2372
+
2373
+ # Behavior of this label when it's applied to Drive items.
2374
+ class GoogleAppsDriveLabelsV2betaLabelAppliedLabelPolicy
2375
+ include Google::Apis::Core::Hashable
2376
+
2377
+ # Indicates how the applied label and field values should be copied when a Drive
2378
+ # item is copied.
2379
+ # Corresponds to the JSON property `copyMode`
2380
+ # @return [String]
2381
+ attr_accessor :copy_mode
2382
+
2383
+ def initialize(**args)
2384
+ update!(**args)
2385
+ end
2386
+
2387
+ # Update properties of this object
2388
+ def update!(**args)
2389
+ @copy_mode = args[:copy_mode] if args.key?(:copy_mode)
2390
+ end
2391
+ end
2392
+
2393
+ # UI display hints for rendering the label.
2394
+ class GoogleAppsDriveLabelsV2betaLabelDisplayHints
2395
+ include Google::Apis::Core::Hashable
2396
+
2397
+ # Whether the label should be shown in the UI as disabled.
2398
+ # Corresponds to the JSON property `disabled`
2399
+ # @return [Boolean]
2400
+ attr_accessor :disabled
2401
+ alias_method :disabled?, :disabled
2402
+
2403
+ # This label should be hidden in the search menu when searching for Drive items.
2404
+ # Corresponds to the JSON property `hiddenInSearch`
2405
+ # @return [Boolean]
2406
+ attr_accessor :hidden_in_search
2407
+ alias_method :hidden_in_search?, :hidden_in_search
2408
+
2409
+ # Order to display label in a list.
2410
+ # Corresponds to the JSON property `priority`
2411
+ # @return [Fixnum]
2412
+ attr_accessor :priority
2413
+
2414
+ # This label should be shown in the apply menu when applying values to a Drive
2415
+ # item.
2416
+ # Corresponds to the JSON property `shownInApply`
2417
+ # @return [Boolean]
2418
+ attr_accessor :shown_in_apply
2419
+ alias_method :shown_in_apply?, :shown_in_apply
2420
+
2421
+ def initialize(**args)
2422
+ update!(**args)
2423
+ end
2424
+
2425
+ # Update properties of this object
2426
+ def update!(**args)
2427
+ @disabled = args[:disabled] if args.key?(:disabled)
2428
+ @hidden_in_search = args[:hidden_in_search] if args.key?(:hidden_in_search)
2429
+ @priority = args[:priority] if args.key?(:priority)
2430
+ @shown_in_apply = args[:shown_in_apply] if args.key?(:shown_in_apply)
2431
+ end
2432
+ end
2433
+
2434
+ # Label constraints governing the structure of a Label; such as, the maximum
2435
+ # number of Fields allowed and maximum length of the label title.
2436
+ class GoogleAppsDriveLabelsV2betaLabelLimits
2437
+ include Google::Apis::Core::Hashable
2438
+
2439
+ # Field constants governing the structure of a Field; such as, the maximum title
2440
+ # length, minimum and maximum field values or length, etc.
2441
+ # Corresponds to the JSON property `fieldLimits`
2442
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaFieldLimits]
2443
+ attr_accessor :field_limits
2444
+
2445
+ # The maximum number of published Fields that can be deleted.
2446
+ # Corresponds to the JSON property `maxDeletedFields`
2447
+ # @return [Fixnum]
2448
+ attr_accessor :max_deleted_fields
2449
+
2450
+ # The maximum number of characters allowed for the description.
2451
+ # Corresponds to the JSON property `maxDescriptionLength`
2452
+ # @return [Fixnum]
2453
+ attr_accessor :max_description_length
2454
+
2455
+ # The maximum number of draft revisions that will be kept before deleting old
2456
+ # drafts.
2457
+ # Corresponds to the JSON property `maxDraftRevisions`
2458
+ # @return [Fixnum]
2459
+ attr_accessor :max_draft_revisions
2460
+
2461
+ # The maximum number of Fields allowed within the label.
2462
+ # Corresponds to the JSON property `maxFields`
2463
+ # @return [Fixnum]
2464
+ attr_accessor :max_fields
2465
+
2466
+ # The maximum number of characters allowed for the title.
2467
+ # Corresponds to the JSON property `maxTitleLength`
2468
+ # @return [Fixnum]
2469
+ attr_accessor :max_title_length
2470
+
2471
+ # Resource name.
2472
+ # Corresponds to the JSON property `name`
2473
+ # @return [String]
2474
+ attr_accessor :name
2475
+
2476
+ def initialize(**args)
2477
+ update!(**args)
2478
+ end
2479
+
2480
+ # Update properties of this object
2481
+ def update!(**args)
2482
+ @field_limits = args[:field_limits] if args.key?(:field_limits)
2483
+ @max_deleted_fields = args[:max_deleted_fields] if args.key?(:max_deleted_fields)
2484
+ @max_description_length = args[:max_description_length] if args.key?(:max_description_length)
2485
+ @max_draft_revisions = args[:max_draft_revisions] if args.key?(:max_draft_revisions)
2486
+ @max_fields = args[:max_fields] if args.key?(:max_fields)
2487
+ @max_title_length = args[:max_title_length] if args.key?(:max_title_length)
2488
+ @name = args[:name] if args.key?(:name)
2489
+ end
2490
+ end
2491
+
2492
+ # A Lock that can be applied to a Label, Field, or Choice.
2493
+ class GoogleAppsDriveLabelsV2betaLabelLock
2494
+ include Google::Apis::Core::Hashable
2495
+
2496
+ # A description of a user's capabilities on a LabelLock.
2497
+ # Corresponds to the JSON property `capabilities`
2498
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabelLockCapabilities]
2499
+ attr_accessor :capabilities
2500
+
2501
+ # The ID of the Selection Field Choice that should be locked. If present, `
2502
+ # field_id` must also be present.
2503
+ # Corresponds to the JSON property `choiceId`
2504
+ # @return [String]
2505
+ attr_accessor :choice_id
2506
+
2507
+ # Output only. The time this LabelLock was created.
2508
+ # Corresponds to the JSON property `createTime`
2509
+ # @return [String]
2510
+ attr_accessor :create_time
2511
+
2512
+ # Information about a user.
2513
+ # Corresponds to the JSON property `creator`
2514
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaUserInfo]
2515
+ attr_accessor :creator
2516
+
2517
+ # Output only. A timestamp indicating when this LabelLock was scheduled for
2518
+ # deletion. This will be present only if this LabelLock is in the DELETING state.
2519
+ # Corresponds to the JSON property `deleteTime`
2520
+ # @return [String]
2521
+ attr_accessor :delete_time
2522
+
2523
+ # The ID of the Field that should be locked. Empty if the whole Label should be
2524
+ # locked.
2525
+ # Corresponds to the JSON property `fieldId`
2526
+ # @return [String]
2527
+ attr_accessor :field_id
2528
+
2529
+ # Output only. Resource name of this LabelLock.
2530
+ # Corresponds to the JSON property `name`
2531
+ # @return [String]
2532
+ attr_accessor :name
2533
+
2534
+ # Output only. A URI referring to the policy that created this Lock.
2535
+ # Corresponds to the JSON property `policyUri`
2536
+ # @return [String]
2537
+ attr_accessor :policy_uri
2538
+
2539
+ # Output only. This LabelLock's state.
2540
+ # Corresponds to the JSON property `state`
2541
+ # @return [String]
2542
+ attr_accessor :state
2543
+
2544
+ def initialize(**args)
2545
+ update!(**args)
2546
+ end
2547
+
2548
+ # Update properties of this object
2549
+ def update!(**args)
2550
+ @capabilities = args[:capabilities] if args.key?(:capabilities)
2551
+ @choice_id = args[:choice_id] if args.key?(:choice_id)
2552
+ @create_time = args[:create_time] if args.key?(:create_time)
2553
+ @creator = args[:creator] if args.key?(:creator)
2554
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
2555
+ @field_id = args[:field_id] if args.key?(:field_id)
2556
+ @name = args[:name] if args.key?(:name)
2557
+ @policy_uri = args[:policy_uri] if args.key?(:policy_uri)
2558
+ @state = args[:state] if args.key?(:state)
2559
+ end
2560
+ end
2561
+
2562
+ # A description of a user's capabilities on a LabelLock.
2563
+ class GoogleAppsDriveLabelsV2betaLabelLockCapabilities
2564
+ include Google::Apis::Core::Hashable
2565
+
2566
+ # True if the user is authorized to view the policy.
2567
+ # Corresponds to the JSON property `canViewPolicy`
2568
+ # @return [Boolean]
2569
+ attr_accessor :can_view_policy
2570
+ alias_method :can_view_policy?, :can_view_policy
2571
+
2572
+ def initialize(**args)
2573
+ update!(**args)
2574
+ end
2575
+
2576
+ # Update properties of this object
2577
+ def update!(**args)
2578
+ @can_view_policy = args[:can_view_policy] if args.key?(:can_view_policy)
2579
+ end
2580
+ end
2581
+
2582
+ # The permission that applies to a principal (user, group, audience) on a label.
2583
+ class GoogleAppsDriveLabelsV2betaLabelPermission
2584
+ include Google::Apis::Core::Hashable
2585
+
2586
+ # Audience to grant a role to. The magic value of `audiences/default` may be
2587
+ # used to apply the role to the default audience in the context of the
2588
+ # organization that owns the Label.
2589
+ # Corresponds to the JSON property `audience`
2590
+ # @return [String]
2591
+ attr_accessor :audience
2592
+
2593
+ # Specifies the email address for a user or group pricinpal. Not populated for
2594
+ # audience principals. User and Group permissions may only be inserted using
2595
+ # email address. On update requests, if email address is specified, no principal
2596
+ # should be specified.
2597
+ # Corresponds to the JSON property `email`
2598
+ # @return [String]
2599
+ attr_accessor :email
2600
+
2601
+ # Group resource name.
2602
+ # Corresponds to the JSON property `group`
2603
+ # @return [String]
2604
+ attr_accessor :group
2605
+
2606
+ # Resource name of this permission.
2607
+ # Corresponds to the JSON property `name`
2608
+ # @return [String]
2609
+ attr_accessor :name
2610
+
2611
+ # Person resource name.
2612
+ # Corresponds to the JSON property `person`
2613
+ # @return [String]
2614
+ attr_accessor :person
2615
+
2616
+ # The role the principal should have.
2617
+ # Corresponds to the JSON property `role`
2618
+ # @return [String]
2619
+ attr_accessor :role
2620
+
2621
+ def initialize(**args)
2622
+ update!(**args)
2623
+ end
2624
+
2625
+ # Update properties of this object
2626
+ def update!(**args)
2627
+ @audience = args[:audience] if args.key?(:audience)
2628
+ @email = args[:email] if args.key?(:email)
2629
+ @group = args[:group] if args.key?(:group)
2630
+ @name = args[:name] if args.key?(:name)
2631
+ @person = args[:person] if args.key?(:person)
2632
+ @role = args[:role] if args.key?(:role)
2633
+ end
2634
+ end
2635
+
2636
+ # Basic properties of the label.
2637
+ class GoogleAppsDriveLabelsV2betaLabelProperties
2638
+ include Google::Apis::Core::Hashable
2639
+
2640
+ # The description of the label.
2641
+ # Corresponds to the JSON property `description`
2642
+ # @return [String]
2643
+ attr_accessor :description
2644
+
2645
+ # Required. Title of the label.
2646
+ # Corresponds to the JSON property `title`
2647
+ # @return [String]
2648
+ attr_accessor :title
2649
+
2650
+ def initialize(**args)
2651
+ update!(**args)
2652
+ end
2653
+
2654
+ # Update properties of this object
2655
+ def update!(**args)
2656
+ @description = args[:description] if args.key?(:description)
2657
+ @title = args[:title] if args.key?(:title)
2658
+ end
2659
+ end
2660
+
2661
+ # The capabilities related to this label when editing the label.
2662
+ class GoogleAppsDriveLabelsV2betaLabelSchemaCapabilities
2663
+ include Google::Apis::Core::Hashable
2664
+
2665
+ # Whether the user can delete this label. The user must have permission and the
2666
+ # label must be disabled.
2667
+ # Corresponds to the JSON property `canDelete`
2668
+ # @return [Boolean]
2669
+ attr_accessor :can_delete
2670
+ alias_method :can_delete?, :can_delete
2671
+
2672
+ # Whether the user can disable this label. The user must have permission and
2673
+ # this label must not already be disabled.
2674
+ # Corresponds to the JSON property `canDisable`
2675
+ # @return [Boolean]
2676
+ attr_accessor :can_disable
2677
+ alias_method :can_disable?, :can_disable
2678
+
2679
+ # Whether the user can enable this label. The user must have permission and this
2680
+ # label must be disabled.
2681
+ # Corresponds to the JSON property `canEnable`
2682
+ # @return [Boolean]
2683
+ attr_accessor :can_enable
2684
+ alias_method :can_enable?, :can_enable
2685
+
2686
+ # Whether the user can change this label.
2687
+ # Corresponds to the JSON property `canUpdate`
2688
+ # @return [Boolean]
2689
+ attr_accessor :can_update
2690
+ alias_method :can_update?, :can_update
2691
+
2692
+ def initialize(**args)
2693
+ update!(**args)
2694
+ end
2695
+
2696
+ # Update properties of this object
2697
+ def update!(**args)
2698
+ @can_delete = args[:can_delete] if args.key?(:can_delete)
2699
+ @can_disable = args[:can_disable] if args.key?(:can_disable)
2700
+ @can_enable = args[:can_enable] if args.key?(:can_enable)
2701
+ @can_update = args[:can_update] if args.key?(:can_update)
2702
+ end
2703
+ end
2704
+
2705
+ # The lifecycle state of an object, such as label, field, or choice. The
2706
+ # lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting
2707
+ # state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted)
2708
+ # * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (
2709
+ # Deleted) The published and disabled states have some distinct characteristics:
2710
+ # * Published—Some kinds of changes might be made to an object in this state, in
2711
+ # which case `has_unpublished_changes` will be true. Also, some kinds of changes
2712
+ # are not permitted. Generally, any change that would invalidate or cause new
2713
+ # restrictions on existing metadata related to the label are rejected. *
2714
+ # Disabled—When disabled, the configured `DisabledPolicy` takes effect.
2715
+ class GoogleAppsDriveLabelsV2betaLifecycle
2716
+ include Google::Apis::Core::Hashable
2717
+
2718
+ # The policy that governs how to treat a disabled label, field, or selection
2719
+ # choice in different contexts.
2720
+ # Corresponds to the JSON property `disabledPolicy`
2721
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy]
2722
+ attr_accessor :disabled_policy
2723
+
2724
+ # Output only. Whether the object associated with this lifecycle has unpublished
2725
+ # changes.
2726
+ # Corresponds to the JSON property `hasUnpublishedChanges`
2727
+ # @return [Boolean]
2728
+ attr_accessor :has_unpublished_changes
2729
+ alias_method :has_unpublished_changes?, :has_unpublished_changes
2730
+
2731
+ # Output only. The state of the object associated with this lifecycle.
2732
+ # Corresponds to the JSON property `state`
2733
+ # @return [String]
2734
+ attr_accessor :state
2735
+
2736
+ def initialize(**args)
2737
+ update!(**args)
2738
+ end
2739
+
2740
+ # Update properties of this object
2741
+ def update!(**args)
2742
+ @disabled_policy = args[:disabled_policy] if args.key?(:disabled_policy)
2743
+ @has_unpublished_changes = args[:has_unpublished_changes] if args.key?(:has_unpublished_changes)
2744
+ @state = args[:state] if args.key?(:state)
2745
+ end
2746
+ end
2747
+
2748
+ # The policy that governs how to treat a disabled label, field, or selection
2749
+ # choice in different contexts.
2750
+ class GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy
2751
+ include Google::Apis::Core::Hashable
2752
+
2753
+ # Whether to hide this disabled object in the search menu for Drive items. *
2754
+ # When `false`, the object is generally shown in the UI as disabled but it
2755
+ # appears in the search results when searching for Drive items. * When `true`,
2756
+ # the object is generally hidden in the UI when searching for Drive items.
2757
+ # Corresponds to the JSON property `hideInSearch`
2758
+ # @return [Boolean]
2759
+ attr_accessor :hide_in_search
2760
+ alias_method :hide_in_search?, :hide_in_search
2761
+
2762
+ # Whether to show this disabled object in the apply menu on Drive items. * When `
2763
+ # true`, the object is generally shown in the UI as disabled and is unselectable.
2764
+ # * When `false`, the object is generally hidden in the UI.
2765
+ # Corresponds to the JSON property `showInApply`
2766
+ # @return [Boolean]
2767
+ attr_accessor :show_in_apply
2768
+ alias_method :show_in_apply?, :show_in_apply
2769
+
2770
+ def initialize(**args)
2771
+ update!(**args)
2772
+ end
2773
+
2774
+ # Update properties of this object
2775
+ def update!(**args)
2776
+ @hide_in_search = args[:hide_in_search] if args.key?(:hide_in_search)
2777
+ @show_in_apply = args[:show_in_apply] if args.key?(:show_in_apply)
2778
+ end
2779
+ end
2780
+
2781
+ # The response to a ListLabelLocksRequest.
2782
+ class GoogleAppsDriveLabelsV2betaListLabelLocksResponse
2783
+ include Google::Apis::Core::Hashable
2784
+
2785
+ # LabelLocks.
2786
+ # Corresponds to the JSON property `labelLocks`
2787
+ # @return [Array<Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabelLock>]
2788
+ attr_accessor :label_locks
2789
+
2790
+ # The token of the next page in the response.
2791
+ # Corresponds to the JSON property `nextPageToken`
2792
+ # @return [String]
2793
+ attr_accessor :next_page_token
2794
+
2795
+ def initialize(**args)
2796
+ update!(**args)
2797
+ end
2798
+
2799
+ # Update properties of this object
2800
+ def update!(**args)
2801
+ @label_locks = args[:label_locks] if args.key?(:label_locks)
2802
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2803
+ end
2804
+ end
2805
+
2806
+ # Response for listing the permissions on a Label.
2807
+ class GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse
2808
+ include Google::Apis::Core::Hashable
2809
+
2810
+ # Label permissions.
2811
+ # Corresponds to the JSON property `labelPermissions`
2812
+ # @return [Array<Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabelPermission>]
2813
+ attr_accessor :label_permissions
2814
+
2815
+ # The token of the next page in the response.
2816
+ # Corresponds to the JSON property `nextPageToken`
2817
+ # @return [String]
2818
+ attr_accessor :next_page_token
2819
+
2820
+ def initialize(**args)
2821
+ update!(**args)
2822
+ end
2823
+
2824
+ # Update properties of this object
2825
+ def update!(**args)
2826
+ @label_permissions = args[:label_permissions] if args.key?(:label_permissions)
2827
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2828
+ end
2829
+ end
2830
+
2831
+ # Response for listing Labels.
2832
+ class GoogleAppsDriveLabelsV2betaListLabelsResponse
2833
+ include Google::Apis::Core::Hashable
2834
+
2835
+ # Labels.
2836
+ # Corresponds to the JSON property `labels`
2837
+ # @return [Array<Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabel>]
2838
+ attr_accessor :labels
2839
+
2840
+ # The token of the next page in the response.
2841
+ # Corresponds to the JSON property `nextPageToken`
2842
+ # @return [String]
2843
+ attr_accessor :next_page_token
2844
+
2845
+ def initialize(**args)
2846
+ update!(**args)
2847
+ end
2848
+
2849
+ # Update properties of this object
2850
+ def update!(**args)
2851
+ @labels = args[:labels] if args.key?(:labels)
2852
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2853
+ end
2854
+ end
2855
+
2856
+ # Limits for list-variant of a Field type.
2857
+ class GoogleAppsDriveLabelsV2betaListLimits
2858
+ include Google::Apis::Core::Hashable
2859
+
2860
+ # Maximum number of values allowed for the Field type.
2861
+ # Corresponds to the JSON property `maxEntries`
2862
+ # @return [Fixnum]
2863
+ attr_accessor :max_entries
2864
+
2865
+ def initialize(**args)
2866
+ update!(**args)
2867
+ end
2868
+
2869
+ # Update properties of this object
2870
+ def update!(**args)
2871
+ @max_entries = args[:max_entries] if args.key?(:max_entries)
2872
+ end
2873
+ end
2874
+
2875
+ # Contains information about whether a label component should be considered
2876
+ # locked.
2877
+ class GoogleAppsDriveLabelsV2betaLockStatus
2878
+ include Google::Apis::Core::Hashable
2879
+
2880
+ # Output only. Indicates whether this label component is the (direct) target of
2881
+ # a LabelLock. A label component can be implicitly locked even if it's not the
2882
+ # direct target of a LabelLock, in which case this field is set to false.
2883
+ # Corresponds to the JSON property `locked`
2884
+ # @return [Boolean]
2885
+ attr_accessor :locked
2886
+ alias_method :locked?, :locked
2887
+
2888
+ def initialize(**args)
2889
+ update!(**args)
2890
+ end
2891
+
2892
+ # Update properties of this object
2893
+ def update!(**args)
2894
+ @locked = args[:locked] if args.key?(:locked)
2895
+ end
2896
+ end
2897
+
2898
+ # Limits for long text Field type.
2899
+ class GoogleAppsDriveLabelsV2betaLongTextLimits
2900
+ include Google::Apis::Core::Hashable
2901
+
2902
+ # Maximum length allowed for a long text Field type.
2903
+ # Corresponds to the JSON property `maxLength`
2904
+ # @return [Fixnum]
2905
+ attr_accessor :max_length
2906
+
2907
+ # Minimum length allowed for a long text Field type.
2908
+ # Corresponds to the JSON property `minLength`
2909
+ # @return [Fixnum]
2910
+ attr_accessor :min_length
2911
+
2912
+ def initialize(**args)
2913
+ update!(**args)
2914
+ end
2915
+
2916
+ # Update properties of this object
2917
+ def update!(**args)
2918
+ @max_length = args[:max_length] if args.key?(:max_length)
2919
+ @min_length = args[:min_length] if args.key?(:min_length)
2920
+ end
2921
+ end
2922
+
2923
+ # Request to publish a label.
2924
+ class GoogleAppsDriveLabelsV2betaPublishLabelRequest
2925
+ include Google::Apis::Core::Hashable
2926
+
2927
+ # The BCP-47 language code to use for evaluating localized field labels. When
2928
+ # not specified, values in the default configured language will be used.
2929
+ # Corresponds to the JSON property `languageCode`
2930
+ # @return [String]
2931
+ attr_accessor :language_code
2932
+
2933
+ # Set to `true` in order to use the user's admin credentials. The server will
2934
+ # verify the user is an admin for the Label before allowing access.
2935
+ # Corresponds to the JSON property `useAdminAccess`
2936
+ # @return [Boolean]
2937
+ attr_accessor :use_admin_access
2938
+ alias_method :use_admin_access?, :use_admin_access
2939
+
2940
+ # Provides control over how write requests are executed. When not specified, the
2941
+ # last write wins.
2942
+ # Corresponds to the JSON property `writeControl`
2943
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaWriteControl]
2944
+ attr_accessor :write_control
2945
+
2946
+ def initialize(**args)
2947
+ update!(**args)
2948
+ end
2949
+
2950
+ # Update properties of this object
2951
+ def update!(**args)
2952
+ @language_code = args[:language_code] if args.key?(:language_code)
2953
+ @use_admin_access = args[:use_admin_access] if args.key?(:use_admin_access)
2954
+ @write_control = args[:write_control] if args.key?(:write_control)
2955
+ end
2956
+ end
2957
+
2958
+ # Limits for selection Field type.
2959
+ class GoogleAppsDriveLabelsV2betaSelectionLimits
2960
+ include Google::Apis::Core::Hashable
2961
+
2962
+ # Limits for list-variant of a Field type.
2963
+ # Corresponds to the JSON property `listLimits`
2964
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaListLimits]
2965
+ attr_accessor :list_limits
2966
+
2967
+ # The max number of choices.
2968
+ # Corresponds to the JSON property `maxChoices`
2969
+ # @return [Fixnum]
2970
+ attr_accessor :max_choices
2971
+
2972
+ # Maximum number of deleted choices.
2973
+ # Corresponds to the JSON property `maxDeletedChoices`
2974
+ # @return [Fixnum]
2975
+ attr_accessor :max_deleted_choices
2976
+
2977
+ # Maximum length for display name.
2978
+ # Corresponds to the JSON property `maxDisplayNameLength`
2979
+ # @return [Fixnum]
2980
+ attr_accessor :max_display_name_length
2981
+
2982
+ # Maximum ID length for a selection options.
2983
+ # Corresponds to the JSON property `maxIdLength`
2984
+ # @return [Fixnum]
2985
+ attr_accessor :max_id_length
2986
+
2987
+ def initialize(**args)
2988
+ update!(**args)
2989
+ end
2990
+
2991
+ # Update properties of this object
2992
+ def update!(**args)
2993
+ @list_limits = args[:list_limits] if args.key?(:list_limits)
2994
+ @max_choices = args[:max_choices] if args.key?(:max_choices)
2995
+ @max_deleted_choices = args[:max_deleted_choices] if args.key?(:max_deleted_choices)
2996
+ @max_display_name_length = args[:max_display_name_length] if args.key?(:max_display_name_length)
2997
+ @max_id_length = args[:max_id_length] if args.key?(:max_id_length)
2998
+ end
2999
+ end
3000
+
3001
+ # Limits for text Field type.
3002
+ class GoogleAppsDriveLabelsV2betaTextLimits
3003
+ include Google::Apis::Core::Hashable
3004
+
3005
+ # Maximum length allowed for a text Field type.
3006
+ # Corresponds to the JSON property `maxLength`
3007
+ # @return [Fixnum]
3008
+ attr_accessor :max_length
3009
+
3010
+ # Minimum length allowed for a text Field type.
3011
+ # Corresponds to the JSON property `minLength`
3012
+ # @return [Fixnum]
3013
+ attr_accessor :min_length
3014
+
3015
+ def initialize(**args)
3016
+ update!(**args)
3017
+ end
3018
+
3019
+ # Update properties of this object
3020
+ def update!(**args)
3021
+ @max_length = args[:max_length] if args.key?(:max_length)
3022
+ @min_length = args[:min_length] if args.key?(:min_length)
3023
+ end
3024
+ end
3025
+
3026
+ # Request to update the `CopyMode` of the given Label. Changes to this policy
3027
+ # are not revisioned, do not require publishing, and take effect immediately. \
3028
+ class GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest
3029
+ include Google::Apis::Core::Hashable
3030
+
3031
+ # Required. Indicates how the applied Label, and Field values should be copied
3032
+ # when a Drive item is copied.
3033
+ # Corresponds to the JSON property `copyMode`
3034
+ # @return [String]
3035
+ attr_accessor :copy_mode
3036
+
3037
+ # The BCP-47 language code to use for evaluating localized field labels. When
3038
+ # not specified, values in the default configured language will be used.
3039
+ # Corresponds to the JSON property `languageCode`
3040
+ # @return [String]
3041
+ attr_accessor :language_code
3042
+
3043
+ # Set to `true` in order to use the user's admin credentials. The server will
3044
+ # verify the user is an admin for the Label before allowing access.
3045
+ # Corresponds to the JSON property `useAdminAccess`
3046
+ # @return [Boolean]
3047
+ attr_accessor :use_admin_access
3048
+ alias_method :use_admin_access?, :use_admin_access
3049
+
3050
+ # When specified, only certain fields belonging to the indicated view will be
3051
+ # returned.
3052
+ # Corresponds to the JSON property `view`
3053
+ # @return [String]
3054
+ attr_accessor :view
3055
+
3056
+ def initialize(**args)
3057
+ update!(**args)
3058
+ end
3059
+
3060
+ # Update properties of this object
3061
+ def update!(**args)
3062
+ @copy_mode = args[:copy_mode] if args.key?(:copy_mode)
3063
+ @language_code = args[:language_code] if args.key?(:language_code)
3064
+ @use_admin_access = args[:use_admin_access] if args.key?(:use_admin_access)
3065
+ @view = args[:view] if args.key?(:view)
3066
+ end
3067
+ end
3068
+
3069
+ # Updates a Label Permission. Permissions affect the Label resource as a whole,
3070
+ # are not revisioned, and do not require publishing.
3071
+ class GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest
3072
+ include Google::Apis::Core::Hashable
3073
+
3074
+ # The permission that applies to a principal (user, group, audience) on a label.
3075
+ # Corresponds to the JSON property `labelPermission`
3076
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaLabelPermission]
3077
+ attr_accessor :label_permission
3078
+
3079
+ # Required. The parent Label resource name.
3080
+ # Corresponds to the JSON property `parent`
3081
+ # @return [String]
3082
+ attr_accessor :parent
3083
+
3084
+ # Set to `true` in order to use the user's admin credentials. The server will
3085
+ # verify the user is an admin for the Label before allowing access.
3086
+ # Corresponds to the JSON property `useAdminAccess`
3087
+ # @return [Boolean]
3088
+ attr_accessor :use_admin_access
3089
+ alias_method :use_admin_access?, :use_admin_access
3090
+
3091
+ def initialize(**args)
3092
+ update!(**args)
3093
+ end
3094
+
3095
+ # Update properties of this object
3096
+ def update!(**args)
3097
+ @label_permission = args[:label_permission] if args.key?(:label_permission)
3098
+ @parent = args[:parent] if args.key?(:parent)
3099
+ @use_admin_access = args[:use_admin_access] if args.key?(:use_admin_access)
3100
+ end
3101
+ end
3102
+
3103
+ # The capabilities of a user.
3104
+ class GoogleAppsDriveLabelsV2betaUserCapabilities
3105
+ include Google::Apis::Core::Hashable
3106
+
3107
+ # Output only. Whether the user is allowed access to the label manager.
3108
+ # Corresponds to the JSON property `canAccessLabelManager`
3109
+ # @return [Boolean]
3110
+ attr_accessor :can_access_label_manager
3111
+ alias_method :can_access_label_manager?, :can_access_label_manager
3112
+
3113
+ # Output only. Whether the user is an administrator for the shared labels
3114
+ # feature.
3115
+ # Corresponds to the JSON property `canAdministrateLabels`
3116
+ # @return [Boolean]
3117
+ attr_accessor :can_administrate_labels
3118
+ alias_method :can_administrate_labels?, :can_administrate_labels
3119
+
3120
+ # Output only. Whether the user is allowed to create new admin labels.
3121
+ # Corresponds to the JSON property `canCreateAdminLabels`
3122
+ # @return [Boolean]
3123
+ attr_accessor :can_create_admin_labels
3124
+ alias_method :can_create_admin_labels?, :can_create_admin_labels
3125
+
3126
+ # Output only. Whether the user is allowed to create new shared labels.
3127
+ # Corresponds to the JSON property `canCreateSharedLabels`
3128
+ # @return [Boolean]
3129
+ attr_accessor :can_create_shared_labels
3130
+ alias_method :can_create_shared_labels?, :can_create_shared_labels
3131
+
3132
+ # Output only. Resource name for the user capabilities.
3133
+ # Corresponds to the JSON property `name`
3134
+ # @return [String]
3135
+ attr_accessor :name
3136
+
3137
+ def initialize(**args)
3138
+ update!(**args)
3139
+ end
3140
+
3141
+ # Update properties of this object
3142
+ def update!(**args)
3143
+ @can_access_label_manager = args[:can_access_label_manager] if args.key?(:can_access_label_manager)
3144
+ @can_administrate_labels = args[:can_administrate_labels] if args.key?(:can_administrate_labels)
3145
+ @can_create_admin_labels = args[:can_create_admin_labels] if args.key?(:can_create_admin_labels)
3146
+ @can_create_shared_labels = args[:can_create_shared_labels] if args.key?(:can_create_shared_labels)
3147
+ @name = args[:name] if args.key?(:name)
3148
+ end
3149
+ end
3150
+
3151
+ # Information about a user.
3152
+ class GoogleAppsDriveLabelsV2betaUserInfo
3153
+ include Google::Apis::Core::Hashable
3154
+
3155
+ # The identifier for this user that can be used with the People API to get more
3156
+ # information. For example, people/12345678.
3157
+ # Corresponds to the JSON property `person`
3158
+ # @return [String]
3159
+ attr_accessor :person
3160
+
3161
+ def initialize(**args)
3162
+ update!(**args)
3163
+ end
3164
+
3165
+ # Update properties of this object
3166
+ def update!(**args)
3167
+ @person = args[:person] if args.key?(:person)
3168
+ end
3169
+ end
3170
+
3171
+ # Limits for Field.Type.USER.
3172
+ class GoogleAppsDriveLabelsV2betaUserLimits
3173
+ include Google::Apis::Core::Hashable
3174
+
3175
+ # Limits for list-variant of a Field type.
3176
+ # Corresponds to the JSON property `listLimits`
3177
+ # @return [Google::Apis::DrivelabelsV2beta::GoogleAppsDriveLabelsV2betaListLimits]
3178
+ attr_accessor :list_limits
3179
+
3180
+ def initialize(**args)
3181
+ update!(**args)
3182
+ end
3183
+
3184
+ # Update properties of this object
3185
+ def update!(**args)
3186
+ @list_limits = args[:list_limits] if args.key?(:list_limits)
3187
+ end
3188
+ end
3189
+
3190
+ # Provides control over how write requests are executed. When not specified, the
3191
+ # last write wins.
3192
+ class GoogleAppsDriveLabelsV2betaWriteControl
3193
+ include Google::Apis::Core::Hashable
3194
+
3195
+ # The revision_id of the label that the write request will be applied to. If
3196
+ # this is not the latest revision of the label, the request will not be
3197
+ # processed and will return a 400 Bad Request error.
3198
+ # Corresponds to the JSON property `requiredRevisionId`
3199
+ # @return [String]
3200
+ attr_accessor :required_revision_id
3201
+
3202
+ def initialize(**args)
3203
+ update!(**args)
3204
+ end
3205
+
3206
+ # Update properties of this object
3207
+ def update!(**args)
3208
+ @required_revision_id = args[:required_revision_id] if args.key?(:required_revision_id)
3209
+ end
3210
+ end
3211
+
3212
+ # A generic empty message that you can re-use to avoid defining duplicated empty
3213
+ # messages in your APIs. A typical example is to use it as the request or the
3214
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
3215
+ # protobuf.Empty) returns (google.protobuf.Empty); `
3216
+ class GoogleProtobufEmpty
3217
+ include Google::Apis::Core::Hashable
3218
+
3219
+ def initialize(**args)
3220
+ update!(**args)
3221
+ end
3222
+
3223
+ # Update properties of this object
3224
+ def update!(**args)
3225
+ end
3226
+ end
3227
+
3228
+ # Represents a color in the RGBA color space. This representation is designed
3229
+ # for simplicity of conversion to/from color representations in various
3230
+ # languages over compactness. For example, the fields of this representation can
3231
+ # be trivially provided to the constructor of `java.awt.Color` in Java; it can
3232
+ # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
3233
+ # method in iOS; and, with just a little work, it can be easily formatted into a
3234
+ # CSS `rgba()` string in JavaScript. This reference page doesn't carry
3235
+ # information about the absolute color space that should be used to interpret
3236
+ # the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default,
3237
+ # applications should assume the sRGB color space. When color equality needs to
3238
+ # be decided, implementations, unless documented otherwise, treat two colors as
3239
+ # equal if all their red, green, blue, and alpha values each differ by at most
3240
+ # 1e-5. Example (Java): import com.google.type.Color; // ... public static java.
3241
+ # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
3242
+ # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
3243
+ # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
3244
+ # Color toProto(java.awt.Color color) ` float red = (float) color.getRed();
3245
+ # float green = (float) color.getGreen(); float blue = (float) color.getBlue();
3246
+ # float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .
3247
+ # setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue /
3248
+ # denominator); int alpha = color.getAlpha(); if (alpha != 255) ` result.
3249
+ # setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .
3250
+ # build()); ` return resultBuilder.build(); ` // ... Example (iOS / Obj-C): // ..
3251
+ # . static UIColor* fromProto(Color* protocolor) ` float red = [protocolor red];
3252
+ # float green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
3253
+ # alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
3254
+ # nil) ` alpha = [alpha_wrapper value]; ` return [UIColor colorWithRed:red green:
3255
+ # green blue:blue alpha:alpha]; ` static Color* toProto(UIColor* color) `
3256
+ # CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&
3257
+ # blue alpha:&alpha]) ` return nil; ` Color* result = [[Color alloc] init]; [
3258
+ # result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <
3259
+ # = 0.9999) ` [result setAlpha:floatWrapperWithValue(alpha)]; ` [result
3260
+ # autorelease]; return result; ` // ... Example (JavaScript): // ... var
3261
+ # protoToCssColor = function(rgb_color) ` var redFrac = rgb_color.red || 0.0;
3262
+ # var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0;
3263
+ # var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255);
3264
+ # var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) ` return
3265
+ # rgbToCssColor(red, green, blue); ` var alphaFrac = rgb_color.alpha.value || 0.
3266
+ # 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',
3267
+ # ', alphaFrac, ')'].join(''); `; var rgbToCssColor = function(red, green, blue)
3268
+ # ` var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString
3269
+ # = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
3270
+ # resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) ` resultBuilder.
3271
+ # push('0'); ` resultBuilder.push(hexString); return resultBuilder.join(''); `; /
3272
+ # / ...
3273
+ class GoogleTypeColor
3274
+ include Google::Apis::Core::Hashable
3275
+
3276
+ # The fraction of this color that should be applied to the pixel. That is, the
3277
+ # final pixel color is defined by the equation: `pixel color = alpha * (this
3278
+ # color) + (1.0 - alpha) * (background color)` This means that a value of 1.0
3279
+ # corresponds to a solid color, whereas a value of 0.0 corresponds to a
3280
+ # completely transparent color. This uses a wrapper message rather than a simple
3281
+ # float scalar so that it is possible to distinguish between a default value and
3282
+ # the value being unset. If omitted, this color object is rendered as a solid
3283
+ # color (as if the alpha value had been explicitly given a value of 1.0).
3284
+ # Corresponds to the JSON property `alpha`
3285
+ # @return [Float]
3286
+ attr_accessor :alpha
3287
+
3288
+ # The amount of blue in the color as a value in the interval [0, 1].
3289
+ # Corresponds to the JSON property `blue`
3290
+ # @return [Float]
3291
+ attr_accessor :blue
3292
+
3293
+ # The amount of green in the color as a value in the interval [0, 1].
3294
+ # Corresponds to the JSON property `green`
3295
+ # @return [Float]
3296
+ attr_accessor :green
3297
+
3298
+ # The amount of red in the color as a value in the interval [0, 1].
3299
+ # Corresponds to the JSON property `red`
3300
+ # @return [Float]
3301
+ attr_accessor :red
3302
+
3303
+ def initialize(**args)
3304
+ update!(**args)
3305
+ end
3306
+
3307
+ # Update properties of this object
3308
+ def update!(**args)
3309
+ @alpha = args[:alpha] if args.key?(:alpha)
3310
+ @blue = args[:blue] if args.key?(:blue)
3311
+ @green = args[:green] if args.key?(:green)
3312
+ @red = args[:red] if args.key?(:red)
3313
+ end
3314
+ end
3315
+
3316
+ # Represents a whole or partial calendar date, such as a birthday. The time of
3317
+ # day and time zone are either specified elsewhere or are insignificant. The
3318
+ # date is relative to the Gregorian Calendar. This can represent one of the
3319
+ # following: * A full date, with non-zero year, month, and day values. * A month
3320
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
3321
+ # with a zero month and a zero day. * A year and month, with a zero day (for
3322
+ # example, a credit card expiration date). Related types: * google.type.
3323
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
3324
+ class GoogleTypeDate
3325
+ include Google::Apis::Core::Hashable
3326
+
3327
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
3328
+ # specify a year by itself or a year and month where the day isn't significant.
3329
+ # Corresponds to the JSON property `day`
3330
+ # @return [Fixnum]
3331
+ attr_accessor :day
3332
+
3333
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
3334
+ # and day.
3335
+ # Corresponds to the JSON property `month`
3336
+ # @return [Fixnum]
3337
+ attr_accessor :month
3338
+
3339
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
3340
+ # year.
3341
+ # Corresponds to the JSON property `year`
3342
+ # @return [Fixnum]
3343
+ attr_accessor :year
3344
+
3345
+ def initialize(**args)
3346
+ update!(**args)
3347
+ end
3348
+
3349
+ # Update properties of this object
3350
+ def update!(**args)
3351
+ @day = args[:day] if args.key?(:day)
3352
+ @month = args[:month] if args.key?(:month)
3353
+ @year = args[:year] if args.key?(:year)
3354
+ end
3355
+ end
3356
+ end
3357
+ end
3358
+ end