Class OptimizeToursValidationError (1.2.0)

OptimizeToursValidationError(
    mapping=None, *, ignore_unknown_fields=False, **kwargs
)

Describes an error encountered when validating an OptimizeToursRequest.

Attributes

NameDescription
code int
A validation error is defined by the pair (code, display_name) which are always present. Other fields (below) provide more context about the error. *MULTIPLE ERRORS*: When there are multiple errors, the validation process tries to output several of them. Much like a compiler, this is an imperfect process. Some validation errors will be "fatal", meaning that they stop the entire validation process. This is the case for display_name="UNSPECIFIED" errors, among others. Some may cause the validation process to skip other errors. *STABILITY*: code and display_name should be very stable. But new codes and display names may appear over time, which may cause a given (invalid) request to yield a different (code, display_name) pair because the new error hid the old one (see "MULTIPLE ERRORS"). *REFERENCE*: A list of all (code, name) pairs: - UNSPECIFIED = 0; - VALIDATION_TIMEOUT_ERROR = 10; Validation couldn't be completed within the deadline. - REQUEST_OPTIONS_ERROR = 12; - REQUEST_OPTIONS_INVALID_SOLVING_MODE = 1201; - REQUEST_OPTIONS_INVALID_MAX_VALIDATION_ERRORS = 1203; - REQUEST_OPTIONS_INVALID_GEODESIC_METERS_PER_SECOND = 1204; - REQUEST_OPTIONS_GEODESIC_METERS_PER_SECOND_TOO_SMALL = 1205; - REQUEST_OPTIONS_MISSING_GEODESIC_METERS_PER_SECOND = 1206; - REQUEST_OPTIONS_POPULATE_PATHFINDER_TRIPS_AND_GEODESIC_DISTANCE = 1207; - REQUEST_OPTIONS_COST_MODEL_OPTIONS_AND_GEODESIC_DISTANCE = 1208; - REQUEST_OPTIONS_TRAVEL_MODE_INCOMPATIBLE_WITH_TRAFFIC = 1211; - REQUEST_OPTIONS_MULTIPLE_TRAFFIC_FLAVORS = 1212; - REQUEST_OPTIONS_INVALID_TRAFFIC_FLAVOR = 1213; - REQUEST_OPTIONS_TRAFFIC_ENABLED_WITHOUT_GLOBAL_START_TIME = 1214; - REQUEST_OPTIONS_TRAFFIC_ENABLED_WITH_PRECEDENCES = 1215; - REQUEST_OPTIONS_TRAFFIC_PREFILL_MODE_INVALID = 1216; - REQUEST_OPTIONS_TRAFFIC_PREFILL_ENABLED_WITHOUT_TRAFFIC = 1217; - INJECTED_SOLUTION_ERROR = 20; - INJECTED_SOLUTION_MISSING_LABEL = 2000; - INJECTED_SOLUTION_DUPLICATE_LABEL = 2001; - INJECTED_SOLUTION_AMBIGUOUS_INDEX = 2002; - SHIPMENT_MODEL_ERROR = 22; - SHIPMENT_MODEL_TOO_LARGE = 2200; - SHIPMENT_MODEL_TOO_MANY_CAPACITY_TYPES = 2201; - SHIPMENT_MODEL_GLOBAL_START_TIME_NEGATIVE_OR_NAN = 2202; - SHIPMENT_MODEL_GLOBAL_END_TIME_TOO_LARGE_OR_NAN = 2203; - SHIPMENT_MODEL_GLOBAL_START_TIME_AFTER_GLOBAL_END_TIME = 2204; - SHIPMENT_MODEL_GLOBAL_DURATION_TOO_LONG = 2205; - INDEX_ERROR = 24; - TAG_ERROR = 26; - TIME_WINDOW_ERROR = 28; - TIME_WINDOW_INVALID_START_TIME = 2800; - TIME_WINDOW_INVALID_END_TIME = 2801; - TIME_WINDOW_INVALID_SOFT_START_TIME = 2802; - TIME_WINDOW_INVALID_SOFT_END_TIME = 2803; - TIME_WINDOW_OUTSIDE_GLOBAL_TIME_WINDOW = 2804; - TIME_WINDOW_START_TIME_AFTER_END_TIME = 2805; - TIME_WINDOW_INVALID_COST_PER_HOUR_BEFORE_SOFT_START_TIME = 2806; - TIME_WINDOW_INVALID_COST_PER_HOUR_AFTER_SOFT_END_TIME = 2807; - TIME_WINDOW_COST_BEFORE_SOFT_START_TIME_WITHOUT_SOFT_START_TIME = 2808; - TIME_WINDOW_COST_AFTER_SOFT_END_TIME_WITHOUT_SOFT_END_TIME = 2809; - TIME_WINDOW_SOFT_START_TIME_WITHOUT_COST_BEFORE_SOFT_START_TIME = 2810; - TIME_WINDOW_SOFT_END_TIME_WITHOUT_COST_AFTER_SOFT_END_TIME = 2811; - TIME_WINDOW_OVERLAPPING_ADJACENT_OR_EARLIER_THAN_PREVIOUS = 2812; - TIME_WINDOW_START_TIME_AFTER_SOFT_START_TIME = 2813; - TIME_WINDOW_SOFT_START_TIME_AFTER_END_TIME = 2814; - TIME_WINDOW_START_TIME_AFTER_SOFT_END_TIME = 2815; - TIME_WINDOW_SOFT_END_TIME_AFTER_END_TIME = 2816; - TIME_WINDOW_COST_BEFORE_SOFT_START_TIME_SET_AND_MULTIPLE_WINDOWS = 2817; - TIME_WINDOW_COST_AFTER_SOFT_END_TIME_SET_AND_MULTIPLE_WINDOWS = 2818; - TRANSITION_ATTRIBUTES_ERROR = 30; - TRANSITION_ATTRIBUTES_INVALID_COST = 3000; - TRANSITION_ATTRIBUTES_INVALID_COST_PER_KILOMETER = 3001; - TRANSITION_ATTRIBUTES_DUPLICATE_TAG_PAIR = 3002; - TRANSITION_ATTRIBUTES_DISTANCE_LIMIT_MAX_METERS_UNSUPPORTED = 3003; - TRANSITION_ATTRIBUTES_UNSPECIFIED_SOURCE_TAGS = 3004; - TRANSITION_ATTRIBUTES_CONFLICTING_SOURCE_TAGS_FIELDS = 3005; - TRANSITION_ATTRIBUTES_UNSPECIFIED_DESTINATION_TAGS = 3006; - TRANSITION_ATTRIBUTES_CONFLICTING_DESTINATION_TAGS_FIELDS = 3007; - TRANSITION_ATTRIBUTES_DELAY_DURATION_NEGATIVE_OR_NAN = 3008; - TRANSITION_ATTRIBUTES_DELAY_DURATION_EXCEEDS_GLOBAL_DURATION = 3009; - AMOUNT_ERROR = 31; - AMOUNT_NEGATIVE_VALUE = 3100; - LOAD_LIMIT_ERROR = 33; - LOAD_LIMIT_INVALID_COST_ABOVE_SOFT_MAX = 3303; - LOAD_LIMIT_SOFT_MAX_WITHOUT_COST_ABOVE_SOFT_MAX = 3304; - LOAD_LIMIT_COST_ABOVE_SOFT_MAX_WITHOUT_SOFT_MAX = 3305; - LOAD_LIMIT_NEGATIVE_SOFT_MAX = 3306; - LOAD_LIMIT_MIXED_DEMAND_TYPE = 3307; - LOAD_LIMIT_MAX_LOAD_NEGATIVE_VALUE = 3308; - LOAD_LIMIT_SOFT_MAX_ABOVE_MAX = 3309; - INTERVAL_ERROR = 34; - INTERVAL_MIN_EXCEEDS_MAX = 3401; - INTERVAL_NEGATIVE_MIN = 3402; - INTERVAL_NEGATIVE_MAX = 3403; - INTERVAL_MIN_EXCEEDS_CAPACITY = 3404; - INTERVAL_MAX_EXCEEDS_CAPACITY = 3405; - DISTANCE_LIMIT_ERROR = 36; - DISTANCE_LIMIT_INVALID_COST_AFTER_SOFT_MAX = 3601; - DISTANCE_LIMIT_SOFT_MAX_WITHOUT_COST_AFTER_SOFT_MAX = 3602; - DISTANCE_LIMIT_COST_AFTER_SOFT_MAX_WITHOUT_SOFT_MAX = 3603; - DISTANCE_LIMIT_NEGATIVE_MAX = 3604; - DISTANCE_LIMIT_NEGATIVE_SOFT_MAX = 3605; - DISTANCE_LIMIT_SOFT_MAX_LARGER_THAN_MAX = 3606; - DURATION_LIMIT_ERROR = 38; - DURATION_LIMIT_MAX_DURATION_NEGATIVE_OR_NAN = 3800; - DURATION_LIMIT_SOFT_MAX_DURATION_NEGATIVE_OR_NAN = 3801; - DURATION_LIMIT_INVALID_COST_PER_HOUR_AFTER_SOFT_MAX = 3802; - DURATION_LIMIT_SOFT_MAX_WITHOUT_COST_AFTER_SOFT_MAX = 3803; - DURATION_LIMIT_COST_AFTER_SOFT_MAX_WITHOUT_SOFT_MAX = 3804; - DURATION_LIMIT_QUADRATIC_SOFT_MAX_DURATION_NEGATIVE_OR_NAN = 3805; - DURATION_LIMIT_INVALID_COST_AFTER_QUADRATIC_SOFT_MAX = 3806; - DURATION_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_COST_PER_SQUARE_HOUR = 3807; - DURATION_LIMIT_COST_PER_SQUARE_HOUR_WITHOUT_QUADRATIC_SOFT_MAX = 3808; - DURATION_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_MAX = 3809; - DURATION_LIMIT_SOFT_MAX_LARGER_THAN_MAX = 3810; - DURATION_LIMIT_QUADRATIC_SOFT_MAX_LARGER_THAN_MAX = 3811; - DURATION_LIMIT_DIFF_BETWEEN_MAX_AND_QUADRATIC_SOFT_MAX_TOO_LARGE = 3812; - DURATION_LIMIT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION = 3813; - DURATION_LIMIT_SOFT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION = 3814; - DURATION_LIMIT_QUADRATIC_SOFT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION = 3815; - SHIPMENT_ERROR = 40; - SHIPMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_NEGATIVE_OR_NAN = 4000; - SHIPMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_EXCEEDS_GLOBAL_DURATION = 4001; - SHIPMENT_PD_TIME_LIMIT_DURATION_NEGATIVE_OR_NAN = 4002; - SHIPMENT_PD_TIME_LIMIT_DURATION_EXCEEDS_GLOBAL_DURATION = 4003; - SHIPMENT_EMPTY_SHIPMENT_TYPE = 4004; - SHIPMENT_NO_PICKUP_NO_DELIVERY = 4005; - SHIPMENT_INVALID_PENALTY_COST = 4006; - SHIPMENT_ALLOWED_VEHICLE_INDEX_OUT_OF_BOUNDS = 4007; - SHIPMENT_DUPLICATE_ALLOWED_VEHICLE_INDEX = 4008; - SHIPMENT_INCONSISTENT_COST_FOR_VEHICLE_SIZE_WITHOUT_INDEX = 4009; - SHIPMENT_INCONSISTENT_COST_FOR_VEHICLE_SIZE_WITH_INDEX = 4010; - SHIPMENT_INVALID_COST_FOR_VEHICLE = 4011; - SHIPMENT_COST_FOR_VEHICLE_INDEX_OUT_OF_BOUNDS = 4012; - SHIPMENT_DUPLICATE_COST_FOR_VEHICLE_INDEX = 4013; - SHIPMENT_DETOUR_WITHOUT_PICKUP_AND_DELIVERY = 4014; - VEHICLE_ERROR = 42; - VEHICLE_EMPTY_REQUIRED_OPERATOR_TYPE = 4200; - VEHICLE_DUPLICATE_REQUIRED_OPERATOR_TYPE = 4201; - VEHICLE_NO_OPERATOR_WITH_REQUIRED_OPERATOR_TYPE = 4202; - VEHICLE_EMPTY_START_TAG = 4203; - VEHICLE_DUPLICATE_START_TAG = 4204; - VEHICLE_EMPTY_END_TAG = 4205; - VEHICLE_DUPLICATE_END_TAG = 4206; - VEHICLE_EXTRA_VISIT_DURATION_NEGATIVE_OR_NAN = 4207; - VEHICLE_EXTRA_VISIT_DURATION_EXCEEDS_GLOBAL_DURATION = 4208; - VEHICLE_EXTRA_VISIT_DURATION_EMPTY_KEY = 4209; - VEHICLE_FIRST_SHIPMENT_INDEX_OUT_OF_BOUNDS = 4210; - VEHICLE_FIRST_SHIPMENT_IGNORED = 4211; - VEHICLE_FIRST_SHIPMENT_NOT_BOUND = 4212; - VEHICLE_LAST_SHIPMENT_INDEX_OUT_OF_BOUNDS = 4213; - VEHICLE_LAST_SHIPMENT_IGNORED = 4214; - VEHICLE_LAST_SHIPMENT_NOT_BOUND = 4215; - VEHICLE_IGNORED_WITH_USED_IF_ROUTE_IS_EMPTY = 4216; - VEHICLE_INVALID_COST_PER_KILOMETER = 4217; - VEHICLE_INVALID_COST_PER_HOUR = 4218; - VEHICLE_INVALID_COST_PER_TRAVELED_HOUR = 4219; - VEHICLE_INVALID_FIXED_COST = 4220; - VEHICLE_INVALID_TRAVEL_DURATION_MULTIPLE = 4221; - VEHICLE_MINIMUM_DURATION_LONGER_THAN_DURATION_LIMIT = 4222; - VISIT_REQUEST_ERROR = 44; - VISIT_REQUEST_EMPTY_TAG = 4400; - VISIT_REQUEST_DUPLICATE_TAG = 4401; - VISIT_REQUEST_DURATION_NEGATIVE_OR_NAN = 4404; - VISIT_REQUEST_DURATION_EXCEEDS_GLOBAL_DURATION = 4405; - PRECEDENCE_ERROR = 46; - BREAK_ERROR = 48; - BREAK_RULE_EMPTY = 4800; - BREAK_REQUEST_UNSPECIFIED_DURATION = 4801; - BREAK_REQUEST_UNSPECIFIED_EARLIEST_START_TIME = 4802; - BREAK_REQUEST_UNSPECIFIED_LATEST_START_TIME = 4803; - BREAK_REQUEST_DURATION_NEGATIVE_OR_NAN = 4804; = 4804; - BREAK_REQUEST_LATEST_START_TIME_BEFORE_EARLIEST_START_TIME = 4805; - BREAK_REQUEST_EARLIEST_START_TIME_BEFORE_GLOBAL_START_TIME = 4806; - BREAK_REQUEST_LATEST_END_TIME_AFTER_GLOBAL_END_TIME = 4807; - BREAK_REQUEST_NON_SCHEDULABLE = 4808; - BREAK_FREQUENCY_MAX_INTER_BREAK_DURATION_NEGATIVE_OR_NAN = 4809; - BREAK_FREQUENCY_MIN_BREAK_DURATION_NEGATIVE_OR_NAN = 4810; - BREAK_FREQUENCY_MIN_BREAK_DURATION_EXCEEDS_GLOBAL_DURATION = 4811; - BREAK_FREQUENCY_MAX_INTER_BREAK_DURATION_EXCEEDS_GLOBAL_DURATION = 4812; - BREAK_REQUEST_DURATION_EXCEEDS_GLOBAL_DURATION = 4813; - BREAK_FREQUENCY_MISSING_MAX_INTER_BREAK_DURATION = 4814; - BREAK_FREQUENCY_MISSING_MIN_BREAK_DURATION = 4815; - SHIPMENT_TYPE_INCOMPATIBILITY_ERROR = 50; - SHIPMENT_TYPE_INCOMPATIBILITY_EMPTY_TYPE = 5001; - SHIPMENT_TYPE_INCOMPATIBILITY_LESS_THAN_TWO_TYPES = 5002; - SHIPMENT_TYPE_INCOMPATIBILITY_DUPLICATE_TYPE = 5003; - SHIPMENT_TYPE_INCOMPATIBILITY_INVALID_INCOMPATIBILITY_MODE = 5004; - SHIPMENT_TYPE_INCOMPATIBILITY_TOO_MANY_INCOMPATIBILITIES = 5005; - SHIPMENT_TYPE_REQUIREMENT_ERROR = 52; - SHIPMENT_TYPE_REQUIREMENT_NO_REQUIRED_TYPE = 52001; - SHIPMENT_TYPE_REQUIREMENT_NO_DEPENDENT_TYPE = 52002; - SHIPMENT_TYPE_REQUIREMENT_INVALID_REQUIREMENT_MODE = 52003; - SHIPMENT_TYPE_REQUIREMENT_TOO_MANY_REQUIREMENTS = 52004; - SHIPMENT_TYPE_REQUIREMENT_EMPTY_REQUIRED_TYPE = 52005; - SHIPMENT_TYPE_REQUIREMENT_DUPLICATE_REQUIRED_TYPE = 52006; - SHIPMENT_TYPE_REQUIREMENT_NO_REQUIRED_TYPE_FOUND = 52007; - SHIPMENT_TYPE_REQUIREMENT_EMPTY_DEPENDENT_TYPE = 52008; - SHIPMENT_TYPE_REQUIREMENT_DUPLICATE_DEPENDENT_TYPE = 52009; - SHIPMENT_TYPE_REQUIREMENT_SELF_DEPENDENT_TYPE = 52010; - SHIPMENT_TYPE_REQUIREMENT_GRAPH_HAS_CYCLES = 52011; - VEHICLE_OPERATOR_ERROR = 54; - VEHICLE_OPERATOR_EMPTY_TYPE = 5400; - VEHICLE_OPERATOR_MULTIPLE_START_TIME_WINDOWS = 5401; - VEHICLE_OPERATOR_SOFT_START_TIME_WINDOW = 5402; - VEHICLE_OPERATOR_MULTIPLE_END_TIME_WINDOWS = 5403; - VEHICLE_OPERATOR_SOFT_END_TIME_WINDOW = 5404; - DURATION_SECONDS_MATRIX_ERROR = 56; - DURATION_SECONDS_MATRIX_DURATION_NEGATIVE_OR_NAN = 5600; - DURATION_SECONDS_MATRIX_DURATION_EXCEEDS_GLOBAL_DURATION = 5601; - GRAPH_ARC_ERROR = 58; - GRAPH_ARC_DURATION_NEGATIVE_OR_NAN = 5800; - GRAPH_ARC_DURATION_EXCEEDS_GLOBAL_DURATION = 5801;
display_name str
The error display name.
fields MutableSequence[google.cloud.optimization_v1.types.OptimizeToursValidationError.FieldReference]
An error context may involve 0, 1 (most of the time) or more fields. For example, referring to vehicle #4 and shipment #2's first pickup can be done as follows: :: fields { name: "vehicles" index: 4} fields { name: "shipments" index: 2 sub_field {name: "pickups" index: 0} } Note, however, that the cardinality of fields should not change for a given error code.
error_message str
Human-readable string describing the error. There is a 1:1 mapping between code and error_message (when code != "UNSPECIFIED"). *STABILITY*: Not stable: the error message associated to a given code may change (hopefully to clarify it) over time. Please rely on the display_name and code instead.
offending_values str
May contain the value(s) of the field(s). This is not always available. You should absolutely not rely on it and use it only for manual model debugging.

Classes

FieldReference

FieldReference(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Specifies a context for the validation error. A FieldReference always refers to a given field in this file and follows the same hierarchical structure. For example, we may specify element #2 of start_time_windows of vehicle #5 using:

::

name: "vehicles" index: 5 sub_field { name: "end_time_windows" index: 2 }

We however omit top-level entities such as OptimizeToursRequest or ShipmentModel to avoid crowding the message.

This message has oneof_ fields (mutually exclusive fields). For each oneof, at most one member field can be set at the same time. Setting any member of the oneof automatically clears all other members.

.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields