"""Generated message classes for auditmanager version v1alpha.

The Audit Manager API allows customers to manage compliance audits.
"""
# NOTE: This file is autogenerated and should not be edited by hand.

from apitools.base.protorpclite import messages as _messages
from apitools.base.py import encoding
from apitools.base.py import extra_types


package = 'auditmanager'


class AuditReport(_messages.Message):
  r"""An audit report.

  Enums:
    ReportGenerationStateValueValuesEnum: Output only. State of audit report
      generation.

  Fields:
    complianceFramework: Output only. Compliance framework to use for the
      audit report. For example, `CIS_GCP_FOUNDATIONS_V1_2_0`.
    complianceStandard: Output only. Deprecated. Compliance standard to be
      audited against. Use the `compliance_framework` field instead.
    controlDetails: Output only. Overall status of the controls.
    createTime: Output only. Creation time of the audit report.
    destinationDetails: Output only. Cloud Storage bucket where the audit
      report is uploaded to.
    name: Identifier. Name of the audit report, in one of the following
      formats: *
      `projects/{project}/locations/{location}/auditReports/{audit_report}` *
      `folders/{folder}/locations/{location}/auditReports/{audit_report}` * `o
      rganizations/{organization}/locations/{location}/auditReports/{audit_rep
      ort}`
    operationId: Output only. Client operation ID for the audit report.
    reportGenerationState: Output only. State of audit report generation.
    reportSummary: Output only. Report summary that includes information about
      compliance and violation counts.
    scope: Output only. Organization, folder, or project that the report is
      generated for, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
    scopeId: Output only. Project number, folder ID, or organization ID that
      the audit report was generated for.
  """

  class ReportGenerationStateValueValuesEnum(_messages.Enum):
    r"""Output only. State of audit report generation.

    Values:
      REPORT_GENERATION_STATE_UNSPECIFIED: Default value. This value is
        unused.
      IN_PROGRESS: The process is in progress. The operation can have any
        state except for `OPERATION_STATE_DONE` or `OPERATION_STATE_FAILED`.
      COMPLETED: The process is completed. The operation state is
        `OPERATION_STATE_DONE`.
      FAILED: The process has failed. The operation state is
        `OPERATION_STATE_FAILED`.
      SUMMARY_UNKNOWN: The process completed, but the report summary's status
        is unknown. This state isn't used for new reports.
    """
    REPORT_GENERATION_STATE_UNSPECIFIED = 0
    IN_PROGRESS = 1
    COMPLETED = 2
    FAILED = 3
    SUMMARY_UNKNOWN = 4

  complianceFramework = _messages.StringField(1)
  complianceStandard = _messages.StringField(2)
  controlDetails = _messages.MessageField('ControlDetails', 3, repeated=True)
  createTime = _messages.StringField(4)
  destinationDetails = _messages.MessageField('DestinationDetails', 5)
  name = _messages.StringField(6)
  operationId = _messages.StringField(7)
  reportGenerationState = _messages.EnumField('ReportGenerationStateValueValuesEnum', 8)
  reportSummary = _messages.MessageField('ReportSummary', 9)
  scope = _messages.StringField(10)
  scopeId = _messages.StringField(11)


class AuditScopeReport(_messages.Message):
  r"""Audit scope report.

  Fields:
    name: Identifier. Name for the audit scope report, in one of the following
      formats: * `projects/{project}/locations/{location}/auditScopeReports/{a
      udit_scope_report}` * `folders/{folder}/locations/{location}/auditScopeR
      eports/{audit_scope_report}` * `organizations/{organization}/locations/{
      location}/auditScopeReports/{audit_scope_report}`
    scopeReportContents: Audit scope report content in byte format.
  """

  name = _messages.StringField(1)
  scopeReportContents = _messages.BytesField(2)


class AuditmanagerFoldersLocationsAuditReportsGenerateRequest(_messages.Message):
  r"""A AuditmanagerFoldersLocationsAuditReportsGenerateRequest object.

  Fields:
    generateAuditReportRequest: A GenerateAuditReportRequest resource to be
      passed as the request body.
    scope: Required. Organization, folder, or project that the audit applies
      to, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  generateAuditReportRequest = _messages.MessageField('GenerateAuditReportRequest', 1)
  scope = _messages.StringField(2, required=True)


class AuditmanagerFoldersLocationsAuditReportsGetRequest(_messages.Message):
  r"""A AuditmanagerFoldersLocationsAuditReportsGetRequest object.

  Fields:
    name: Required. Name of the audit report, in one of the following formats:
      * `projects/{project}/locations/{location}/auditReports/{audit_report}`
      * `folders/{folder}/locations/{location}/auditReports/{audit_report}` *
      `organizations/{organization}/locations/{location}/auditReports/{audit_r
      eport}`
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerFoldersLocationsAuditReportsListRequest(_messages.Message):
  r"""A AuditmanagerFoldersLocationsAuditReportsListRequest object.

  Fields:
    pageSize: Optional. Maximum number of items to return in a single page.
      The service might return fewer items than this value. If unspecified,
      the service picks an appropriate default. The maximum value is 100;
      values above 100 are reduced to 100.
    pageToken: Optional. A page token, received from a previous call, to
      retrieve the next page of results.
    parent: Required. Parent organization, folder, or project to list reports
      for, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class AuditmanagerFoldersLocationsAuditScopeReportsGenerateRequest(_messages.Message):
  r"""A AuditmanagerFoldersLocationsAuditScopeReportsGenerateRequest object.

  Fields:
    generateAuditScopeReportRequest: A GenerateAuditScopeReportRequest
      resource to be passed as the request body.
    scope: Required. Project or folder that the audit scope report is
      generated for, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  generateAuditScopeReportRequest = _messages.MessageField('GenerateAuditScopeReportRequest', 1)
  scope = _messages.StringField(2, required=True)


