Copied!

Api is a light-weight descriptor for an API Interface.

Interfaces are also described as "protocol buffer services" in some contexts, such as by the "service" keyword in a .proto file, but they are different from API Services, which represent a concrete implementation of an interface as opposed to simply a description of methods and bindings. They are also sometimes simply referred to as "APIs" in other contexts, such as the name of this message itself. See https://cloud.google.com/apis/design/glossary for detailed terminology.

Generated from protobuf message google.protobuf.Api

CloneableInstantiable
Methods
public __construct( $data = NULL)
 

Constructor.

  • param array $data { Optional. Data for populating the Message object.
    @type string $name
          The fully qualified name of this interface, including package name
          followed by the interface's simple name.
    @type \Google\Protobuf\Method[] $methods
          The methods of this interface, in unspecified order.
    @type \Google\Protobuf\Option[] $options
          Any metadata attached to the interface.
    @type string $version
          A version string for this interface. If specified, must have the form
          `major-version.minor-version`, as in `1.10`. If the minor version is
          omitted, it defaults to zero. If the entire version field is empty, the
          major version is derived from the package name, as outlined below. If the
          field is not empty, the version in the package name will be verified to be
          consistent with what is provided here.
          The versioning schema uses [semantic
          versioning](http://semver.org) where the major version number
          indicates a breaking change and the minor version an additive,
          non-breaking change. Both version numbers are signals to users
          what to expect from different versions, and should be carefully
          chosen based on the product plan.
          The major version is also reflected in the package name of the
          interface, which must end in `v<major-version>`, as in
          `google.feature.v1`. For major versions 0 and 1, the suffix can
          be omitted. Zero major versions must only be used for
          experimental, non-GA interfaces.
    @type \Google\Protobuf\SourceContext $source_context
          Source context for the protocol buffer service represented by this
          message.
    @type \Google\Protobuf\Mixin[] $mixins
          Included interfaces. See [Mixin][].
    @type int $syntax
          The source syntax of the service.
    
    }
public Google\Protobuf\Internal\Message::__debugInfo()
public Google\Protobuf\Internal\Message::byteSize()
 
  • ignore
public Google\Protobuf\Internal\Message::clear()
 

Clear all containing fields.

  • return null
public clearSourceContext()
public Google\Protobuf\Internal\Message::discardUnknownFields()
 

Clear all unknown fields previously parsed.

  • return null
public getMethods()
 

The methods of this interface, in unspecified order.

Generated from protobuf field repeated .google.protobuf.Method methods = 2;

  • return \RepeatedField<\Google\Protobuf\Method>
public getMixins()
 

Included interfaces. See [Mixin][].

Generated from protobuf field repeated .google.protobuf.Mixin mixins = 6;

  • return \RepeatedField<\Google\Protobuf\Mixin>
public getName()
 

The fully qualified name of this interface, including package name followed by the interface's simple name.

Generated from protobuf field string name = 1;

  • return string
public getOptions()
 

Any metadata attached to the interface.

Generated from protobuf field repeated .google.protobuf.Option options = 3;

  • return \RepeatedField<\Google\Protobuf\Option>
public getSourceContext()
 

Source context for the protocol buffer service represented by this message.

Generated from protobuf field .google.protobuf.SourceContext source_context = 5;

  • return \Google\Protobuf\SourceContext|null
public getSyntax()
 

The source syntax of the service.

Generated from protobuf field .google.protobuf.Syntax syntax = 7;

  • return int
public getVersion()
 

A version string for this interface. If specified, must have the form major-version.minor-version, as in 1.10. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here.

The versioning schema uses semantic versioning where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in v<major-version>, as in google.feature.v1. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces.

Generated from protobuf field string version = 4;

  • return string
public hasSourceContext()
public Google\Protobuf\Internal\Message::jsonByteSize( $options = 0)
 
  • ignore
public Google\Protobuf\Internal\Message::mergeFrom( $msg)
 

Merges the contents of the specified message into current message.

This method merges the contents of the specified message into the current message. Singular fields that are set in the specified message overwrite the corresponding fields in the current message. Repeated fields are appended. Map fields key-value pairs are overwritten. Singular/Oneof sub-messages are recursively merged. All overwritten sub-messages are deep-copied.

  • param object $msg Protobuf message to be merged from.
  • return null
public Google\Protobuf\Internal\Message::mergeFromJsonString( $data, $ignore_unknown = false)
 

Parses a json string to protobuf message.

This function takes a string in the json wire format, matching the encoding output by serializeToJsonString(). See mergeFrom() for merging behavior, if the field is already set in the specified message.

  • param string $data Json protobuf data.
  • param bool $ignore_unknown
  • return null
  • throws \Exception Invalid data.
public Google\Protobuf\Internal\Message::mergeFromString( $data)
 

Parses a protocol buffer contained in a string.

This function takes a string in the (non-human-readable) binary wire format, matching the encoding output by serializeToString(). See mergeFrom() for merging behavior, if the field is already set in the specified message.

  • param string $data Binary protobuf data.
  • return null
  • throws \Exception Invalid data.
public Google\Protobuf\Internal\Message::parseFromJsonStream( $input, $ignore_unknown)
 
  • ignore
public Google\Protobuf\Internal\Message::parseFromStream( $input)
 
  • ignore
public Google\Protobuf\Internal\Message::serializeToJsonStream( $output)
 
  • ignore
public Google\Protobuf\Internal\Message::serializeToJsonString( $options = 0)
 

Serialize the message to json string.

  • return string Serialized json protobuf data.
public Google\Protobuf\Internal\Message::serializeToStream( $output)
 
  • ignore
public Google\Protobuf\Internal\Message::serializeToString()
 

Serialize the message to string.

  • return string Serialized binary protobuf data.
public setMethods( $var)
 

The methods of this interface, in unspecified order.

Generated from protobuf field repeated .google.protobuf.Method methods = 2;

  • param \Google\Protobuf\Method[] $var
  • return $this
public setMixins( $var)
 

Included interfaces. See [Mixin][].

Generated from protobuf field repeated .google.protobuf.Mixin mixins = 6;

  • param \Google\Protobuf\Mixin[] $var
  • return $this
public setName( $var)
 

The fully qualified name of this interface, including package name followed by the interface's simple name.

Generated from protobuf field string name = 1;

  • param string $var
  • return $this
public setOptions( $var)
 

Any metadata attached to the interface.

Generated from protobuf field repeated .google.protobuf.Option options = 3;

  • param \Google\Protobuf\Option[] $var
  • return $this
public setSourceContext( $var)
 

Source context for the protocol buffer service represented by this message.

Generated from protobuf field .google.protobuf.SourceContext source_context = 5;

  • param \Google\Protobuf\SourceContext $var
  • return $this
public setSyntax( $var)
 

The source syntax of the service.

Generated from protobuf field .google.protobuf.Syntax syntax = 7;

  • param int $var
  • return $this
public setVersion( $var)
 

A version string for this interface. If specified, must have the form major-version.minor-version, as in 1.10. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here.

The versioning schema uses semantic versioning where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in v<major-version>, as in google.feature.v1. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces.

Generated from protobuf field string version = 4;

  • param string $var
  • return $this
Properties
protected $name = ''
 

The fully qualified name of this interface, including package name followed by the interface's simple name.

Generated from protobuf field string name = 1;

protected $source_context = NULL
 

Source context for the protocol buffer service represented by this message.

Generated from protobuf field .google.protobuf.SourceContext source_context = 5;

protected $syntax = 0
 

The source syntax of the service.

Generated from protobuf field .google.protobuf.Syntax syntax = 7;

protected $version = ''
 

A version string for this interface. If specified, must have the form major-version.minor-version, as in 1.10. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here.

The versioning schema uses semantic versioning where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in v<major-version>, as in google.feature.v1. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces.

Generated from protobuf field string version = 4;

Methods
protected Google\Protobuf\Internal\Message::hasOneof( $number)
protected Google\Protobuf\Internal\Message::mergeFromArray(array $array)
 

Populates the message from a user-supplied PHP array. Array keys correspond to Message properties and nested message properties.

Example:

$message->mergeFromArray([
    'name' => 'This is a message name',
    'interval' => [
         'startTime' => time() - 60,
         'endTime' => time(),
    ]
]);

This method will trigger an error if it is passed data that cannot be converted to the correct type. For example, a StringValue field must receive data that is either a string or a StringValue object.

  • param array $array An array containing message properties and values.
  • return null
protected Google\Protobuf\Internal\Message::mergeFromJsonArray( $array, $ignore_unknown)
protected Google\Protobuf\Internal\Message::readOneof( $number)
protected Google\Protobuf\Internal\Message::readWrapperValue( $member)
protected Google\Protobuf\Internal\Message::whichOneof( $oneof_name)
protected Google\Protobuf\Internal\Message::writeOneof( $number, $value)
protected Google\Protobuf\Internal\Message::writeWrapperValue( $member, $value)
Properties
private $methods = NULL
 

The methods of this interface, in unspecified order.

Generated from protobuf field repeated .google.protobuf.Method methods = 2;

private $mixins = NULL
 

Included interfaces. See [Mixin][].

Generated from protobuf field repeated .google.protobuf.Mixin mixins = 6;

private $options = NULL
 

Any metadata attached to the interface.

Generated from protobuf field repeated .google.protobuf.Option options = 3;

© 2025 Bruce Wells
Search Namespaces \ Classes
Configuration