"""Generated message classes for servicehealth version v1beta.

Personalized Service Health helps you gain visibility into disruptive events
impacting Google Cloud products.
"""
# 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 = 'servicehealth'


class Artifact(_messages.Message):
  r"""Represents a report for a Google Cloud outage.

  Enums:
    CategoryValueValuesEnum: Output only. The type of artifact.

  Fields:
    category: Output only. The type of artifact.
    content: The content of the artifact.
    createTime: Output only. The time when the artifact was created.
    name: Identifier. Example name:
      `projects/123/locations/global/artifacts/647381984`. The final segment
      of the name will be the unique UUID generated for the artifact.
    updateTime: Output only. The time when the artifact was last modified.
  """

  class CategoryValueValuesEnum(_messages.Enum):
    r"""Output only. The type of artifact.

    Values:
      ARTIFACT_CATEGORY_UNSPECIFIED: Unspecified artifact type.
      ARTIFACT_CATEGORY_INCIDENT_REPORT: Represents an incident report.
    """
    ARTIFACT_CATEGORY_UNSPECIFIED = 0
    ARTIFACT_CATEGORY_INCIDENT_REPORT = 1

  category = _messages.EnumField('CategoryValueValuesEnum', 1)
  content = _messages.MessageField('Content', 2)
  createTime = _messages.StringField(3)
  name = _messages.StringField(4)
  updateTime = _messages.StringField(5)


class ArtifactInfo(_messages.Message):
  r"""Gives some general information about the artifact. This message isn't
  intended to contain the full artifact or all the metadata, it's simply
  intended to be a reference to the artifact.

  Enums:
    ArtifactCategoryValueValuesEnum: Category of the artifact.

  Fields:
    artifact: The resource name for the artifact.
    artifactCategory: Category of the artifact.
  """

  class ArtifactCategoryValueValuesEnum(_messages.Enum):
    r"""Category of the artifact.

    Values:
      ARTIFACT_CATEGORY_UNSPECIFIED: Unspecified artifact type.
      ARTIFACT_CATEGORY_INCIDENT_REPORT: Represents an incident report.
    """
    ARTIFACT_CATEGORY_UNSPECIFIED = 0
    ARTIFACT_CATEGORY_INCIDENT_REPORT = 1

  artifact = _messages.StringField(1)
  artifactCategory = _messages.EnumField('ArtifactCategoryValueValuesEnum', 2)


class Asset(_messages.Message):
  r"""Represents the asset impacted by the events.

  Fields:
    assetName: Output only. Full name of the resource as defined in [Resource
      Names](https://cloud.google.com/apis/design/resource_names#full_resource
      _name).
    assetType: Output only. Type of the asset. Example:
      `"cloudresourcemanager.googleapis.com/Project"`
  """

  assetName = _messages.StringField(1)
  assetType = _messages.StringField(2)


class Content(_messages.Message):
  r"""Represents the content of an artifact, such as an incident report for a
  service health incident.

  Fields:
    markdown: The content of an artifact in markdown.
  """

  markdown = _messages.StringField(1)