class AuditmanagerFoldersLocationsEnrollResourceRequest(_messages.Message):
  r"""A AuditmanagerFoldersLocationsEnrollResourceRequest object.

  Fields:
    enrollResourceRequest: A EnrollResourceRequest resource to be passed as
      the request body.
    scope: Required. Organization, folder, or project to enroll in Audit
      Manager, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  enrollResourceRequest = _messages.MessageField('EnrollResourceRequest', 1)
  scope = _messages.StringField(2, required=True)


class AuditmanagerFoldersLocationsOperationDetailsGetRequest(_messages.Message):
  r"""A AuditmanagerFoldersLocationsOperationDetailsGetRequest object.

  Fields:
    name: The name of the operation resource.
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerFoldersLocationsOperationIdsGetRequest(_messages.Message):
  r"""A AuditmanagerFoldersLocationsOperationIdsGetRequest object.

  Fields:
    name: The name of the operation resource.
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerFoldersLocationsResourceEnrollmentStatusesGetRequest(_messages.Message):
  r"""A AuditmanagerFoldersLocationsResourceEnrollmentStatusesGetRequest
  object.

  Fields:
    name: Required. Name of the resource enrollment status, in one of the
      following formats: * `folders/{folder}/locations/{location}/resourceEnro
      llmentStatuses/{resource_enrollment_status}` * `projects/{project}/locat
      ions/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`
      * `organizations/{organization}/locations/{location}/resourceEnrollmentS
      tatuses/{resource_enrollment_status}`
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerFoldersLocationsResourceEnrollmentStatusesListRequest(_messages.Message):
  r"""A AuditmanagerFoldersLocationsResourceEnrollmentStatusesListRequest
  object.

  Fields:
    pageSize: Optional. Maximum number of items to return in a single page.
      The service might return fewer items than this value. If unspecified,
      the service picks an appropriate default. The maximum value is 100;
      values above 100 are reduced to 100.
    pageToken: Optional. A page token, received from a previous call, to
      retrieve the next page of results.
    parent: Required. Parent organization or folder to list enrollment
      statuses for, in one of the following formats: *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class AuditmanagerFoldersLocationsStandardsControlsListRequest(_messages.Message):
  r"""A AuditmanagerFoldersLocationsStandardsControlsListRequest object.

  Fields:
    pageSize: Optional. Maximum number of items to return in a single page.
      The service might return fewer items than this value. If unspecified,
      the service picks an appropriate default. The maximum value is 100;
      values above 100 are reduced to 100.
    pageToken: Optional. A page token, received from a previous call, to
      retrieve the next page of results.
    parent: Required. Standard to list controls for, in one of the following
      formats: *
      `projects/{project}/locations/{location}/standards/{standard}` *
      `folders/{folder}/locations/{location}/standards/{standard}` *
      `organizations/{organization}/locations/{location}/standards/{standard}`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class AuditmanagerOrganizationsLocationsAuditReportsGenerateRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsAuditReportsGenerateRequest object.

  Fields:
    generateAuditReportRequest: A GenerateAuditReportRequest resource to be
      passed as the request body.
    scope: Required. Organization, folder, or project that the audit applies
      to, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  generateAuditReportRequest = _messages.MessageField('GenerateAuditReportRequest', 1)
  scope = _messages.StringField(2, required=True)


class AuditmanagerOrganizationsLocationsAuditReportsGetRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsAuditReportsGetRequest object.

  Fields:
    name: Required. Name of the audit report, in one of the following formats:
      * `projects/{project}/locations/{location}/auditReports/{audit_report}`
      * `folders/{folder}/locations/{location}/auditReports/{audit_report}` *
      `organizations/{organization}/locations/{location}/auditReports/{audit_r
      eport}`
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerOrganizationsLocationsAuditReportsListRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsAuditReportsListRequest object.

  Fields:
    pageSize: Optional. Maximum number of items to return in a single page.
      The service might return fewer items than this value. If unspecified,
      the service picks an appropriate default. The maximum value is 100;
      values above 100 are reduced to 100.
    pageToken: Optional. A page token, received from a previous call, to
      retrieve the next page of results.
    parent: Required. Parent organization, folder, or project to list reports
      for, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class AuditmanagerOrganizationsLocationsAuditScopeReportsGenerateRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsAuditScopeReportsGenerateRequest
  object.

  Fields:
    generateAuditScopeReportRequest: A GenerateAuditScopeReportRequest
      resource to be passed as the request body.
    scope: Required. Project or folder that the audit scope report is
      generated for, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  generateAuditScopeReportRequest = _messages.MessageField('GenerateAuditScopeReportRequest', 1)
  scope = _messages.StringField(2, required=True)


class AuditmanagerOrganizationsLocationsEnrollResourceRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsEnrollResourceRequest object.

  Fields:
    enrollResourceRequest: A EnrollResourceRequest resource to be passed as
      the request body.
    scope: Required. Organization, folder, or project to enroll in Audit
      Manager, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  enrollResourceRequest = _messages.MessageField('EnrollResourceRequest', 1)
  scope = _messages.StringField(2, required=True)


