google-apis-drivelabels_v2beta 0.1.0

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