class Event(_messages.Message):
  r"""Represents service health events that may affect Google Cloud products.
  Event resource is a read-only view and does not allow any modifications. All
  fields are output only.

  Enums:
    CategoryValueValuesEnum: Output only. The category of the event.
    DetailedCategoryValueValuesEnum: The detailed category of the event.
    DetailedStateValueValuesEnum: Output only. The current detailed state of
      the incident.
    RelevanceValueValuesEnum: Output only. Communicates why a given event is
      deemed relevant in the context of a given project.
    StateValueValuesEnum: Output only. The current state of the event.

  Fields:
    artifacts: Artifacts related to this event, such as incident reports.
    category: Output only. The category of the event.
    description: Output only. Free-form, human-readable description.
    detailedCategory: The detailed category of the event.
    detailedState: Output only. The current detailed state of the incident.
    endTime: Output only. The end time of the event, if applicable.
    eventImpacts: Google Cloud products and locations impacted by the event.
    name: Output only. Identifier. Name of the event. Unique name of the event
      in this scope including project and location using the form
      `projects/{project_id}/locations/{location}/events/{event_id}`.
    nextUpdateTime: Output only. The time when the next update can be
      expected.
    parentEvent: Output only. When `detailed_state`=`MERGED`, `parent_event`
      contains the name of the parent event. All further updates will be
      published to the parent event.
    relevance: Output only. Communicates why a given event is deemed relevant
      in the context of a given project.
    startTime: Output only. The start time of the event, if applicable.
    state: Output only. The current state of the event.
    title: Output only. Brief description for the event.
    updateTime: Output only. The time when the event was last modified.
    updates: Output only. Event updates are correspondence from Google.
  """

  class CategoryValueValuesEnum(_messages.Enum):
    r"""Output only. The category of the event.

    Values:
      EVENT_CATEGORY_UNSPECIFIED: Unspecified category.
      INCIDENT: Event category for service outage or degradation.
    """
    EVENT_CATEGORY_UNSPECIFIED = 0
    INCIDENT = 1

  class DetailedCategoryValueValuesEnum(_messages.Enum):
    r"""The detailed category of the event.

    Values:
      DETAILED_CATEGORY_UNSPECIFIED: Unspecified detailed category.
      CONFIRMED_INCIDENT: Indicates an event with category INCIDENT has a
        confirmed impact to at least one Google Cloud product.
      EMERGING_INCIDENT: Indicates an event with category INCIDENT is under
        investigation to determine if it has a confirmed impact on any Google
        Cloud products.
    """
    DETAILED_CATEGORY_UNSPECIFIED = 0
    CONFIRMED_INCIDENT = 1
    EMERGING_INCIDENT = 2

  class DetailedStateValueValuesEnum(_messages.Enum):
    r"""Output only. The current detailed state of the incident.

    Values:
      DETAILED_STATE_UNSPECIFIED: Unspecified detail state.
      EMERGING: Google engineers are actively investigating the event to
        determine the impact.
      CONFIRMED: The incident is confirmed and impacting at least one Google
        Cloud product. Ongoing status updates will be provided until it is
        resolved.
      RESOLVED: The incident is no longer affecting any Google Cloud product,
        and there will be no further updates.
      MERGED: The incident was merged into a parent incident. All further
        updates will be published to the parent only. The `parent_event` field
        contains the name of the parent.
      AUTO_CLOSED: The incident was automatically closed because of the
        following reasons: * The impact of the incident could not be
        confirmed. * The incident was intermittent or resolved itself. The
        incident does not have a resolution because no action or investigation
        happened. If it is intermittent, the incident may reopen.
      FALSE_POSITIVE: Upon investigation, Google engineers concluded that the
        incident is not affecting a Google Cloud product. This state can
        change if the incident is reviewed again.
    """
    DETAILED_STATE_UNSPECIFIED = 0
    EMERGING = 1
    CONFIRMED = 2
    RESOLVED = 3
    MERGED = 4
    AUTO_CLOSED = 5
    FALSE_POSITIVE = 6

  class RelevanceValueValuesEnum(_messages.Enum):
    r"""Output only. Communicates why a given event is deemed relevant in the
    context of a given project.

    Values:
      RELEVANCE_UNSPECIFIED: Unspecified relevance.
      UNKNOWN: The relevance of the incident to the project is unknown.
      NOT_IMPACTED: The incident does not impact the project.
      PARTIALLY_RELATED: The incident is associated with a Google Cloud
        product your project uses, but the incident may not be impacting your
        project. For example, the incident may be impacting a Google Cloud
        product that your project uses, but in a location that your project
        does not use.
      RELATED: The incident has a direct connection with your project and
        impacts a Google Cloud product in a location your project uses.
      IMPACTED: The incident is verified to be impacting your project.
    """
    RELEVANCE_UNSPECIFIED = 0
    UNKNOWN = 1
    NOT_IMPACTED = 2
    PARTIALLY_RELATED = 3
    RELATED = 4
    IMPACTED = 5

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The current state of the event.

    Values:
      STATE_UNSPECIFIED: Unspecified state.
      ACTIVE: Event is actively affecting a Google Cloud product and will
        continue to receive updates.
      CLOSED: Event is no longer affecting the Google Cloud product or has
        been merged with another event.
    """
    STATE_UNSPECIFIED = 0
    ACTIVE = 1
    CLOSED = 2

  artifacts = _messages.MessageField('ArtifactInfo', 1, repeated=True)
  category = _messages.EnumField('CategoryValueValuesEnum', 2)
  description = _messages.StringField(3)
  detailedCategory = _messages.EnumField('DetailedCategoryValueValuesEnum', 4)
  detailedState = _messages.EnumField('DetailedStateValueValuesEnum', 5)
  endTime = _messages.StringField(6)
  eventImpacts = _messages.MessageField('EventImpact', 7, repeated=True)
  name = _messages.StringField(8)
  nextUpdateTime = _messages.StringField(9)
  parentEvent = _messages.StringField(10)
  relevance = _messages.EnumField('RelevanceValueValuesEnum', 11)
  startTime = _messages.StringField(12)
  state = _messages.EnumField('StateValueValuesEnum', 13)
  title = _messages.StringField(14)
  updateTime = _messages.StringField(15)
  updates = _messages.MessageField('EventUpdate', 16, repeated=True)


class EventImpact(_messages.Message):
  r"""Represents the Google Cloud products and locations impacted by the
  event.

  Fields:
    location: Location impacted by the event.
    product: Google Cloud product impacted by the event.
  """

  location = _messages.MessageField('Location', 1)
  product = _messages.MessageField('Product', 2)


class EventUpdate(_messages.Message):
  r"""Records an update made to the event.

  Fields:
    description: Output only. Free-form, human-readable description.
    symptom: Output only. Symptoms of the event, if available.
    title: Output only. Brief title for the event.
    updateTime: Output only. The time the update was posted.
    workaround: Output only. Workaround steps to remediate the event impact,
      if available.
  """

  description = _messages.StringField(1)
  symptom = _messages.StringField(2)
  title = _messages.StringField(3)
  updateTime = _messages.StringField(4)
  workaround = _messages.StringField(5)


class GoogleCloudLocationLocation(_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 Issue(_messages.Message):
  r"""Represents an internal problem with Service Health.

  Messages:
    DetailsValue: Metadata to further specify what the issue is affecting.

  Fields:
    details: Metadata to further specify what the issue is affecting.
    lastUpdateTime: The time the issue received the most recent update.
    message: Human-readable message to explain what the issue is.
    startTime: Optional. The time the issue is known to have started.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class DetailsValue(_messages.Message):
    r"""Metadata to further specify what the issue is affecting.

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

    Fields:
      additionalProperties: Properties of the object.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a DetailsValue 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)

  details = _messages.MessageField('DetailsValue', 1)
  lastUpdateTime = _messages.StringField(2)
  message = _messages.StringField(3)
  startTime = _messages.StringField(4)


class ListArtifactsResponse(_messages.Message):
  r"""Message for response to listing Artifacts.

  Fields:
    artifacts: Output only. List of artifacts.
    nextPageToken: Output only. The continuation token, used to page through
      large result sets. Provide this value in a subsequent request as
      page_token in subsequent requests to retrieve the next page. If this
      field is not present, there are no subsequent results.
    unreachable: Output only. Unordered list. Locations that could not be
      reached.
  """

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


class ListEventsResponse(_messages.Message):
  r"""Response to request for listing events.

  Fields:
    events: Output only. List of events.
    nextPageToken: Output only. The continuation token, used to page through
      large result sets. Provide this value in a subsequent request as
      page_token to retrieve the next page. If this field is not present,
      there are no subsequent results.
    unreachable: Output only. Locations that could not be reached.
  """

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


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('GoogleCloudLocationLocation', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListOrganizationEventsResponse(_messages.Message):
  r"""Response to request for listing organization events.

  Fields:
    nextPageToken: Output only. The continuation token, used to page through
      large result sets. Provide this value in a subsequent request as
      `page_token` to retrieve the next page. If this field is not present,
      there are no subsequent results.
    organizationEvents: Output only. List of organization events affecting an
      organization.
    unreachable: Output only. Locations that could not be reached.
  """

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


class ListOrganizationImpactsResponse(_messages.Message):
  r"""Response to request for listing projects under an organization affected
  by an event.

  Fields:
    nextPageToken: Output only. The continuation token, used to page through
      large result sets. Provide this value in a subsequent request as
      `page_token` to retrieve the next page. If this field is not present,
      there are no subsequent results.
    organizationImpacts: Output only. List of [impacts](/service-health/docs/r
      eference/rest/v1beta/organizations.locations.organizationImpacts#Organiz
      ationImpact) for an organization affected by service health events.
    unreachable: Output only. Locations that could not be reached.
  """

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


class Location(_messages.Message):
  r"""Represents the locations impacted by the event.

  Fields:
    locationName: Location impacted by the event. Example: `"us-central1"`
  """

  locationName = _messages.StringField(1)


class OperationMetadata(_messages.Message):
  r"""Represents the metadata of the long-running operation.

  Fields:
    apiVersion: Output only. API version used to start the operation.
    cancelRequested: Output only. Identifies whether the user has requested
      cancellation of the operation. Operations that have been cancelled
      successfully have google.longrunning.Operation.error value with a
      google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.
    createTime: Output only. The time the operation was created.
    endTime: Output only. The time the operation finished running.
    statusDetail: Output only. Human-readable status of the operation, if any.
    target: Output only. Server-defined resource path for the target of the
      operation.
    verb: Output only. Name of the verb executed by the operation.
  """

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


class OrganizationEvent(_messages.Message):
  r"""Represents service health events that may affect Google Cloud products
  used across the organization. It is a read-only view and does not allow any
  modifications.

  Enums:
    CategoryValueValuesEnum: Output only. The category of the event.
    DetailedCategoryValueValuesEnum: Output only. The detailed category of the
      event.
    DetailedStateValueValuesEnum: Output only. The current detailed state of
      the incident.
    StateValueValuesEnum: Output only. The current state of the event.

  Fields:
    category: Output only. The category of the event.
    description: Output only. Free-form, human-readable description.
    detailedCategory: Output only. The detailed category of the event.
    detailedState: Output only. The current detailed state of the incident.
    endTime: Output only. The end time of the event, if applicable.
    eventImpacts: Output only. Represents the Google Cloud products and
      locations impacted by the event.
    name: Output only. Identifier. Name of the event. Unique name of the event
      in this scope including organization ID and location using the form `org
      anizations/{organization_id}/locations/{location}/organizationEvents/{ev
      ent_id}`. `organization_id` - see [Getting your organization resource
      ID](https://cloud.google.com/resource-manager/docs/creating-managing-
      organization#retrieving_your_organization_id). `location` - The location
      to get the organization events from. `event_id` - Organization event ID
      to retrieve.
    nextUpdateTime: Output only. Incident-only field. The time when the next
      update can be expected.
    parentEvent: Output only. When `detailed_state`=`MERGED`, `parent_event`
      contains the name of the parent event. All further updates will be
      published to the parent event.
    startTime: Output only. The start time of the event, if applicable.
    state: Output only. The current state of the event.
    title: Output only. Brief description for the event.
    updateTime: Output only. The time the update was posted.
    updates: Output only. Incident-only field. Event updates are
      correspondence from Google.
  """

  class CategoryValueValuesEnum(_messages.Enum):
    r"""Output only. The category of the event.

    Values:
      EVENT_CATEGORY_UNSPECIFIED: Unspecified category.
      INCIDENT: Event category for service outage or degradation.
    """
    EVENT_CATEGORY_UNSPECIFIED = 0
    INCIDENT = 1

  class DetailedCategoryValueValuesEnum(_messages.Enum):
    r"""Output only. The detailed category of the event.

    Values:
      DETAILED_CATEGORY_UNSPECIFIED: Unspecified detailed category.
      CONFIRMED_INCIDENT: Indicates an event with category INCIDENT has a
        confirmed impact to at least one Google Cloud product.
      EMERGING_INCIDENT: Indicates an event with category INCIDENT is under
        investigation to determine if it has a confirmed impact on any Google
        Cloud products.
    """
    DETAILED_CATEGORY_UNSPECIFIED = 0
    CONFIRMED_INCIDENT = 1
    EMERGING_INCIDENT = 2

  class DetailedStateValueValuesEnum(_messages.Enum):
    r"""Output only. The current detailed state of the incident.

    Values:
      DETAILED_STATE_UNSPECIFIED: Unspecified detail state.
      EMERGING: Google engineers are actively investigating the incident to
        determine the impact.
      CONFIRMED: The incident is confirmed and impacting at least one Google
        Cloud product. Ongoing status updates will be provided until it is
        resolved.
      RESOLVED: The incident is no longer affecting any Google Cloud product,
        and there will be no further updates.
      MERGED: The incident was merged into a parent event. All further updates
        will be published to the parent only. The `parent_event` contains the
        name of the parent.
      AUTO_CLOSED: The incident was automatically closed because of the
        following reasons: * The impact of the incident could not be
        confirmed. * The incident was intermittent or resolved itself. The
        incident does not have a resolution because no action or investigation
        happened. If it is intermittent, the incident may reopen.
      FALSE_POSITIVE: Upon investigation, Google engineers concluded that the
        incident is not affecting a Google Cloud product. This state can
        change if the incident is reviewed again.
    """
    DETAILED_STATE_UNSPECIFIED = 0
    EMERGING = 1
    CONFIRMED = 2
    RESOLVED = 3
    MERGED = 4
    AUTO_CLOSED = 5
    FALSE_POSITIVE = 6

  class StateValueValuesEnum(_messages.Enum):
    r"""Output only. The current state of the event.

    Values:
      STATE_UNSPECIFIED: Unspecified state.
      ACTIVE: Event is actively affecting a Google Cloud product and will
        continue to receive updates.
      CLOSED: Event is no longer affecting the Google Cloud product or has
        been merged with another event.
    """
    STATE_UNSPECIFIED = 0
    ACTIVE = 1
    CLOSED = 2

  category = _messages.EnumField('CategoryValueValuesEnum', 1)
  description = _messages.StringField(2)
  detailedCategory = _messages.EnumField('DetailedCategoryValueValuesEnum', 3)
  detailedState = _messages.EnumField('DetailedStateValueValuesEnum', 4)
  endTime = _messages.StringField(5)
  eventImpacts = _messages.MessageField('EventImpact', 6, repeated=True)
  name = _messages.StringField(7)
  nextUpdateTime = _messages.StringField(8)
  parentEvent = _messages.StringField(9)
  startTime = _messages.StringField(10)
  state = _messages.EnumField('StateValueValuesEnum', 11)
  title = _messages.StringField(12)
  updateTime = _messages.StringField(13)
  updates = _messages.MessageField('EventUpdate', 14, repeated=True)


class OrganizationImpact(_messages.Message):
  r"""Represents impact to assets at organizational level. It is a read-only
  view and does not allow any modifications.

  Fields:
    asset: Output only. Google Cloud asset possibly impacted by the specified
      events.
    events: Output only. A list of event names impacting the asset.
    name: Output only. Identifier. Unique name of the organization impact in
      this scope including organization and location using the form `organizat
      ions/{organization_id}/locations/{location}/organizationImpacts/{organiz
      ation_impact_id}`. `organization_id` - ID (number) of the organization
      that contains the event. To get your `organization_id`, see [Getting
      your organization resource ID](https://cloud.google.com/resource-
      manager/docs/creating-managing-
      organization#retrieving_your_organization_id). `location` - The location
      of the organization impact. `organization_impact_id` - ID of the
      [OrganizationImpact resource](/service-health/docs/reference/rest/v1beta
      /organizations.locations.organizationImpacts#OrganizationImpact).
    updateTime: Output only. The time when the affected project was last
      modified.
  """

  asset = _messages.MessageField('Asset', 1)
  events = _messages.StringField(2, repeated=True)
  name = _messages.StringField(3)
  updateTime = _messages.StringField(4)


class Product(_messages.Message):
  r"""Represents the Google Cloud product impacted by the event.

  Fields:
    id: Unique identifier for the product.
    productName: Google Cloud product impacted by the event. Example: `"Google
      Cloud SQL"`
  """

  id = _messages.StringField(1)
  productName = _messages.StringField(2)


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

  Fields:
    name: Required. Name of the resource.
  """

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


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

  Fields:
    name: Required. Unique name of the event in this scope including
      organization and event ID using the form `organizations/{organization_id
      }/locations/locations/global/organizationEvents/{event_id}`.
      `organization_id` - ID (number) of the organization that contains the
      event. To get your `organization_id`, see [Getting your organization
      resource ID](https://cloud.google.com/resource-manager/docs/creating-
      managing-organization#retrieving_your_organization_id). `event_id` -
      Organization event ID to retrieve.
  """

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


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

  Enums:
    ViewValueValuesEnum: Optional. OrganizationEvent fields to include in
      response.

  Fields:
    filter: Optional. A filter expression that filters resources listed in the
      response. The expression takes the following forms: * field=value for
      `category` and `state` * field <, >, <=, or >= value for `update_time`
      Examples: `category=INCIDENT`, `update_time>=2000-01-01T11:30:00-04:00`
      Multiple filter queries are space-separated. Example: `category=INCIDENT
      state=ACTIVE`. By default, each expression is an AND expression.
      However, you can include AND and OR expressions explicitly. Filter is
      supported for the following fields: `category`, `state`, `update_time`
    pageSize: Optional. The maximum number of events that should be returned.
      Acceptable values are `1` to `100`, inclusive. (The default value is
      `10`.) If more results are available, the service returns a
      `next_page_token` that you can use to get the next page of results in
      subsequent list requests. The service may return fewer events than the
      requested `page_size`.
    pageToken: Optional. A token identifying a page of results the server
      should return. Provide Page token returned by a previous
      `ListOrganizationEvents` call to retrieve the next page of results. When
      paginating, all other parameters provided to `ListOrganizationEvents`
      must match the call that provided the page token.
    parent: Required. Parent value using the form
      `organizations/{organization_id}/locations/{location}/organizationEvents
      `. `organization_id` - ID (number) of the organization that contains the
      event. To get your `organization_id`, see [Getting your organization
      resource ID](https://cloud.google.com/resource-manager/docs/creating-
      managing-organization#retrieving_your_organization_id). `location` - The
      location to get organization events from. Set this field to `global`.
    view: Optional. OrganizationEvent fields to include in response.
  """

  class ViewValueValuesEnum(_messages.Enum):
    r"""Optional. OrganizationEvent fields to include in response.

    Values:
      ORGANIZATION_EVENT_VIEW_UNSPECIFIED: Unspecified event view. Default to
        `ORGANIZATION_EVENT_VIEW_BASIC`.
      ORGANIZATION_EVENT_VIEW_BASIC: Includes all organization event fields
        except `updates`. This view is the default for ListOrganizationEvents
        API.
      ORGANIZATION_EVENT_VIEW_FULL: Includes all organization event fields.
    """
    ORGANIZATION_EVENT_VIEW_UNSPECIFIED = 0
    ORGANIZATION_EVENT_VIEW_BASIC = 1
    ORGANIZATION_EVENT_VIEW_FULL = 2

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)
  view = _messages.EnumField('ViewValueValuesEnum', 5)


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

  Fields:
    name: Required. Name of the resource using the form `organizations/{organi
      zation_id}/locations/global/organizationImpacts/{organization_impact_id}
      `. `organization_id` - ID (number) of the organization that contains the
      event. To get your `organization_id`, see [Getting your organization
      resource ID](https://cloud.google.com/resource-manager/docs/creating-
      managing-organization#retrieving_your_organization_id).
      `organization_impact_id` - ID of the [OrganizationImpact
      resource](/service-health/docs/reference/rest/v1beta/organizations.locat
      ions.organizationImpacts#OrganizationImpact).
  """

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


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

  Fields:
    filter: Optional. A filter expression that filters resources listed in the
      response. The expression is in the form of `field:value` for checking if
      a repeated field contains a value. Example: `events:organizations%2F{org
      anization_id}%2Flocations%2Fglobal%2ForganizationEvents%2Fevent-id` To
      get your `{organization_id}`, see [Getting your organization resource
      ID](https://cloud.google.com/resource-manager/docs/creating-managing-
      organization#retrieving_your_organization_id). Multiple filter queries
      are separated by spaces. By default, each expression is an AND
      expression. However, you can include AND and OR expressions explicitly.
      Filter is supported for the following fields: `events`.
    pageSize: Optional. The maximum number of events that should be returned.
      Acceptable values are `1` to `100`, inclusive. The default value is
      `10`. If more results are available, the service returns a
      `next_page_token` that can be used to get the next page of results in
      subsequent list requests. The service may return fewer
      [impacts](/service-health/docs/reference/rest/v1beta/organizations.locat
      ions.organizationImpacts#OrganizationImpact) than the requested
      `page_size`.
    pageToken: Optional. A token identifying a page of results the server
      should return. Provide `page_token` returned by a previous
      `ListOrganizationImpacts` call to retrieve the next page of results.
      When paginating, all other parameters provided to
      `ListOrganizationImpacts` must match the call that provided the page
      token.
    parent: Required. Parent value using the form `organizations/{organization
      _id}/locations/{location}/organizationImpacts`. `organization_id` - ID
      (number) of the project that contains the event. To get your
      `organization_id`, see [Getting your organization resource
      ID](https://cloud.google.com/resource-manager/docs/creating-managing-
      organization#retrieving_your_organization_id). `location` - The location
      to get organization impacts from. Set this field to `global`.
  """

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


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

  Fields:
    name: Required. Name of the resource using the form
      `projects/{project_id}/locations/{location}/artifacts/{artifact_id}`.
      `project_id` - Project ID of the project that contains the artifact.
      `location` - The location of the event that the artifact is associated
      with. Set this field to `global`. `artifact_id` - Artifact ID to
      retrieve.
  """

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


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

  Fields:
    pageSize: Optional. The maximum number of events to return. The service
      may return fewer events than this value. If unspecified, server will
      pick an appropriate default.
    pageToken: Optional. A token identifying a page of results the server
      should return. Provide Page token returned by a previous 'ListArtifacts'
      call to retrieve the next page of results. When paginating, all other
      parameters provided to 'ListArtifacts' must match the call that provided
      the page token.
    parent: Required. Parent value for ListArtifactsRequest
      `projects/{project_id}/locations/{location_id}`. `project_id` - Project
      ID of the project that contains the artifact. `location` - The location
      to get the service health artifacts from. Set this field to `global`.
  """

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


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

  Fields:
    name: Required. Unique name of the event in this scope including project
      and location using the form
      `projects/{project_id}/locations/{location}/events/{event_id}`.
      `project_id` - Project ID of the project that contains the event.
      `location` - The location to get the service health events from. Set
      this field to `global`. `event_id` - Event ID to retrieve.
  """

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


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

  Enums:
    ViewValueValuesEnum: Optional. Event fields to include in response.

  Fields:
    filter: Optional. A filter expression that filters resources listed in the
      response. The expression takes the following forms: * field=value for
      `category` and `state` * field <, >, <=, or >= value for `update_time`
      Examples: `category=INCIDENT`,
      `update_time>="2000-01-01T11:30:00-04:00"`,
      `event_impacts.product.product_name:"Eventarc"` Multiple filter queries
      are separated by spaces. Example: `category=INCIDENT state=ACTIVE`. By
      default, each expression is an AND expression. However, you can include
      AND and OR expressions explicitly. Filter is supported for the following
      fields: `category`, `state`, `update_time`,
      `event_impacts.product.product_name`
    pageSize: Optional. The maximum number of events that should be returned.
      Acceptable values are 1 to 100, inclusive. (The default value is 10.) If
      more results are available, the service returns a next_page_token that
      you can use to get the next page of results in subsequent list requests.
      The service may return fewer events than the requested `page_size`.
    pageToken: Optional. A token identifying a page of results the server
      should return. Provide Page token returned by a previous `ListEvents`
      call to retrieve the next page of results. When paginating, all other
      parameters provided to `ListEvents` must match the call that provided
      the page token.
    parent: Required. Parent value using the form
      `projects/{project_id}/locations/{location}`. `project_id` - ID of the
      project for which to list service health events. `location` - The
      location to get service health events from. Set this field to `global`.
    view: Optional. Event fields to include in response.
  """

  class ViewValueValuesEnum(_messages.Enum):
    r"""Optional. Event fields to include in response.

    Values:
      EVENT_VIEW_UNSPECIFIED: Unspecified event view. Default to
        `EVENT_VIEW_BASIC`.
      EVENT_VIEW_BASIC: Includes all fields except `updates`. This view is the
        default for ListEvents API.
      EVENT_VIEW_FULL: Includes all event fields.
    """
    EVENT_VIEW_UNSPECIFIED = 0
    EVENT_VIEW_BASIC = 1
    EVENT_VIEW_FULL = 2

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)
  view = _messages.EnumField('ViewValueValuesEnum', 5)


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

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

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


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

  Fields:
    name: Required. Name of the resource.
  """

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


class ServicehealthProjectsLocationsListRequest(_messages.Message):
  r"""A ServicehealthProjectsLocationsListRequest 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 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"""Represents the current status of Service Health processing.

  Enums:
    StateValueValuesEnum: Represents the current state of Service Health.

  Fields:
    issues: Optional. List of issues.
    state: Represents the current state of Service Health.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""Represents the current state of Service Health.

    Values:
      STATE_UNSPECIFIED: Unspecified state.
      OK: No internal Service Health problems or degradation.
      ISSUES_DETECTED: Service Health interruptions are present.
    """
    STATE_UNSPECIFIED = 0
    OK = 1
    ISSUES_DETECTED = 2

  issues = _messages.MessageField('Issue', 1, repeated=True)
  state = _messages.EnumField('StateValueValuesEnum', 2)


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