ation = _messages.MessageField('SparkApplication', 4)
  updateMask = _messages.StringField(5)


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 GdceCluster(_messages.Message):
  r"""Gdce cluster information.

  Fields:
    gdceCluster: Required. Gdce cluster resource id.
  """

  gdceCluster = _messages.StringField(1)


class ListApplicationEnvironmentsResponse(_messages.Message):
  r"""Message for response to listing ApplicationEnvironments

  Fields:
    applicationEnvironments: The list of ApplicationEnvironment
    nextPageToken: Output only. A token identifying a page of results the
      server should return.
    unreachable: Output only. Locations that could not be reached.
  """

  applicationEnvironments = _messages.MessageField('ApplicationEnvironment', 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('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 ListServiceInstancesResponse(_messages.Message):
  r"""Message for response to listing ServiceInstances

  Fields:
    nextPageToken: A token identifying a page of results the server should
      return.
    serviceInstances: The list of ServiceInstance
    unreachable: Locations that could not be reached.
  """

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


class ListSparkApplicationsResponse(_messages.Message):
  r"""Message for response to listing SparkApplications

  Fields:
    nextPageToken: A token identifying a page of results the server should
      return.
    sparkApplications: The list of SparkApplication
    unreachable: Locations that could not be reached.
  """

  nextPageToken = _messages.StringField(1)
  sparkApplications = _messages.MessageField('SparkApplication', 2, repeated=True)
  unreachable = _messages.StringField(3, 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 MaintenancePolicy(_messages.Message):
  r"""Maintenance policy for a service instance.

  Fields:
    maintenanceWindow: Optional. The maintenance window for the service
      instance.
  """

  maintenanceWindow = _messages.MessageField('MaintenanceWindow', 1)


class MaintenanceWindow(_messages.Message):
  r"""Maintenance window for a service instance.

  Enums:
    DayOfWeekValueValuesEnum: Optional. The day of the week when maintenance
      is scheduled.

  Fields:
    dayOfWeek: Optional. The day of the week when maintenance is scheduled.
    duration: Required. Duration of the time window, set by service producer.
    startTime: Optional. Time within the window to start the operations.
  """

  class DayOfWeekValueValuesEnum(_messages.Enum):
    r"""Optional. The day of the week when maintenance is scheduled.

    Values:
      DAY_OF_WEEK_UNSPECIFIED: The day of the week is unspecified.
      MONDAY: Monday
      TUESDAY: Tuesday
      WEDNESDAY: Wednesday
      THURSDAY: Thursday
      FRIDAY: Friday
      SATURDAY: Saturday
      SUNDAY: Sunday
    """
    DAY_OF_WEEK_UNSPECIFIED = 0
    MONDAY = 1
    TUESDAY = 2
    WEDNESDAY = 3
    THURSDAY = 4
    FRIDAY = 5
    SATURDAY = 6
    SUNDAY = 7

  dayOfWeek = _messages.EnumField('DayOfWeekValueValuesEnum', 1)
  duration = _messages.StringField(2)
  startTime = _messages.MessageField('TimeOfDay', 3)


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"""Represents the metadata of the long-running operation.

  Fields:
    apiVersion: Output only. API version used to start the operation.
    createTime: Output only. The time the operation was created.
    endTime: Output only. The time the operation finished running.
    requestedCancellation: Output only. Identifies whether the user has
      requested cancellation of the operation. Operations that have been
      cancelled successfully have Operation.error value with a
      google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
    statusMessage: 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)
  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 PySparkApplicationConfig(_messages.Message):
  r"""Represents the PySparkApplicationConfig.

  Fields:
    archiveUris: Optional. HCFS URIs of archives to be extracted into the
      working directory of each executor. Supported file types: .jar, .tar,
      .tar.gz, .tgz, and .zip.
    args: Optional. The arguments to pass to the driver. Do not include
      arguments, such as `--conf`, that can be set as job properties, since a
      collision may occur that causes an incorrect job submission.
    fileUris: Optional. HCFS URIs of files to be placed in the working
      directory of each executor. Useful for naively parallel tasks.
    jarFileUris: Optional. HCFS URIs of jar files to add to the CLASSPATHs of
      the Python driver and tasks.
    mainPythonFileUri: Required. The HCFS URI of the main Python file to use
      as the driver. Must be a .py file.
    pythonFileUris: Optional. HCFS file URIs of Python files to pass to the
      PySpark framework. Supported file types: .py, .egg, and .zip.
  """

  archiveUris = _messages.StringField(1, repeated=True)
  args = _messages.StringField(2, repeated=True)
  fileUris = _messages.StringField(3, repeated=True)
  jarFileUris = _messages.StringField(4, repeated=True)
  mainPythonFileUri = _messages.StringField(5)
  pythonFileUris = _messages.StringField(6, repeated=True)


class QueryList(_messages.Message):
  r"""Represents a list of queries.

  Fields:
    queries: Required. The queries to run.
  """

  queries = _messages.StringField(1, repeated=True)


class ServiceInstance(_messages.Message):
  r"""Message describing ServiceInstance object TODO(user) add appropriate
  visibility tags to the fields of this proto.

  Enums:
    RequestedStateValueValuesEnum: Output only. The intended state to which
      the service instance is reconciling.
    StateValueValuesEnum: Output only. The current state.

  Messages:
    AnnotationsValue: Optional. The annotations to associate with this service
      instance. Annotations may be used to store client information, but are
      not used by the server.
    LabelsValue: Optional. The labels to associate with this service instance.
      Labels may be used for filtering and billing tracking.

  Fields:
    annotations: Optional. The annotations to associate with this service
      instance. Annotations may be used to store client information, but are
      not used by the server.
    auxiliaryServicesConfig: Optional. Configuration of auxiliary services
      used by this instance.
    createTime: Output only. The timestamp when the resource was created.
    displayName: Optional. User-provided human-readable name to be used in
      user interfaces.
    effectiveServiceAccount: Output only. Effective service account associated
      with ServiceInstance. This will be the service_account if specified.
      Otherwise, it will be an automatically created per-resource P4SA that
      also automatically has Fleet Workload Identity bindings applied.
    gdceCluster: Optional. A GDCE cluster.
    labels: Optional. The labels to associate with this service instance.
      Labels may be used for filtering and billing tracking.
    maintenancePolicy: Optional. Maintenance policy for this service instance.
    name: Identifier. The name of the service instance.
    reconciling: Output only. Whether the service instance is currently
      reconciling. True if the current state of the resource does not match
      the intended state, and the system is working to reconcile them, whether
      or not the change was user initiated. Required by
      aip.dev/128#reconciliation
    requestedState: Output only. The intended state to which the service
      instance is reconciling.
    serviceAccount: Optional. Requested service account to associate with
      ServiceInstance.
    sparkServiceInstanceConfig: Optional. Spark-specific service instance
      configuration.
    state: Output only. The current state.
    stateMessage: Output only. A message explaining the current state.
    uid: Output only. System generated unique identifier for this service
      instance, formatted as UUID4.
    updateTime: Output only. The timestamp when the resource was most recently
      updated.
  """

  class RequestedStateValueValuesEnum(_messages.Enum):
    r"""Output only. The intended state to which the service instance is
    reconciling.

    Values:
      STATE_UNSPECIFIED: The service instance state is unknown.
      CREATING: The service instance is being created and is not yet ready to
        accept requests.
      ACTIVE: The service instance is running.
      DISCONNECTED: The service instance is running but disconnected from the
        Google network
      DELETING: The service instance is being deleted.
      STOPPING: The service instance is being stopped. Not in scope for
        private GA
      STOPPED: The service instance is stopped. Not in scope for private GA
      STARTING: The service instance is being started from being STOPPED. Not
        in scope for private GA
      UPDATING: The service instance is being updated
      FAILED: The service instance has encountered an unrecoverable error.
    """
    STATE_UNSPECIFIED = 0
    CREATING = 1
    ACTIVE = 2
    DISCONNECTED = 3
    DELETING = 4
    STOPPING = 5
    STOPPED = 6
    STARTING = 7
    UPDATING = 8
    FAILED = 9

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

    Values:
      STATE_UNSPECIFIED: The service instance state is unknown.
      CREATING: The service instance is being created and is not yet ready to
        accept requests.
      ACTIVE: The service instance is running.
      DISCONNECTED: The service instance is running but disconnected from the
        Google network
      DELETING: The service instance is being deleted.
      STOPPING: The service instance is being stopped. Not in scope for
        private GA
      STOPPED: The service instance is stopped. Not in scope for private GA
      STARTING: The service instance is being started from being STOPPED. Not
        in scope for private GA
      UPDATING: The service instance is being updated
      FAILED: The service instance has encountered an unrecoverable error.
    """
    STATE_UNSPECIFIED = 0
    CREATING = 1
    ACTIVE = 2
    DISCONNECTED = 3
    DELETING = 4
    STOPPING = 5
    STOPPED = 6
    STARTING = 7
    UPDATING = 8
    FAILED = 9

  @encoding.MapUnrecognizedFields('additionalProperties')
  class AnnotationsValue(_messages.Message):
    r"""Optional. The annotations to associate with this service instance.
    Annotations may be used to store client information, but are not used by
    the server.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a AnnotationsValue 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 LabelsValue(_messages.Message):
    r"""Optional. The labels to associate with this service instance. Labels
    may be used for filtering and billing tracking.

    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)

  annotations = _messages.MessageField('AnnotationsValue', 1)
  auxiliaryServicesConfig = _messages.MessageField('AuxiliaryServicesConfig', 2)
  createTime = _messages.StringField(3)
  displayName = _messages.StringField(4)
  effectiveServiceAccount = _messages.StringField(5)
  gdceCluster = _messages.MessageField('GdceCluster', 6)
  labels = _messages.MessageField('LabelsValue', 7)
  maintenancePolicy = _messages.MessageField('MaintenancePolicy', 8)
  name = _messages.StringField(9)
  reconciling = _messages.BooleanField(10)
  requestedState = _messages.EnumField('RequestedStateValueValuesEnum', 11)
  serviceAccount = _messages.StringField(12)
  sparkServiceInstanceConfig = _messages.MessageField('SparkServiceInstanceConfig', 13)
  state = _messages.EnumField('StateValueValuesEnum', 14)
  stateMessage = _messages.StringField(15)
  uid = _messages.StringField(16)
  updateTime = _messages.StringField(17)


class SparkApplication(_messages.Message):
  r"""Represents the SparkApplication resource.

  Enums:
    RequestedStateValueValuesEnum: Optional. The intended state to which the
      application is reconciling.
    StateValueValuesEnum: Output only. The current state.

  Messages:
    AnnotationsValue: Optional. The annotations to associate with this
      application. Annotations may be used to store client information, but
      are not used by the server.
    LabelsValue: Optional. The labels to associate with this application.
      Labels may be used for filtering and billing tracking.
    PropertiesValue: Optional. application-specific properties.

  Fields:
    annotations: Optional. The annotations to associate with this application.
      Annotations may be used to store client information, but are not used by
      the server.
    applicationEnvironment: Optional. An ApplicationEnvironment from which to
      inherit configuration properties.
    createTime: Output only. The timestamp when the resource was created.
    dependencyImages: Optional. List of container image uris for additional
      file dependencies. Dependent files are sequentially copied from each
      image. If a file with the same name exists in 2 images then the file
      from later image is used.
    displayName: Optional. User-provided human-readable name to be used in
      user interfaces.
    labels: Optional. The labels to associate with this application. Labels
      may be used for filtering and billing tracking.
    monitoringEndpoint: Output only. URL for a monitoring UI for this
      application (for eventual Spark PHS/UI support) Out of scope for private
      GA
    name: Identifier. Fields 1-6 should exist for all declarative friendly
      resources per aip.dev/148 The name of the application. Format: projects/
      {project}/locations/{location}/serviceInstances/{service_instance}/spark
      Applications/{application}
    namespace: Optional. The Kubernetes namespace in which to create the
      application. This namespace must already exist on the cluster.
    outputUri: Output only. An HCFS URI pointing to the location of stdout and
      stdout of the application Mainly useful for Pantheon and gcloud Not in
      scope for private GA
    properties: Optional. application-specific properties.
    pysparkApplicationConfig: PySpark application config.
    reconciling: Output only. Whether the application is currently
      reconciling. True if the current state of the resource does not match
      the intended state, and the system is working to reconcile them, whether
      or not the change was user initiated. Required by
      aip.dev/128#reconciliation
    requestedState: Optional. The intended state to which the application is
      reconciling.
    sparkApplicationConfig: Spark application config.
    sparkRApplicationConfig: SparkR application config.
    sparkSqlApplicationConfig: SparkSql application config.
    state: Output only. The current state.
    stateMessage: Output only. A message explaining the current state.
    uid: Output only. System generated unique identifier for this application,
      formatted as UUID4.
    updateTime: Output only. The timestamp when the resource was most recently
      updated.
    version: Optional. The Dataproc version of this application.
  """

  class RequestedStateValueValuesEnum(_messages.Enum):
    r"""Optional. The intended state to which the application is reconciling.

    Values:
      STATE_UNSPECIFIED: The application state is unknown.
      PENDING: The application is setting up and has not yet begun to execute
      RUNNING: The application is running.
      CANCELLING: The application is being cancelled.
      CANCELLED: The application was successfully cancelled
      SUCCEEDED: The application completed successfully.
      FAILED: The application exited with an error.
    """
    STATE_UNSPECIFIED = 0
    PENDING = 1
    RUNNING = 2
    CANCELLING = 3
    CANCELLED = 4
    SUCCEEDED = 5
    FAILED = 6

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

    Values:
      STATE_UNSPECIFIED: The application state is unknown.
      PENDING: The application is setting up and has not yet begun to execute
      RUNNING: The application is running.
      CANCELLING: The application is being cancelled.
      CANCELLED: The application was successfully cancelled
      SUCCEEDED: The application completed successfully.
      FAILED: The application exited with an error.
    """
    STATE_UNSPECIFIED = 0
    PENDING = 1
    RUNNING = 2
    CANCELLING = 3
    CANCELLED = 4
    SUCCEEDED = 5
    FAILED = 6

  @encoding.MapUnrecognizedFields('additionalProperties')
  class AnnotationsValue(_messages.Message):
    r"""Optional. The annotations to associate with this application.
    Annotations may be used to store client information, but are not used by
    the server.

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

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

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a AnnotationsValue 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 LabelsValue(_messages.Message):
    r"""Optional. The labels to associate with this application. Labels may be
    used for filtering and billing tracking.

    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 PropertiesValue(_messages.Message):
    r"""Optional. application-specific properties.

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

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

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

  annotations = _messages.MessageField('AnnotationsValue', 1)
  applicationEnvironment = _messages.StringField(2)
  createTime = _messages.StringField(3)
  dependencyImages = _messages.StringField(4, repeated=True)
  displayName = _messages.StringField(5)
  labels = _messages.MessageField('LabelsValue', 6)
  monitoringEndpoint = _messages.StringField(7)
  name = _messages.StringField(8)
  namespace = _messages.StringField(9)
  outputUri = _messages.StringField(10)
  properties = _messages.MessageField('PropertiesValue', 11)
  pysparkApplicationConfig = _messages.MessageField('PySparkApplicationConfig', 12)
  reconciling = _messages.BooleanField(13)
  requestedState = _messages.EnumField('RequestedStateValueValuesEnum', 14)
  sparkApplicationConfig = _messages.MessageField('SparkApplicationConfig', 15)
  sparkRApplicationConfig = _messages.MessageField('SparkRApplicationConfig', 16)
  sparkSqlApplicationConfig = _messages.MessageField('SparkSqlApplicationConfig', 17)
  state = _messages.EnumField('StateValueValuesEnum', 18)
  stateMessage = _messages.StringField(19)
  uid = _messages.StringField(20)
  updateTime = _messages.StringField(21)
  version = _messages.StringField(22)


class SparkApplicationConfig(_messages.Message):
  r"""Represents the SparkApplicationConfig.

  Fields:
    archiveUris: Optional. HCFS URIs of archives to be extracted into the
      working directory of each executor. Supported file types: `.jar`,
      `.tar`, `.tar.gz`, `.tgz`, and `.zip`.
    args: Optional. The arguments to pass to the driver. Do not include
      arguments that can be set as application properties, such as `--conf`,
      since a collision can occur that causes an incorrect application
      submission.
    fileUris: Optional. HCFS URIs of files to be placed in the working
      directory of each executor.
    jarFileUris: Optional. HCFS URIs of jar files to add to the classpath of
      the Spark driver and tasks.
    mainClass: The name of the driver main class. The jar file that contains
      the class must be in the classpath or specified in `jar_file_uris`.
    mainJarFileUri: The HCFS URI of the jar file that contains the main class.
  """

  archiveUris = _messages.StringField(1, repeated=True)
  args = _messages.StringField(2, repeated=True)
  fileUris = _messages.StringField(3, repeated=True)
  jarFileUris = _messages.StringField(4, repeated=True)
  mainClass = _messages.StringField(5)
  mainJarFileUri = _messages.StringField(6)


class SparkApplicationEnvironmentConfig(_messages.Message):
  r"""Represents the SparkApplicationEnvironmentConfig.

  Messages:
    DefaultPropertiesValue: Optional. A map of default Spark properties to
      apply to workloads in this application environment. These defaults may
      be overridden by per-application properties.

  Fields:
    defaultProperties: Optional. A map of default Spark properties to apply to
      workloads in this application environment. These defaults may be
      overridden by per-application properties.
    defaultVersion: Optional. The default Dataproc version to use for
      applications submitted to this application environment
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class DefaultPropertiesValue(