class AuditmanagerOrganizationsLocationsOperationDetailsGetRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsOperationDetailsGetRequest object.

  Fields:
    name: The name of the operation resource.
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerOrganizationsLocationsOperationIdsGetRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsOperationIdsGetRequest object.

  Fields:
    name: The name of the operation resource.
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerOrganizationsLocationsOperationsCancelRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsOperationsCancelRequest object.

  Fields:
    cancelOperationRequest: A CancelOperationRequest resource to be passed as
      the request body.
    name: The name of the operation resource to be cancelled.
  """

  cancelOperationRequest = _messages.MessageField('CancelOperationRequest', 1)
  name = _messages.StringField(2, required=True)


class AuditmanagerOrganizationsLocationsOperationsDeleteRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsOperationsDeleteRequest object.

  Fields:
    name: The name of the operation resource to be deleted.
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerOrganizationsLocationsOperationsGetRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsOperationsGetRequest object.

  Fields:
    name: The name of the operation resource.
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerOrganizationsLocationsOperationsListRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsOperationsListRequest object.

  Fields:
    filter: The standard list filter.
    name: The name of the operation's parent resource.
    pageSize: The standard list page size.
    pageToken: The standard list page token.
    returnPartialSuccess: When set to `true`, operations that are reachable
      are returned as normal, and those that are unreachable are returned in
      the ListOperationsResponse.unreachable field. This can only be `true`
      when reading across collections. For example, when `parent` is set to
      `"projects/example/locations/-"`. This field is not supported by default
      and will result in an `UNIMPLEMENTED` error if set unless explicitly
      documented otherwise in service or product specific documentation.
  """

  filter = _messages.StringField(1)
  name = _messages.StringField(2, required=True)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)
  returnPartialSuccess = _messages.BooleanField(5)


class AuditmanagerOrganizationsLocationsResourceEnrollmentStatusesGetRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsResourceEnrollmentStatusesGetRequest
  object.

  Fields:
    name: Required. Name of the resource enrollment status, in one of the
      following formats: * `folders/{folder}/locations/{location}/resourceEnro
      llmentStatuses/{resource_enrollment_status}` * `projects/{project}/locat
      ions/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`
      * `organizations/{organization}/locations/{location}/resourceEnrollmentS
      tatuses/{resource_enrollment_status}`
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerOrganizationsLocationsResourceEnrollmentStatusesListRequest(_messages.Message):
  r"""A
  AuditmanagerOrganizationsLocationsResourceEnrollmentStatusesListRequest
  object.

  Fields:
    pageSize: Optional. Maximum number of items to return in a single page.
      The service might return fewer items than this value. If unspecified,
      the service picks an appropriate default. The maximum value is 100;
      values above 100 are reduced to 100.
    pageToken: Optional. A page token, received from a previous call, to
      retrieve the next page of results.
    parent: Required. Parent organization or folder to list enrollment
      statuses for, in one of the following formats: *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class AuditmanagerOrganizationsLocationsStandardsControlsListRequest(_messages.Message):
  r"""A AuditmanagerOrganizationsLocationsStandardsControlsListRequest object.

  Fields:
    pageSize: Optional. Maximum number of items to return in a single page.
      The service might return fewer items than this value. If unspecified,
      the service picks an appropriate default. The maximum value is 100;
      values above 100 are reduced to 100.
    pageToken: Optional. A page token, received from a previous call, to
      retrieve the next page of results.
    parent: Required. Standard to list controls for, in one of the following
      formats: *
      `projects/{project}/locations/{location}/standards/{standard}` *
      `folders/{folder}/locations/{location}/standards/{standard}` *
      `organizations/{organization}/locations/{location}/standards/{standard}`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class AuditmanagerProjectsLocationsAuditReportsGenerateRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsAuditReportsGenerateRequest object.

  Fields:
    generateAuditReportRequest: A GenerateAuditReportRequest resource to be
      passed as the request body.
    scope: Required. Organization, folder, or project that the audit applies
      to, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  generateAuditReportRequest = _messages.MessageField('GenerateAuditReportRequest', 1)
  scope = _messages.StringField(2, required=True)


class AuditmanagerProjectsLocationsAuditReportsGetRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsAuditReportsGetRequest object.

  Fields:
    name: Required. Name of the audit report, in one of the following formats:
      * `projects/{project}/locations/{location}/auditReports/{audit_report}`
      * `folders/{folder}/locations/{location}/auditReports/{audit_report}` *
      `organizations/{organization}/locations/{location}/auditReports/{audit_r
      eport}`
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerProjectsLocationsAuditReportsListRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsAuditReportsListRequest object.

  Fields:
    pageSize: Optional. Maximum number of items to return in a single page.
      The service might return fewer items than this value. If unspecified,
      the service picks an appropriate default. The maximum value is 100;
      values above 100 are reduced to 100.
    pageToken: Optional. A page token, received from a previous call, to
      retrieve the next page of results.
    parent: Required. Parent organization, folder, or project to list reports
      for, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class AuditmanagerProjectsLocationsAuditScopeReportsGenerateRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsAuditScopeReportsGenerateRequest object.

  Fields:
    generateAuditScopeReportRequest: A GenerateAuditScopeReportRequest
      resource to be passed as the request body.
    scope: Required. Project or folder that the audit scope report is
      generated for, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  generateAuditScopeReportRequest = _messages.MessageField('GenerateAuditScopeReportRequest', 1)
  scope = _messages.StringField(2, required=True)


class AuditmanagerProjectsLocationsEnrollResourceRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsEnrollResourceRequest object.

  Fields:
    enrollResourceRequest: A EnrollResourceRequest resource to be passed as
      the request body.
    scope: Required. Organization, folder, or project to enroll in Audit
      Manager, in one of the following formats: *
      `projects/{project}/locations/{location}` *
      `folders/{folder}/locations/{location}` *
      `organizations/{organization}/locations/{location}`
  """

  enrollResourceRequest = _messages.MessageField('EnrollResourceRequest', 1)
  scope = _messages.StringField(2, required=True)


class AuditmanagerProjectsLocationsGetRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsGetRequest object.

  Fields:
    name: Resource name for the location.
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerProjectsLocationsListRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsListRequest object.

  Fields:
    extraLocationTypes: Optional. Do not use this field unless explicitly
      documented otherwise. This is primarily for internal usage.
    filter: A filter to narrow down results to a preferred subset. The
      filtering language accepts strings like `"displayName=tokyo"`, and is
      documented in more detail in [AIP-160](https://google.aip.dev/160).
    name: The resource that owns the locations collection, if applicable.
    pageSize: The maximum number of results to return. If not set, the service
      selects a default.
    pageToken: A page token received from the `next_page_token` field in the
      response. Send that page token to receive the subsequent page.
  """

  extraLocationTypes = _messages.StringField(1, repeated=True)
  filter = _messages.StringField(2)
  name = _messages.StringField(3, required=True)
  pageSize = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(5)


