1"""Generated message classes for cloudresourcemanager version v3.
2
3Creates, reads, and updates metadata for Google Cloud Platform resource
4containers.
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 AuditLogConfig are exempted. Example Policy with
26  multiple AuditConfigs: { "audit_configs": [ { "service": "allServices",
27  "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
28  "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type":
29  "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com",
30  "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type":
31  "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For
32  sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
33  logging. It also exempts jose@example.com from DATA_READ logging, and
34  aliya@example.com from DATA_WRITE logging.
35
36  Fields:
37    auditLogConfigs: The configuration for logging of each type of permission.
38    service: Specifies a service that will be enabled for audit logging. For
39      example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
40      `allServices` is a special value that covers all services.
41  """
42
43  auditLogConfigs = _messages.MessageField('AuditLogConfig', 1, repeated=True)
44  service = _messages.StringField(2)
45
46
47class AuditLogConfig(_messages.Message):
48  r"""Provides the configuration for logging a type of permissions. Example: {
49  "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
50  "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables
51  'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
52  DATA_READ logging.
53
54  Enums:
55    LogTypeValueValuesEnum: The log type that this config enables.
56
57  Fields:
58    exemptedMembers: Specifies the identities that do not cause logging for
59      this type of permission. Follows the same format of Binding.members.
60    logType: The log type that this config enables.
61  """
62
63  class LogTypeValueValuesEnum(_messages.Enum):
64    r"""The log type that this config enables.
65
66    Values:
67      LOG_TYPE_UNSPECIFIED: Default case. Should never be this.
68      ADMIN_READ: Admin reads. Example: CloudIAM getIamPolicy
69      DATA_WRITE: Data writes. Example: CloudSQL Users create
70      DATA_READ: Data reads. Example: CloudSQL Users list
71    """
72    LOG_TYPE_UNSPECIFIED = 0
73    ADMIN_READ = 1
74    DATA_WRITE = 2
75    DATA_READ = 3
76
77  exemptedMembers = _messages.StringField(1, repeated=True)
78  logType = _messages.EnumField('LogTypeValueValuesEnum', 2)
79
80
81class Binding(_messages.Message):
82  r"""Associates `members` with a `role`.
83
84  Fields:
85    condition: The condition that is associated with this binding. If the
86      condition evaluates to `true`, then this binding applies to the current
87      request. If the condition evaluates to `false`, then this binding does
88      not apply to the current request. However, a different role binding
89      might grant the same role to one or more of the members in this binding.
90      To learn which resources support conditions in their IAM policies, see
91      the [IAM
92      documentation](https://cloud.google.com/iam/help/conditions/resource-
93      policies).
94    members: Specifies the identities requesting access for a Cloud Platform
95      resource. `members` can have the following values: * `allUsers`: A
96      special identifier that represents anyone who is on the internet; with
97      or without a Google account. * `allAuthenticatedUsers`: A special
98      identifier that represents anyone who is authenticated with a Google
99      account or a service account. * `user:{emailid}`: An email address that
100      represents a specific Google account. For example, `alice@example.com` .
101      * `serviceAccount:{emailid}`: An email address that represents a service
102      account. For example, `my-other-app@appspot.gserviceaccount.com`. *
103      `group:{emailid}`: An email address that represents a Google group. For
104      example, `admins@example.com`. *
105      `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
106      identifier) representing a user that has been recently deleted. For
107      example, `alice@example.com?uid=123456789012345678901`. If the user is
108      recovered, this value reverts to `user:{emailid}` and the recovered user
109      retains the role in the binding. *
110      `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
111      (plus unique identifier) representing a service account that has been
112      recently deleted. For example, `my-other-
113      app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the
114      service account is undeleted, this value reverts to
115      `serviceAccount:{emailid}` and the undeleted service account retains the
116      role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An
117      email address (plus unique identifier) representing a Google group that
118      has been recently deleted. For example,
119      `admins@example.com?uid=123456789012345678901`. If the group is
120      recovered, this value reverts to `group:{emailid}` and the recovered
121      group retains the role in the binding. * `domain:{domain}`: The G Suite
122      domain (primary) that represents all the users of that domain. For
123      example, `google.com` or `example.com`.
124    role: Role that is assigned to `members`. For example, `roles/viewer`,
125      `roles/editor`, or `roles/owner`.
126  """
127
128  condition = _messages.MessageField('Expr', 1)
129  members = _messages.StringField(2, repeated=True)
130  role = _messages.StringField(3)
131
132
133class CloudresourcemanagerFoldersCreateRequest(_messages.Message):
134  r"""A CloudresourcemanagerFoldersCreateRequest object.
135
136  Fields:
137    folder: A Folder resource to be passed as the request body.
138    validateOnly: Optional. True to perform validations necessary for creating
139      the resource, but not actually perform the action.
140  """
141
142  folder = _messages.MessageField('Folder', 1)
143  validateOnly = _messages.BooleanField(2)
144
145
146class CloudresourcemanagerFoldersDeleteRequest(_messages.Message):
147  r"""A CloudresourcemanagerFoldersDeleteRequest object.
148
149  Fields:
150    etag: Optional. The etag known to the client for the expected state of the
151      Folder. This is to be used for optimistic concurrency.
152    name: Required. The resource name of the Folder to be deleted. Must be of
153      the form `folders/{folder_id}`.
154    validateOnly: Optional. True to perform validations necessary for
155      deletion, but not actually perform the action.
156  """
157
158  etag = _messages.StringField(1)
159  name = _messages.StringField(2, required=True)
160  validateOnly = _messages.BooleanField(3)
161
162
163class CloudresourcemanagerFoldersGetIamPolicyRequest(_messages.Message):
164  r"""A CloudresourcemanagerFoldersGetIamPolicyRequest object.
165
166  Fields:
167    getIamPolicyRequest: A GetIamPolicyRequest resource to be passed as the
168      request body.
169    resource: REQUIRED: The resource for which the policy is being requested.
170      See the operation documentation for the appropriate value for this
171      field.
172  """
173
174  getIamPolicyRequest = _messages.MessageField('GetIamPolicyRequest', 1)
175  resource = _messages.StringField(2, required=True)
176
177
178class CloudresourcemanagerFoldersGetRequest(_messages.Message):
179  r"""A CloudresourcemanagerFoldersGetRequest object.
180
181  Fields:
182    name: Required. The resource name of the Folder to retrieve. Must be of
183      the form `folders/{folder_id}`.
184  """
185
186  name = _messages.StringField(1, required=True)
187
188
189class CloudresourcemanagerFoldersListRequest(_messages.Message):
190  r"""A CloudresourcemanagerFoldersListRequest object.
191
192  Fields:
193    pageSize: Optional. The maximum number of Folders to return in the
194      response. If unspecified, server picks an appropriate default.
195    pageToken: Optional. A pagination token returned from a previous call to
196      `ListFolders` that indicates where this listing should continue from.
197    parent: Required. The resource name of the Organization or Folder whose
198      Folders are being listed. Must be of the form `folders/{folder_id}` or
199      `organizations/{org_id}`. Access to this method is controlled by
200      checking the `resourcemanager.folders.list` permission on the `parent`.
201    showDeleted: Optional. Controls whether Folders in the DELETE_REQUESTED
202      state should be returned. Defaults to false.
203  """
204
205  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
206  pageToken = _messages.StringField(2)
207  parent = _messages.StringField(3)
208  showDeleted = _messages.BooleanField(4)
209
210
211class CloudresourcemanagerFoldersMoveRequest(_messages.Message):
212  r"""A CloudresourcemanagerFoldersMoveRequest object.
213
214  Fields:
215    moveFolderRequest: A MoveFolderRequest resource to be passed as the
216      request body.
217    name: Required. The resource name of the Folder to move. Must be of the
218      form folders/{folder_id}
219  """
220
221  moveFolderRequest = _messages.MessageField('MoveFolderRequest', 1)
222  name = _messages.StringField(2, required=True)
223
224
225class CloudresourcemanagerFoldersPatchRequest(_messages.Message):
226  r"""A CloudresourcemanagerFoldersPatchRequest object.
227
228  Fields:
229    folder: A Folder resource to be passed as the request body.
230    name: Output only. The resource name of the Folder. Its format is
231      `folders/{folder_id}`, for example: "folders/1234".
232    updateMask: Required. Fields to be updated. Only the `display_name` can be
233      updated.
234    validateOnly: Optional. True to perform validations necessary for updating
235      the resource, but not actually perform the action.
236  """
237
238  folder = _messages.MessageField('Folder', 1)
239  name = _messages.StringField(2, required=True)
240  updateMask = _messages.StringField(3)
241  validateOnly = _messages.BooleanField(4)
242
243
244class CloudresourcemanagerFoldersSetIamPolicyRequest(_messages.Message):
245  r"""A CloudresourcemanagerFoldersSetIamPolicyRequest object.
246
247  Fields:
248    resource: REQUIRED: The resource for which the policy is being specified.
249      See the operation documentation for the appropriate value for this
250      field.
251    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
252      request body.
253  """
254
255  resource = _messages.StringField(1, required=True)
256  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)
257
258
259class CloudresourcemanagerFoldersTestIamPermissionsRequest(_messages.Message):
260  r"""A CloudresourcemanagerFoldersTestIamPermissionsRequest object.
261
262  Fields:
263    resource: REQUIRED: The resource for which the policy detail is being
264      requested. See the operation documentation for the appropriate value for
265      this field.
266    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
267      passed as the request body.
268  """
269
270  resource = _messages.StringField(1, required=True)
271  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)
272
273
274class CloudresourcemanagerFoldersUndeleteRequest(_messages.Message):
275  r"""A CloudresourcemanagerFoldersUndeleteRequest object.
276
277  Fields:
278    name: Required. The resource name of the Folder to undelete. Must be of
279      the form `folders/{folder_id}`.
280    undeleteFolderRequest: A UndeleteFolderRequest resource to be passed as
281      the request body.
282  """
283
284  name = _messages.StringField(1, required=True)
285  undeleteFolderRequest = _messages.MessageField('UndeleteFolderRequest', 2)
286
287
288class CloudresourcemanagerGoogleCloudResourcemanagerV2alpha1FolderOperation(_messages.Message):
289  r"""Metadata describing a long running folder operation
290
291  Enums:
292    OperationTypeValueValuesEnum: The type of this operation.
293
294  Fields:
295    destinationParent: The resource name of the folder or organization we are
296      either creating the folder under or moving the folder to.
297    displayName: The display name of the folder.
298    operationType: The type of this operation.
299    sourceParent: The resource name of the folder's parent. Only applicable
300      when the operation_type is MOVE.
301  """
302
303  class OperationTypeValueValuesEnum(_messages.Enum):
304    r"""The type of this operation.
305
306    Values:
307      OPERATION_TYPE_UNSPECIFIED: Operation type not specified.
308      CREATE: A create folder operation.
309      MOVE: A move folder operation.
310    """
311    OPERATION_TYPE_UNSPECIFIED = 0
312    CREATE = 1
313    MOVE = 2
314
315  destinationParent = _messages.StringField(1)
316  displayName = _messages.StringField(2)
317  operationType = _messages.EnumField('OperationTypeValueValuesEnum', 3)
318  sourceParent = _messages.StringField(4)
319
320
321class CloudresourcemanagerGoogleCloudResourcemanagerV2beta1FolderOperation(_messages.Message):
322  r"""Metadata describing a long running folder operation
323
324  Enums:
325    OperationTypeValueValuesEnum: The type of this operation.
326
327  Fields:
328    destinationParent: The resource name of the folder or organization we are
329      either creating the folder under or moving the folder to.
330    displayName: The display name of the folder.
331    operationType: The type of this operation.
332    sourceParent: The resource name of the folder's parent. Only applicable
333      when the operation_type is MOVE.
334  """
335
336  class OperationTypeValueValuesEnum(_messages.Enum):
337    r"""The type of this operation.
338
339    Values:
340      OPERATION_TYPE_UNSPECIFIED: Operation type not specified.
341      CREATE: A create folder operation.
342      MOVE: A move folder operation.
343    """
344    OPERATION_TYPE_UNSPECIFIED = 0
345    CREATE = 1
346    MOVE = 2
347
348  destinationParent = _messages.StringField(1)
349  displayName = _messages.StringField(2)
350  operationType = _messages.EnumField('OperationTypeValueValuesEnum', 3)
351  sourceParent = _messages.StringField(4)
352
353
354class CloudresourcemanagerLiensDeleteRequest(_messages.Message):
355  r"""A CloudresourcemanagerLiensDeleteRequest object.
356
357  Fields:
358    name: Required. The name/identifier of the Lien to delete.
359  """
360
361  name = _messages.StringField(1, required=True)
362
363
364class CloudresourcemanagerLiensGetRequest(_messages.Message):
365  r"""A CloudresourcemanagerLiensGetRequest object.
366
367  Fields:
368    name: Required. The name/identifier of the Lien.
369  """
370
371  name = _messages.StringField(1, required=True)
372
373
374class CloudresourcemanagerLiensListRequest(_messages.Message):
375  r"""A CloudresourcemanagerLiensListRequest object.
376
377  Fields:
378    pageSize: The maximum number of items to return. This is a suggestion for
379      the server.
380    pageToken: The `next_page_token` value returned from a previous List
381      request, if any.
382    parent: Required. The name of the resource to list all attached Liens. For
383      example, `projects/1234`. (google.api.field_policy).resource_type
384      annotation is not set since the parent depends on the meta api
385      implementation. This field could be a project or other sub project
386      resources.
387  """
388
389  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
390  pageToken = _messages.StringField(2)
391  parent = _messages.StringField(3)
392
393
394class CloudresourcemanagerOperationsGetRequest(_messages.Message):
395  r"""A CloudresourcemanagerOperationsGetRequest object.
396
397  Fields:
398    name: The name of the operation resource.
399  """
400
401  name = _messages.StringField(1, required=True)
402
403
404class CloudresourcemanagerOrganizationsGetIamPolicyRequest(_messages.Message):
405  r"""A CloudresourcemanagerOrganizationsGetIamPolicyRequest object.
406
407  Fields:
408    getIamPolicyRequest: A GetIamPolicyRequest resource to be passed as the
409      request body.
410    resource: REQUIRED: The resource for which the policy is being requested.
411      See the operation documentation for the appropriate value for this
412      field.
413  """
414
415  getIamPolicyRequest = _messages.MessageField('GetIamPolicyRequest', 1)
416  resource = _messages.StringField(2, required=True)
417
418
419class CloudresourcemanagerOrganizationsGetRequest(_messages.Message):
420  r"""A CloudresourcemanagerOrganizationsGetRequest object.
421
422  Fields:
423    name: Required. The resource name of the Organization to fetch. This is
424      the organization's relative path in the API, formatted as
425      "organizations/[organizationId]". For example, "organizations/1234".
426  """
427
428  name = _messages.StringField(1, required=True)
429
430
431class CloudresourcemanagerOrganizationsSetIamPolicyRequest(_messages.Message):
432  r"""A CloudresourcemanagerOrganizationsSetIamPolicyRequest object.
433
434  Fields:
435    resource: REQUIRED: The resource for which the policy is being specified.
436      See the operation documentation for the appropriate value for this
437      field.
438    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
439      request body.
440  """
441
442  resource = _messages.StringField(1, required=True)
443  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)
444
445
446class CloudresourcemanagerOrganizationsTestIamPermissionsRequest(_messages.Message):
447  r"""A CloudresourcemanagerOrganizationsTestIamPermissionsRequest object.
448
449  Fields:
450    resource: REQUIRED: The resource for which the policy detail is being
451      requested. See the operation documentation for the appropriate value for
452      this field.
453    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
454      passed as the request body.
455  """
456
457  resource = _messages.StringField(1, required=True)
458  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)
459
460
461class CloudresourcemanagerProjectsDeleteRequest(_messages.Message):
462  r"""A CloudresourcemanagerProjectsDeleteRequest object.
463
464  Fields:
465    etag: Optional. The etag known to the client for the expected state of the
466      Project. This is to be used for optimistic concurrency.
467    name: Required. The name of the Project (for example,
468      `projects/415104041262`).
469    validateOnly: Optional. True to perform validations necessary for
470      deletion, but not actually perform the action.
471  """
472
473  etag = _messages.StringField(1)
474  name = _messages.StringField(2, required=True)
475  validateOnly = _messages.BooleanField(3)
476
477
478class CloudresourcemanagerProjectsGetIamPolicyRequest(_messages.Message):
479  r"""A CloudresourcemanagerProjectsGetIamPolicyRequest object.
480
481  Fields:
482    getIamPolicyRequest: A GetIamPolicyRequest resource to be passed as the
483      request body.
484    resource: REQUIRED: The resource for which the policy is being requested.
485      See the operation documentation for the appropriate value for this
486      field.
487  """
488
489  getIamPolicyRequest = _messages.MessageField('GetIamPolicyRequest', 1)
490  resource = _messages.StringField(2, required=True)
491
492
493class CloudresourcemanagerProjectsGetRequest(_messages.Message):
494  r"""A CloudresourcemanagerProjectsGetRequest object.
495
496  Fields:
497    name: Required. The name of the project (for example,
498      `projects/415104041262`).
499  """
500
501  name = _messages.StringField(1, required=True)
502
503
504class CloudresourcemanagerProjectsListRequest(_messages.Message):
505  r"""A CloudresourcemanagerProjectsListRequest object.
506
507  Fields:
508    pageSize: Optional. The maximum number of Projects to return in the
509      response. The server can return fewer Projects than requested. If
510      unspecified, server picks an appropriate default.
511    pageToken: Optional. A pagination token returned from a previous call to
512      ListProjects that indicates from where listing should continue.
513    parent: Required. The name of the parent resource to list projects under.
514      For example, setting this field to 'folders/1234' would list all
515      projects directly under that folder.
516    showDeleted: Optional. Indicate that Projects in the `DELETE_REQUESTED`
517      state should also be returned. Normally only `ACTIVE` projects are
518      returned.
519  """
520
521  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
522  pageToken = _messages.StringField(2)
523  parent = _messages.StringField(3)
524  showDeleted = _messages.BooleanField(4)
525
526
527class CloudresourcemanagerProjectsMoveRequest(_messages.Message):
528  r"""A CloudresourcemanagerProjectsMoveRequest object.
529
530  Fields:
531    moveProjectRequest: A MoveProjectRequest resource to be passed as the
532      request body.
533    name: Required. The name of the project to move.
534  """
535
536  moveProjectRequest = _messages.MessageField('MoveProjectRequest', 1)
537  name = _messages.StringField(2, required=True)
538
539
540class CloudresourcemanagerProjectsPatchRequest(_messages.Message):
541  r"""A CloudresourcemanagerProjectsPatchRequest object.
542
543  Fields:
544    name: Output only. The unique resource name of the Project. It is an int64
545      generated number prefixed by "projects/". Example:
546      `projects/415104041262`
547    project: A Project resource to be passed as the request body.
548    updateMask: Optional. An update mask to selectively update fields.
549    validateOnly: Optional. True to perform validations necessary for updating
550      the resource, but not actually perform the action.
551  """
552
553  name = _messages.StringField(1, required=True)
554  project = _messages.MessageField('Project', 2)
555  updateMask = _messages.StringField(3)
556  validateOnly = _messages.BooleanField(4)
557
558
559class CloudresourcemanagerProjectsSearchRequest(_messages.Message):
560  r"""A CloudresourcemanagerProjectsSearchRequest object.
561
562  Fields:
563    pageSize: Optional. The maximum number of Projects to return in the
564      response. The server can return fewer Projects than requested. If
565      unspecified, server picks an appropriate default.
566    pageToken: Optional. A pagination token returned from a previous call to
567      ListProjects that indicates from where listing should continue.
568    query: Optional. A query string for searching for projects that the caller
569      has `resourcemanager.projects.get` permission to. Search expressions are
570      case insensitive. Some examples queries: | Query | Description | |------
571      ------------|-----------------------------------------------------| |
572      name:how* | The project's name starts with "how". | | name:Howl | The
573      project's name is `Howl` or `howl`. | | name:HOWL | Equivalent to above.
574      | | NAME:howl | Equivalent to above. | | labels.color:* | The project
575      has the label `color`. | | labels.color:red | The project's label
576      `color` has the value `red`. | | labels.color:red labels.size:big |The
577      project's label `color` has the value `red` and its label `size` has the
578      value `big`. | If no query is specified, the call will return projects
579      for which the user has the `resourcemanager.projects.get` permission.
580  """
581
582  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
583  pageToken = _messages.StringField(2)
584  query = _messages.StringField(3)
585
586
587class CloudresourcemanagerProjectsSetIamPolicyRequest(_messages.Message):
588  r"""A CloudresourcemanagerProjectsSetIamPolicyRequest object.
589
590  Fields:
591    resource: REQUIRED: The resource for which the policy is being specified.
592      See the operation documentation for the appropriate value for this
593      field.
594    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
595      request body.
596  """
597
598  resource = _messages.StringField(1, required=True)
599  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)
600
601
602class CloudresourcemanagerProjectsTestIamPermissionsRequest(_messages.Message):
603  r"""A CloudresourcemanagerProjectsTestIamPermissionsRequest object.
604
605  Fields:
606    resource: REQUIRED: The resource for which the policy detail is being
607      requested. See the operation documentation for the appropriate value for
608      this field.
609    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
610      passed as the request body.
611  """
612
613  resource = _messages.StringField(1, required=True)
614  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)
615
616
617class CloudresourcemanagerProjectsUndeleteRequest(_messages.Message):
618  r"""A CloudresourcemanagerProjectsUndeleteRequest object.
619
620  Fields:
621    name: Required. The name of the Project (for example,
622      `projects/415104041262`). Required.
623    undeleteProjectRequest: A UndeleteProjectRequest resource to be passed as
624      the request body.
625  """
626
627  name = _messages.StringField(1, required=True)
628  undeleteProjectRequest = _messages.MessageField('UndeleteProjectRequest', 2)
629
630
631class CloudresourcemanagerTagBindingsCreateRequest(_messages.Message):
632  r"""A CloudresourcemanagerTagBindingsCreateRequest object.
633
634  Fields:
635    tagBinding: A TagBinding resource to be passed as the request body.
636    validateOnly: Optional. Set to true to perform the validations necessary
637      for creating the resource, but not actually perform the action.
638  """
639
640  tagBinding = _messages.MessageField('TagBinding', 1)
641  validateOnly = _messages.BooleanField(2)
642
643
644class CloudresourcemanagerTagBindingsDeleteRequest(_messages.Message):
645  r"""A CloudresourcemanagerTagBindingsDeleteRequest object.
646
647  Fields:
648    name: Required. The name of the TagBinding. This is a String of the form:
649      `tagBindings/{id}` (e.g. `tagBindings/%2F%2Fcloudresourcemanager.googlea
650      pis.com%2Fprojects%2F123/tagValues/456`).
651  """
652
653  name = _messages.StringField(1, required=True)
654
655
656class CloudresourcemanagerTagBindingsListRequest(_messages.Message):
657  r"""A CloudresourcemanagerTagBindingsListRequest object.
658
659  Fields:
660    pageSize: Optional. The maximum number of TagBindings to return in the
661      response. This is currently not used by the server and will return the
662      full page even if a size is specified.
663    pageToken: Optional. A pagination token returned from a previous call to
664      `ListTagBindings` that indicates where this listing should continue
665      from.
666    parent: Required. The full resource name of a resource for which you want
667      to list existing TagBindings. E.g.
668      "//cloudresourcemanager.googleapis.com/projects/123"
669  """
670
671  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
672  pageToken = _messages.StringField(2)
673  parent = _messages.StringField(3)
674
675
676class CloudresourcemanagerTagKeysCreateRequest(_messages.Message):
677  r"""A CloudresourcemanagerTagKeysCreateRequest object.
678
679  Fields:
680    tagKey: A TagKey resource to be passed as the request body.
681    validateOnly: Optional. Set to true to perform validations necessary for
682      creating the resource, but not actually perform the action.
683  """
684
685  tagKey = _messages.MessageField('TagKey', 1)
686  validateOnly = _messages.BooleanField(2)
687
688
689class CloudresourcemanagerTagKeysDeleteRequest(_messages.Message):
690  r"""A CloudresourcemanagerTagKeysDeleteRequest object.
691
692  Fields:
693    etag: Optional. The etag known to the client for the expected state of the
694      TagKey. This is to be used for optimistic concurrency.
695    name: Required. The resource name of a TagKey to be deleted in the format
696      `tagKeys/123`. The TagKey cannot be a parent of any existing TagValues
697      or it will not be deleted successfully.
698    validateOnly: Optional. Set as true to perform validations necessary for
699      deletion, but not actually perform the action.
700  """
701
702  etag = _messages.StringField(1)
703  name = _messages.StringField(2, required=True)
704  validateOnly = _messages.BooleanField(3)
705
706
707class CloudresourcemanagerTagKeysGetIamPolicyRequest(_messages.Message):
708  r"""A CloudresourcemanagerTagKeysGetIamPolicyRequest object.
709
710  Fields:
711    getIamPolicyRequest: A GetIamPolicyRequest resource to be passed as the
712      request body.
713    resource: REQUIRED: The resource for which the policy is being requested.
714      See the operation documentation for the appropriate value for this
715      field.
716  """
717
718  getIamPolicyRequest = _messages.MessageField('GetIamPolicyRequest', 1)
719  resource = _messages.StringField(2, required=True)
720
721
722class CloudresourcemanagerTagKeysGetRequest(_messages.Message):
723  r"""A CloudresourcemanagerTagKeysGetRequest object.
724
725  Fields:
726    name: Required. A resource name in the format `tagKeys/{id}`, such as
727      `tagKeys/123`.
728  """
729
730  name = _messages.StringField(1, required=True)
731
732
733class CloudresourcemanagerTagKeysListRequest(_messages.Message):
734  r"""A CloudresourcemanagerTagKeysListRequest object.
735
736  Fields:
737    pageSize: Optional. The maximum number of TagKeys to return in the
738      response. This is currently not used by the server and will return the
739      full page even if a size is specified currently.
740    pageToken: Optional. A pagination token returned from a previous call to
741      `ListTagKey` that indicates where this listing should continue from.
742      This is currently not used by the server.
743    parent: Required. The resource name of the new TagKey's parent. Must be of
744      the form `folders/{folder_id}` or `organizations/{org_id}`.
745  """
746
747  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
748  pageToken = _messages.StringField(2)
749  parent = _messages.StringField(3)
750
751
752class CloudresourcemanagerTagKeysPatchRequest(_messages.Message):
753  r"""A CloudresourcemanagerTagKeysPatchRequest object.
754
755  Fields:
756    name: Immutable. The resource name for a TagKey. Must be in the format
757      `tagKeys/{tag_key_id}`, where `tag_key_id` is the generated numeric id
758      for the TagKey.
759    tagKey: A TagKey resource to be passed as the request body.
760    updateMask: Fields to be updated. The mask may only contain `description`
761      or `etag`. If omitted entirely, both `description` and `etag` are
762      assumed to be significant.
763    validateOnly: Set as true to perform validations necessary for updating
764      the resource, but not actually perform the action.
765  """
766
767  name = _messages.StringField(1, required=True)
768  tagKey = _messages.MessageField('TagKey', 2)
769  updateMask = _messages.StringField(3)
770  validateOnly = _messages.BooleanField(4)
771
772
773class CloudresourcemanagerTagKeysSetIamPolicyRequest(_messages.Message):
774  r"""A CloudresourcemanagerTagKeysSetIamPolicyRequest object.
775
776  Fields:
777    resource: REQUIRED: The resource for which the policy is being specified.
778      See the operation documentation for the appropriate value for this
779      field.
780    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
781      request body.
782  """
783
784  resource = _messages.StringField(1, required=True)
785  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)
786
787
788class CloudresourcemanagerTagKeysTestIamPermissionsRequest(_messages.Message):
789  r"""A CloudresourcemanagerTagKeysTestIamPermissionsRequest object.
790
791  Fields:
792    resource: REQUIRED: The resource for which the policy detail is being
793      requested. See the operation documentation for the appropriate value for
794      this field.
795    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
796      passed as the request body.
797  """
798
799  resource = _messages.StringField(1, required=True)
800  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)
801
802
803class CloudresourcemanagerTagValuesCreateRequest(_messages.Message):
804  r"""A CloudresourcemanagerTagValuesCreateRequest object.
805
806  Fields:
807    tagValue: A TagValue resource to be passed as the request body.
808    validateOnly: Optional. Set as true to perform the validations necessary
809      for creating the resource, but not actually perform the action.
810  """
811
812  tagValue = _messages.MessageField('TagValue', 1)
813  validateOnly = _messages.BooleanField(2)
814
815
816class CloudresourcemanagerTagValuesDeleteRequest(_messages.Message):
817  r"""A CloudresourcemanagerTagValuesDeleteRequest object.
818
819  Fields:
820    etag: Optional. The etag known to the client for the expected state of the
821      TagValue. This is to be used for optimistic concurrency.
822    name: Required. Resource name for TagValue to be deleted in the format
823      tagValues/456.
824    validateOnly: Optional. Set as true to perform the validations necessary
825      for deletion, but not actually perform the action.
826  """
827
828  etag = _messages.StringField(1)
829  name = _messages.StringField(2, required=True)
830  validateOnly = _messages.BooleanField(3)
831
832
833class CloudresourcemanagerTagValuesGetIamPolicyRequest(_messages.Message):
834  r"""A CloudresourcemanagerTagValuesGetIamPolicyRequest object.
835
836  Fields:
837    getIamPolicyRequest: A GetIamPolicyRequest resource to be passed as the
838      request body.
839    resource: REQUIRED: The resource for which the policy is being requested.
840      See the operation documentation for the appropriate value for this
841      field.
842  """
843
844  getIamPolicyRequest = _messages.MessageField('GetIamPolicyRequest', 1)
845  resource = _messages.StringField(2, required=True)
846
847
848class CloudresourcemanagerTagValuesGetRequest(_messages.Message):
849  r"""A CloudresourcemanagerTagValuesGetRequest object.
850
851  Fields:
852    name: Required. Resource name for TagValue to be fetched in the format
853      `tagValues/456`.
854  """
855
856  name = _messages.StringField(1, required=True)
857
858
859class CloudresourcemanagerTagValuesListRequest(_messages.Message):
860  r"""A CloudresourcemanagerTagValuesListRequest object.
861
862  Fields:
863    pageSize: Optional. The maximum number of TagValues to return in the
864      response. This is currently not used by the server and will return the
865      full page even if a size is specified currently.
866    pageToken: Optional. A pagination token returned from a previous call to
867      `ListTagValues` that indicates where this listing should continue from.
868      This is currently not used by the server.
869    parent: Required. Resource name for TagKey, parent of the TagValues to be
870      listed, in the format `tagKeys/123`.
871  """
872
873  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
874  pageToken = _messages.StringField(2)
875  parent = _messages.StringField(3)
876
877
878class CloudresourcemanagerTagValuesPatchRequest(_messages.Message):
879  r"""A CloudresourcemanagerTagValuesPatchRequest object.
880
881  Fields:
882    name: Immutable. Resource name for TagValue in the format `tagValues/456`.
883    tagValue: A TagValue resource to be passed as the request body.
884    updateMask: Optional. Fields to be updated.
885    validateOnly: Optional. True to perform validations necessary for updating
886      the resource, but not actually perform the action.
887  """
888
889  name = _messages.StringField(1, required=True)
890  tagValue = _messages.MessageField('TagValue', 2)
891  updateMask = _messages.StringField(3)
892  validateOnly = _messages.BooleanField(4)
893
894
895class CloudresourcemanagerTagValuesSetIamPolicyRequest(_messages.Message):
896  r"""A CloudresourcemanagerTagValuesSetIamPolicyRequest object.
897
898  Fields:
899    resource: REQUIRED: The resource for which the policy is being specified.
900      See the operation documentation for the appropriate value for this
901      field.
902    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
903      request body.
904  """
905
906  resource = _messages.StringField(1, required=True)
907  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)
908
909
910class CloudresourcemanagerTagValuesTestIamPermissionsRequest(_messages.Message):
911  r"""A CloudresourcemanagerTagValuesTestIamPermissionsRequest object.
912
913  Fields:
914    resource: REQUIRED: The resource for which the policy detail is being
915      requested. See the operation documentation for the appropriate value for
916      this field.
917    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
918      passed as the request body.
919  """
920
921  resource = _messages.StringField(1, required=True)
922  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)
923
924
925class CreateFolderMetadata(_messages.Message):
926  r"""Metadata pertaining to the Folder creation process.
927
928  Fields:
929    displayName: The display name of the folder.
930    parent: The resource name of the folder or organization we are creating
931      the folder under.
932  """
933
934  displayName = _messages.StringField(1)
935  parent = _messages.StringField(2)
936
937
938class CreateProjectMetadata(_messages.Message):
939  r"""A status object which is used as the `metadata` field for the Operation
940  returned by CreateProject. It provides insight for when significant phases
941  of Project creation have completed.
942
943  Fields:
944    createTime: Creation time of the project creation workflow.
945    gettable: True if the project can be retrieved using GetProject. No other
946      operations on the project are guaranteed to work until the project
947      creation is complete.
948    ready: True if the project creation process is complete.
949  """
950
951  createTime = _messages.StringField(1)
952  gettable = _messages.BooleanField(2)
953  ready = _messages.BooleanField(3)
954
955
956class CreateTagKeyMetadata(_messages.Message):
957  r"""Runtime operation information for creating a TagKey."""
958
959
960class CreateTagValueMetadata(_messages.Message):
961  r"""Runtime operation information for creating a TagValue."""
962
963
964class DeleteFolderMetadata(_messages.Message):
965  r"""A status object which is used as the `metadata` field for the Operation
966  returned by DeleteFolder.
967  """
968
969
970
971class DeleteOrganizationMetadata(_messages.Message):
972  r"""A status object which is used as the `metadata` field for the Operation
973  returned by DeleteOrganization.
974  """
975
976
977
978class DeleteProjectMetadata(_messages.Message):
979  r"""A status object which is used as the `metadata` field for the Operation
980  returned by DeleteProject.
981  """
982
983
984
985class DeleteTagKeyMetadata(_messages.Message):
986  r"""Runtime operation information for deleting a TagKey."""
987
988
989class DeleteTagValueMetadata(_messages.Message):
990  r"""Runtime operation information for deleting a TagValue."""
991
992
993class Empty(_messages.Message):
994  r"""A generic empty message that you can re-use to avoid defining duplicated
995  empty messages in your APIs. A typical example is to use it as the request
996  or the response type of an API method. For instance: service Foo { rpc
997  Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON
998  representation for `Empty` is empty JSON object `{}`.
999  """
1000
1001
1002
1003class Expr(_messages.Message):
1004  r"""Represents a textual expression in the Common Expression Language (CEL)
1005  syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1006  are documented at https://github.com/google/cel-spec. Example (Comparison):
1007  title: "Summary size limit" description: "Determines if a summary is less
1008  than 100 chars" expression: "document.summary.size() < 100" Example
1009  (Equality): title: "Requestor is owner" description: "Determines if
1010  requestor is the document owner" expression: "document.owner ==
1011  request.auth.claims.email" Example (Logic): title: "Public documents"
1012  description: "Determine whether the document should be publicly visible"
1013  expression: "document.type != 'private' && document.type != 'internal'"
1014  Example (Data Manipulation): title: "Notification string" description:
1015  "Create a notification string with a timestamp." expression: "'New message
1016  received at ' + string(document.create_time)" The exact variables and
1017  functions that may be referenced within an expression are determined by the
1018  service that evaluates it. See the service documentation for additional
1019  information.
1020
1021  Fields:
1022    description: Optional. Description of the expression. This is a longer
1023      text which describes the expression, e.g. when hovered over it in a UI.
1024    expression: Textual representation of an expression in Common Expression
1025      Language syntax.
1026    location: Optional. String indicating the location of the expression for
1027      error reporting, e.g. a file name and a position in the file.
1028    title: Optional. Title for the expression, i.e. a short string describing
1029      its purpose. This can be used e.g. in UIs which allow to enter the
1030      expression.
1031  """
1032
1033  description = _messages.StringField(1)
1034  expression = _messages.StringField(2)
1035  location = _messages.StringField(3)
1036  title = _messages.StringField(4)
1037
1038
1039class Folder(_messages.Message):
1040  r"""A Folder in an Organization's resource hierarchy, used to organize that
1041  Organization's resources.
1042
1043  Enums:
1044    StateValueValuesEnum: Output only. The lifecycle state of the folder.
1045      Updates to the state must be performed via DeleteFolder and
1046      UndeleteFolder.
1047
1048  Fields:
1049    createTime: Output only. Timestamp when the Folder was created.
1050    deleteTime: Output only. Timestamp when the Folder was requested to be
1051      deleted.
1052    displayName: The folder's display name. A folder's display name must be
1053      unique amongst its siblings, e.g. no two folders with the same parent
1054      can share the same display name. The display name must start and end
1055      with a letter or digit, may contain letters, digits, spaces, hyphens and
1056      underscores and can be no longer than 30 characters. This is captured by
1057      the regular expression: `[\p{L}\p{N}]([\p{L}\p{N}_-
1058      ]{0,28}[\p{L}\p{N}])?`.
1059    etag: Output only. A checksum computed by the server based on the current
1060      value of the Folder resource. This may be sent on update and delete
1061      requests to ensure the client has an up-to-date value before proceeding.
1062    name: Output only. The resource name of the Folder. Its format is
1063      `folders/{folder_id}`, for example: "folders/1234".
1064    parent: Required. The Folder's parent's resource name. Updates to the
1065      folder's parent must be performed via MoveFolder.
1066    state: Output only. The lifecycle state of the folder. Updates to the
1067      state must be performed via DeleteFolder and UndeleteFolder.
1068    updateTime: Output only. Timestamp when the Folder was last modified.
1069  """
1070
1071  class StateValueValuesEnum(_messages.Enum):
1072    r"""Output only. The lifecycle state of the folder. Updates to the state
1073    must be performed via DeleteFolder and UndeleteFolder.
1074
1075    Values:
1076      STATE_UNSPECIFIED: Unspecified state.
1077      ACTIVE: The normal and active state.
1078      DELETE_REQUESTED: The folder has been marked for deletion by the user.
1079    """
1080    STATE_UNSPECIFIED = 0
1081    ACTIVE = 1
1082    DELETE_REQUESTED = 2
1083
1084  createTime = _messages.StringField(1)
1085  deleteTime = _messages.StringField(2)
1086  displayName = _messages.StringField(3)
1087  etag = _messages.StringField(4)
1088  name = _messages.StringField(5)
1089  parent = _messages.StringField(6)
1090  state = _messages.EnumField('StateValueValuesEnum', 7)
1091  updateTime = _messages.StringField(8)
1092
1093
1094class FolderOperation(_messages.Message):
1095  r"""Metadata describing a long running folder operation
1096
1097  Enums:
1098    OperationTypeValueValuesEnum: The type of this operation.
1099
1100  Fields:
1101    destinationParent: The resource name of the folder or organization we are
1102      either creating the folder under or moving the folder to.
1103    displayName: The display name of the folder.
1104    operationType: The type of this operation.
1105    sourceParent: The resource name of the folder's parent. Only applicable
1106      when the operation_type is MOVE.
1107  """
1108
1109  class OperationTypeValueValuesEnum(_messages.Enum):
1110    r"""The type of this operation.
1111
1112    Values:
1113      OPERATION_TYPE_UNSPECIFIED: Operation type not specified.
1114      CREATE: A create folder operation.
1115      MOVE: A move folder operation.
1116    """
1117    OPERATION_TYPE_UNSPECIFIED = 0
1118    CREATE = 1
1119    MOVE = 2
1120
1121  destinationParent = _messages.StringField(1)
1122  displayName = _messages.StringField(2)
1123  operationType = _messages.EnumField('OperationTypeValueValuesEnum', 3)
1124  sourceParent = _messages.StringField(4)
1125
1126
1127class FolderOperationError(_messages.Message):
1128  r"""A classification of the Folder Operation error.
1129
1130  Enums:
1131    ErrorMessageIdValueValuesEnum: The type of operation error experienced.
1132
1133  Fields:
1134    errorMessageId: The type of operation error experienced.
1135  """
1136
1137  class ErrorMessageIdValueValuesEnum(_messages.Enum):
1138    r"""The type of operation error experienced.
1139
1140    Values:
1141      ERROR_TYPE_UNSPECIFIED: The error type was unrecognized or unspecified.
1142      ACTIVE_FOLDER_HEIGHT_VIOLATION: The attempted action would violate the
1143        max folder depth constraint.
1144      MAX_CHILD_FOLDERS_VIOLATION: The attempted action would violate the max
1145        child folders constraint.
1146      FOLDER_NAME_UNIQUENESS_VIOLATION: The attempted action would violate the
1147        locally-unique folder display_name constraint.
1148      RESOURCE_DELETED_VIOLATION: The resource being moved has been deleted.
1149      PARENT_DELETED_VIOLATION: The resource a folder was being added to has
1150        been deleted.
1151      CYCLE_INTRODUCED_VIOLATION: The attempted action would introduce cycle
1152        in resource path.
1153      FOLDER_BEING_MOVED_VIOLATION: The attempted action would move a folder
1154        that is already being moved.
1155      FOLDER_TO_DELETE_NON_EMPTY_VIOLATION: The folder the caller is trying to
1156        delete contains active resources.
1157      DELETED_FOLDER_HEIGHT_VIOLATION: The attempted action would violate the
1158        max deleted folder depth constraint.
1159    """
1160    ERROR_TYPE_UNSPECIFIED = 0
1161    ACTIVE_FOLDER_HEIGHT_VIOLATION = 1
1162    MAX_CHILD_FOLDERS_VIOLATION = 2
1163    FOLDER_NAME_UNIQUENESS_VIOLATION = 3
1164    RESOURCE_DELETED_VIOLATION = 4
1165    PARENT_DELETED_VIOLATION = 5
1166    CYCLE_INTRODUCED_VIOLATION = 6
1167    FOLDER_BEING_MOVED_VIOLATION = 7
1168    FOLDER_TO_DELETE_NON_EMPTY_VIOLATION = 8
1169    DELETED_FOLDER_HEIGHT_VIOLATION = 9
1170
1171  errorMessageId = _messages.EnumField('ErrorMessageIdValueValuesEnum', 1)
1172
1173
1174class GetIamPolicyRequest(_messages.Message):
1175  r"""Request message for `GetIamPolicy` method.
1176
1177  Fields:
1178    options: OPTIONAL: A `GetPolicyOptions` object for specifying options to
1179      `GetIamPolicy`.
1180  """
1181
1182  options = _messages.MessageField('GetPolicyOptions', 1)
1183
1184
1185class GetPolicyOptions(_messages.Message):
1186  r"""Encapsulates settings provided to GetIamPolicy.
1187
1188  Fields:
1189    requestedPolicyVersion: Optional. The policy format version to be
1190      returned. Valid values are 0, 1, and 3. Requests specifying an invalid
1191      value will be rejected. Requests for policies with any conditional
1192      bindings must specify version 3. Policies without any conditional
1193      bindings may specify any valid value or leave the field unset. To learn
1194      which resources support conditions in their IAM policies, see the [IAM
1195      documentation](https://cloud.google.com/iam/help/conditions/resource-
1196      policies).
1197  """
1198
1199  requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
1200
1201
1202class Lien(_messages.Message):
1203  r"""A Lien represents an encumbrance on the actions that can be performed on
1204  a resource.
1205
1206  Fields:
1207    createTime: The creation time of this Lien.
1208    name: A system-generated unique identifier for this Lien. Example:
1209      `liens/1234abcd`
1210    origin: A stable, user-visible/meaningful string identifying the origin of
1211      the Lien, intended to be inspected programmatically. Maximum length of
1212      200 characters. Example: 'compute.googleapis.com'
1213    parent: A reference to the resource this Lien is attached to. The server
1214      will validate the parent against those for which Liens are supported.
1215      Example: `projects/1234`
1216    reason: Concise user-visible strings indicating why an action cannot be
1217      performed on a resource. Maximum length of 200 characters. Example:
1218      'Holds production API key'
1219    restrictions: The types of operations which should be blocked as a result
1220      of this Lien. Each value should correspond to an IAM permission. The
1221      server will validate the permissions against those for which Liens are
1222      supported. An empty list is meaningless and will be rejected. Example:
1223      ['resourcemanager.projects.delete']
1224  """
1225
1226  createTime = _messages.StringField(1)
1227  name = _messages.StringField(2)
1228  origin = _messages.StringField(3)
1229  parent = _messages.StringField(4)
1230  reason = _messages.StringField(5)
1231  restrictions = _messages.StringField(6, repeated=True)
1232
1233
1234class ListFoldersResponse(_messages.Message):
1235  r"""The ListFolders response message.
1236
1237  Fields:
1238    folders: A possibly paginated list of Folders that are direct descendants
1239      of the specified parent resource.
1240    nextPageToken: A pagination token returned from a previous call to
1241      `ListFolders` that indicates from where listing should continue.
1242  """
1243
1244  folders = _messages.MessageField('Folder', 1, repeated=True)
1245  nextPageToken = _messages.StringField(2)
1246
1247
1248class ListLiensResponse(_messages.Message):
1249  r"""The response message for Liens.ListLiens.
1250
1251  Fields:
1252    liens: A list of Liens.
1253    nextPageToken: Token to retrieve the next page of results, or empty if
1254      there are no more results in the list.
1255  """
1256
1257  liens = _messages.MessageField('Lien', 1, repeated=True)
1258  nextPageToken = _messages.StringField(2)
1259
1260
1261class ListProjectsResponse(_messages.Message):
1262  r"""A page of the response received from the ListProjects method. A
1263  paginated response where more pages are available has `next_page_token` set.
1264  This token can be used in a subsequent request to retrieve the next request
1265  page. NOTE: A response may contain fewer elements than the request
1266  `page_size` and still have a `next_page_token`.
1267
1268  Fields:
1269    nextPageToken: Pagination token. If the result set is too large to fit in
1270      a single response, this token is returned. It encodes the position of
1271      the current result cursor. Feeding this value into a new list request
1272      with the `page_token` parameter gives the next page of the results. When
1273      `next_page_token` is not filled in, there is no next page and the list
1274      returned is the last page in the result set. Pagination tokens have a
1275      limited lifetime.
1276    projects: The list of Projects under the parent. This list can be
1277      paginated.
1278  """
1279
1280  nextPageToken = _messages.StringField(1)
1281  projects = _messages.MessageField('Project', 2, repeated=True)
1282
1283
1284class ListTagBindingsResponse(_messages.Message):
1285  r"""The ListTagBindings response.
1286
1287  Fields:
1288    nextPageToken: A pagination token returned from a previous call to
1289      `ListTagBindings` that indicates from where listing should continue.
1290      This is currently not used, but the server may at any point start
1291      supplying a valid token.
1292    tagBindings: A possibly paginated list of TagBindings for the specified
1293      TagValue or resource.
1294  """
1295
1296  nextPageToken = _messages.StringField(1)
1297  tagBindings = _messages.MessageField('TagBinding', 2, repeated=True)
1298
1299
1300class ListTagKeysResponse(_messages.Message):
1301  r"""The ListTagKeys response message.
1302
1303  Fields:
1304    nextPageToken: A pagination token returned from a previous call to
1305      `ListTagKeys` that indicates from where listing should continue. This is
1306      currently not used, but the server may at any point start supplying a
1307      valid token.
1308    tagKeys: List of TagKeys that live under the specified parent in the
1309      request.
1310  """
1311
1312  nextPageToken = _messages.StringField(1)
1313  tagKeys = _messages.MessageField('TagKey', 2, repeated=True)
1314
1315
1316class ListTagValuesResponse(_messages.Message):
1317  r"""The ListTagValues response.
1318
1319  Fields:
1320    nextPageToken: A pagination token returned from a previous call to
1321      `ListTagValues` that indicates from where listing should continue. This
1322      is currently not used, but the server may at any point start supplying a
1323      valid token.
1324    tagValues: A possibly paginated list of TagValues that are direct
1325      descendants of the specified parent TagKey.
1326  """
1327
1328  nextPageToken = _messages.StringField(1)
1329  tagValues = _messages.MessageField('TagValue', 2, repeated=True)
1330
1331
1332class MoveFolderMetadata(_messages.Message):
1333  r"""Metadata pertaining to the Folder move process.
1334
1335  Fields:
1336    destinationParent: The resource name of the folder or organization to move
1337      the folder to.
1338    displayName: The display name of the folder.
1339    sourceParent: The resource name of the folder's parent.
1340  """
1341
1342  destinationParent = _messages.StringField(1)
1343  displayName = _messages.StringField(2)
1344  sourceParent = _messages.StringField(3)
1345
1346
1347class MoveFolderRequest(_messages.Message):
1348  r"""The MoveFolder request message.
1349
1350  Fields:
1351    destinationParent: Required. The resource name of the Folder or
1352      Organization to reparent the folder under. Must be of the form
1353      `folders/{folder_id}` or `organizations/{org_id}`.
1354    etag: Optional. The etag known to the client for the expected state of the
1355      Folder. This is to be used for optimistic concurrency.
1356    validateOnly: Optional. True to perform validations necessary for moving
1357      the resource, but not actually perform the action.
1358  """
1359
1360  destinationParent = _messages.StringField(1)
1361  etag = _messages.StringField(2)
1362  validateOnly = _messages.BooleanField(3)
1363
1364
1365class MoveProjectMetadata(_messages.Message):
1366  r"""A status object which is used as the `metadata` field for the Operation
1367  returned by MoveProject.
1368  """
1369
1370
1371
1372class MoveProjectRequest(_messages.Message):
1373  r"""The request sent to MoveProject method.
1374
1375  Fields:
1376    etag: Optional. The etag known to the client for the expected state of the
1377      Project. This is to be used for optimistic concurrency.
1378    parent: Required. The new parent to move the Project under.
1379    validateOnly: Optional. True to perform validations necessary for moving
1380      the project, but not actually perform the action.
1381  """
1382
1383  etag = _messages.StringField(1)
1384  parent = _messages.StringField(2)
1385  validateOnly = _messages.BooleanField(3)
1386
1387
1388class Operation(_messages.Message):
1389  r"""This resource represents a long-running operation that is the result of
1390  a network API call.
1391
1392  Messages:
1393    MetadataValue: Service-specific metadata associated with the operation. It
1394      typically contains progress information and common metadata such as
1395      create time. Some services might not provide such metadata. Any method
1396      that returns a long-running operation should document the metadata type,
1397      if any.
1398    ResponseValue: The normal response of the operation in case of success. If
1399      the original method returns no data on success, such as `Delete`, the
1400      response is `google.protobuf.Empty`. If the original method is standard
1401      `Get`/`Create`/`Update`, the response should be the resource. For other
1402      methods, the response should have the type `XxxResponse`, where `Xxx` is
1403      the original method name. For example, if the original method name is
1404      `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
1405
1406  Fields:
1407    done: If the value is `false`, it means the operation is still in
1408      progress. If `true`, the operation is completed, and either `error` or
1409      `response` is available.
1410    error: The error result of the operation in case of failure or
1411      cancellation.
1412    metadata: Service-specific metadata associated with the operation. It
1413      typically contains progress information and common metadata such as
1414      create time. Some services might not provide such metadata. Any method
1415      that returns a long-running operation should document the metadata type,
1416      if any.
1417    name: The server-assigned name, which is only unique within the same
1418      service that originally returns it. If you use the default HTTP mapping,
1419      the `name` should be a resource name ending with
1420      `operations/{unique_id}`.
1421    response: The normal response of the operation in case of success. If the
1422      original method returns no data on success, such as `Delete`, the
1423      response is `google.protobuf.Empty`. If the original method is standard
1424      `Get`/`Create`/`Update`, the response should be the resource. For other
1425      methods, the response should have the type `XxxResponse`, where `Xxx` is
1426      the original method name. For example, if the original method name is
1427      `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
1428  """
1429
1430  @encoding.MapUnrecognizedFields('additionalProperties')
1431  class MetadataValue(_messages.Message):
1432    r"""Service-specific metadata associated with the operation. It typically
1433    contains progress information and common metadata such as create time.
1434    Some services might not provide such metadata. Any method that returns a
1435    long-running operation should document the metadata type, if any.
1436
1437    Messages:
1438      AdditionalProperty: An additional property for a MetadataValue object.
1439
1440    Fields:
1441      additionalProperties: Properties of the object. Contains field @type
1442        with type URL.
1443    """
1444
1445    class AdditionalProperty(_messages.Message):
1446      r"""An additional property for a MetadataValue object.
1447
1448      Fields:
1449        key: Name of the additional property.
1450        value: A extra_types.JsonValue attribute.
1451      """
1452
1453      key = _messages.StringField(1)
1454      value = _messages.MessageField('extra_types.JsonValue', 2)
1455
1456    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
1457
1458  @encoding.MapUnrecognizedFields('additionalProperties')
1459  class ResponseValue(_messages.Message):
1460    r"""The normal response of the operation in case of success. If the
1461    original method returns no data on success, such as `Delete`, the response
1462    is `google.protobuf.Empty`. If the original method is standard
1463    `Get`/`Create`/`Update`, the response should be the resource. For other
1464    methods, the response should have the type `XxxResponse`, where `Xxx` is
1465    the original method name. For example, if the original method name is
1466    `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
1467
1468    Messages:
1469      AdditionalProperty: An additional property for a ResponseValue object.
1470
1471    Fields:
1472      additionalProperties: Properties of the object. Contains field @type
1473        with type URL.
1474    """
1475
1476    class AdditionalProperty(_messages.Message):
1477      r"""An additional property for a ResponseValue object.
1478
1479      Fields:
1480        key: Name of the additional property.
1481        value: A extra_types.JsonValue attribute.
1482      """
1483
1484      key = _messages.StringField(1)
1485      value = _messages.MessageField('extra_types.JsonValue', 2)
1486
1487    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
1488
1489  done = _messages.BooleanField(1)
1490  error = _messages.MessageField('Status', 2)
1491  metadata = _messages.MessageField('MetadataValue', 3)
1492  name = _messages.StringField(4)
1493  response = _messages.MessageField('ResponseValue', 5)
1494
1495
1496class Organization(_messages.Message):
1497  r"""The root node in the resource hierarchy to which a particular entity's
1498  (e.g., company) resources belong.
1499
1500  Enums:
1501    StateValueValuesEnum: Output only. The organization's current lifecycle
1502      state.
1503
1504  Fields:
1505    createTime: Output only. Timestamp when the Organization was created.
1506    deleteTime: Output only. Timestamp when the Organization was requested for
1507      deletion.
1508    directoryCustomerId: Immutable. The G Suite / Workspace customer id used
1509      in the Directory API.
1510    displayName: Output only. A human-readable string that refers to the
1511      Organization in the GCP Console UI. This string is set by the server and
1512      cannot be changed. The string will be set to the primary domain (for
1513      example, "google.com") of the G Suite customer that owns the
1514      organization.
1515    etag: Output only. A checksum computed by the server based on the current
1516      value of the Organization resource. This may be sent on update and
1517      delete requests to ensure the client has an up-to-date value before
1518      proceeding.
1519    name: Output only. The resource name of the organization. This is the
1520      organization's relative path in the API. Its format is
1521      "organizations/[organization_id]". For example, "organizations/1234".
1522    state: Output only. The organization's current lifecycle state.
1523    updateTime: Output only. Timestamp when the Organization was last
1524      modified.
1525  """
1526
1527  class StateValueValuesEnum(_messages.Enum):
1528    r"""Output only. The organization's current lifecycle state.
1529
1530    Values:
1531      STATE_UNSPECIFIED: Unspecified state. This is only useful for
1532        distinguishing unset values.
1533      ACTIVE: The normal and active state.
1534      DELETE_REQUESTED: The Organization has been marked for deletion by the
1535        user.
1536    """
1537    STATE_UNSPECIFIED = 0
1538    ACTIVE = 1
1539    DELETE_REQUESTED = 2
1540
1541  createTime = _messages.StringField(1)
1542  deleteTime = _messages.StringField(2)
1543  directoryCustomerId = _messages.StringField(3)
1544  displayName = _messages.StringField(4)
1545  etag = _messages.StringField(5)
1546  name = _messages.StringField(6)
1547  state = _messages.EnumField('StateValueValuesEnum', 7)
1548  updateTime = _messages.StringField(8)
1549
1550
1551class Policy(_messages.Message):
1552  r"""An Identity and Access Management (IAM) policy, which specifies access
1553  controls for Google Cloud resources. A `Policy` is a collection of
1554  `bindings`. A `binding` binds one or more `members` to a single `role`.
1555  Members can be user accounts, service accounts, Google groups, and domains
1556  (such as G Suite). A `role` is a named list of permissions; each `role` can
1557  be an IAM predefined role or a user-created custom role. For some types of
1558  Google Cloud resources, a `binding` can also specify a `condition`, which is
1559  a logical expression that allows access to a resource only if the expression
1560  evaluates to `true`. A condition can add constraints based on attributes of
1561  the request, the resource, or both. To learn which resources support
1562  conditions in their IAM policies, see the [IAM
1563  documentation](https://cloud.google.com/iam/help/conditions/resource-
1564  policies). **JSON example:** { "bindings": [ { "role":
1565  "roles/resourcemanager.organizationAdmin", "members": [
1566  "user:mike@example.com", "group:admins@example.com", "domain:google.com",
1567  "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role":
1568  "roles/resourcemanager.organizationViewer", "members": [
1569  "user:eve@example.com" ], "condition": { "title": "expirable access",
1570  "description": "Does not grant access after Sep 2020", "expression":
1571  "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
1572  "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: -
1573  user:mike@example.com - group:admins@example.com - domain:google.com -
1574  serviceAccount:my-project-id@appspot.gserviceaccount.com role:
1575  roles/resourcemanager.organizationAdmin - members: - user:eve@example.com
1576  role: roles/resourcemanager.organizationViewer condition: title: expirable
1577  access description: Does not grant access after Sep 2020 expression:
1578  request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= -
1579  version: 3 For a description of IAM and its features, see the [IAM
1580  documentation](https://cloud.google.com/iam/docs/).
1581
1582  Fields:
1583    auditConfigs: Specifies cloud audit logging configuration for this policy.
1584    bindings: Associates a list of `members` to a `role`. Optionally, may
1585      specify a `condition` that determines how and when the `bindings` are
1586      applied. Each of the `bindings` must contain at least one member.
1587    etag: `etag` is used for optimistic concurrency control as a way to help
1588      prevent simultaneous updates of a policy from overwriting each other. It
1589      is strongly suggested that systems make use of the `etag` in the read-
1590      modify-write cycle to perform policy updates in order to avoid race
1591      conditions: An `etag` is returned in the response to `getIamPolicy`, and
1592      systems are expected to put that etag in the request to `setIamPolicy`
1593      to ensure that their change will be applied to the same version of the
1594      policy. **Important:** If you use IAM Conditions, you must include the
1595      `etag` field whenever you call `setIamPolicy`. If you omit this field,
1596      then IAM allows you to overwrite a version `3` policy with a version `1`
1597      policy, and all of the conditions in the version `3` policy are lost.
1598    version: Specifies the format of the policy. Valid values are `0`, `1`,
1599      and `3`. Requests that specify an invalid value are rejected. Any
1600      operation that affects conditional role bindings must specify version
1601      `3`. This requirement applies to the following operations: * Getting a
1602      policy that includes a conditional role binding * Adding a conditional
1603      role binding to a policy * Changing a conditional role binding in a
1604      policy * Removing any role binding, with or without a condition, from a
1605      policy that includes conditions **Important:** If you use IAM
1606      Conditions, you must include the `etag` field whenever you call
1607      `setIamPolicy`. If you omit this field, then IAM allows you to overwrite
1608      a version `3` policy with a version `1` policy, and all of the
1609      conditions in the version `3` policy are lost. If a policy does not
1610      include any conditions, operations on that policy may specify any valid
1611      version or leave the field unset. To learn which resources support
1612      conditions in their IAM policies, see the [IAM
1613      documentation](https://cloud.google.com/iam/help/conditions/resource-
1614      policies).
1615  """
1616
1617  auditConfigs = _messages.MessageField('AuditConfig', 1, repeated=True)
1618  bindings = _messages.MessageField('Binding', 2, repeated=True)
1619  etag = _messages.BytesField(3)
1620  version = _messages.IntegerField(4, variant=_messages.Variant.INT32)
1621
1622
1623class Project(_messages.Message):
1624  r"""A Project is a high-level Google Cloud Platform entity. It is a
1625  container for ACLs, APIs, App Engine Apps, VMs, and other Google Cloud
1626  Platform resources.
1627
1628  Enums:
1629    StateValueValuesEnum: Output only. The Project lifecycle state.
1630
1631  Messages:
1632    LabelsValue: Optional. The labels associated with this Project. Label keys
1633      must be between 1 and 63 characters long and must conform to the
1634      following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label
1635      values must be between 0 and 63 characters long and must conform to the
1636      regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 256
1637      labels can be associated with a given resource. Clients should store
1638      labels in a representation such as JSON that does not depend on specific
1639      characters being disallowed. Example: `"myBusinessDimension" :
1640      "businessValue"`
1641
1642  Fields:
1643    createTime: Output only. Creation time.
1644    deleteTime: Output only. The time at which this resource was requested for
1645      deletion.
1646    displayName: Optional. A user-assigned display name of the Project. When
1647      present it must be between 4 to 30 characters. Allowed characters are:
1648      lowercase and uppercase letters, numbers, hyphen, single-quote, double-
1649      quote, space, and exclamation point. Example: `My Project`
1650    etag: Output only. A checksum computed by the server based on the current
1651      value of the Project resource. This may be sent on update and delete
1652      requests to ensure the client has an up-to-date value before proceeding.
1653    labels: Optional. The labels associated with this Project. Label keys must
1654      be between 1 and 63 characters long and must conform to the following
1655      regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must
1656      be between 0 and 63 characters long and must conform to the regular
1657      expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 256 labels
1658      can be associated with a given resource. Clients should store labels in
1659      a representation such as JSON that does not depend on specific
1660      characters being disallowed. Example: `"myBusinessDimension" :
1661      "businessValue"`
1662    name: Output only. The unique resource name of the Project. It is an int64
1663      generated number prefixed by "projects/". Example:
1664      `projects/415104041262`
1665    parent: Optional. A reference to a parent Resource. eg.,
1666      `organizations/123` or `folders/876`.
1667    projectId: Immutable. The unique, user-assigned id of the Project. It must
1668      be 6 to 30 lowercase ASCII letters, digits, or hyphens. It must start
1669      with a letter. Trailing hyphens are prohibited. Example: `tokyo-
1670      rain-123`
1671    state: Output only. The Project lifecycle state.
1672    updateTime: Output only. The most recent time this resource was modified.
1673  """
1674
1675  class StateValueValuesEnum(_messages.Enum):
1676    r"""Output only. The Project lifecycle state.
1677
1678    Values:
1679      STATE_UNSPECIFIED: Unspecified state. This is only used/useful for
1680        distinguishing unset values.
1681      ACTIVE: The normal and active state.
1682      DELETE_REQUESTED: The project has been marked for deletion by the user
1683        (by invoking DeleteProject) or by the system (Google Cloud Platform).
1684        This can generally be reversed by invoking UndeleteProject.
1685    """
1686    STATE_UNSPECIFIED = 0
1687    ACTIVE = 1
1688    DELETE_REQUESTED = 2
1689
1690  @encoding.MapUnrecognizedFields('additionalProperties')
1691  class LabelsValue(_messages.Message):
1692    r"""Optional. The labels associated with this Project. Label keys must be
1693    between 1 and 63 characters long and must conform to the following regular
1694    expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be between
1695    0 and 63 characters long and must conform to the regular expression
1696    (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 256 labels can be
1697    associated with a given resource. Clients should store labels in a
1698    representation such as JSON that does not depend on specific characters
1699    being disallowed. Example: `"myBusinessDimension" : "businessValue"`
1700
1701    Messages:
1702      AdditionalProperty: An additional property for a LabelsValue object.
1703
1704    Fields:
1705      additionalProperties: Additional properties of type LabelsValue
1706    """
1707
1708    class AdditionalProperty(_messages.Message):
1709      r"""An additional property for a LabelsValue object.
1710
1711      Fields:
1712        key: Name of the additional property.
1713        value: A string attribute.
1714      """
1715
1716      key = _messages.StringField(1)
1717      value = _messages.StringField(2)
1718
1719    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
1720
1721  createTime = _messages.StringField(1)
1722  deleteTime = _messages.StringField(2)
1723  displayName = _messages.StringField(3)
1724  etag = _messages.StringField(4)
1725  labels = _messages.MessageField('LabelsValue', 5)
1726  name = _messages.StringField(6)
1727  parent = _messages.StringField(7)
1728  projectId = _messages.StringField(8)
1729  state = _messages.EnumField('StateValueValuesEnum', 9)
1730  updateTime = _messages.StringField(10)
1731
1732
1733class ProjectCreationStatus(_messages.Message):
1734  r"""A status object which is used as the `metadata` field for the Operation
1735  returned by CreateProject. It provides insight for when significant phases
1736  of Project creation have completed.
1737
1738  Fields:
1739    createTime: Creation time of the project creation workflow.
1740    gettable: True if the project can be retrieved using GetProject. No other
1741      operations on the project are guaranteed to work until the project
1742      creation is complete.
1743    ready: True if the project creation process is complete.
1744  """
1745
1746  createTime = _messages.StringField(1)
1747  gettable = _messages.BooleanField(2)
1748  ready = _messages.BooleanField(3)
1749
1750
1751class SearchFoldersRequest(_messages.Message):
1752  r"""The request message for searching folders.
1753
1754  Fields:
1755    pageSize: Optional. The maximum number of folders to return in the
1756      response. If unspecified, server picks an appropriate default.
1757    pageToken: Optional. A pagination token returned from a previous call to
1758      `SearchFolders` that indicates from where search should continue.
1759    query: Optional. Search criteria used to select the Folders to return. If
1760      no search criteria is specified then all accessible folders will be
1761      returned. Query expressions can be used to restrict results based upon
1762      displayName, state and parent, where the operators `=`, `NOT`, `AND` and
1763      `OR` can be used along with the suffix wildcard symbol `*`. The
1764      displayName field in a query expression should use escaped quotes for
1765      values that include whitespace to prevent unexpected behavior. Some
1766      example queries are: * Query `displayName=Test*` returns Folder
1767      resources whose display name starts with "Test". * Query `state=ACTIVE`
1768      returns Folder resources with `state` set to `ACTIVE`. * Query
1769      `parent=folders/123` returns Folder resources that have `folders/123` as
1770      a parent resource. * Query `parent=folders/123 AND state=ACTIVE` returns
1771      active Folder resources that have `folders/123` as a parent resource. *
1772      Query `displayName=\\"Test String\\"` returns Folder resources with
1773      display names that include both "Test" and "String".
1774  """
1775
1776  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
1777  pageToken = _messages.StringField(2)
1778  query = _messages.StringField(3)
1779
1780
1781class SearchFoldersResponse(_messages.Message):
1782  r"""The response message for searching folders.
1783
1784  Fields:
1785    folders: A possibly paginated folder search results. the specified parent
1786      resource.
1787    nextPageToken: A pagination token returned from a previous call to
1788      `SearchFolders` that indicates from where searching should continue.
1789  """
1790
1791  folders = _messages.MessageField('Folder', 1, repeated=True)
1792  nextPageToken = _messages.StringField(2)
1793
1794
1795class SearchOrganizationsRequest(_messages.Message):
1796  r"""The request sent to the `SearchOrganizations` method.
1797
1798  Fields:
1799    pageSize: Optional. The maximum number of Organizations to return in the
1800      response. If unspecified, server picks an appropriate default.
1801    pageToken: Optional. A pagination token returned from a previous call to
1802      `SearchOrganizations` that indicates from where listing should continue.
1803    query: Optional. An optional query string used to filter the Organizations
1804      to return in the response. Query rules are case-insensitive.
1805      Organizations may be queried by `owner.directoryCustomerId` or by
1806      `domain`, where the domain is a G Suite domain, for example: * Query
1807      `owner.directorycustomerid:123456789` returns Organization resources
1808      with `owner.directory_customer_id` equal to `123456789`. * Query
1809      `domain:google.com` returns Organization resources corresponding to the
1810      domain `google.com`.
1811  """
1812
1813  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
1814  pageToken = _messages.StringField(2)
1815  query = _messages.StringField(3)
1816
1817
1818class SearchOrganizationsResponse(_messages.Message):
1819  r"""The response returned from the `SearchOrganizations` method.
1820
1821  Fields:
1822    nextPageToken: A pagination token to be used to retrieve the next page of
1823      results. If the result is too large to fit within the page size
1824      specified in the request, this field will be set with a token that can
1825      be used to fetch the next page of results. If this field is empty, it
1826      indicates that this response contains the last page of results.
1827    organizations: The list of Organizations that matched the search query,
1828      possibly paginated.
1829  """
1830
1831  nextPageToken = _messages.StringField(1)
1832  organizations = _messages.MessageField('Organization', 2, repeated=True)
1833
1834
1835class SearchProjectsResponse(_messages.Message):
1836  r"""A page of the response received from the SearchProjects method. A
1837  paginated response where more pages are available has `next_page_token` set.
1838  This token can be used in a subsequent request to retrieve the next request
1839  page.
1840
1841  Fields:
1842    nextPageToken: Pagination token. If the result set is too large to fit in
1843      a single response, this token is returned. It encodes the position of
1844      the current result cursor. Feeding this value into a new list request
1845      with the `page_token` parameter gives the next page of the results. When
1846      `next_page_token` is not filled in, there is no next page and the list
1847      returned is the last page in the result set. Pagination tokens have a
1848      limited lifetime.
1849    projects: The list of Projects that matched the list filter query. This
1850      list can be paginated.
1851  """
1852
1853  nextPageToken = _messages.StringField(1)
1854  projects = _messages.MessageField('Project', 2, repeated=True)
1855
1856
1857class SetIamPolicyRequest(_messages.Message):
1858  r"""Request message for `SetIamPolicy` method.
1859
1860  Fields:
1861    policy: REQUIRED: The complete policy to be applied to the `resource`. The
1862      size of the policy is limited to a few 10s of KB. An empty policy is a
1863      valid policy but certain Cloud Platform services (such as Projects)
1864      might reject them.
1865    updateMask: OPTIONAL: A FieldMask specifying which fields of the policy to
1866      modify. Only the fields in the mask will be modified. If no mask is
1867      provided, the following default mask is used: `paths: "bindings, etag"`
1868  """
1869
1870  policy = _messages.MessageField('Policy', 1)
1871  updateMask = _messages.StringField(2)
1872
1873
1874class StandardQueryParameters(_messages.Message):
1875  r"""Query parameters accepted by all methods.
1876
1877  Enums:
1878    FXgafvValueValuesEnum: V1 error format.
1879    AltValueValuesEnum: Data format for response.
1880
1881  Fields:
1882    f__xgafv: V1 error format.
1883    access_token: OAuth access token.
1884    alt: Data format for response.
1885    callback: JSONP
1886    fields: Selector specifying which fields to include in a partial response.
1887    key: API key. Your API key identifies your project and provides you with
1888      API access, quota, and reports. Required unless you provide an OAuth 2.0
1889      token.
1890    oauth_token: OAuth 2.0 token for the current user.
1891    prettyPrint: Returns response with indentations and line breaks.
1892    quotaUser: Available to use for quota purposes for server-side
1893      applications. Can be any arbitrary string assigned to a user, but should
1894      not exceed 40 characters.
1895    trace: A tracing token of the form "token:<tokenid>" to include in api
1896      requests.
1897    uploadType: Legacy upload protocol for media (e.g. "media", "multipart").
1898    upload_protocol: Upload protocol for media (e.g. "raw", "multipart").
1899  """
1900
1901  class AltValueValuesEnum(_messages.Enum):
1902    r"""Data format for response.
1903
1904    Values:
1905      json: Responses with Content-Type of application/json
1906      media: Media download with context-dependent Content-Type
1907      proto: Responses with Content-Type of application/x-protobuf
1908    """
1909    json = 0
1910    media = 1
1911    proto = 2
1912
1913  class FXgafvValueValuesEnum(_messages.Enum):
1914    r"""V1 error format.
1915
1916    Values:
1917      _1: v1 error format
1918      _2: v2 error format
1919    """
1920    _1 = 0
1921    _2 = 1
1922
1923  f__xgafv = _messages.EnumField('FXgafvValueValuesEnum', 1)
1924  access_token = _messages.StringField(2)
1925  alt = _messages.EnumField('AltValueValuesEnum', 3, default='json')
1926  callback = _messages.StringField(4)
1927  fields = _messages.StringField(5)
1928  key = _messages.StringField(6)
1929  oauth_token = _messages.StringField(7)
1930  prettyPrint = _messages.BooleanField(8, default=True)
1931  quotaUser = _messages.StringField(9)
1932  trace = _messages.StringField(10)
1933  uploadType = _messages.StringField(11)
1934  upload_protocol = _messages.StringField(12)
1935
1936
1937class Status(_messages.Message):
1938  r"""The `Status` type defines a logical error model that is suitable for
1939  different programming environments, including REST APIs and RPC APIs. It is
1940  used by [gRPC](https://github.com/grpc). Each `Status` message contains
1941  three pieces of data: error code, error message, and error details. You can
1942  find out more about this error model and how to work with it in the [API
1943  Design Guide](https://cloud.google.com/apis/design/errors).
1944
1945  Messages:
1946    DetailsValueListEntry: A DetailsValueListEntry object.
1947
1948  Fields:
1949    code: The status code, which should be an enum value of google.rpc.Code.
1950    details: A list of messages that carry the error details. There is a
1951      common set of message types for APIs to use.
1952    message: A developer-facing error message, which should be in English. Any
1953      user-facing error message should be localized and sent in the
1954      google.rpc.Status.details field, or localized by the client.
1955  """
1956
1957  @encoding.MapUnrecognizedFields('additionalProperties')
1958  class DetailsValueListEntry(_messages.Message):
1959    r"""A DetailsValueListEntry object.
1960
1961    Messages:
1962      AdditionalProperty: An additional property for a DetailsValueListEntry
1963        object.
1964
1965    Fields:
1966      additionalProperties: Properties of the object. Contains field @type
1967        with type URL.
1968    """
1969
1970    class AdditionalProperty(_messages.Message):
1971      r"""An additional property for a DetailsValueListEntry object.
1972
1973      Fields:
1974        key: Name of the additional property.
1975        value: A extra_types.JsonValue attribute.
1976      """
1977
1978      key = _messages.StringField(1)
1979      value = _messages.MessageField('extra_types.JsonValue', 2)
1980
1981    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
1982
1983  code = _messages.IntegerField(1, variant=_messages.Variant.INT32)
1984  details = _messages.MessageField('DetailsValueListEntry', 2, repeated=True)
1985  message = _messages.StringField(3)
1986
1987
1988class TagBinding(_messages.Message):
1989  r"""A TagBinding represents a connection between a TagValue and a cloud
1990  resource (currently project, folder, or organization). Once a TagBinding is
1991  created, the TagValue is applied to all the descendants of the cloud
1992  resource.
1993
1994  Fields:
1995    name: Output only. The name of the TagBinding. This is a String of the
1996      form: `tagBindings/{full-resource-name}/{tag-value-name}` (e.g. `tagBind
1997      ings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F123/tagValue
1998      s/456`).
1999    parent: The full resource name of the resource the TagValue is bound to.
2000      E.g. `//cloudresourcemanager.googleapis.com/projects/123`
2001    tagValue: The TagValue of the TagBinding. Must be of the form
2002      `tagValues/456`.
2003  """
2004
2005  name = _messages.StringField(1)
2006  parent = _messages.StringField(2)
2007  tagValue = _messages.StringField(3)
2008
2009
2010class TagKey(_messages.Message):
2011  r"""A TagKey, used to group a set of TagValues.
2012
2013  Fields:
2014    createTime: Output only. Creation time.
2015    description: Optional. User-assigned description of the TagKey. Must not
2016      exceed 256 characters. Read-write.
2017    etag: Optional. Entity tag which users can pass to prevent race
2018      conditions. This field is always set in server responses. See
2019      UpdateTagKeyRequest for details.
2020    name: Immutable. The resource name for a TagKey. Must be in the format
2021      `tagKeys/{tag_key_id}`, where `tag_key_id` is the generated numeric id
2022      for the TagKey.
2023    namespacedName: Output only. Immutable. Namespaced name of the TagKey.
2024    parent: Immutable. The resource name of the new TagKey's parent. Must be
2025      of the form `organizations/{org_id}`.
2026    shortName: Required. Immutable. The user friendly name for a TagKey. The
2027      short name should be unique for TagKeys within the same tag namespace.
2028      The short name must be 1-63 characters, beginning and ending with an
2029      alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_),
2030      dots (.), and alphanumerics between.
2031    updateTime: Output only. Update time.
2032  """
2033
2034  createTime = _messages.StringField(1)
2035  description = _messages.StringField(2)
2036  etag = _messages.StringField(3)
2037  name = _messages.StringField(4)
2038  namespacedName = _messages.StringField(5)
2039  parent = _messages.StringField(6)
2040  shortName = _messages.StringField(7)
2041  updateTime = _messages.StringField(8)
2042
2043
2044class TagValue(_messages.Message):
2045  r"""A TagValue is a child of a particular TagKey. This is used to group
2046  cloud resources for the purpose of controlling them using policies.
2047
2048  Fields:
2049    createTime: Output only. Creation time.
2050    description: Optional. User-assigned description of the TagValue. Must not
2051      exceed 256 characters. Read-write.
2052    etag: Optional. Entity tag which users can pass to prevent race
2053      conditions. This field is always set in server responses. See
2054      UpdateTagValueRequest for details.
2055    name: Immutable. Resource name for TagValue in the format `tagValues/456`.
2056    namespacedName: Output only. Namespaced name of the TagValue. Must be in
2057      the format `{organization_id}/{tag_key_short_name}/{short_name}`.
2058    parent: Immutable. The resource name of the new TagValue's parent TagKey.
2059      Must be of the form `tagKeys/{tag_key_id}`.
2060    shortName: Required. Immutable. User-assigned short name for TagValue. The
2061      short name should be unique for TagValues within the same parent TagKey.
2062      The short name must be 63 characters or less, beginning and ending with
2063      an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores
2064      (_), dots (.), and alphanumerics between.
2065    updateTime: Output only. Update time.
2066  """
2067
2068  createTime = _messages.StringField(1)
2069  description = _messages.StringField(2)
2070  etag = _messages.StringField(3)
2071  name = _messages.StringField(4)
2072  namespacedName = _messages.StringField(5)
2073  parent = _messages.StringField(6)
2074  shortName = _messages.StringField(7)
2075  updateTime = _messages.StringField(8)
2076
2077
2078class TestIamPermissionsRequest(_messages.Message):
2079  r"""Request message for `TestIamPermissions` method.
2080
2081  Fields:
2082    permissions: The set of permissions to check for the `resource`.
2083      Permissions with wildcards (such as '*' or 'storage.*') are not allowed.
2084      For more information see [IAM
2085      Overview](https://cloud.google.com/iam/docs/overview#permissions).
2086  """
2087
2088  permissions = _messages.StringField(1, repeated=True)
2089
2090
2091class TestIamPermissionsResponse(_messages.Message):
2092  r"""Response message for `TestIamPermissions` method.
2093
2094  Fields:
2095    permissions: A subset of `TestPermissionsRequest.permissions` that the
2096      caller is allowed.
2097  """
2098
2099  permissions = _messages.StringField(1, repeated=True)
2100
2101
2102class UndeleteFolderMetadata(_messages.Message):
2103  r"""A status object which is used as the `metadata` field for the Operation
2104  returned by UndeleteFolder.
2105  """
2106
2107
2108
2109class UndeleteFolderRequest(_messages.Message):
2110  r"""The UndeleteFolder request message.
2111
2112  Fields:
2113    etag: The etag known to the client for the expected state of the Folder.
2114      This is to be used for optimistic concurrency.
2115    validateOnly: True to perform validations necessary for undeletion, but
2116      not actually perform the action.
2117  """
2118
2119  etag = _messages.StringField(1)
2120  validateOnly = _messages.BooleanField(2)
2121
2122
2123class UndeleteOrganizationMetadata(_messages.Message):
2124  r"""A status object which is used as the `metadata` field for the Operation
2125  returned by UndeleteOrganization.
2126  """
2127
2128
2129
2130class UndeleteProjectMetadata(_messages.Message):
2131  r"""A status object which is used as the `metadata` field for the Operation
2132  returned by UndeleteProject.
2133  """
2134
2135
2136
2137class UndeleteProjectRequest(_messages.Message):
2138  r"""The request sent to the UndeleteProject method.
2139
2140  Fields:
2141    etag: Optional. The etag known to the client for the expected state of the
2142      Project. This is to be used for optimistic concurrency.
2143    validateOnly: Optional. True to perform validations necessary for
2144      undeletion, but not actually perform the action.
2145  """
2146
2147  etag = _messages.StringField(1)
2148  validateOnly = _messages.BooleanField(2)
2149
2150
2151class UpdateFolderMetadata(_messages.Message):
2152  r"""A status object which is used as the `metadata` field for the Operation
2153  returned by UpdateFolder.
2154  """
2155
2156
2157
2158class UpdateProjectMetadata(_messages.Message):
2159  r"""A status object which is used as the `metadata` field for the Operation
2160  returned by UpdateProject.
2161  """
2162
2163
2164
2165class UpdateTagKeyMetadata(_messages.Message):
2166  r"""Runtime operation information for updating a TagKey."""
2167
2168
2169class UpdateTagValueMetadata(_messages.Message):
2170  r"""Runtime operation information for updating a TagValue."""
2171
2172
2173encoding.AddCustomJsonFieldMapping(
2174    StandardQueryParameters, 'f__xgafv', '$.xgafv')
2175encoding.AddCustomJsonEnumMapping(
2176    StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1')
2177encoding.AddCustomJsonEnumMapping(
2178    StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2')
2179