1"""Generated message classes for cloudresourcemanager version v2beta1.
2
3The Google Cloud Resource Manager API provides methods for creating, reading,
4and updating project metadata.
5"""
6# NOTE: This file is autogenerated and should not be edited by hand.
7
8from __future__ import absolute_import
9
10from apitools.base.protorpclite import messages as _messages
11from apitools.base.py import encoding
12from apitools.base.py import extra_types
13
14
15package = 'cloudresourcemanager'
16
17
18class AuditConfig(_messages.Message):
19  r"""Specifies the audit configuration for a service. The configuration
20  determines which permission types are logged, and what identities, if any,
21  are exempted from logging. An AuditConfig must have one or more
22  AuditLogConfigs.  If there are AuditConfigs for both `allServices` and a
23  specific service, the union of the two AuditConfigs is used for that
24  service: the log_types specified in each AuditConfig are enabled, and the
25  exempted_members in each AuditConfig are exempted.  Example Policy with
26  multiple AuditConfigs:      {       "audit_configs": [         {
27  "service": "allServices"           "audit_log_configs": [             {
28  "log_type": "DATA_READ",               "exempted_members": [
29  "user:foo@gmail.com"               ]             },             {
30  "log_type": "DATA_WRITE",             },             {
31  "log_type": "ADMIN_READ",             }           ]         },         {
32  "service": "fooservice.googleapis.com"           "audit_log_configs": [
33  {               "log_type": "DATA_READ",             },             {
34  "log_type": "DATA_WRITE",               "exempted_members": [
35  "user:bar@gmail.com"               ]             }           ]         }
36  ]     }  For fooservice, this policy enables DATA_READ, DATA_WRITE and
37  ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ logging,
38  and bar@gmail.com from DATA_WRITE logging.
39
40  Fields:
41    auditLogConfigs: The configuration for logging of each type of permission.
42      Next ID: 4
43    service: Specifies a service that will be enabled for audit logging. For
44      example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
45      `allServices` is a special value that covers all services.
46  """
47
48  auditLogConfigs = _messages.MessageField('AuditLogConfig', 1, repeated=True)
49  service = _messages.StringField(2)
50
51
52class AuditLogConfig(_messages.Message):
53  r"""Provides the configuration for logging a type of permissions. Example:
54  {       "audit_log_configs": [         {           "log_type": "DATA_READ",
55  "exempted_members": [             "user:foo@gmail.com"           ]
56  },         {           "log_type": "DATA_WRITE",         }       ]     }
57  This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
58  foo@gmail.com from DATA_READ logging.
59
60  Enums:
61    LogTypeValueValuesEnum: The log type that this config enables.
62
63  Fields:
64    exemptedMembers: Specifies the identities that do not cause logging for
65      this type of permission. Follows the same format of Binding.members.
66    logType: The log type that this config enables.
67  """
68
69  class LogTypeValueValuesEnum(_messages.Enum):
70    r"""The log type that this config enables.
71
72    Values:
73      LOG_TYPE_UNSPECIFIED: Default case. Should never be this.
74      ADMIN_READ: Admin reads. Example: CloudIAM getIamPolicy
75      DATA_WRITE: Data writes. Example: CloudSQL Users create
76      DATA_READ: Data reads. Example: CloudSQL Users list
77    """
78    LOG_TYPE_UNSPECIFIED = 0
79    ADMIN_READ = 1
80    DATA_WRITE = 2
81    DATA_READ = 3
82
83  exemptedMembers = _messages.StringField(1, repeated=True)
84  logType = _messages.EnumField('LogTypeValueValuesEnum', 2)
85
86
87class Binding(_messages.Message):
88  r"""Associates `members` with a `role`.
89
90  Fields:
91    members: Specifies the identities requesting access for a Cloud Platform
92      resource. `members` can have the following values:  * `allUsers`: A
93      special identifier that represents anyone who is    on the internet;
94      with or without a Google account.  * `allAuthenticatedUsers`: A special
95      identifier that represents anyone    who is authenticated with a Google
96      account or a service account.  * `user:{emailid}`: An email address that
97      represents a specific Google    account. For example, `alice@gmail.com`
98      or `joe@example.com`.   * `serviceAccount:{emailid}`: An email address
99      that represents a service    account. For example, `my-other-
100      app@appspot.gserviceaccount.com`.  * `group:{emailid}`: An email address
101      that represents a Google group.    For example, `admins@example.com`.  *
102      `domain:{domain}`: A Google Apps domain name that represents all the
103      users of that domain. For example, `google.com` or `example.com`.
104    role: Role that is assigned to `members`. For example, `roles/viewer`,
105      `roles/editor`, or `roles/owner`. Required
106  """
107
108  members = _messages.StringField(1, repeated=True)
109  role = _messages.StringField(2)
110
111
112class CloudresourcemanagerFoldersCreateRequest(_messages.Message):
113  r"""A CloudresourcemanagerFoldersCreateRequest object.
114
115  Fields:
116    folder: A Folder resource to be passed as the request body.
117    parent: The resource name of the new Folder's parent. Must be of the form
118      `folders/{folder_id}` or `organizations/{org_id}`.
119  """
120
121  folder = _messages.MessageField('Folder', 1)
122  parent = _messages.StringField(2)
123
124
125class CloudresourcemanagerFoldersDeleteRequest(_messages.Message):
126  r"""A CloudresourcemanagerFoldersDeleteRequest object.
127
128  Fields:
129    foldersId: Part of `name`. the resource name of the Folder to be deleted.
130      Must be of the form `folders/{folder_id}`.
131  """
132
133  foldersId = _messages.StringField(1, required=True)
134
135
136class CloudresourcemanagerFoldersGetIamPolicyRequest(_messages.Message):
137  r"""A CloudresourcemanagerFoldersGetIamPolicyRequest object.
138
139  Fields:
140    foldersId: Part of `resource`. REQUIRED: The resource for which the policy
141      is being requested. See the operation documentation for the appropriate
142      value for this field.
143    getIamPolicyRequest: A GetIamPolicyRequest resource to be passed as the
144      request body.
145  """
146
147  foldersId = _messages.StringField(1, required=True)
148  getIamPolicyRequest = _messages.MessageField('GetIamPolicyRequest', 2)
149
150
151class CloudresourcemanagerFoldersGetRequest(_messages.Message):
152  r"""A CloudresourcemanagerFoldersGetRequest object.
153
154  Fields:
155    foldersId: Part of `name`. The resource name of the Folder to retrieve.
156      Must be of the form `folders/{folder_id}`.
157  """
158
159  foldersId = _messages.StringField(1, required=True)
160
161
162class CloudresourcemanagerFoldersListRequest(_messages.Message):
163  r"""A CloudresourcemanagerFoldersListRequest object.
164
165  Fields:
166    pageSize: The maximum number of Folders to return in the response. This
167      field is optional.
168    pageToken: A pagination token returned from a previous call to
169      `ListFolders` that indicates where this listing should continue from.
170      This field is optional.
171    parent: The resource name of the Organization or Folder whose Folders are
172      being listed. Must be of the form `folders/{folder_id}` or
173      `organizations/{org_id}`. Access to this method is controlled by
174      checking the `resourcemanager.folders.list` permission on the `parent`.
175    showDeleted: Controls whether Folders in the [DELETE_REQUESTED} state
176      should be returned.
177  """
178
179  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
180  pageToken = _messages.StringField(2)
181  parent = _messages.StringField(3)
182  showDeleted = _messages.BooleanField(4)
183
184
185class CloudresourcemanagerFoldersMoveRequest(_messages.Message):
186  r"""A CloudresourcemanagerFoldersMoveRequest object.
187
188  Fields:
189    foldersId: Part of `name`. The resource name of the Folder to move. Must
190      be of the form folders/{folder_id}
191    moveFolderRequest: A MoveFolderRequest resource to be passed as the
192      request body.
193  """
194
195  foldersId = _messages.StringField(1, required=True)
196  moveFolderRequest = _messages.MessageField('MoveFolderRequest', 2)
197
198
199class CloudresourcemanagerFoldersPatchRequest(_messages.Message):
200  r"""A CloudresourcemanagerFoldersPatchRequest object.
201
202  Fields:
203    folder: A Folder resource to be passed as the request body.
204    foldersId: Part of `folder.name`. Output only. The resource name of the
205      Folder. Its format is `folders/{folder_id}`, for example:
206      "folders/1234".
207    updateMask: Fields to be updated. Only the `display_name` can be updated.
208  """
209
210  folder = _messages.MessageField('Folder', 1)
211  foldersId = _messages.StringField(2, required=True)
212  updateMask = _messages.StringField(3)
213
214
215class CloudresourcemanagerFoldersSetIamPolicyRequest(_messages.Message):
216  r"""A CloudresourcemanagerFoldersSetIamPolicyRequest object.
217
218  Fields:
219    foldersId: Part of `resource`. REQUIRED: The resource for which the policy
220      is being specified. See the operation documentation for the appropriate
221      value for this field.
222    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
223      request body.
224  """
225
226  foldersId = _messages.StringField(1, required=True)
227  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)
228
229
230class CloudresourcemanagerFoldersTestIamPermissionsRequest(_messages.Message):
231  r"""A CloudresourcemanagerFoldersTestIamPermissionsRequest object.
232
233  Fields:
234    foldersId: Part of `resource`. REQUIRED: The resource for which the policy
235      detail is being requested. See the operation documentation for the
236      appropriate value for this field.
237    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
238      passed as the request body.
239  """
240
241  foldersId = _messages.StringField(1, required=True)
242  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)
243
244
245class CloudresourcemanagerFoldersUndeleteRequest(_messages.Message):
246  r"""A CloudresourcemanagerFoldersUndeleteRequest object.
247
248  Fields:
249    foldersId: Part of `name`. The resource name of the Folder to undelete.
250      Must be of the form `folders/{folder_id}`.
251    undeleteFolderRequest: A UndeleteFolderRequest resource to be passed as
252      the request body.
253  """
254
255  foldersId = _messages.StringField(1, required=True)
256  undeleteFolderRequest = _messages.MessageField('UndeleteFolderRequest', 2)
257
258
259class Folder(_messages.Message):
260  r"""A Folder in an Organization's resource hierarchy, used to organize that
261  Organization's resources.
262
263  Enums:
264    LifecycleStateValueValuesEnum: Output only.  The lifecycle state of the
265      folder. Updates to the lifecycle_state must be performed via
266      [DeleteFolder] and [UndeleteFolder].
267
268  Fields:
269    createTime: Output only. Timestamp when the Folder was created. Assigned
270      by the server.
271    displayName: The folder's display name. A folder's display name must be
272      unique amongst its siblings, e.g. no two folders with the same parent
273      can share the same display name. The display name must start and end
274      with a letter or digit, may contain letters, digits, spaces, hyphens and
275      underscores and can be no longer than 30 characters. This is captured by
276      the regular expression: [\p{L}\p{N}]({\p{L}\p{N}_-
277      ]{0,28}[\p{L}\p{N}])?.
278    lifecycleState: Output only.  The lifecycle state of the folder. Updates
279      to the lifecycle_state must be performed via [DeleteFolder] and
280      [UndeleteFolder].
281    name: Output only. The resource name of the Folder. Its format is
282      `folders/{folder_id}`, for example: "folders/1234".
283    parent: The Folder's parent's resource name. Updates to the folder's
284      parent must be performed via [MoveFolders].
285  """
286
287  class LifecycleStateValueValuesEnum(_messages.Enum):
288    r"""Output only.  The lifecycle state of the folder. Updates to the
289    lifecycle_state must be performed via [DeleteFolder] and [UndeleteFolder].
290
291    Values:
292      LIFECYCLE_STATE_UNSPECIFIED: Unspecified state.
293      ACTIVE: The normal and active state.
294      DELETE_REQUESTED: The folder has been marked for deletion by the user.
295    """
296    LIFECYCLE_STATE_UNSPECIFIED = 0
297    ACTIVE = 1
298    DELETE_REQUESTED = 2
299
300  createTime = _messages.StringField(1)
301  displayName = _messages.StringField(2)
302  lifecycleState = _messages.EnumField('LifecycleStateValueValuesEnum', 3)
303  name = _messages.StringField(4)
304  parent = _messages.StringField(5)
305
306
307class FolderOperation(_messages.Message):
308  r"""Metadata describing a long running folder operation
309
310  Enums:
311    OperationTypeValueValuesEnum: The type of this operation.
312
313  Fields:
314    destinationParent: The resource name of the folder or organization we are
315      either creating the folder under or moving the folder to.
316    displayName: The display name of the folder.
317    operationType: The type of this operation.
318    sourceParent: The resource name of the folder's parent. Only applicable
319      when the operation_type is MOVE.
320  """
321
322  class OperationTypeValueValuesEnum(_messages.Enum):
323    r"""The type of this operation.
324
325    Values:
326      OPERATION_TYPE_UNSPECIFIED: Operation type not specified.
327      CREATE: A create folder operation.
328      MOVE: A move folder operation.
329    """
330    OPERATION_TYPE_UNSPECIFIED = 0
331    CREATE = 1
332    MOVE = 2
333
334  destinationParent = _messages.StringField(1)
335  displayName = _messages.StringField(2)
336  operationType = _messages.EnumField('OperationTypeValueValuesEnum', 3)
337  sourceParent = _messages.StringField(4)
338
339
340class FolderOperationError(_messages.Message):
341  r"""A classification of the Folder Operation error.
342
343  Enums:
344    ErrorMessageIdValueValuesEnum: The type of operation error experienced.
345
346  Fields:
347    errorMessageId: The type of operation error experienced.
348  """
349
350  class ErrorMessageIdValueValuesEnum(_messages.Enum):
351    r"""The type of operation error experienced.
352
353    Values:
354      ERROR_TYPE_UNSPECIFIED: The error type was unrecognized or unspecified.
355      FOLDER_HEIGHT_VIOLATION: The attempted action would violate the max
356        folder depth constraint.
357      MAX_CHILD_FOLDERS_VIOLATION: The attempted action would violate the max
358        child folders constraint.
359      FOLDER_NAME_UNIQUENESS_VIOLATION: The attempted action would violate the
360        locally-unique folder display_name constraint.
361      RESOURCE_DELETED: The resource being moved has been deleted.
362      PARENT_DELETED: The resource a folder was being added to has been
363        deleted.
364      CYCLE_INTRODUCED_ERROR: The attempted action would introduce cycle in
365        resource path.
366      FOLDER_BEING_MOVED: The attempted action would move a folder that is
367        already being moved.
368      FOLDER_TO_DELETE_NON_EMPTY: The folder the caller is trying to delete
369        contains active resources.
370      DELETED_FOLDER_HEIGHT_VIOLATION: The attempted action would violate the
371        max deleted folder depth constraint.
372    """
373    ERROR_TYPE_UNSPECIFIED = 0
374    FOLDER_HEIGHT_VIOLATION = 1
375    MAX_CHILD_FOLDERS_VIOLATION = 2
376    FOLDER_NAME_UNIQUENESS_VIOLATION = 3
377    RESOURCE_DELETED = 4
378    PARENT_DELETED = 5
379    CYCLE_INTRODUCED_ERROR = 6
380    FOLDER_BEING_MOVED = 7
381    FOLDER_TO_DELETE_NON_EMPTY = 8
382    DELETED_FOLDER_HEIGHT_VIOLATION = 9
383
384  errorMessageId = _messages.EnumField('ErrorMessageIdValueValuesEnum', 1)
385
386
387class GetIamPolicyRequest(_messages.Message):
388  r"""Request message for `GetIamPolicy` method."""
389
390
391class ListFoldersResponse(_messages.Message):
392  r"""The ListFolders response message.
393
394  Fields:
395    folders: A possibly paginated list of Folders that are direct descendants
396      of the specified parent resource.
397    nextPageToken: A pagination token returned from a previous call to
398      `ListFolders` that indicates from where listing should continue. This
399      field is optional.
400  """
401
402  folders = _messages.MessageField('Folder', 1, repeated=True)
403  nextPageToken = _messages.StringField(2)
404
405
406class MoveFolderRequest(_messages.Message):
407  r"""The MoveFolder request message.
408
409  Fields:
410    destinationParent: The resource name of the Folder or Organization to
411      reparent the folder under. Must be of the form `folders/{folder_id}` or
412      `organizations/{org_id}`.
413  """
414
415  destinationParent = _messages.StringField(1)
416
417
418class Operation(_messages.Message):
419  r"""This resource represents a long-running operation that is the result of
420  a network API call.
421
422  Messages:
423    MetadataValue: Service-specific metadata associated with the operation.
424      It typically contains progress information and common metadata such as
425      create time. Some services might not provide such metadata.  Any method
426      that returns a long-running operation should document the metadata type,
427      if any.
428    ResponseValue: The normal response of the operation in case of success.
429      If the original method returns no data on success, such as `Delete`, the
430      response is `google.protobuf.Empty`.  If the original method is standard
431      `Get`/`Create`/`Update`, the response should be the resource.  For other
432      methods, the response should have the type `XxxResponse`, where `Xxx` is
433      the original method name.  For example, if the original method name is
434      `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
435
436  Fields:
437    done: If the value is `false`, it means the operation is still in
438      progress. If true, the operation is completed, and either `error` or
439      `response` is available.
440    error: The error result of the operation in case of failure or
441      cancellation.
442    metadata: Service-specific metadata associated with the operation.  It
443      typically contains progress information and common metadata such as
444      create time. Some services might not provide such metadata.  Any method
445      that returns a long-running operation should document the metadata type,
446      if any.
447    name: The server-assigned name, which is only unique within the same
448      service that originally returns it. If you use the default HTTP mapping,
449      the `name` should have the format of `operations/some/unique/name`.
450    response: The normal response of the operation in case of success.  If the
451      original method returns no data on success, such as `Delete`, the
452      response is `google.protobuf.Empty`.  If the original method is standard
453      `Get`/`Create`/`Update`, the response should be the resource.  For other
454      methods, the response should have the type `XxxResponse`, where `Xxx` is
455      the original method name.  For example, if the original method name is
456      `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
457  """
458
459  @encoding.MapUnrecognizedFields('additionalProperties')
460  class MetadataValue(_messages.Message):
461    r"""Service-specific metadata associated with the operation.  It typically
462    contains progress information and common metadata such as create time.
463    Some services might not provide such metadata.  Any method that returns a
464    long-running operation should document the metadata type, if any.
465
466    Messages:
467      AdditionalProperty: An additional property for a MetadataValue object.
468
469    Fields:
470      additionalProperties: Properties of the object. Contains field @type
471        with type URL.
472    """
473
474    class AdditionalProperty(_messages.Message):
475      r"""An additional property for a MetadataValue object.
476
477      Fields:
478        key: Name of the additional property.
479        value: A extra_types.JsonValue attribute.
480      """
481
482      key = _messages.StringField(1)
483      value = _messages.MessageField('extra_types.JsonValue', 2)
484
485    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
486
487  @encoding.MapUnrecognizedFields('additionalProperties')
488  class ResponseValue(_messages.Message):
489    r"""The normal response of the operation in case of success.  If the
490    original method returns no data on success, such as `Delete`, the response
491    is `google.protobuf.Empty`.  If the original method is standard
492    `Get`/`Create`/`Update`, the response should be the resource.  For other
493    methods, the response should have the type `XxxResponse`, where `Xxx` is
494    the original method name.  For example, if the original method name is
495    `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
496
497    Messages:
498      AdditionalProperty: An additional property for a ResponseValue object.
499
500    Fields:
501      additionalProperties: Properties of the object. Contains field @type
502        with type URL.
503    """
504
505    class AdditionalProperty(_messages.Message):
506      r"""An additional property for a ResponseValue object.
507
508      Fields:
509        key: Name of the additional property.
510        value: A extra_types.JsonValue attribute.
511      """
512
513      key = _messages.StringField(1)
514      value = _messages.MessageField('extra_types.JsonValue', 2)
515
516    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
517
518  done = _messages.BooleanField(1)
519  error = _messages.MessageField('Status', 2)
520  metadata = _messages.MessageField('MetadataValue', 3)
521  name = _messages.StringField(4)
522  response = _messages.MessageField('ResponseValue', 5)
523
524
525class Policy(_messages.Message):
526  r"""Defines an Identity and Access Management (IAM) policy. It is used to
527  specify access control policies for Cloud Platform resources.   A `Policy`
528  consists of a list of `bindings`. A `Binding` binds a list of `members` to a
529  `role`, where the members can be user accounts, Google groups, Google
530  domains, and service accounts. A `role` is a named list of permissions
531  defined by IAM.  **Example**      {       "bindings": [         {
532  "role": "roles/owner",           "members": [
533  "user:mike@example.com",             "group:admins@example.com",
534  "domain:google.com",             "serviceAccount:my-other-
535  app@appspot.gserviceaccount.com",           ]         },         {
536  "role": "roles/viewer",           "members": ["user:sean@example.com"]
537  }       ]     }  For a description of IAM and its features, see the [IAM
538  developer's guide](https://cloud.google.com/iam).
539
540  Fields:
541    auditConfigs: Specifies cloud audit logging configuration for this policy.
542    bindings: Associates a list of `members` to a `role`. Multiple `bindings`
543      must not be specified for the same `role`. `bindings` with no members
544      will result in an error.
545    etag: `etag` is used for optimistic concurrency control as a way to help
546      prevent simultaneous updates of a policy from overwriting each other. It
547      is strongly suggested that systems make use of the `etag` in the read-
548      modify-write cycle to perform policy updates in order to avoid race
549      conditions: An `etag` is returned in the response to `getIamPolicy`, and
550      systems are expected to put that etag in the request to `setIamPolicy`
551      to ensure that their change will be applied to the same version of the
552      policy.  If no `etag` is provided in the call to `setIamPolicy`, then
553      the existing policy is overwritten blindly.
554    version: Version of the `Policy`. The default version is 0.
555  """
556
557  auditConfigs = _messages.MessageField('AuditConfig', 1, repeated=True)
558  bindings = _messages.MessageField('Binding', 2, repeated=True)
559  etag = _messages.BytesField(3)
560  version = _messages.IntegerField(4, variant=_messages.Variant.INT32)
561
562
563class ProjectCreationStatus(_messages.Message):
564  r"""A status object which is used as the `metadata` field for the Operation
565  returned by CreateProject. It provides insight for when significant phases
566  of Project creation have completed.
567
568  Fields:
569    createTime: Creation time of the project creation workflow.
570    gettable: True if the project can be retrieved using GetProject. No other
571      operations on the project are guaranteed to work until the project
572      creation is complete.
573    ready: True if the project creation process is complete.
574  """
575
576  createTime = _messages.StringField(1)
577  gettable = _messages.BooleanField(2)
578  ready = _messages.BooleanField(3)
579
580
581class SearchFoldersRequest(_messages.Message):
582  r"""The request message for searching folders.
583
584  Fields:
585    pageSize: The maximum number of folders to return in the response. This
586      field is optional.
587    pageToken: A pagination token returned from a previous call to
588      `SearchFolders` that indicates from where search should continue. This
589      field is optional.
590    query: Search criteria used to select the Folders to return. If no search
591      criteria is specified then all accessible folders will be returned.
592      Query expressions can be used to restrict results based upon
593      displayName, lifecycleState and parent, where the operators `=`, `NOT`,
594      `AND` and `OR` can be used along with the suffix wildcard symbol `*`.
595      Some example queries are: |Query|Description| |------|-----------|
596      |displayName=Test*|Folders whose display name starts with "Test".|
597      |lifecycleState=ACTIVE|Folders whose lifecycleState is ACTIVE.|
598      |parent=folders/123|Folders whose parent is "folders/123".|
599      |parent=folders/123 AND lifecycleState=ACTIVE|Active folders whose
600      parent is "folders/123".|
601  """
602
603  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
604  pageToken = _messages.StringField(2)
605  query = _messages.StringField(3)
606
607
608class SearchFoldersResponse(_messages.Message):
609  r"""The response message for searching folders.
610
611  Fields:
612    folders: A possibly paginated folder search results. the specified parent
613      resource.
614    nextPageToken: A pagination token returned from a previous call to
615      `SearchFolders` that indicates from where searching should continue.
616      This field is optional.
617  """
618
619  folders = _messages.MessageField('Folder', 1, repeated=True)
620  nextPageToken = _messages.StringField(2)
621
622
623class SetIamPolicyRequest(_messages.Message):
624  r"""Request message for `SetIamPolicy` method.
625
626  Fields:
627    policy: REQUIRED: The complete policy to be applied to the `resource`. The
628      size of the policy is limited to a few 10s of KB. An empty policy is a
629      valid policy but certain Cloud Platform services (such as Projects)
630      might reject them.
631    updateMask: OPTIONAL: A FieldMask specifying which fields of the policy to
632      modify. Only the fields in the mask will be modified. If no mask is
633      provided, the following default mask is used: paths: "bindings, etag"
634      This field is only used by Cloud IAM.
635  """
636
637  policy = _messages.MessageField('Policy', 1)
638  updateMask = _messages.StringField(2)
639
640
641class StandardQueryParameters(_messages.Message):
642  r"""Query parameters accepted by all methods.
643
644  Enums:
645    FXgafvValueValuesEnum: V1 error format.
646    AltValueValuesEnum: Data format for response.
647
648  Fields:
649    f__xgafv: V1 error format.
650    access_token: OAuth access token.
651    alt: Data format for response.
652    bearer_token: OAuth bearer token.
653    callback: JSONP
654    fields: Selector specifying which fields to include in a partial response.
655    key: API key. Your API key identifies your project and provides you with
656      API access, quota, and reports. Required unless you provide an OAuth 2.0
657      token.
658    oauth_token: OAuth 2.0 token for the current user.
659    pp: Pretty-print response.
660    prettyPrint: Returns response with indentations and line breaks.
661    quotaUser: Available to use for quota purposes for server-side
662      applications. Can be any arbitrary string assigned to a user, but should
663      not exceed 40 characters.
664    trace: A tracing token of the form "token:<tokenid>" to include in api
665      requests.
666    uploadType: Legacy upload protocol for media (e.g. "media", "multipart").
667    upload_protocol: Upload protocol for media (e.g. "raw", "multipart").
668  """
669
670  class AltValueValuesEnum(_messages.Enum):
671    r"""Data format for response.
672
673    Values:
674      json: Responses with Content-Type of application/json
675      media: Media download with context-dependent Content-Type
676      proto: Responses with Content-Type of application/x-protobuf
677    """
678    json = 0
679    media = 1
680    proto = 2
681
682  class FXgafvValueValuesEnum(_messages.Enum):
683    r"""V1 error format.
684
685    Values:
686      _1: v1 error format
687      _2: v2 error format
688    """
689    _1 = 0
690    _2 = 1
691
692  f__xgafv = _messages.EnumField('FXgafvValueValuesEnum', 1)
693  access_token = _messages.StringField(2)
694  alt = _messages.EnumField('AltValueValuesEnum', 3, default='json')
695  bearer_token = _messages.StringField(4)
696  callback = _messages.StringField(5)
697  fields = _messages.StringField(6)
698  key = _messages.StringField(7)
699  oauth_token = _messages.StringField(8)
700  pp = _messages.BooleanField(9, default=True)
701  prettyPrint = _messages.BooleanField(10, default=True)
702  quotaUser = _messages.StringField(11)
703  trace = _messages.StringField(12)
704  uploadType = _messages.StringField(13)
705  upload_protocol = _messages.StringField(14)
706
707
708class Status(_messages.Message):
709  r"""The `Status` type defines a logical error model that is suitable for
710  different programming environments, including REST APIs and RPC APIs. It is
711  used by [gRPC](https://github.com/grpc). The error model is designed to be:
712  - Simple to use and understand for most users - Flexible enough to meet
713  unexpected needs  # Overview  The `Status` message contains three pieces of
714  data: error code, error message, and error details. The error code should be
715  an enum value of google.rpc.Code, but it may accept additional error codes
716  if needed.  The error message should be a developer-facing English message
717  that helps developers *understand* and *resolve* the error. If a localized
718  user-facing error message is needed, put the localized message in the error
719  details or localize it in the client. The optional error details may contain
720  arbitrary information about the error. There is a predefined set of error
721  detail types in the package `google.rpc` which can be used for common error
722  conditions.  # Language mapping  The `Status` message is the logical
723  representation of the error model, but it is not necessarily the actual wire
724  format. When the `Status` message is exposed in different client libraries
725  and different wire protocols, it can be mapped differently. For example, it
726  will likely be mapped to some exceptions in Java, but more likely mapped to
727  some error codes in C.  # Other uses  The error model and the `Status`
728  message can be used in a variety of environments, either with or without
729  APIs, to provide a consistent developer experience across different
730  environments.  Example uses of this error model include:  - Partial errors.
731  If a service needs to return partial errors to the client,     it may embed
732  the `Status` in the normal response to indicate the partial     errors.  -
733  Workflow errors. A typical workflow has multiple steps. Each step may
734  have a `Status` message for error reporting purpose.  - Batch operations. If
735  a client uses batch request and batch response, the     `Status` message
736  should be used directly inside batch response, one for     each error sub-
737  response.  - Asynchronous operations. If an API call embeds asynchronous
738  operation     results in its response, the status of those operations should
739  be     represented directly using the `Status` message.  - Logging. If some
740  API errors are stored in logs, the message `Status` could     be used
741  directly after any stripping needed for security/privacy reasons.
742
743  Messages:
744    DetailsValueListEntry: A DetailsValueListEntry object.
745
746  Fields:
747    code: The status code, which should be an enum value of google.rpc.Code.
748    details: A list of messages that carry the error details.  There will be a
749      common set of message types for APIs to use.
750    message: A developer-facing error message, which should be in English. Any
751      user-facing error message should be localized and sent in the
752      google.rpc.Status.details field, or localized by the client.
753  """
754
755  @encoding.MapUnrecognizedFields('additionalProperties')
756  class DetailsValueListEntry(_messages.Message):
757    r"""A DetailsValueListEntry object.
758
759    Messages:
760      AdditionalProperty: An additional property for a DetailsValueListEntry
761        object.
762
763    Fields:
764      additionalProperties: Properties of the object. Contains field @type
765        with type URL.
766    """
767
768    class AdditionalProperty(_messages.Message):
769      r"""An additional property for a DetailsValueListEntry object.
770
771      Fields:
772        key: Name of the additional property.
773        value: A extra_types.JsonValue attribute.
774      """
775
776      key = _messages.StringField(1)
777      value = _messages.MessageField('extra_types.JsonValue', 2)
778
779    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
780
781  code = _messages.IntegerField(1, variant=_messages.Variant.INT32)
782  details = _messages.MessageField('DetailsValueListEntry', 2, repeated=True)
783  message = _messages.StringField(3)
784
785
786class TestIamPermissionsRequest(_messages.Message):
787  r"""Request message for `TestIamPermissions` method.
788
789  Fields:
790    permissions: The set of permissions to check for the `resource`.
791      Permissions with wildcards (such as '*' or 'storage.*') are not allowed.
792      For more information see [IAM
793      Overview](https://cloud.google.com/iam/docs/overview#permissions).
794  """
795
796  permissions = _messages.StringField(1, repeated=True)
797
798
799class TestIamPermissionsResponse(_messages.Message):
800  r"""Response message for `TestIamPermissions` method.
801
802  Fields:
803    permissions: A subset of `TestPermissionsRequest.permissions` that the
804      caller is allowed.
805  """
806
807  permissions = _messages.StringField(1, repeated=True)
808
809
810class UndeleteFolderRequest(_messages.Message):
811  r"""The UndeleteFolder request message."""
812
813
814encoding.AddCustomJsonFieldMapping(
815    StandardQueryParameters, 'f__xgafv', '$.xgafv')
816encoding.AddCustomJsonEnumMapping(
817    StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1')
818encoding.AddCustomJsonEnumMapping(
819    StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2')
820