class AuditmanagerProjectsLocationsOperationDetailsGetRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsOperationDetailsGetRequest object.

  Fields:
    name: The name of the operation resource.
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerProjectsLocationsOperationIdsGetRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsOperationIdsGetRequest object.

  Fields:
    name: The name of the operation resource.
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerProjectsLocationsOperationsCancelRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsOperationsCancelRequest object.

  Fields:
    cancelOperationRequest: A CancelOperationRequest resource to be passed as
      the request body.
    name: The name of the operation resource to be cancelled.
  """

  cancelOperationRequest = _messages.MessageField('CancelOperationRequest', 1)
  name = _messages.StringField(2, required=True)


class AuditmanagerProjectsLocationsOperationsDeleteRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsOperationsDeleteRequest object.

  Fields:
    name: The name of the operation resource to be deleted.
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerProjectsLocationsOperationsGetRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsOperationsGetRequest object.

  Fields:
    name: The name of the operation resource.
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerProjectsLocationsOperationsListRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsOperationsListRequest object.

  Fields:
    filter: The standard list filter.
    name: The name of the operation's parent resource.
    pageSize: The standard list page size.
    pageToken: The standard list page token.
    returnPartialSuccess: When set to `true`, operations that are reachable
      are returned as normal, and those that are unreachable are returned in
      the ListOperationsResponse.unreachable field. This can only be `true`
      when reading across collections. For example, when `parent` is set to
      `"projects/example/locations/-"`. This field is not supported by default
      and will result in an `UNIMPLEMENTED` error if set unless explicitly
      documented otherwise in service or product specific documentation.
  """

  filter = _messages.StringField(1)
  name = _messages.StringField(2, required=True)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)
  returnPartialSuccess = _messages.BooleanField(5)


class AuditmanagerProjectsLocationsResourceEnrollmentStatusesGetRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsResourceEnrollmentStatusesGetRequest
  object.

  Fields:
    name: Required. Name of the resource enrollment status, in one of the
      following formats: * `folders/{folder}/locations/{location}/resourceEnro
      llmentStatuses/{resource_enrollment_status}` * `projects/{project}/locat
      ions/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`
      * `organizations/{organization}/locations/{location}/resourceEnrollmentS
      tatuses/{resource_enrollment_status}`
  """

  name = _messages.StringField(1, required=True)


class AuditmanagerProjectsLocationsStandardsControlsListRequest(_messages.Message):
  r"""A AuditmanagerProjectsLocationsStandardsControlsListRequest object.

  Fields:
    pageSize: Optional. Maximum number of items to return in a single page.
      The service might return fewer items than this value. If unspecified,
      the service picks an appropriate default. The maximum value is 100;
      values above 100 are reduced to 100.
    pageToken: Optional. A page token, received from a previous call, to
      retrieve the next page of results.
    parent: Required. Standard to list controls for, in one of the following
      formats: *
      `projects/{project}/locations/{location}/standards/{standard}` *
      `folders/{folder}/locations/{location}/standards/{standard}` *
      `organizations/{organization}/locations/{location}/standards/{standard}`
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class CancelOperationRequest(_messages.Message):
  r"""The request message for Operations.CancelOperation."""


class Control(_messages.Message):
  r"""A control.

  Enums:
    FamilyValueValuesEnum: Output only. Category that the control belongs to.

  Fields:
    controlFamily: Output only. Regulatory family of the control.
    customerResponsibilityDescription: Output only. A description of your
      responsibility for this control.
    customerResponsibilityImplementation: Output only. A description of how
      you can implement your responsibility for this control.
    description: Output only. Description of the control.
    displayName: Output only. Display name of the control.
    family: Output only. Category that the control belongs to.
    googleResponsibilityDescription: Output only. A description of Google's
      responsibility for this control.
    googleResponsibilityImplementation: Output only. A description of how
      Google implements its responsibility for this control.
    id: Output only. Control identifier that's used to fetch the findings. The
      identifier is the same as the control report name.
    responsibilityType: Output only. Who is responsible for implementing this
      control. Set to one of the following values: `GOOGLE`, `CUSTOMER`, or
      `SHARED`.
  """

  class FamilyValueValuesEnum(_messages.Enum):
    r"""Output only. Category that the control belongs to.

    Values:
      FAMILY_UNSPECIFIED: Default value. This value is unused.
      AC: Access control.
      AT: Awareness and training.
      AU: Audit and accountability.
      CA: Certification, accreditation and security assessments.
      CM: Configuration management and change control.
      CP: Contingency planning and disaster recovery.
      IA: Identification and authentication.
      IR: Incident response.
      MA: Maintenance.
      MP: Media protection.
      PE: Physical and environmental protection.
      PL: Security planning.
      PS: Personnel security.
      RA: Risk assessment.
      SA: System services and acquisition.
      SC: System and communications protection.
      SI: System and information integrity.
      SR: Supply chain risk management.
    """
    FAMILY_UNSPECIFIED = 0
    AC = 1
    AT = 2
    AU = 3
    CA = 4
    CM = 5
    CP = 6
    IA = 7
    IR = 8
    MA = 9
    MP = 10
    PE = 11
    PL = 12
    PS = 13
    RA = 14
    SA = 15
    SC = 16
    SI = 17
    SR = 18

  controlFamily = _messages.MessageField('ControlFamily', 1)
  customerResponsibilityDescription = _messages.StringField(2)
  customerResponsibilityImplementation = _messages.StringField(3)
  description = _messages.StringField(4)
  displayName = _messages.StringField(5)
  family = _messages.EnumField('FamilyValueValuesEnum', 6)
  googleResponsibilityDescription = _messages.StringField(7)
  googleResponsibilityImplementation = _messages.StringField(8)
  id = _messages.StringField(9)
  responsibilityType = _messages.StringField(10)


