# Path: google/cloud/dataflow_v1beta3/types/environment.py
# class JobType(proto.Enum):
# class FlexResourceSchedulingGoal(proto.Enum):
# class TeardownPolicy(proto.Enum):
# class DefaultPackageSet(proto.Enum):
# class AutoscalingAlgorithm(proto.Enum):
# class WorkerIPAddressConfiguration(proto.Enum):
# class ShuffleMode(proto.Enum):
# class Environment(proto.Message):
# class Package(proto.Message):
# class Disk(proto.Message):
# class WorkerSettings(proto.Message):
# class TaskRunnerSettings(proto.Message):
# class AutoscalingSettings(proto.Message):
# class SdkHarnessContainerImage(proto.Message):
# class WorkerPool(proto.Message):
# class DebugOptions(proto.Message):
#     JOB_TYPE_UNKNOWN = 0
#     JOB_TYPE_BATCH = 1
#     JOB_TYPE_STREAMING = 2
#     FLEXRS_UNSPECIFIED = 0
#     FLEXRS_SPEED_OPTIMIZED = 1
#     FLEXRS_COST_OPTIMIZED = 2
#     TEARDOWN_POLICY_UNKNOWN = 0
#     TEARDOWN_ALWAYS = 1
#     TEARDOWN_ON_SUCCESS = 2
#     TEARDOWN_NEVER = 3
#     DEFAULT_PACKAGE_SET_UNKNOWN = 0
#     DEFAULT_PACKAGE_SET_NONE = 1
#     DEFAULT_PACKAGE_SET_JAVA = 2
#     DEFAULT_PACKAGE_SET_PYTHON = 3
#     AUTOSCALING_ALGORITHM_UNKNOWN = 0
#     AUTOSCALING_ALGORITHM_NONE = 1
#     AUTOSCALING_ALGORITHM_BASIC = 2
#     WORKER_IP_UNSPECIFIED = 0
#     WORKER_IP_PUBLIC = 1
#     WORKER_IP_PRIVATE = 2
#     SHUFFLE_MODE_UNSPECIFIED = 0
#     VM_BASED = 1
#     SERVICE_BASED = 2


import proto  # type: ignore
from google.cloud.dataflow_v1beta3.types import environment as gd_environment
from google.protobuf import duration_pb2  # type: ignore
from google.protobuf import struct_pb2  # type: ignore
from google.protobuf import timestamp_pb2  # type: ignore
            This field may be mutated by the Cloud
            Dataflow service; callers cannot mutate it.
        job_metadata (google.cloud.dataflow_v1beta3.types.JobMetadata):
            This field is populated by the Dataflow
            service to support filtering jobs by the
            metadata values provided here. Populated for
            ListJobs and all GetJob views SUMMARY and
            higher.
        start_time (google.protobuf.timestamp_pb2.Timestamp):
            The timestamp when the job was started (transitioned to
            JOB_STATE_PENDING). Flexible resource scheduling jobs are
            started with some delay after job creation, so start_time is
            unset before start and is updated when the job is started by
            the Cloud Dataflow service. For other jobs, start_time
            always equals to create_time and is immutable and set by the
            Cloud Dataflow service.
        created_from_snapshot_id (str):
            If this is specified, the job's initial state
            is populated from the given snapshot.
        satisfies_pzs (bool):
            Reserved for future use. This field is set
            only in responses from the server; it is ignored
            if it is set in any requests.
    """

    id = proto.Field(proto.STRING, number=1,)
    project_id = proto.Field(proto.STRING, number=2,)
    name = proto.Field(proto.STRING, number=3,)
    type_ = proto.Field(proto.ENUM, number=4, enum=gd_environment.JobType,)
    environment = proto.Field(

# Path: google/cloud/dataflow_v1beta3/types/environment.py
# class JobType(proto.Enum):
# class FlexResourceSchedulingGoal(proto.Enum):
# class TeardownPolicy(proto.Enum):
# class DefaultPackageSet(proto.Enum):
# class AutoscalingAlgorithm(proto.Enum):
# class WorkerIPAddressConfiguration(proto.Enum):
# class ShuffleMode(proto.Enum):
# class Environment(proto.Message):
# class Package(proto.Message):
# class Disk(proto.Message):
# class WorkerSettings(proto.Message):
# class TaskRunnerSettings(proto.Message):
# class AutoscalingSettings(proto.Message):
# class SdkHarnessContainerImage(proto.Message):
# class WorkerPool(proto.Message):
# class DebugOptions(proto.Message):
#     JOB_TYPE_UNKNOWN = 0
#     JOB_TYPE_BATCH = 1
#     JOB_TYPE_STREAMING = 2
#     FLEXRS_UNSPECIFIED = 0
#     FLEXRS_SPEED_OPTIMIZED = 1
#     FLEXRS_COST_OPTIMIZED = 2
#     TEARDOWN_POLICY_UNKNOWN = 0
#     TEARDOWN_ALWAYS = 1
#     TEARDOWN_ON_SUCCESS = 2
#     TEARDOWN_NEVER = 3
#     DEFAULT_PACKAGE_SET_UNKNOWN = 0
#     DEFAULT_PACKAGE_SET_NONE = 1
#     DEFAULT_PACKAGE_SET_JAVA = 2
#     DEFAULT_PACKAGE_SET_PYTHON = 3
#     AUTOSCALING_ALGORITHM_UNKNOWN = 0
#     AUTOSCALING_ALGORITHM_NONE = 1
#     AUTOSCALING_ALGORITHM_BASIC = 2
#     WORKER_IP_UNSPECIFIED = 0
#     WORKER_IP_PUBLIC = 1
#     WORKER_IP_PRIVATE = 2
#     SHUFFLE_MODE_UNSPECIFIED = 0
#     VM_BASED = 1
#     SERVICE_BASED = 2


# Path: google/cloud/dataflow_v1beta3/types/jobs.py
import proto  # type: ignore
from google.cloud.dataflow_v1beta3.types import environment as gd_environment
from google.protobuf import duration_pb2  # type: ignore
from google.protobuf import struct_pb2  # type: ignore
from google.protobuf import timestamp_pb2  # type: ignore

            This field may be mutated by the Cloud
            Dataflow service; callers cannot mutate it.
        job_metadata (google.cloud.dataflow_v1beta3.types.JobMetadata):
            This field is populated by the Dataflow
            service to support filtering jobs by the
            metadata values provided here. Populated for
            ListJobs and all GetJob views SUMMARY and
            higher.
        start_time (google.protobuf.timestamp_pb2.Timestamp):
            The timestamp when the job was started (transitioned to
            JOB_STATE_PENDING). Flexible resource scheduling jobs are
            started with some delay after job creation, so start_time is
            unset before start and is updated when the job is started by
            the Cloud Dataflow service. For other jobs, start_time
            always equals to create_time and is immutable and set by the
            Cloud Dataflow service.
        created_from_snapshot_id (str):
            If this is specified, the job's initial state
            is populated from the given snapshot.
        satisfies_pzs (bool):
            Reserved for future use. This field is set
            only in responses from the server; it is ignored
            if it is set in any requests.
    """

    id = proto.Field(proto.STRING, number=1,)
    project_id = proto.Field(proto.STRING, number=2,)
    name = proto.Field(proto.STRING, number=3,)
    type_ = proto.Field(proto.ENUM, number=4, enum=gd_environment.JobType,)
    environment = proto.Field(

        proto.MESSAGE, number=5, message=gd_environment.Environment,