1# Copyright 2014 Google Inc. All Rights Reserved.
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"""Generated message classes for storage version v1.
15
16Lets you store and retrieve potentially-large, immutable data objects.
17"""
18
19from protorpc import message_types
20from protorpc import messages
21
22from apitools.base.py import encoding
23from apitools.base.py import extra_types
24
25package = 'storage'
26
27
28class Bucket(messages.Message):
29  """A bucket.
30
31  Messages:
32    CorsValueListEntry: A CorsValueListEntry object.
33    LifecycleValue: The bucket's lifecycle configuration. See lifecycle
34      management for more information.
35    LoggingValue: The bucket's logging configuration, which defines the
36      destination bucket and optional name prefix for the current bucket's
37      logs.
38    OwnerValue: The owner of the bucket. This is always the project team's
39      owner group.
40    VersioningValue: The bucket's versioning configuration.
41    WebsiteValue: The bucket's website configuration.
42
43  Fields:
44    acl: Access controls on the bucket.
45    cors: The bucket's Cross-Origin Resource Sharing (CORS) configuration.
46    defaultObjectAcl: Default access controls to apply to new objects when no
47      ACL is provided.
48    etag: HTTP 1.1 Entity tag for the bucket.
49    id: The ID of the bucket.
50    kind: The kind of item this is. For buckets, this is always
51      storage#bucket.
52    lifecycle: The bucket's lifecycle configuration. See lifecycle management
53      for more information.
54    location: The location of the bucket. Object data for objects in the
55      bucket resides in physical storage within this region. Defaults to US.
56      See the developer's guide for the authoritative list.
57    logging: The bucket's logging configuration, which defines the destination
58      bucket and optional name prefix for the current bucket's logs.
59    metageneration: The metadata generation of this bucket.
60    name: The name of the bucket.
61    owner: The owner of the bucket. This is always the project team's owner
62      group.
63    projectNumber: The project number of the project the bucket belongs to.
64    selfLink: The URI of this bucket.
65    storageClass: The bucket's storage class. This defines how objects in the
66      bucket are stored and determines the SLA and the cost of storage. Values
67      include STANDARD, NEARLINE and DURABLE_REDUCED_AVAILABILITY. Defaults to
68      STANDARD. For more information, see storage classes.
69    timeCreated: Creation time of the bucket in RFC 3339 format.
70    versioning: The bucket's versioning configuration.
71    website: The bucket's website configuration.
72  """
73
74  class CorsValueListEntry(messages.Message):
75    """A CorsValueListEntry object.
76
77    Fields:
78      maxAgeSeconds: The value, in seconds, to return in the  Access-Control-
79        Max-Age header used in preflight responses.
80      method: The list of HTTP methods on which to include CORS response
81        headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list
82        of methods, and means "any method".
83      origin: The list of Origins eligible to receive CORS response headers.
84        Note: "*" is permitted in the list of origins, and means "any Origin".
85      responseHeader: The list of HTTP headers other than the simple response
86        headers to give permission for the user-agent to share across domains.
87    """
88
89    maxAgeSeconds = messages.IntegerField(1, variant=messages.Variant.INT32)
90    method = messages.StringField(2, repeated=True)
91    origin = messages.StringField(3, repeated=True)
92    responseHeader = messages.StringField(4, repeated=True)
93
94  class LifecycleValue(messages.Message):
95    """The bucket's lifecycle configuration. See lifecycle management for more
96    information.
97
98    Messages:
99      RuleValueListEntry: A RuleValueListEntry object.
100
101    Fields:
102      rule: A lifecycle management rule, which is made of an action to take
103        and the condition(s) under which the action will be taken.
104    """
105
106    class RuleValueListEntry(messages.Message):
107      """A RuleValueListEntry object.
108
109      Messages:
110        ActionValue: The action to take.
111        ConditionValue: The condition(s) under which the action will be taken.
112
113      Fields:
114        action: The action to take.
115        condition: The condition(s) under which the action will be taken.
116      """
117
118      class ActionValue(messages.Message):
119        """The action to take.
120
121        Fields:
122          type: Type of the action. Currently, only Delete is supported.
123        """
124
125        type = messages.StringField(1)
126
127      class ConditionValue(messages.Message):
128        """The condition(s) under which the action will be taken.
129
130        Fields:
131          age: Age of an object (in days). This condition is satisfied when an
132            object reaches the specified age.
133          createdBefore: A date in RFC 3339 format with only the date part
134            (for instance, "2013-01-15"). This condition is satisfied when an
135            object is created before midnight of the specified date in UTC.
136          isLive: Relevant only for versioned objects. If the value is true,
137            this condition matches live objects; if the value is false, it
138            matches archived objects.
139          numNewerVersions: Relevant only for versioned objects. If the value
140            is N, this condition is satisfied when there are at least N
141            versions (including the live version) newer than this version of
142            the object.
143        """
144
145        age = messages.IntegerField(1, variant=messages.Variant.INT32)
146        createdBefore = extra_types.DateField(2)
147        isLive = messages.BooleanField(3)
148        numNewerVersions = messages.IntegerField(4, variant=messages.Variant.INT32)
149
150      action = messages.MessageField('ActionValue', 1)
151      condition = messages.MessageField('ConditionValue', 2)
152
153    rule = messages.MessageField('RuleValueListEntry', 1, repeated=True)
154
155  class LoggingValue(messages.Message):
156    """The bucket's logging configuration, which defines the destination
157    bucket and optional name prefix for the current bucket's logs.
158
159    Fields:
160      logBucket: The destination bucket where the current bucket's logs should
161        be placed.
162      logObjectPrefix: A prefix for log object names.
163    """
164
165    logBucket = messages.StringField(1)
166    logObjectPrefix = messages.StringField(2)
167
168  class OwnerValue(messages.Message):
169    """The owner of the bucket. This is always the project team's owner group.
170
171    Fields:
172      entity: The entity, in the form project-owner-projectId.
173      entityId: The ID for the entity.
174    """
175
176    entity = messages.StringField(1)
177    entityId = messages.StringField(2)
178
179  class VersioningValue(messages.Message):
180    """The bucket's versioning configuration.
181
182    Fields:
183      enabled: While set to true, versioning is fully enabled for this bucket.
184    """
185
186    enabled = messages.BooleanField(1)
187
188  class WebsiteValue(messages.Message):
189    """The bucket's website configuration.
190
191    Fields:
192      mainPageSuffix: Behaves as the bucket's directory index where missing
193        objects are treated as potential directories.
194      notFoundPage: The custom object to return when a requested resource is
195        not found.
196    """
197
198    mainPageSuffix = messages.StringField(1)
199    notFoundPage = messages.StringField(2)
200
201  acl = messages.MessageField('BucketAccessControl', 1, repeated=True)
202  cors = messages.MessageField('CorsValueListEntry', 2, repeated=True)
203  defaultObjectAcl = messages.MessageField('ObjectAccessControl', 3, repeated=True)
204  etag = messages.StringField(4)
205  id = messages.StringField(5)
206  kind = messages.StringField(6, default=u'storage#bucket')
207  lifecycle = messages.MessageField('LifecycleValue', 7)
208  location = messages.StringField(8)
209  logging = messages.MessageField('LoggingValue', 9)
210  metageneration = messages.IntegerField(10)
211  name = messages.StringField(11)
212  owner = messages.MessageField('OwnerValue', 12)
213  projectNumber = messages.IntegerField(13, variant=messages.Variant.UINT64)
214  selfLink = messages.StringField(14)
215  storageClass = messages.StringField(15)
216  timeCreated = message_types.DateTimeField(16)
217  versioning = messages.MessageField('VersioningValue', 17)
218  website = messages.MessageField('WebsiteValue', 18)
219
220
221class BucketAccessControl(messages.Message):
222  """An access-control entry.
223
224  Messages:
225    ProjectTeamValue: The project team associated with the entity, if any.
226
227  Fields:
228    bucket: The name of the bucket.
229    domain: The domain associated with the entity, if any.
230    email: The email address associated with the entity, if any.
231    entity: The entity holding the permission, in one of the following forms:
232      - user-userId  - user-email  - group-groupId  - group-email  - domain-
233      domain  - project-team-projectId  - allUsers  - allAuthenticatedUsers
234      Examples:  - The user liz@example.com would be user-liz@example.com.  -
235      The group example@googlegroups.com would be group-
236      example@googlegroups.com.  - To refer to all members of the Google Apps
237      for Business domain example.com, the entity would be domain-example.com.
238    entityId: The ID for the entity, if any.
239    etag: HTTP 1.1 Entity tag for the access-control entry.
240    id: The ID of the access-control entry.
241    kind: The kind of item this is. For bucket access control entries, this is
242      always storage#bucketAccessControl.
243    projectTeam: The project team associated with the entity, if any.
244    role: The access permission for the entity. Can be READER, WRITER, or
245      OWNER.
246    selfLink: The link to this access-control entry.
247  """
248
249  class ProjectTeamValue(messages.Message):
250    """The project team associated with the entity, if any.
251
252    Fields:
253      projectNumber: The project number.
254      team: The team. Can be owners, editors, or viewers.
255    """
256
257    projectNumber = messages.StringField(1)
258    team = messages.StringField(2)
259
260  bucket = messages.StringField(1)
261  domain = messages.StringField(2)
262  email = messages.StringField(3)
263  entity = messages.StringField(4)
264  entityId = messages.StringField(5)
265  etag = messages.StringField(6)
266  id = messages.StringField(7)
267  kind = messages.StringField(8, default=u'storage#bucketAccessControl')
268  projectTeam = messages.MessageField('ProjectTeamValue', 9)
269  role = messages.StringField(10)
270  selfLink = messages.StringField(11)
271
272
273class BucketAccessControls(messages.Message):
274  """An access-control list.
275
276  Fields:
277    items: The list of items.
278    kind: The kind of item this is. For lists of bucket access control
279      entries, this is always storage#bucketAccessControls.
280  """
281
282  items = messages.MessageField('BucketAccessControl', 1, repeated=True)
283  kind = messages.StringField(2, default=u'storage#bucketAccessControls')
284
285
286class Buckets(messages.Message):
287  """A list of buckets.
288
289  Fields:
290    items: The list of items.
291    kind: The kind of item this is. For lists of buckets, this is always
292      storage#buckets.
293    nextPageToken: The continuation token, used to page through large result
294      sets. Provide this value in a subsequent request to return the next page
295      of results.
296  """
297
298  items = messages.MessageField('Bucket', 1, repeated=True)
299  kind = messages.StringField(2, default=u'storage#buckets')
300  nextPageToken = messages.StringField(3)
301
302
303class Channel(messages.Message):
304  """An notification channel used to watch for resource changes.
305
306  Messages:
307    ParamsValue: Additional parameters controlling delivery channel behavior.
308      Optional.
309
310  Fields:
311    address: The address where notifications are delivered for this channel.
312    expiration: Date and time of notification channel expiration, expressed as
313      a Unix timestamp, in milliseconds. Optional.
314    id: A UUID or similar unique string that identifies this channel.
315    kind: Identifies this as a notification channel used to watch for changes
316      to a resource. Value: the fixed string "api#channel".
317    params: Additional parameters controlling delivery channel behavior.
318      Optional.
319    payload: A Boolean value to indicate whether payload is wanted. Optional.
320    resourceId: An opaque ID that identifies the resource being watched on
321      this channel. Stable across different API versions.
322    resourceUri: A version-specific identifier for the watched resource.
323    token: An arbitrary string delivered to the target address with each
324      notification delivered over this channel. Optional.
325    type: The type of delivery mechanism used for this channel.
326  """
327
328  @encoding.MapUnrecognizedFields('additionalProperties')
329  class ParamsValue(messages.Message):
330    """Additional parameters controlling delivery channel behavior. Optional.
331
332    Messages:
333      AdditionalProperty: An additional property for a ParamsValue object.
334
335    Fields:
336      additionalProperties: Declares a new parameter by name.
337    """
338
339    class AdditionalProperty(messages.Message):
340      """An additional property for a ParamsValue object.
341
342      Fields:
343        key: Name of the additional property.
344        value: A string attribute.
345      """
346
347      key = messages.StringField(1)
348      value = messages.StringField(2)
349
350    additionalProperties = messages.MessageField('AdditionalProperty', 1, repeated=True)
351
352  address = messages.StringField(1)
353  expiration = messages.IntegerField(2)
354  id = messages.StringField(3)
355  kind = messages.StringField(4, default=u'api#channel')
356  params = messages.MessageField('ParamsValue', 5)
357  payload = messages.BooleanField(6)
358  resourceId = messages.StringField(7)
359  resourceUri = messages.StringField(8)
360  token = messages.StringField(9)
361  type = messages.StringField(10)
362
363
364class ComposeRequest(messages.Message):
365  """A Compose request.
366
367  Messages:
368    SourceObjectsValueListEntry: A SourceObjectsValueListEntry object.
369
370  Fields:
371    destination: Properties of the resulting object.
372    kind: The kind of item this is.
373    sourceObjects: The list of source objects that will be concatenated into a
374      single object.
375  """
376
377  class SourceObjectsValueListEntry(messages.Message):
378    """A SourceObjectsValueListEntry object.
379
380    Messages:
381      ObjectPreconditionsValue: Conditions that must be met for this operation
382        to execute.
383
384    Fields:
385      generation: The generation of this object to use as the source.
386      name: The source object's name. The source object's bucket is implicitly
387        the destination bucket.
388      objectPreconditions: Conditions that must be met for this operation to
389        execute.
390    """
391
392    class ObjectPreconditionsValue(messages.Message):
393      """Conditions that must be met for this operation to execute.
394
395      Fields:
396        ifGenerationMatch: Only perform the composition if the generation of
397          the source object that would be used matches this value. If this
398          value and a generation are both specified, they must be the same
399          value or the call will fail.
400      """
401
402      ifGenerationMatch = messages.IntegerField(1)
403
404    generation = messages.IntegerField(1)
405    name = messages.StringField(2)
406    objectPreconditions = messages.MessageField('ObjectPreconditionsValue', 3)
407
408  destination = messages.MessageField('Object', 1)
409  kind = messages.StringField(2, default=u'storage#composeRequest')
410  sourceObjects = messages.MessageField('SourceObjectsValueListEntry', 3, repeated=True)
411
412
413class Object(messages.Message):
414  """An object.
415
416  Messages:
417    MetadataValue: User-provided metadata, in key/value pairs.
418    OwnerValue: The owner of the object. This will always be the uploader of
419      the object.
420
421  Fields:
422    acl: Access controls on the object.
423    bucket: The name of the bucket containing this object.
424    cacheControl: Cache-Control directive for the object data.
425    componentCount: Number of underlying components that make up this object.
426      Components are accumulated by compose operations.
427    contentDisposition: Content-Disposition of the object data.
428    contentEncoding: Content-Encoding of the object data.
429    contentLanguage: Content-Language of the object data.
430    contentType: Content-Type of the object data.
431    crc32c: CRC32c checksum, as described in RFC 4960, Appendix B; encoded
432      using base64.
433    etag: HTTP 1.1 Entity tag for the object.
434    generation: The content generation of this object. Used for object
435      versioning.
436    id: The ID of the object.
437    kind: The kind of item this is. For objects, this is always
438      storage#object.
439    md5Hash: MD5 hash of the data; encoded using base64.
440    mediaLink: Media download link.
441    metadata: User-provided metadata, in key/value pairs.
442    metageneration: The version of the metadata for this object at this
443      generation. Used for preconditions and for detecting changes in
444      metadata. A metageneration number is only meaningful in the context of a
445      particular generation of a particular object.
446    name: The name of this object. Required if not specified by URL parameter.
447    owner: The owner of the object. This will always be the uploader of the
448      object.
449    selfLink: The link to this object.
450    size: Content-Length of the data in bytes.
451    storageClass: Storage class of the object.
452    timeDeleted: The deletion time of the object in RFC 3339 format. Will be
453      returned if and only if this version of the object has been deleted.
454    updated: The creation or modification time of the object in RFC 3339
455      format. For buckets with versioning enabled, changing an object's
456      metadata does not change this property.
457  """
458
459  @encoding.MapUnrecognizedFields('additionalProperties')
460  class MetadataValue(messages.Message):
461    """User-provided metadata, in key/value pairs.
462
463    Messages:
464      AdditionalProperty: An additional property for a MetadataValue object.
465
466    Fields:
467      additionalProperties: An individual metadata entry.
468    """
469
470    class AdditionalProperty(messages.Message):
471      """An additional property for a MetadataValue object.
472
473      Fields:
474        key: Name of the additional property.
475        value: A string attribute.
476      """
477
478      key = messages.StringField(1)
479      value = messages.StringField(2)
480
481    additionalProperties = messages.MessageField('AdditionalProperty', 1, repeated=True)
482
483  class OwnerValue(messages.Message):
484    """The owner of the object. This will always be the uploader of the
485    object.
486
487    Fields:
488      entity: The entity, in the form user-userId.
489      entityId: The ID for the entity.
490    """
491
492    entity = messages.StringField(1)
493    entityId = messages.StringField(2)
494
495  acl = messages.MessageField('ObjectAccessControl', 1, repeated=True)
496  bucket = messages.StringField(2)
497  cacheControl = messages.StringField(3)
498  componentCount = messages.IntegerField(4, variant=messages.Variant.INT32)
499  contentDisposition = messages.StringField(5)
500  contentEncoding = messages.StringField(6)
501  contentLanguage = messages.StringField(7)
502  contentType = messages.StringField(8)
503  crc32c = messages.StringField(9)
504  etag = messages.StringField(10)
505  generation = messages.IntegerField(11)
506  id = messages.StringField(12)
507  kind = messages.StringField(13, default=u'storage#object')
508  md5Hash = messages.StringField(14)
509  mediaLink = messages.StringField(15)
510  metadata = messages.MessageField('MetadataValue', 16)
511  metageneration = messages.IntegerField(17)
512  name = messages.StringField(18)
513  owner = messages.MessageField('OwnerValue', 19)
514  selfLink = messages.StringField(20)
515  size = messages.IntegerField(21, variant=messages.Variant.UINT64)
516  storageClass = messages.StringField(22)
517  timeDeleted = message_types.DateTimeField(23)
518  updated = message_types.DateTimeField(24)
519
520
521class ObjectAccessControl(messages.Message):
522  """An access-control entry.
523
524  Messages:
525    ProjectTeamValue: The project team associated with the entity, if any.
526
527  Fields:
528    bucket: The name of the bucket.
529    domain: The domain associated with the entity, if any.
530    email: The email address associated with the entity, if any.
531    entity: The entity holding the permission, in one of the following forms:
532      - user-userId  - user-email  - group-groupId  - group-email  - domain-
533      domain  - project-team-projectId  - allUsers  - allAuthenticatedUsers
534      Examples:  - The user liz@example.com would be user-liz@example.com.  -
535      The group example@googlegroups.com would be group-
536      example@googlegroups.com.  - To refer to all members of the Google Apps
537      for Business domain example.com, the entity would be domain-example.com.
538    entityId: The ID for the entity, if any.
539    etag: HTTP 1.1 Entity tag for the access-control entry.
540    generation: The content generation of the object.
541    id: The ID of the access-control entry.
542    kind: The kind of item this is. For object access control entries, this is
543      always storage#objectAccessControl.
544    object: The name of the object.
545    projectTeam: The project team associated with the entity, if any.
546    role: The access permission for the entity. Can be READER or OWNER.
547    selfLink: The link to this access-control entry.
548  """
549
550  class ProjectTeamValue(messages.Message):
551    """The project team associated with the entity, if any.
552
553    Fields:
554      projectNumber: The project number.
555      team: The team. Can be owners, editors, or viewers.
556    """
557
558    projectNumber = messages.StringField(1)
559    team = messages.StringField(2)
560
561  bucket = messages.StringField(1)
562  domain = messages.StringField(2)
563  email = messages.StringField(3)
564  entity = messages.StringField(4)
565  entityId = messages.StringField(5)
566  etag = messages.StringField(6)
567  generation = messages.IntegerField(7)
568  id = messages.StringField(8)
569  kind = messages.StringField(9, default=u'storage#objectAccessControl')
570  object = messages.StringField(10)
571  projectTeam = messages.MessageField('ProjectTeamValue', 11)
572  role = messages.StringField(12)
573  selfLink = messages.StringField(13)
574
575
576class ObjectAccessControls(messages.Message):
577  """An access-control list.
578
579  Fields:
580    items: The list of items.
581    kind: The kind of item this is. For lists of object access control
582      entries, this is always storage#objectAccessControls.
583  """
584
585  items = messages.MessageField('extra_types.JsonValue', 1, repeated=True)
586  kind = messages.StringField(2, default=u'storage#objectAccessControls')
587
588
589class Objects(messages.Message):
590  """A list of objects.
591
592  Fields:
593    items: The list of items.
594    kind: The kind of item this is. For lists of objects, this is always
595      storage#objects.
596    nextPageToken: The continuation token, used to page through large result
597      sets. Provide this value in a subsequent request to return the next page
598      of results.
599    prefixes: The list of prefixes of objects matching-but-not-listed up to
600      and including the requested delimiter.
601  """
602
603  items = messages.MessageField('Object', 1, repeated=True)
604  kind = messages.StringField(2, default=u'storage#objects')
605  nextPageToken = messages.StringField(3)
606  prefixes = messages.StringField(4, repeated=True)
607
608
609class RewriteResponse(messages.Message):
610  """A Rewrite response.
611
612  Messages:
613    ResourceValue: A ResourceValue object.
614
615  Fields:
616    done: A boolean attribute.
617    kind: The kind of item this is.
618    objectSize: A string attribute.
619    resource: A Object attribute.
620    rewriteToken: A string attribute.
621    totalBytesRewritten: A string attribute.
622  """
623
624  done = messages.BooleanField(1)
625  kind = messages.StringField(2, default=u'storage#rewriteResponse')
626  objectSize = messages.IntegerField(3, variant=messages.Variant.UINT64)
627  resource = messages.MessageField('Object', 4)
628  rewriteToken = messages.StringField(5)
629  totalBytesRewritten = messages.IntegerField(6, variant=messages.Variant.UINT64)
630
631
632class StandardQueryParameters(messages.Message):
633  """Query parameters accepted by all methods.
634
635  Enums:
636    AltValueValuesEnum: Data format for the response.
637
638  Fields:
639    alt: Data format for the response.
640    fields: Selector specifying which fields to include in a partial response.
641    key: API key. Your API key identifies your project and provides you with
642      API access, quota, and reports. Required unless you provide an OAuth 2.0
643      token.
644    oauth_token: OAuth 2.0 token for the current user.
645    prettyPrint: Returns response with indentations and line breaks.
646    quotaUser: Available to use for quota purposes for server-side
647      applications. Can be any arbitrary string assigned to a user, but should
648      not exceed 40 characters. Overrides userIp if both are provided.
649    trace: A tracing token of the form "token:<tokenid>" or "email:<ldap>" to
650      include in api requests.
651    userIp: IP address of the site where the request originates. Use this if
652      you want to enforce per-user limits.
653  """
654
655  class AltValueValuesEnum(messages.Enum):
656    """Data format for the response.
657
658    Values:
659      json: Responses with Content-Type of application/json
660    """
661    json = 0
662
663  alt = messages.EnumField('AltValueValuesEnum', 1, default=u'json')
664  fields = messages.StringField(2)
665  key = messages.StringField(3)
666  oauth_token = messages.StringField(4)
667  prettyPrint = messages.BooleanField(5, default=True)
668  quotaUser = messages.StringField(6)
669  trace = messages.StringField(7)
670  userIp = messages.StringField(8)
671
672
673class StorageBucketAccessControlsDeleteRequest(messages.Message):
674  """A StorageBucketAccessControlsDeleteRequest object.
675
676  Fields:
677    bucket: Name of a bucket.
678    entity: The entity holding the permission. Can be user-userId, user-
679      emailAddress, group-groupId, group-emailAddress, allUsers, or
680      allAuthenticatedUsers.
681  """
682
683  bucket = messages.StringField(1, required=True)
684  entity = messages.StringField(2, required=True)
685
686
687class StorageBucketAccessControlsDeleteResponse(messages.Message):
688  """An empty StorageBucketAccessControlsDelete response."""
689
690
691class StorageBucketAccessControlsGetRequest(messages.Message):
692  """A StorageBucketAccessControlsGetRequest object.
693
694  Fields:
695    bucket: Name of a bucket.
696    entity: The entity holding the permission. Can be user-userId, user-
697      emailAddress, group-groupId, group-emailAddress, allUsers, or
698      allAuthenticatedUsers.
699  """
700
701  bucket = messages.StringField(1, required=True)
702  entity = messages.StringField(2, required=True)
703
704
705class StorageBucketAccessControlsListRequest(messages.Message):
706  """A StorageBucketAccessControlsListRequest object.
707
708  Fields:
709    bucket: Name of a bucket.
710  """
711
712  bucket = messages.StringField(1, required=True)
713
714
715class StorageBucketsDeleteRequest(messages.Message):
716  """A StorageBucketsDeleteRequest object.
717
718  Fields:
719    bucket: Name of a bucket.
720    ifMetagenerationMatch: If set, only deletes the bucket if its
721      metageneration matches this value.
722    ifMetagenerationNotMatch: If set, only deletes the bucket if its
723      metageneration does not match this value.
724  """
725
726  bucket = messages.StringField(1, required=True)
727  ifMetagenerationMatch = messages.IntegerField(2)
728  ifMetagenerationNotMatch = messages.IntegerField(3)
729
730
731class StorageBucketsDeleteResponse(messages.Message):
732  """An empty StorageBucketsDelete response."""
733
734
735class StorageBucketsGetRequest(messages.Message):
736  """A StorageBucketsGetRequest object.
737
738  Enums:
739    ProjectionValueValuesEnum: Set of properties to return. Defaults to noAcl.
740
741  Fields:
742    bucket: Name of a bucket.
743    ifMetagenerationMatch: Makes the return of the bucket metadata conditional
744      on whether the bucket's current metageneration matches the given value.
745    ifMetagenerationNotMatch: Makes the return of the bucket metadata
746      conditional on whether the bucket's current metageneration does not
747      match the given value.
748    projection: Set of properties to return. Defaults to noAcl.
749  """
750
751  class ProjectionValueValuesEnum(messages.Enum):
752    """Set of properties to return. Defaults to noAcl.
753
754    Values:
755      full: Include all properties.
756      noAcl: Omit acl and defaultObjectAcl properties.
757    """
758    full = 0
759    noAcl = 1
760
761  bucket = messages.StringField(1, required=True)
762  ifMetagenerationMatch = messages.IntegerField(2)
763  ifMetagenerationNotMatch = messages.IntegerField(3)
764  projection = messages.EnumField('ProjectionValueValuesEnum', 4)
765
766
767class StorageBucketsInsertRequest(messages.Message):
768  """A StorageBucketsInsertRequest object.
769
770  Enums:
771    PredefinedAclValueValuesEnum: Apply a predefined set of access controls to
772      this bucket.
773    PredefinedDefaultObjectAclValueValuesEnum: Apply a predefined set of
774      default object access controls to this bucket.
775    ProjectionValueValuesEnum: Set of properties to return. Defaults to noAcl,
776      unless the bucket resource specifies acl or defaultObjectAcl properties,
777      when it defaults to full.
778
779  Fields:
780    bucket: A Bucket resource to be passed as the request body.
781    predefinedAcl: Apply a predefined set of access controls to this bucket.
782    predefinedDefaultObjectAcl: Apply a predefined set of default object
783      access controls to this bucket.
784    project: A valid API project identifier.
785    projection: Set of properties to return. Defaults to noAcl, unless the
786      bucket resource specifies acl or defaultObjectAcl properties, when it
787      defaults to full.
788  """
789
790  class PredefinedAclValueValuesEnum(messages.Enum):
791    """Apply a predefined set of access controls to this bucket.
792
793    Values:
794      authenticatedRead: Project team owners get OWNER access, and
795        allAuthenticatedUsers get READER access.
796      private: Project team owners get OWNER access.
797      projectPrivate: Project team members get access according to their
798        roles.
799      publicRead: Project team owners get OWNER access, and allUsers get
800        READER access.
801      publicReadWrite: Project team owners get OWNER access, and allUsers get
802        WRITER access.
803    """
804    authenticatedRead = 0
805    private = 1
806    projectPrivate = 2
807    publicRead = 3
808    publicReadWrite = 4
809
810  class PredefinedDefaultObjectAclValueValuesEnum(messages.Enum):
811    """Apply a predefined set of default object access controls to this
812    bucket.
813
814    Values:
815      authenticatedRead: Object owner gets OWNER access, and
816        allAuthenticatedUsers get READER access.
817      bucketOwnerFullControl: Object owner gets OWNER access, and project team
818        owners get OWNER access.
819      bucketOwnerRead: Object owner gets OWNER access, and project team owners
820        get READER access.
821      private: Object owner gets OWNER access.
822      projectPrivate: Object owner gets OWNER access, and project team members
823        get access according to their roles.
824      publicRead: Object owner gets OWNER access, and allUsers get READER
825        access.
826    """
827    authenticatedRead = 0
828    bucketOwnerFullControl = 1
829    bucketOwnerRead = 2
830    private = 3
831    projectPrivate = 4
832    publicRead = 5
833
834  class ProjectionValueValuesEnum(messages.Enum):
835    """Set of properties to return. Defaults to noAcl, unless the bucket
836    resource specifies acl or defaultObjectAcl properties, when it defaults to
837    full.
838
839    Values:
840      full: Include all properties.
841      noAcl: Omit acl and defaultObjectAcl properties.
842    """
843    full = 0
844    noAcl = 1
845
846  bucket = messages.MessageField('Bucket', 1)
847  predefinedAcl = messages.EnumField('PredefinedAclValueValuesEnum', 2)
848  predefinedDefaultObjectAcl = messages.EnumField('PredefinedDefaultObjectAclValueValuesEnum', 3)
849  project = messages.StringField(4, required=True)
850  projection = messages.EnumField('ProjectionValueValuesEnum', 5)
851
852
853class StorageBucketsListRequest(messages.Message):
854  """A StorageBucketsListRequest object.
855
856  Enums:
857    ProjectionValueValuesEnum: Set of properties to return. Defaults to noAcl.
858
859  Fields:
860    maxResults: Maximum number of buckets to return.
861    pageToken: A previously-returned page token representing part of the
862      larger set of results to view.
863    prefix: Filter results to buckets whose names begin with this prefix.
864    project: A valid API project identifier.
865    projection: Set of properties to return. Defaults to noAcl.
866  """
867
868  class ProjectionValueValuesEnum(messages.Enum):
869    """Set of properties to return. Defaults to noAcl.
870
871    Values:
872      full: Include all properties.
873      noAcl: Omit acl and defaultObjectAcl properties.
874    """
875    full = 0
876    noAcl = 1
877
878  maxResults = messages.IntegerField(1, variant=messages.Variant.UINT32)
879  pageToken = messages.StringField(2)
880  prefix = messages.StringField(3)
881  project = messages.StringField(4, required=True)
882  projection = messages.EnumField('ProjectionValueValuesEnum', 5)
883
884
885class StorageBucketsPatchRequest(messages.Message):
886  """A StorageBucketsPatchRequest object.
887
888  Enums:
889    PredefinedAclValueValuesEnum: Apply a predefined set of access controls to
890      this bucket.
891    PredefinedDefaultObjectAclValueValuesEnum: Apply a predefined set of
892      default object access controls to this bucket.
893    ProjectionValueValuesEnum: Set of properties to return. Defaults to full.
894
895  Fields:
896    bucket: Name of a bucket.
897    bucketResource: A Bucket resource to be passed as the request body.
898    ifMetagenerationMatch: Makes the return of the bucket metadata conditional
899      on whether the bucket's current metageneration matches the given value.
900    ifMetagenerationNotMatch: Makes the return of the bucket metadata
901      conditional on whether the bucket's current metageneration does not
902      match the given value.
903    predefinedAcl: Apply a predefined set of access controls to this bucket.
904    predefinedDefaultObjectAcl: Apply a predefined set of default object
905      access controls to this bucket.
906    projection: Set of properties to return. Defaults to full.
907  """
908
909  class PredefinedAclValueValuesEnum(messages.Enum):
910    """Apply a predefined set of access controls to this bucket.
911
912    Values:
913      authenticatedRead: Project team owners get OWNER access, and
914        allAuthenticatedUsers get READER access.
915      private: Project team owners get OWNER access.
916      projectPrivate: Project team members get access according to their
917        roles.
918      publicRead: Project team owners get OWNER access, and allUsers get
919        READER access.
920      publicReadWrite: Project team owners get OWNER access, and allUsers get
921        WRITER access.
922    """
923    authenticatedRead = 0
924    private = 1
925    projectPrivate = 2
926    publicRead = 3
927    publicReadWrite = 4
928
929  class PredefinedDefaultObjectAclValueValuesEnum(messages.Enum):
930    """Apply a predefined set of default object access controls to this
931    bucket.
932
933    Values:
934      authenticatedRead: Object owner gets OWNER access, and
935        allAuthenticatedUsers get READER access.
936      bucketOwnerFullControl: Object owner gets OWNER access, and project team
937        owners get OWNER access.
938      bucketOwnerRead: Object owner gets OWNER access, and project team owners
939        get READER access.
940      private: Object owner gets OWNER access.
941      projectPrivate: Object owner gets OWNER access, and project team members
942        get access according to their roles.
943      publicRead: Object owner gets OWNER access, and allUsers get READER
944        access.
945    """
946    authenticatedRead = 0
947    bucketOwnerFullControl = 1
948    bucketOwnerRead = 2
949    private = 3
950    projectPrivate = 4
951    publicRead = 5
952
953  class ProjectionValueValuesEnum(messages.Enum):
954    """Set of properties to return. Defaults to full.
955
956    Values:
957      full: Include all properties.
958      noAcl: Omit acl and defaultObjectAcl properties.
959    """
960    full = 0
961    noAcl = 1
962
963  bucket = messages.StringField(1, required=True)
964  bucketResource = messages.MessageField('Bucket', 2)
965  ifMetagenerationMatch = messages.IntegerField(3)
966  ifMetagenerationNotMatch = messages.IntegerField(4)
967  predefinedAcl = messages.EnumField('PredefinedAclValueValuesEnum', 5)
968  predefinedDefaultObjectAcl = messages.EnumField('PredefinedDefaultObjectAclValueValuesEnum', 6)
969  projection = messages.EnumField('ProjectionValueValuesEnum', 7)
970
971
972class StorageBucketsUpdateRequest(messages.Message):
973  """A StorageBucketsUpdateRequest object.
974
975  Enums:
976    PredefinedAclValueValuesEnum: Apply a predefined set of access controls to
977      this bucket.
978    PredefinedDefaultObjectAclValueValuesEnum: Apply a predefined set of
979      default object access controls to this bucket.
980    ProjectionValueValuesEnum: Set of properties to return. Defaults to full.
981
982  Fields:
983    bucket: Name of a bucket.
984    bucketResource: A Bucket resource to be passed as the request body.
985    ifMetagenerationMatch: Makes the return of the bucket metadata conditional
986      on whether the bucket's current metageneration matches the given value.
987    ifMetagenerationNotMatch: Makes the return of the bucket metadata
988      conditional on whether the bucket's current metageneration does not
989      match the given value.
990    predefinedAcl: Apply a predefined set of access controls to this bucket.
991    predefinedDefaultObjectAcl: Apply a predefined set of default object
992      access controls to this bucket.
993    projection: Set of properties to return. Defaults to full.
994  """
995
996  class PredefinedAclValueValuesEnum(messages.Enum):
997    """Apply a predefined set of access controls to this bucket.
998
999    Values:
1000      authenticatedRead: Project team owners get OWNER access, and
1001        allAuthenticatedUsers get READER access.
1002      private: Project team owners get OWNER access.
1003      projectPrivate: Project team members get access according to their
1004        roles.
1005      publicRead: Project team owners get OWNER access, and allUsers get
1006        READER access.
1007      publicReadWrite: Project team owners get OWNER access, and allUsers get
1008        WRITER access.
1009    """
1010    authenticatedRead = 0
1011    private = 1
1012    projectPrivate = 2
1013    publicRead = 3
1014    publicReadWrite = 4
1015
1016  class PredefinedDefaultObjectAclValueValuesEnum(messages.Enum):
1017    """Apply a predefined set of default object access controls to this
1018    bucket.
1019
1020    Values:
1021      authenticatedRead: Object owner gets OWNER access, and
1022        allAuthenticatedUsers get READER access.
1023      bucketOwnerFullControl: Object owner gets OWNER access, and project team
1024        owners get OWNER access.
1025      bucketOwnerRead: Object owner gets OWNER access, and project team owners
1026        get READER access.
1027      private: Object owner gets OWNER access.
1028      projectPrivate: Object owner gets OWNER access, and project team members
1029        get access according to their roles.
1030      publicRead: Object owner gets OWNER access, and allUsers get READER
1031        access.
1032    """
1033    authenticatedRead = 0
1034    bucketOwnerFullControl = 1
1035    bucketOwnerRead = 2
1036    private = 3
1037    projectPrivate = 4
1038    publicRead = 5
1039
1040  class ProjectionValueValuesEnum(messages.Enum):
1041    """Set of properties to return. Defaults to full.
1042
1043    Values:
1044      full: Include all properties.
1045      noAcl: Omit acl and defaultObjectAcl properties.
1046    """
1047    full = 0
1048    noAcl = 1
1049
1050  bucket = messages.StringField(1, required=True)
1051  bucketResource = messages.MessageField('Bucket', 2)
1052  ifMetagenerationMatch = messages.IntegerField(3)
1053  ifMetagenerationNotMatch = messages.IntegerField(4)
1054  predefinedAcl = messages.EnumField('PredefinedAclValueValuesEnum', 5)
1055  predefinedDefaultObjectAcl = messages.EnumField('PredefinedDefaultObjectAclValueValuesEnum', 6)
1056  projection = messages.EnumField('ProjectionValueValuesEnum', 7)
1057
1058
1059class StorageChannelsStopResponse(messages.Message):
1060  """An empty StorageChannelsStop response."""
1061
1062
1063class StorageDefaultObjectAccessControlsDeleteRequest(messages.Message):
1064  """A StorageDefaultObjectAccessControlsDeleteRequest object.
1065
1066  Fields:
1067    bucket: Name of a bucket.
1068    entity: The entity holding the permission. Can be user-userId, user-
1069      emailAddress, group-groupId, group-emailAddress, allUsers, or
1070      allAuthenticatedUsers.
1071  """
1072
1073  bucket = messages.StringField(1, required=True)
1074  entity = messages.StringField(2, required=True)
1075
1076
1077class StorageDefaultObjectAccessControlsDeleteResponse(messages.Message):
1078  """An empty StorageDefaultObjectAccessControlsDelete response."""
1079
1080
1081class StorageDefaultObjectAccessControlsGetRequest(messages.Message):
1082  """A StorageDefaultObjectAccessControlsGetRequest object.
1083
1084  Fields:
1085    bucket: Name of a bucket.
1086    entity: The entity holding the permission. Can be user-userId, user-
1087      emailAddress, group-groupId, group-emailAddress, allUsers, or
1088      allAuthenticatedUsers.
1089  """
1090
1091  bucket = messages.StringField(1, required=True)
1092  entity = messages.StringField(2, required=True)
1093
1094
1095class StorageDefaultObjectAccessControlsListRequest(messages.Message):
1096  """A StorageDefaultObjectAccessControlsListRequest object.
1097
1098  Fields:
1099    bucket: Name of a bucket.
1100    ifMetagenerationMatch: If present, only return default ACL listing if the
1101      bucket's current metageneration matches this value.
1102    ifMetagenerationNotMatch: If present, only return default ACL listing if
1103      the bucket's current metageneration does not match the given value.
1104  """
1105
1106  bucket = messages.StringField(1, required=True)
1107  ifMetagenerationMatch = messages.IntegerField(2)
1108  ifMetagenerationNotMatch = messages.IntegerField(3)
1109
1110
1111class StorageObjectAccessControlsDeleteRequest(messages.Message):
1112  """A StorageObjectAccessControlsDeleteRequest object.
1113
1114  Fields:
1115    bucket: Name of a bucket.
1116    entity: The entity holding the permission. Can be user-userId, user-
1117      emailAddress, group-groupId, group-emailAddress, allUsers, or
1118      allAuthenticatedUsers.
1119    generation: If present, selects a specific revision of this object (as
1120      opposed to the latest version, the default).
1121    object: Name of the object.
1122  """
1123
1124  bucket = messages.StringField(1, required=True)
1125  entity = messages.StringField(2, required=True)
1126  generation = messages.IntegerField(3)
1127  object = messages.StringField(4, required=True)
1128
1129
1130class StorageObjectAccessControlsDeleteResponse(messages.Message):
1131  """An empty StorageObjectAccessControlsDelete response."""
1132
1133
1134class StorageObjectAccessControlsGetRequest(messages.Message):
1135  """A StorageObjectAccessControlsGetRequest object.
1136
1137  Fields:
1138    bucket: Name of a bucket.
1139    entity: The entity holding the permission. Can be user-userId, user-
1140      emailAddress, group-groupId, group-emailAddress, allUsers, or
1141      allAuthenticatedUsers.
1142    generation: If present, selects a specific revision of this object (as
1143      opposed to the latest version, the default).
1144    object: Name of the object.
1145  """
1146
1147  bucket = messages.StringField(1, required=True)
1148  entity = messages.StringField(2, required=True)
1149  generation = messages.IntegerField(3)
1150  object = messages.StringField(4, required=True)
1151
1152
1153class StorageObjectAccessControlsInsertRequest(messages.Message):
1154  """A StorageObjectAccessControlsInsertRequest object.
1155
1156  Fields:
1157    bucket: Name of a bucket.
1158    generation: If present, selects a specific revision of this object (as
1159      opposed to the latest version, the default).
1160    object: Name of the object.
1161    objectAccessControl: A ObjectAccessControl resource to be passed as the
1162      request body.
1163  """
1164
1165  bucket = messages.StringField(1, required=True)
1166  generation = messages.IntegerField(2)
1167  object = messages.StringField(3, required=True)
1168  objectAccessControl = messages.MessageField('ObjectAccessControl', 4)
1169
1170
1171class StorageObjectAccessControlsListRequest(messages.Message):
1172  """A StorageObjectAccessControlsListRequest object.
1173
1174  Fields:
1175    bucket: Name of a bucket.
1176    generation: If present, selects a specific revision of this object (as
1177      opposed to the latest version, the default).
1178    object: Name of the object.
1179  """
1180
1181  bucket = messages.StringField(1, required=True)
1182  generation = messages.IntegerField(2)
1183  object = messages.StringField(3, required=True)
1184
1185
1186class StorageObjectAccessControlsPatchRequest(messages.Message):
1187  """A StorageObjectAccessControlsPatchRequest object.
1188
1189  Fields:
1190    bucket: Name of a bucket.
1191    entity: The entity holding the permission. Can be user-userId, user-
1192      emailAddress, group-groupId, group-emailAddress, allUsers, or
1193      allAuthenticatedUsers.
1194    generation: If present, selects a specific revision of this object (as
1195      opposed to the latest version, the default).
1196    object: Name of the object.
1197    objectAccessControl: A ObjectAccessControl resource to be passed as the
1198      request body.
1199  """
1200
1201  bucket = messages.StringField(1, required=True)
1202  entity = messages.StringField(2, required=True)
1203  generation = messages.IntegerField(3)
1204  object = messages.StringField(4, required=True)
1205  objectAccessControl = messages.MessageField('ObjectAccessControl', 5)
1206
1207
1208class StorageObjectAccessControlsUpdateRequest(messages.Message):
1209  """A StorageObjectAccessControlsUpdateRequest object.
1210
1211  Fields:
1212    bucket: Name of a bucket.
1213    entity: The entity holding the permission. Can be user-userId, user-
1214      emailAddress, group-groupId, group-emailAddress, allUsers, or
1215      allAuthenticatedUsers.
1216    generation: If present, selects a specific revision of this object (as
1217      opposed to the latest version, the default).
1218    object: Name of the object.
1219    objectAccessControl: A ObjectAccessControl resource to be passed as the
1220      request body.
1221  """
1222
1223  bucket = messages.StringField(1, required=True)
1224  entity = messages.StringField(2, required=True)
1225  generation = messages.IntegerField(3)
1226  object = messages.StringField(4, required=True)
1227  objectAccessControl = messages.MessageField('ObjectAccessControl', 5)
1228
1229
1230class StorageObjectsComposeRequest(messages.Message):
1231  """A StorageObjectsComposeRequest object.
1232
1233  Enums:
1234    DestinationPredefinedAclValueValuesEnum: Apply a predefined set of access
1235      controls to the destination object.
1236
1237  Fields:
1238    composeRequest: A ComposeRequest resource to be passed as the request
1239      body.
1240    destinationBucket: Name of the bucket in which to store the new object.
1241    destinationObject: Name of the new object.
1242    destinationPredefinedAcl: Apply a predefined set of access controls to the
1243      destination object.
1244    ifGenerationMatch: Makes the operation conditional on whether the object's
1245      current generation matches the given value.
1246    ifMetagenerationMatch: Makes the operation conditional on whether the
1247      object's current metageneration matches the given value.
1248  """
1249
1250  class DestinationPredefinedAclValueValuesEnum(messages.Enum):
1251    """Apply a predefined set of access controls to the destination object.
1252
1253    Values:
1254      authenticatedRead: Object owner gets OWNER access, and
1255        allAuthenticatedUsers get READER access.
1256      bucketOwnerFullControl: Object owner gets OWNER access, and project team
1257        owners get OWNER access.
1258      bucketOwnerRead: Object owner gets OWNER access, and project team owners
1259        get READER access.
1260      private: Object owner gets OWNER access.
1261      projectPrivate: Object owner gets OWNER access, and project team members
1262        get access according to their roles.
1263      publicRead: Object owner gets OWNER access, and allUsers get READER
1264        access.
1265    """
1266    authenticatedRead = 0
1267    bucketOwnerFullControl = 1
1268    bucketOwnerRead = 2
1269    private = 3
1270    projectPrivate = 4
1271    publicRead = 5
1272
1273  composeRequest = messages.MessageField('ComposeRequest', 1)
1274  destinationBucket = messages.StringField(2, required=True)
1275  destinationObject = messages.StringField(3, required=True)
1276  destinationPredefinedAcl = messages.EnumField('DestinationPredefinedAclValueValuesEnum', 4)
1277  ifGenerationMatch = messages.IntegerField(5)
1278  ifMetagenerationMatch = messages.IntegerField(6)
1279
1280
1281class StorageObjectsCopyRequest(messages.Message):
1282  """A StorageObjectsCopyRequest object.
1283
1284  Enums:
1285    DestinationPredefinedAclValueValuesEnum: Apply a predefined set of access
1286      controls to the destination object.
1287    ProjectionValueValuesEnum: Set of properties to return. Defaults to noAcl,
1288      unless the object resource specifies the acl property, when it defaults
1289      to full.
1290
1291  Fields:
1292    destinationBucket: Name of the bucket in which to store the new object.
1293      Overrides the provided object metadata's bucket value, if any.
1294    destinationObject: Name of the new object. Required when the object
1295      metadata is not otherwise provided. Overrides the object metadata's name
1296      value, if any.
1297    destinationPredefinedAcl: Apply a predefined set of access controls to the
1298      destination object.
1299    ifGenerationMatch: Makes the operation conditional on whether the
1300      destination object's current generation matches the given value.
1301    ifGenerationNotMatch: Makes the operation conditional on whether the
1302      destination object's current generation does not match the given value.
1303    ifMetagenerationMatch: Makes the operation conditional on whether the
1304      destination object's current metageneration matches the given value.
1305    ifMetagenerationNotMatch: Makes the operation conditional on whether the
1306      destination object's current metageneration does not match the given
1307      value.
1308    ifSourceGenerationMatch: Makes the operation conditional on whether the
1309      source object's generation matches the given value.
1310    ifSourceGenerationNotMatch: Makes the operation conditional on whether the
1311      source object's generation does not match the given value.
1312    ifSourceMetagenerationMatch: Makes the operation conditional on whether
1313      the source object's current metageneration matches the given value.
1314    ifSourceMetagenerationNotMatch: Makes the operation conditional on whether
1315      the source object's current metageneration does not match the given
1316      value.
1317    object: A Object resource to be passed as the request body.
1318    projection: Set of properties to return. Defaults to noAcl, unless the
1319      object resource specifies the acl property, when it defaults to full.
1320    sourceBucket: Name of the bucket in which to find the source object.
1321    sourceGeneration: If present, selects a specific revision of the source
1322      object (as opposed to the latest version, the default).
1323    sourceObject: Name of the source object.
1324  """
1325
1326  class DestinationPredefinedAclValueValuesEnum(messages.Enum):
1327    """Apply a predefined set of access controls to the destination object.
1328
1329    Values:
1330      authenticatedRead: Object owner gets OWNER access, and
1331        allAuthenticatedUsers get READER access.
1332      bucketOwnerFullControl: Object owner gets OWNER access, and project team
1333        owners get OWNER access.
1334      bucketOwnerRead: Object owner gets OWNER access, and project team owners
1335        get READER access.
1336      private: Object owner gets OWNER access.
1337      projectPrivate: Object owner gets OWNER access, and project team members
1338        get access according to their roles.
1339      publicRead: Object owner gets OWNER access, and allUsers get READER
1340        access.
1341    """
1342    authenticatedRead = 0
1343    bucketOwnerFullControl = 1
1344    bucketOwnerRead = 2
1345    private = 3
1346    projectPrivate = 4
1347    publicRead = 5
1348
1349  class ProjectionValueValuesEnum(messages.Enum):
1350    """Set of properties to return. Defaults to noAcl, unless the object
1351    resource specifies the acl property, when it defaults to full.
1352
1353    Values:
1354      full: Include all properties.
1355      noAcl: Omit the acl property.
1356    """
1357    full = 0
1358    noAcl = 1
1359
1360  destinationBucket = messages.StringField(1, required=True)
1361  destinationObject = messages.StringField(2, required=True)
1362  destinationPredefinedAcl = messages.EnumField('DestinationPredefinedAclValueValuesEnum', 3)
1363  ifGenerationMatch = messages.IntegerField(4)
1364  ifGenerationNotMatch = messages.IntegerField(5)
1365  ifMetagenerationMatch = messages.IntegerField(6)
1366  ifMetagenerationNotMatch = messages.IntegerField(7)
1367  ifSourceGenerationMatch = messages.IntegerField(8)
1368  ifSourceGenerationNotMatch = messages.IntegerField(9)
1369  ifSourceMetagenerationMatch = messages.IntegerField(10)
1370  ifSourceMetagenerationNotMatch = messages.IntegerField(11)
1371  object = messages.MessageField('Object', 12)
1372  projection = messages.EnumField('ProjectionValueValuesEnum', 13)
1373  sourceBucket = messages.StringField(14, required=True)
1374  sourceGeneration = messages.IntegerField(15)
1375  sourceObject = messages.StringField(16, required=True)
1376
1377
1378class StorageObjectsDeleteRequest(messages.Message):
1379  """A StorageObjectsDeleteRequest object.
1380
1381  Fields:
1382    bucket: Name of the bucket in which the object resides.
1383    generation: If present, permanently deletes a specific revision of this
1384      object (as opposed to the latest version, the default).
1385    ifGenerationMatch: Makes the operation conditional on whether the object's
1386      current generation matches the given value.
1387    ifGenerationNotMatch: Makes the operation conditional on whether the
1388      object's current generation does not match the given value.
1389    ifMetagenerationMatch: Makes the operation conditional on whether the
1390      object's current metageneration matches the given value.
1391    ifMetagenerationNotMatch: Makes the operation conditional on whether the
1392      object's current metageneration does not match the given value.
1393    object: Name of the object.
1394  """
1395
1396  bucket = messages.StringField(1, required=True)
1397  generation = messages.IntegerField(2)
1398  ifGenerationMatch = messages.IntegerField(3)
1399  ifGenerationNotMatch = messages.IntegerField(4)
1400  ifMetagenerationMatch = messages.IntegerField(5)
1401  ifMetagenerationNotMatch = messages.IntegerField(6)
1402  object = messages.StringField(7, required=True)
1403
1404
1405class StorageObjectsDeleteResponse(messages.Message):
1406  """An empty StorageObjectsDelete response."""
1407
1408
1409class StorageObjectsGetRequest(messages.Message):
1410  """A StorageObjectsGetRequest object.
1411
1412  Enums:
1413    ProjectionValueValuesEnum: Set of properties to return. Defaults to noAcl.
1414
1415  Fields:
1416    bucket: Name of the bucket in which the object resides.
1417    generation: If present, selects a specific revision of this object (as
1418      opposed to the latest version, the default).
1419    ifGenerationMatch: Makes the operation conditional on whether the object's
1420      generation matches the given value.
1421    ifGenerationNotMatch: Makes the operation conditional on whether the
1422      object's generation does not match the given value.
1423    ifMetagenerationMatch: Makes the operation conditional on whether the
1424      object's current metageneration matches the given value.
1425    ifMetagenerationNotMatch: Makes the operation conditional on whether the
1426      object's current metageneration does not match the given value.
1427    object: Name of the object.
1428    projection: Set of properties to return. Defaults to noAcl.
1429  """
1430
1431  class ProjectionValueValuesEnum(messages.Enum):
1432    """Set of properties to return. Defaults to noAcl.
1433
1434    Values:
1435      full: Include all properties.
1436      noAcl: Omit the acl property.
1437    """
1438    full = 0
1439    noAcl = 1
1440
1441  bucket = messages.StringField(1, required=True)
1442  generation = messages.IntegerField(2)
1443  ifGenerationMatch = messages.IntegerField(3)
1444  ifGenerationNotMatch = messages.IntegerField(4)
1445  ifMetagenerationMatch = messages.IntegerField(5)
1446  ifMetagenerationNotMatch = messages.IntegerField(6)
1447  object = messages.StringField(7, required=True)
1448  projection = messages.EnumField('ProjectionValueValuesEnum', 8)
1449
1450
1451class StorageObjectsInsertRequest(messages.Message):
1452  """A StorageObjectsInsertRequest object.
1453
1454  Enums:
1455    PredefinedAclValueValuesEnum: Apply a predefined set of access controls to
1456      this object.
1457    ProjectionValueValuesEnum: Set of properties to return. Defaults to noAcl,
1458      unless the object resource specifies the acl property, when it defaults
1459      to full.
1460
1461  Fields:
1462    bucket: Name of the bucket in which to store the new object. Overrides the
1463      provided object metadata's bucket value, if any.
1464    contentEncoding: If set, sets the contentEncoding property of the final
1465      object to this value. Setting this parameter is equivalent to setting
1466      the contentEncoding metadata property. This can be useful when uploading
1467      an object with uploadType=media to indicate the encoding of the content
1468      being uploaded.
1469    ifGenerationMatch: Makes the operation conditional on whether the object's
1470      current generation matches the given value.
1471    ifGenerationNotMatch: Makes the operation conditional on whether the
1472      object's current generation does not match the given value.
1473    ifMetagenerationMatch: Makes the operation conditional on whether the
1474      object's current metageneration matches the given value.
1475    ifMetagenerationNotMatch: Makes the operation conditional on whether the
1476      object's current metageneration does not match the given value.
1477    name: Name of the object. Required when the object metadata is not
1478      otherwise provided. Overrides the object metadata's name value, if any.
1479    object: A Object resource to be passed as the request body.
1480    predefinedAcl: Apply a predefined set of access controls to this object.
1481    projection: Set of properties to return. Defaults to noAcl, unless the
1482      object resource specifies the acl property, when it defaults to full.
1483  """
1484
1485  class PredefinedAclValueValuesEnum(messages.Enum):
1486    """Apply a predefined set of access controls to this object.
1487
1488    Values:
1489      authenticatedRead: Object owner gets OWNER access, and
1490        allAuthenticatedUsers get READER access.
1491      bucketOwnerFullControl: Object owner gets OWNER access, and project team
1492        owners get OWNER access.
1493      bucketOwnerRead: Object owner gets OWNER access, and project team owners
1494        get READER access.
1495      private: Object owner gets OWNER access.
1496      projectPrivate: Object owner gets OWNER access, and project team members
1497        get access according to their roles.
1498      publicRead: Object owner gets OWNER access, and allUsers get READER
1499        access.
1500    """
1501    authenticatedRead = 0
1502    bucketOwnerFullControl = 1
1503    bucketOwnerRead = 2
1504    private = 3
1505    projectPrivate = 4
1506    publicRead = 5
1507
1508  class ProjectionValueValuesEnum(messages.Enum):
1509    """Set of properties to return. Defaults to noAcl, unless the object
1510    resource specifies the acl property, when it defaults to full.
1511
1512    Values:
1513      full: Include all properties.
1514      noAcl: Omit the acl property.
1515    """
1516    full = 0
1517    noAcl = 1
1518
1519  bucket = messages.StringField(1, required=True)
1520  contentEncoding = messages.StringField(2)
1521  ifGenerationMatch = messages.IntegerField(3)
1522  ifGenerationNotMatch = messages.IntegerField(4)
1523  ifMetagenerationMatch = messages.IntegerField(5)
1524  ifMetagenerationNotMatch = messages.IntegerField(6)
1525  name = messages.StringField(7)
1526  object = messages.MessageField('Object', 8)
1527  predefinedAcl = messages.EnumField('PredefinedAclValueValuesEnum', 9)
1528  projection = messages.EnumField('ProjectionValueValuesEnum', 10)
1529
1530
1531class StorageObjectsListRequest(messages.Message):
1532  """A StorageObjectsListRequest object.
1533
1534  Enums:
1535    ProjectionValueValuesEnum: Set of properties to return. Defaults to noAcl.
1536
1537  Fields:
1538    bucket: Name of the bucket in which to look for objects.
1539    delimiter: Returns results in a directory-like mode. items will contain
1540      only objects whose names, aside from the prefix, do not contain
1541      delimiter. Objects whose names, aside from the prefix, contain delimiter
1542      will have their name, truncated after the delimiter, returned in
1543      prefixes. Duplicate prefixes are omitted.
1544    maxResults: Maximum number of items plus prefixes to return. As duplicate
1545      prefixes are omitted, fewer total results may be returned than
1546      requested.
1547    pageToken: A previously-returned page token representing part of the
1548      larger set of results to view.
1549    prefix: Filter results to objects whose names begin with this prefix.
1550    projection: Set of properties to return. Defaults to noAcl.
1551    versions: If true, lists all versions of a file as distinct results.
1552  """
1553
1554  class ProjectionValueValuesEnum(messages.Enum):
1555    """Set of properties to return. Defaults to noAcl.
1556
1557    Values:
1558      full: Include all properties.
1559      noAcl: Omit the acl property.
1560    """
1561    full = 0
1562    noAcl = 1
1563
1564  bucket = messages.StringField(1, required=True)
1565  delimiter = messages.StringField(2)
1566  maxResults = messages.IntegerField(3, variant=messages.Variant.UINT32)
1567  pageToken = messages.StringField(4)
1568  prefix = messages.StringField(5)
1569  projection = messages.EnumField('ProjectionValueValuesEnum', 6)
1570  versions = messages.BooleanField(7)
1571
1572
1573class StorageObjectsPatchRequest(messages.Message):
1574  """A StorageObjectsPatchRequest object.
1575
1576  Enums:
1577    PredefinedAclValueValuesEnum: Apply a predefined set of access controls to
1578      this object.
1579    ProjectionValueValuesEnum: Set of properties to return. Defaults to full.
1580
1581  Fields:
1582    bucket: Name of the bucket in which the object resides.
1583    generation: If present, selects a specific revision of this object (as
1584      opposed to the latest version, the default).
1585    ifGenerationMatch: Makes the operation conditional on whether the object's
1586      current generation matches the given value.
1587    ifGenerationNotMatch: Makes the operation conditional on whether the
1588      object's current generation does not match the given value.
1589    ifMetagenerationMatch: Makes the operation conditional on whether the
1590      object's current metageneration matches the given value.
1591    ifMetagenerationNotMatch: Makes the operation conditional on whether the
1592      object's current metageneration does not match the given value.
1593    object: Name of the object.
1594    objectResource: A Object resource to be passed as the request body.
1595    predefinedAcl: Apply a predefined set of access controls to this object.
1596    projection: Set of properties to return. Defaults to full.
1597  """
1598
1599  class PredefinedAclValueValuesEnum(messages.Enum):
1600    """Apply a predefined set of access controls to this object.
1601
1602    Values:
1603      authenticatedRead: Object owner gets OWNER access, and
1604        allAuthenticatedUsers get READER access.
1605      bucketOwnerFullControl: Object owner gets OWNER access, and project team
1606        owners get OWNER access.
1607      bucketOwnerRead: Object owner gets OWNER access, and project team owners
1608        get READER access.
1609      private: Object owner gets OWNER access.
1610      projectPrivate: Object owner gets OWNER access, and project team members
1611        get access according to their roles.
1612      publicRead: Object owner gets OWNER access, and allUsers get READER
1613        access.
1614    """
1615    authenticatedRead = 0
1616    bucketOwnerFullControl = 1
1617    bucketOwnerRead = 2
1618    private = 3
1619    projectPrivate = 4
1620    publicRead = 5
1621
1622  class ProjectionValueValuesEnum(messages.Enum):
1623    """Set of properties to return. Defaults to full.
1624
1625    Values:
1626      full: Include all properties.
1627      noAcl: Omit the acl property.
1628    """
1629    full = 0
1630    noAcl = 1
1631
1632  bucket = messages.StringField(1, required=True)
1633  generation = messages.IntegerField(2)
1634  ifGenerationMatch = messages.IntegerField(3)
1635  ifGenerationNotMatch = messages.IntegerField(4)
1636  ifMetagenerationMatch = messages.IntegerField(5)
1637  ifMetagenerationNotMatch = messages.IntegerField(6)
1638  object = messages.StringField(7, required=True)
1639  objectResource = messages.MessageField('Object', 8)
1640  predefinedAcl = messages.EnumField('PredefinedAclValueValuesEnum', 9)
1641  projection = messages.EnumField('ProjectionValueValuesEnum', 10)
1642
1643
1644class StorageObjectsRewriteRequest(messages.Message):
1645  """A StorageObjectsRewriteRequest object.
1646
1647  Enums:
1648    DestinationPredefinedAclValueValuesEnum: Apply a predefined set of access
1649      controls to the destination object.
1650    ProjectionValueValuesEnum: Set of properties to return. Defaults to noAcl,
1651      unless the object resource specifies the acl property, when it defaults
1652      to full.
1653
1654  Fields:
1655    destinationBucket: Name of the bucket in which to store the new object.
1656      Overrides the provided object metadata's bucket value, if any.
1657    destinationObject: Name of the new object. Required when the object
1658      metadata is not otherwise provided. Overrides the object metadata's name
1659      value, if any.
1660    destinationPredefinedAcl: Apply a predefined set of access controls to the
1661      destination object.
1662    ifGenerationMatch: Makes the operation conditional on whether the
1663      destination object's current generation matches the given value.
1664    ifGenerationNotMatch: Makes the operation conditional on whether the
1665      destination object's current generation does not match the given value.
1666    ifMetagenerationMatch: Makes the operation conditional on whether the
1667      destination object's current metageneration matches the given value.
1668    ifMetagenerationNotMatch: Makes the operation conditional on whether the
1669      destination object's current metageneration does not match the given
1670      value.
1671    ifSourceGenerationMatch: Makes the operation conditional on whether the
1672      source object's generation matches the given value.
1673    ifSourceGenerationNotMatch: Makes the operation conditional on whether the
1674      source object's generation does not match the given value.
1675    ifSourceMetagenerationMatch: Makes the operation conditional on whether
1676      the source object's current metageneration matches the given value.
1677    ifSourceMetagenerationNotMatch: Makes the operation conditional on whether
1678      the source object's current metageneration does not match the given
1679      value.
1680    maxBytesRewrittenPerCall: The maximum number of bytes that will be
1681      rewritten per Rewrite request. Most callers shouldn't need to specify
1682      this parameter - it is primarily in place to support testing. If
1683      specified the value must be an integral multiple of 1 MiB (1048576).
1684      Also, this only applies to requests where the source and destination
1685      span locations and/or storage classes. Finally, this value must not
1686      change across Rewrite calls else you'll get an error that the rewrite
1687      token is invalid.
1688    object: A Object resource to be passed as the request body.
1689    projection: Set of properties to return. Defaults to noAcl, unless the
1690      object resource specifies the acl property, when it defaults to full.
1691    rewriteToken: Include this field (from the previous Rewrite response) on
1692      each Rewrite request after the first one, until the Rewrite response
1693      'done' flag is true. Calls that provide a rewriteToken can omit all
1694      other request fields, but if included those fields must match the values
1695      provided in the first rewrite request.
1696    sourceBucket: Name of the bucket in which to find the source object.
1697    sourceGeneration: If present, selects a specific revision of the source
1698      object (as opposed to the latest version, the default).
1699    sourceObject: Name of the source object.
1700  """
1701
1702  class DestinationPredefinedAclValueValuesEnum(messages.Enum):
1703    """Apply a predefined set of access controls to the destination object.
1704
1705    Values:
1706      authenticatedRead: Object owner gets OWNER access, and
1707        allAuthenticatedUsers get READER access.
1708      bucketOwnerFullControl: Object owner gets OWNER access, and project team
1709        owners get OWNER access.
1710      bucketOwnerRead: Object owner gets OWNER access, and project team owners
1711        get READER access.
1712      private: Object owner gets OWNER access.
1713      projectPrivate: Object owner gets OWNER access, and project team members
1714        get access according to their roles.
1715      publicRead: Object owner gets OWNER access, and allUsers get READER
1716        access.
1717    """
1718    authenticatedRead = 0
1719    bucketOwnerFullControl = 1
1720    bucketOwnerRead = 2
1721    private = 3
1722    projectPrivate = 4
1723    publicRead = 5
1724
1725  class ProjectionValueValuesEnum(messages.Enum):
1726    """Set of properties to return. Defaults to noAcl, unless the object
1727    resource specifies the acl property, when it defaults to full.
1728
1729    Values:
1730      full: Include all properties.
1731      noAcl: Omit the acl property.
1732    """
1733    full = 0
1734    noAcl = 1
1735
1736  destinationBucket = messages.StringField(1, required=True)
1737  destinationObject = messages.StringField(2, required=True)
1738  destinationPredefinedAcl = messages.EnumField('DestinationPredefinedAclValueValuesEnum', 3)
1739  ifGenerationMatch = messages.IntegerField(4)
1740  ifGenerationNotMatch = messages.IntegerField(5)
1741  ifMetagenerationMatch = messages.IntegerField(6)
1742  ifMetagenerationNotMatch = messages.IntegerField(7)
1743  ifSourceGenerationMatch = messages.IntegerField(8)
1744  ifSourceGenerationNotMatch = messages.IntegerField(9)
1745  ifSourceMetagenerationMatch = messages.IntegerField(10)
1746  ifSourceMetagenerationNotMatch = messages.IntegerField(11)
1747  maxBytesRewrittenPerCall = messages.IntegerField(12)
1748  object = messages.MessageField('Object', 13)
1749  projection = messages.EnumField('ProjectionValueValuesEnum', 14)
1750  rewriteToken = messages.StringField(15)
1751  sourceBucket = messages.StringField(16, required=True)
1752  sourceGeneration = messages.IntegerField(17)
1753  sourceObject = messages.StringField(18, required=True)
1754
1755
1756class StorageObjectsUpdateRequest(messages.Message):
1757  """A StorageObjectsUpdateRequest object.
1758
1759  Enums:
1760    PredefinedAclValueValuesEnum: Apply a predefined set of access controls to
1761      this object.
1762    ProjectionValueValuesEnum: Set of properties to return. Defaults to full.
1763
1764  Fields:
1765    bucket: Name of the bucket in which the object resides.
1766    generation: If present, selects a specific revision of this object (as
1767      opposed to the latest version, the default).
1768    ifGenerationMatch: Makes the operation conditional on whether the object's
1769      current generation matches the given value.
1770    ifGenerationNotMatch: Makes the operation conditional on whether the
1771      object's current generation does not match the given value.
1772    ifMetagenerationMatch: Makes the operation conditional on whether the
1773      object's current metageneration matches the given value.
1774    ifMetagenerationNotMatch: Makes the operation conditional on whether the
1775      object's current metageneration does not match the given value.
1776    object: Name of the object.
1777    objectResource: A Object resource to be passed as the request body.
1778    predefinedAcl: Apply a predefined set of access controls to this object.
1779    projection: Set of properties to return. Defaults to full.
1780  """
1781
1782  class PredefinedAclValueValuesEnum(messages.Enum):
1783    """Apply a predefined set of access controls to this object.
1784
1785    Values:
1786      authenticatedRead: Object owner gets OWNER access, and
1787        allAuthenticatedUsers get READER access.
1788      bucketOwnerFullControl: Object owner gets OWNER access, and project team
1789        owners get OWNER access.
1790      bucketOwnerRead: Object owner gets OWNER access, and project team owners
1791        get READER access.
1792      private: Object owner gets OWNER access.
1793      projectPrivate: Object owner gets OWNER access, and project team members
1794        get access according to their roles.
1795      publicRead: Object owner gets OWNER access, and allUsers get READER
1796        access.
1797    """
1798    authenticatedRead = 0
1799    bucketOwnerFullControl = 1
1800    bucketOwnerRead = 2
1801    private = 3
1802    projectPrivate = 4
1803    publicRead = 5
1804
1805  class ProjectionValueValuesEnum(messages.Enum):
1806    """Set of properties to return. Defaults to full.
1807
1808    Values:
1809      full: Include all properties.
1810      noAcl: Omit the acl property.
1811    """
1812    full = 0
1813    noAcl = 1
1814
1815  bucket = messages.StringField(1, required=True)
1816  generation = messages.IntegerField(2)
1817  ifGenerationMatch = messages.IntegerField(3)
1818  ifGenerationNotMatch = messages.IntegerField(4)
1819  ifMetagenerationMatch = messages.IntegerField(5)
1820  ifMetagenerationNotMatch = messages.IntegerField(6)
1821  object = messages.StringField(7, required=True)
1822  objectResource = messages.MessageField('Object', 8)
1823  predefinedAcl = messages.EnumField('PredefinedAclValueValuesEnum', 9)
1824  projection = messages.EnumField('ProjectionValueValuesEnum', 10)
1825
1826
1827class StorageObjectsWatchAllRequest(messages.Message):
1828  """A StorageObjectsWatchAllRequest object.
1829
1830  Enums:
1831    ProjectionValueValuesEnum: Set of properties to return. Defaults to noAcl.
1832
1833  Fields:
1834    bucket: Name of the bucket in which to look for objects.
1835    channel: A Channel resource to be passed as the request body.
1836    delimiter: Returns results in a directory-like mode. items will contain
1837      only objects whose names, aside from the prefix, do not contain
1838      delimiter. Objects whose names, aside from the prefix, contain delimiter
1839      will have their name, truncated after the delimiter, returned in
1840      prefixes. Duplicate prefixes are omitted.
1841    maxResults: Maximum number of items plus prefixes to return. As duplicate
1842      prefixes are omitted, fewer total results may be returned than
1843      requested.
1844    pageToken: A previously-returned page token representing part of the
1845      larger set of results to view.
1846    prefix: Filter results to objects whose names begin with this prefix.
1847    projection: Set of properties to return. Defaults to noAcl.
1848    versions: If true, lists all versions of a file as distinct results.
1849  """
1850
1851  class ProjectionValueValuesEnum(messages.Enum):
1852    """Set of properties to return. Defaults to noAcl.
1853
1854    Values:
1855      full: Include all properties.
1856      noAcl: Omit the acl property.
1857    """
1858    full = 0
1859    noAcl = 1
1860
1861  bucket = messages.StringField(1, required=True)
1862  channel = messages.MessageField('Channel', 2)
1863  delimiter = messages.StringField(3)
1864  maxResults = messages.IntegerField(4, variant=messages.Variant.UINT32)
1865  pageToken = messages.StringField(5)
1866  prefix = messages.StringField(6)
1867  projection = messages.EnumField('ProjectionValueValuesEnum', 7)
1868  versions = messages.BooleanField(8)
1869
1870
1871