class ControlDetails(_messages.Message):
  r"""Evaluation details for a control.

  Enums:
    ComplianceStateValueValuesEnum: Output only. Overall status of the
      findings for the control.

  Fields:
    complianceState: Output only. Overall status of the findings for the
      control.
    control: Control that the findings are being reported for.
    controlReportSummary: A control report summary that provides a high-level
      overview of the compliance controls and the assessment status.
  """

  class ComplianceStateValueValuesEnum(_messages.Enum):
    r"""Output only. Overall status of the findings for the control.

    Values:
      COMPLIANCE_STATE_UNSPECIFIED: Default value. This value is unused.
      COMPLIANT: The resource is compliant.
      VIOLATION: The resource isn't compliant.
      MANUAL_REVIEW_NEEDED: You must complete a manual review.
      ERROR: An error was encountered during the evaluation or evidence
        gathering process.
      AUDIT_NOT_SUPPORTED: The resource can't be audited.
    """
    COMPLIANCE_STATE_UNSPECIFIED = 0
    COMPLIANT = 1
    VIOLATION = 2
    MANUAL_REVIEW_NEEDED = 3
    ERROR = 4
    AUDIT_NOT_SUPPORTED = 5

  complianceState = _messages.EnumField('ComplianceStateValueValuesEnum', 1)
  control = _messages.MessageField('Control', 2)
  controlReportSummary = _messages.MessageField('ReportSummary', 3)


class ControlFamily(_messages.Message):
  r"""Regulatory family of the control.

  Fields:
    displayName: Display name of the regulatory control family.
    familyId: ID of the regulatory control family. To find the list of
      supported control families, use the ListControls method and review the
      `control_family` field in the response.
  """

  displayName = _messages.StringField(1)
  familyId = _messages.StringField(2)


class DestinationDetails(_messages.Message):
  r"""Cloud Storage bucket where the audit report is uploaded to.

  Fields:
    gcsBucketUri: URI for the Cloud Storage bucket, in the format
      `gs://{bucket_name}`.
  """

  gcsBucketUri = _messages.StringField(1)


class EligibleDestination(_messages.Message):
  r"""Details about the bucket where you want to upload the audit report.

  Fields:
    eligibleGcsBucket: The location of the Cloud Storage bucket where you want
      to upload the audit report and evidence during the GenerateAuditReport
      API call.
  """

  eligibleGcsBucket = _messages.StringField(1)


class Empty(_messages.Message):
  r"""A generic empty message that you can re-use to avoid defining duplicated
  empty messages in your APIs. A typical example is to use it as the request
  or the response type of an API method. For instance: service Foo { rpc
  Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  """



class EnrollResourceRequest(_messages.Message):
  r"""Request message for EnrollResource.

  Fields:
    destinations: Required. Cloud Storage buckets that you can upload your
      audit reports to during the audit process. When you enroll an
      organization or folder, you can choose a Cloud Storage bucket from any
      project in the organization or folder. If you run an audit at the
      project level using the service agent at the organization or folder
      level, all the buckets that are associated with the service agent are
      available.
  """

  destinations = _messages.MessageField('EligibleDestination', 1, repeated=True)


class Enrollment(_messages.Message):
  r"""Organization, folder, or project to enroll for audit reports.

  Fields:
    destinationDetails: Output only. Cloud Storage buckets where you want to
      upload the audit reports.
    name: Identifier. Name of the enrollment, in one of the following formats:
      * `projects/{project}/locations/{location}/enrollments/{enrollment}` *
      `folders/{folder}/locations/{location}/enrollments/{enrollment}` * `orga
      nizations/{organization}/locations/{location}/enrollments/{enrollment}`
  """

  destinationDetails = _messages.MessageField('DestinationDetails', 1, repeated=True)
  name = _messages.StringField(2)


class GenerateAuditReportRequest(_messages.Message):
  r"""Request message for GenerateAuditReport.

  Enums:
    ReportFormatValueValuesEnum: Required. Format for the audit report.

  Fields:
    complianceFramework: Required. The framework that's used for the audit
      report. For example, `NIST_800_53`.
    complianceStandard: Optional. Deprecated. Compliance standard for the
      audit report. Use the `compliance_framework` field instead.
    gcsUri: URL for the Cloud Storage bucket where the report and evidence is
      uploaded. You must select a bucket that was provided during the
      enrollment process.
    reportFormat: Required. Format for the audit report.
  """

  class ReportFormatValueValuesEnum(_messages.Enum):
    r"""Required. Format for the audit report.

    Values:
      AUDIT_REPORT_FORMAT_UNSPECIFIED: Default value. This value is unused.
      AUDIT_REPORT_FORMAT_ODF: Open Document format.
    """
    AUDIT_REPORT_FORMAT_UNSPECIFIED = 0
    AUDIT_REPORT_FORMAT_ODF = 1

  complianceFramework = _messages.StringField(1)
  complianceStandard = _messages.StringField(2)
  gcsUri = _messages.StringField(3)
  reportFormat = _messages.EnumField('ReportFormatValueValuesEnum', 4)


class GenerateAuditScopeReportRequest(_messages.Message):
  r"""Request message for GenerateAuditScopeReport.

  Enums:
    ReportFormatValueValuesEnum: Required. Format for the audit scope report.

  Fields:
    complianceFramework: Required. Framework (set of controls) that the audit
      scope report is generated against. For example, `NIST_800_53`.
    complianceStandard: Optional. Deprecated. The standard (industry or
      regulatory requirements) that the audit scope report is run against. Use
      the `compliance_framework` field instead.
    reportFormat: Required. Format for the audit scope report.
  """

  class ReportFormatValueValuesEnum(_messages.Enum):
    r"""Required. Format for the audit scope report.

    Values:
      AUDIT_SCOPE_REPORT_FORMAT_UNSPECIFIED: Default value. This value is
        unused.
      AUDIT_SCOPE_REPORT_FORMAT_ODF: Open Document format.
    """
    AUDIT_SCOPE_REPORT_FORMAT_UNSPECIFIED = 0
    AUDIT_SCOPE_REPORT_FORMAT_ODF = 1

  complianceFramework = _messages.StringField(1)
  complianceStandard = _messages.StringField(2)
  reportFormat = _messages.EnumField('ReportFormatValueValuesEnum', 3)


class ListAuditReportsResponse(_messages.Message):
  r"""Response message for ListAuditReports.

  Fields:
    auditReports: Output only. Audit reports.
    nextPageToken: Output only. A token that you can send as the `page_token`
      in a subsequent request to retrieve the next page of results. If this
      field is empty, there are no subsequent pages.
  """

  auditReports = _messages.MessageField('AuditReport', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListControlsResponse(_messages.Message):
  r"""Response message for ListControls.

  Fields:
    controls: Output only. Controls for a given regulatory standard.
    nextPageToken: Output only. A token that you can send as the `page_token`
      in a subsequent request to retrieve the next page of results. If this
      field is empty, there are no subsequent pages.
  """

  controls = _messages.MessageField('Control', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListLocationsResponse(_messages.Message):
  r"""The response message for Locations.ListLocations.

  Fields:
    locations: A list of locations that matches the specified filter in the
      request.
    nextPageToken: The standard List next-page token.
  """

  locations = _messages.MessageField('Location', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListOperationsResponse(_messages.Message):
  r"""The response message for Operations.ListOperations.

  Fields:
    nextPageToken: The standard List next-page token.
    operations: A list of operations that matches the specified filter in the
      request.
    unreachable: Unordered list. Unreachable resources. Populated when the
      request sets `ListOperationsRequest.return_partial_success` and reads
      across collections. For example, when attempting to list all resources
      across all supported locations.
  """

  nextPageToken = _messages.StringField(1)
  operations = _messages.MessageField('Operation', 2, repeated=True)
  unreachable = _messages.StringField(3, repeated=True)


class ListResourceEnrollmentStatusesResponse(_messages.Message):
  r"""Response message for ListResourceEnrollmentStatuses.

  Fields:
    nextPageToken: Output only. A token that you can send as the `page_token`
      in a subsequent request to retrieve the next page of results. If this
      field is empty, there are no subsequent pages.
    resourceEnrollmentStatuses: Resources with their enrollment status.
  """

  nextPageToken = _messages.StringField(1)
  resourceEnrollmentStatuses = _messages.MessageField('ResourceEnrollmentStatus', 2, repeated=True)


class Location(_messages.Message):
  r"""A resource that represents a Google Cloud location.

  Messages:
    LabelsValue: Cross-service attributes for the location. For example
      {"cloud.googleapis.com/region": "us-east1"}
    MetadataValue: Service-specific metadata. For example the available
      capacity at the given location.

  Fields:
    displayName: The friendly name for this location, typically a nearby city
      name. For example, "Tokyo".
    labels: Cross-service attributes for the location. For example
      {"cloud.googleapis.com/region": "us-east1"}
    locationId: The canonical id for this location. For example: `"us-east1"`.
    metadata: Service-specific metadata. For example the available capacity at
      the given location.
    name: Resource name for the location, which may vary between
      implementations. For example: `"projects/example-project/locations/us-
      east1"`
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Cross-service attributes for the location. For example
    {"cloud.googleapis.com/region": "us-east1"}

    Messages:
      AdditionalProperty: An additional property for a LabelsValue object.

    Fields:
      additionalProperties: Additional properties of type LabelsValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a LabelsValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Service-specific metadata. For example the available capacity at the
    given location.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  displayName = _messages.StringField(1)
  labels = _messages.MessageField('LabelsValue', 2)
  locationId = _messages.StringField(3)
  metadata = _messages.MessageField('MetadataValue', 4)
  name = _messages.StringField(5)


class Operation(_messages.Message):
  r"""This resource represents a long-running operation that is the result of
  a network API call.

  Messages:
    MetadataValue: Service-specific metadata associated with the operation. It
      typically contains progress information and common metadata such as
      create time. Some services might not provide such metadata. Any method
      that returns a long-running operation should document the metadata type,
      if any.
    ResponseValue: The normal, successful response of the operation. If the
      original method returns no data on success, such as `Delete`, the
      response is `google.protobuf.Empty`. If the original method is standard
      `Get`/`Create`/`Update`, the response should be the resource. For other
      methods, the response should have the type `XxxResponse`, where `Xxx` is
      the original method name. For example, if the original method name is
      `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.

  Fields:
    done: If the value is `false`, it means the operation is still in
      progress. If `true`, the operation is completed, and either `error` or
      `response` is available.
    error: The error result of the operation in case of failure or
      cancellation.
    metadata: Service-specific metadata associated with the operation. It
      typically contains progress information and common metadata such as
      create time. Some services might not provide such metadata. Any method
      that returns a long-running operation should document the metadata type,
      if any.
    name: The server-assigned name, which is only unique within the same
      service that originally returns it. If you use the default HTTP mapping,
      the `name` should be a resource name ending with
      `operations/{unique_id}`.
    response: The normal, successful response of the operation. If the
      original method returns no data on success, such as `Delete`, the
      response is `google.protobuf.Empty`. If the original method is standard
      `Get`/`Create`/`Update`, the response should be the resource. For other
      methods, the response should have the type `XxxResponse`, where `Xxx` is
      the original method name. For example, if the original method name is
      `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Service-specific metadata associated with the operation. It typically
    contains progress information and common metadata such as create time.
    Some services might not provide such metadata. Any method that returns a
    long-running operation should document the metadata type, if any.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ResponseValue(_messages.Message):
    r"""The normal, successful response of the operation. If the original
    method returns no data on success, such as `Delete`, the response is
    `google.protobuf.Empty`. If the original method is standard
    `Get`/`Create`/`Update`, the response should be the resource. For other
    methods, the response should have the type `XxxResponse`, where `Xxx` is
    the original method name. For example, if the original method name is
    `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.

    Messages:
      AdditionalProperty: An additional property for a ResponseValue object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ResponseValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  done = _messages.BooleanField(1)
  error = _messages.MessageField('Status', 2)
  metadata = _messages.MessageField('MetadataValue', 3)
  name = _messages.StringField(4)
  response = _messages.MessageField('ResponseValue', 5)


class OperationMetadata(_messages.Message):
  r"""Metadata for the long-running operation.

  Fields:
    apiVersion: Output only. The API version used to start the operation. For
      example, `v1`.
    createTime: Output only. Time that the operation was created.
    endTime: Output only. Time that the operation finished running.
    requestedCancellation: Output only. Whether you requested that the
      operation be cancelled. Operations that were cancelled successfully have
      an Operation.error value with a status code Code.CANCELLED.
    statusMessage: Output only. A human-readable status of the operation, if
      any.
    target: Output only. A server-defined resource path for the target of the
      operation.
    verb: Output only. The name of the verb that was executed by the
      operation.
  """

  apiVersion = _messages.StringField(1)
  createTime = _messages.StringField(2)
  endTime = _messages.StringField(3)
  requestedCancellation = _messages.BooleanField(4)
  statusMessage = _messages.StringField(5)
  target = _messages.StringField(6)
  verb = _messages.StringField(7)


class ReportGenerationProgress(_messages.Message):
  r"""Details about the current status of the report-generation process.

  Enums:
    StateValueValuesEnum: Output only. Current state of execution for report
      generation.

  Fields:
    auditReport: Output only. Name of the audit report.
    destinationGcsBucket: Output only. Cloud Storage bucket where the audit
      report is uploaded to after the evaluation process is completed.
    evaluationPercentComplete: Progress of the evaluation process. The
      progress is defined in terms of percentage complete.
    failureReason: Output only. Reason for failure during the audit report
      generation process. This field is set only if the `OperationState`
      attribute is `OPERATION_STATE_FAILED`.
    reportGenerationPercentComplete: Report generation progress, defined in
      terms of percentage complete. Until evaluation is complete, this value
      is always `0`.
    reportUploadingPercentComplete: Report uploading progress, defined in
      terms of percentage complete. Until evaluation and report generation are
      complete, this value is always `0`.
    state: Output only. Current state of execution for report generation.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. Current state of execution for report generation.

    Values:
      OPERATION_STATE_UNSPECIFIED: Default value. This value is unused.
      OPERATION_STATE_NOT_STARTED: Audit generation process hasn't started.
      OPERATION_STATE_EVALUATION_IN_PROGRESS: Evaluation process is in
        progress.
      OPERATION_STATE_EVALUATION_DONE: Evaluation process is completed.
      OPERATION_STATE_EVIDENCE_REPORT_GENERATION_IN_PROGRESS: Report
        generation process is in progress.
      OPERATION_STATE_EVIDENCE_REPORT_GENERATION_DONE: Report generation
        process is completed.
      OPERATION_STATE_EVIDENCE_UPLOAD_IN_PROGRESS: The audit report and
        evidence are being uploaded to your bucket.
      OPERATION_STATE_DONE: The audit report and evidence are uploaded to your
        bucket.
      OPERATION_STATE_FAILED: Audit report generation process failed.
    """
    OPERATION_STATE_UNSPECIFIED = 0
    OPERATION_STATE_NOT_STARTED = 1
    OPERATION_STATE_EVALUATION_IN_PROGRESS = 2
    OPERATION_STATE_EVALUATION_DONE = 3
    OPERATION_STATE_EVIDENCE_REPORT_GENERATION_IN_PROGRESS = 4
    OPERATION_STATE_EVIDENCE_REPORT_GENERATION_DONE = 5
    OPERATION_STATE_EVIDENCE_UPLOAD_IN_PROGRESS = 6
    OPERATION_STATE_DONE = 7
    OPERATION_STATE_FAILED = 8

  auditReport = _messages.StringField(1)
  destinationGcsBucket = _messages.StringField(2)
  evaluationPercentComplete = _messages.FloatField(3)
  failureReason = _messages.StringField(4)
  reportGenerationPercentComplete = _messages.FloatField(5)
  reportUploadingPercentComplete = _messages.FloatField(6)
  state = _messages.EnumField('StateValueValuesEnum', 7)


class ReportSummary(_messages.Message):
  r"""Additional information about the number of checks that were made during
  an audit operation.

  Fields:
    compliantCount: Number of compliant checks.
    errorCount: Number of checks that can't be performed due to errors.
    manualReviewNeededCount: Number of checks that require a manual review.
    totalCount: Total number of evaluated checks.
    violationCount: Number of checks with violations.
  """

  compliantCount = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  errorCount = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  manualReviewNeededCount = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  totalCount = _messages.IntegerField(4, variant=_messages.Variant.INT32)
  violationCount = _messages.IntegerField(5, variant=_messages.Variant.INT32)


class ResourceEnrollmentStatus(_messages.Message):
  r"""An organization, folder, or project with its enrollment status.

  Enums:
    EnrollmentStateValueValuesEnum: Output only. Enrollment state of the
      organization, folder, or project.

  Fields:
    displayName: Output only. Display name for the organization, folder, or
      project.
    enrolled: Output only. Deprecated. Whether the organization, folder, or
      project is enrolled. Use `enrollment_state` instead.
    enrollment: Output only. Enrolled destination details for the
      organization, folder, or project.
    enrollmentState: Output only. Enrollment state of the organization,
      folder, or project.
    name: Identifier. Name of the resource enrollment status, in one of the
      following formats: * `folders/{folder}/locations/{location}/resourceEnro
      llmentStatuses/{resource_enrollment_status}` * `projects/{project}/locat
      ions/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`
      * `organizations/{organization}/locations/{location}/resourceEnrollmentS
      tatuses/{resource_enrollment_status}`
  """

  class EnrollmentStateValueValuesEnum(_messages.Enum):
    r"""Output only. Enrollment state of the organization, folder, or project.

    Values:
      RESOURCE_ENROLLMENT_STATE_UNSPECIFIED: Default value. This value is
        unused.
      NOT_ENROLLED: The resource isn't enrolled.
      INHERITED: The resource isn't enrolled but the parent is enrolled.
      ENROLLED: The resource is enrolled.
    """
    RESOURCE_ENROLLMENT_STATE_UNSPECIFIED = 0
    NOT_ENROLLED = 1
    INHERITED = 2
    ENROLLED = 3

  displayName = _messages.StringField(1)
  enrolled = _messages.BooleanField(2)
  enrollment = _messages.MessageField('Enrollment', 3)
  enrollmentState = _messages.EnumField('EnrollmentStateValueValuesEnum', 4)
  name = _messages.StringField(5)


class StandardQueryParameters(_messages.Message):
  r"""Query parameters accepted by all methods.

  Enums:
    FXgafvValueValuesEnum: V1 error format.
    AltValueValuesEnum: Data format for response.

  Fields:
    f__xgafv: V1 error format.
    access_token: OAuth access token.
    alt: Data format for response.
    callback: JSONP
    fields: Selector specifying which fields to include in a partial response.
    key: API key. Your API key identifies your project and provides you with
      API access, quota, and reports. Required unless you provide an OAuth 2.0
      token.
    oauth_token: OAuth 2.0 token for the current user.
    prettyPrint: Returns response with indentations and line breaks.
    quotaUser: Available to use for quota purposes for server-side
      applications. Can be any arbitrary string assigned to a user, but should
      not exceed 40 characters.
    trace: A tracing token of the form "token:<tokenid>" to include in api
      requests.
    uploadType: Legacy upload protocol for media (e.g. "media", "multipart").
    upload_protocol: Upload protocol for media (e.g. "raw", "multipart").
  """

  class AltValueValuesEnum(_messages.Enum):
    r"""Data format for response.

    Values:
      json: Responses with Content-Type of application/json
      media: Media download with context-dependent Content-Type
      proto: Responses with Content-Type of application/x-protobuf
    """
    json = 0
    media = 1
    proto = 2

  class FXgafvValueValuesEnum(_messages.Enum):
    r"""V1 error format.

    Values:
      _1: v1 error format
      _2: v2 error format
    """
    _1 = 0
    _2 = 1

  f__xgafv = _messages.EnumField('FXgafvValueValuesEnum', 1)
  access_token = _messages.StringField(2)
  alt = _messages.EnumField('AltValueValuesEnum', 3, default='json')
  callback = _messages.StringField(4)
  fields = _messages.StringField(5)
  key = _messages.StringField(6)
  oauth_token = _messages.StringField(7)
  prettyPrint = _messages.BooleanField(8, default=True)
  quotaUser = _messages.StringField(9)
  trace = _messages.StringField(10)
  uploadType = _messages.StringField(11)
  upload_protocol = _messages.StringField(12)


class Status(_messages.Message):
  r"""The `Status` type defines a logical error model that is suitable for
  different programming environments, including REST APIs and RPC APIs. It is
  used by [gRPC](https://github.com/grpc). Each `Status` message contains
  three pieces of data: error code, error message, and error details. You can
  find out more about this error model and how to work with it in the [API
  Design Guide](https://cloud.google.com/apis/design/errors).

  Messages:
    DetailsValueListEntry: A DetailsValueListEntry object.

  Fields:
    code: The status code, which should be an enum value of google.rpc.Code.
    details: A list of messages that carry the error details. There is a
      common set of message types for APIs to use.
    message: A developer-facing error message, which should be in English. Any
      user-facing error message should be localized and sent in the
      google.rpc.Status.details field, or localized by the client.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class DetailsValueListEntry(_messages.Message):
    r"""A DetailsValueListEntry object.

    Messages:
      AdditionalProperty: An additional property for a DetailsValueListEntry
        object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a DetailsValueListEntry object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  code = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  details = _messages.MessageField('DetailsValueListEntry', 2, repeated=True)
  message = _messages.StringField(3)


encoding.AddCustomJsonFieldMapping(
    StandardQueryParameters, 'f__xgafv', '$.xgafv')
encoding.AddCustomJsonEnumMapping(
    StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1')
encoding.AddCustomJsonEnumMapping(
    StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2')
