google.api.FieldBehavior */ class FieldBehavior { /** * Conventional default for enums. Do not use this. * * Generated from protobuf enum FIELD_BEHAVIOR_UNSPECIFIED = 0; */ const FIELD_BEHAVIOR_UNSPECIFIED = 0; /** * Specifically denotes a field as optional. * While all fields in protocol buffers are optional, this may be specified * for emphasis if appropriate. * * Generated from protobuf enum OPTIONAL = 1; */ const OPTIONAL = 1; /** * Denotes a field as required. * This indicates that the field **must** be provided as part of the request, * and failure to do so will cause an error (usually `INVALID_ARGUMENT`). * * Generated from protobuf enum REQUIRED = 2; */ const REQUIRED = 2; /** * Denotes a field as output only. * This indicates that the field is provided in responses, but including the * field in a request does nothing (the server *must* ignore it and * *must not* throw an error as a result of the field's presence). * * Generated from protobuf enum OUTPUT_ONLY = 3; */ const OUTPUT_ONLY = 3; /** * Denotes a field as input only. * This indicates that the field is provided in requests, and the * corresponding field is not included in output. * * Generated from protobuf enum INPUT_ONLY = 4; */ const INPUT_ONLY = 4; /** * Denotes a field as immutable. * This indicates that the field may be set once in a request to create a * resource, but may not be changed thereafter. * * Generated from protobuf enum IMMUTABLE = 5; */ const IMMUTABLE = 5; /** * Denotes that a (repeated) field is an unordered list. * This indicates that the service may provide the elements of the list * in any arbitrary order, rather than the order the user originally * provided. Additionally, the list's order may or may not be stable. * * Generated from protobuf enum UNORDERED_LIST = 6; */ const UNORDERED_LIST = 6; /** * Denotes that this field returns a non-empty default value if not set. * This indicates that if the user provides the empty value in a request, * a non-empty value will be returned. The user will not be aware of what * non-empty value to expect. * * Generated from protobuf enum NON_EMPTY_DEFAULT = 7; */ const NON_EMPTY_DEFAULT = 7; /** * Denotes that the field in a resource (a message annotated with * google.api.resource) is used in the resource name to uniquely identify the * resource. For AIP-compliant APIs, this should only be applied to the * `name` field on the resource. * This behavior should not be applied to references to other resources within * the message. * The identifier field of resources often have different field behavior * depending on the request it is embedded in (e.g. for Create methods name * is optional and unused, while for Update methods it is required). Instead * of method-specific annotations, only `IDENTIFIER` is required. * * Generated from protobuf enum IDENTIFIER = 8; */ const IDENTIFIER = 8; private static $valueToName = [self::FIELD_BEHAVIOR_UNSPECIFIED => 'FIELD_BEHAVIOR_UNSPECIFIED', self::OPTIONAL => 'OPTIONAL', self::REQUIRED => 'REQUIRED', self::OUTPUT_ONLY => 'OUTPUT_ONLY', self::INPUT_ONLY => 'INPUT_ONLY', self::IMMUTABLE => 'IMMUTABLE', self::UNORDERED_LIST => 'UNORDERED_LIST', self::NON_EMPTY_DEFAULT => 'NON_EMPTY_DEFAULT', self::IDENTIFIER => 'IDENTIFIER']; public static function name($value) { if (!isset(self::$valueToName[$value])) { throw new UnexpectedValueException(\sprintf('Enum %s has no name defined for value %s', __CLASS__, $value)); } return self::$valueToName[$value]; } public static function value($name) { $const = __CLASS__ . '::' . \strtoupper($name); if (!\defined($const)) { throw new UnexpectedValueException(\sprintf('Enum %s has no value defined for name %s', __CLASS__, $name)); } return \constant($const); } }