Reference documentation and code samples for the Google API Common Protos Client class ResourceReference.
Defines a proto annotation that describes a string field that refers to
an API resource.
Generated from protobuf message google.api.ResourceReference
Namespace
Google \ Api
Methods
__construct
Constructor.
Parameters
Name
Description
data
array
Optional. Data for populating the Message object.
↳ type
string
The resource type that the annotated field references. Example: message Subscription { string topic = 2 [(google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }]; } Occasionally, a field may reference an arbitrary resource. In this case, APIs use the special value * in their resource reference. Example: message GetIamPolicyRequest { string resource = 2 [(google.api.resource_reference) = { type: "*" }]; }
↳ child_type
string
The resource type of a child collection that the annotated field references. This is useful for annotating the parent field that doesn't have a fixed resource type. Example: message ListLogEntriesRequest { string parent = 1 [(google.api.resource_reference) = { child_type: "logging.googleapis.com/LogEntry" }; }
getType
The resource type that the annotated field references.
Example:
message Subscription {
string topic = 2 [(google.api.resource_reference) = {
type: "pubsub.googleapis.com/Topic"
}];
}
Occasionally, a field may reference an arbitrary resource. In this case,
APIs use the special value * in their resource reference.
Example:
message GetIamPolicyRequest {
string resource = 2 [(google.api.resource_reference) = {
type: "*"
}];
}
Returns
Type
Description
string
setType
The resource type that the annotated field references.
Example:
message Subscription {
string topic = 2 [(google.api.resource_reference) = {
type: "pubsub.googleapis.com/Topic"
}];
}
Occasionally, a field may reference an arbitrary resource. In this case,
APIs use the special value * in their resource reference.
Example:
message GetIamPolicyRequest {
string resource = 2 [(google.api.resource_reference) = {
type: "*"
}];
}
Parameter
Name
Description
var
string
Returns
Type
Description
$this
getChildType
The resource type of a child collection that the annotated field
references. This is useful for annotating the parent field that
doesn't have a fixed resource type.
The resource type of a child collection that the annotated field
references. This is useful for annotating the parent field that
doesn't have a fixed resource type.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-19 UTC."],[],[],null,["# Google API Common Protos Client - Class ResourceReference (4.12.3)\n\nVersion latestkeyboard_arrow_down\n\n- [4.12.3 (latest)](/php/docs/reference/common-protos/latest/Api.ResourceReference)\n- [4.12.2](/php/docs/reference/common-protos/4.12.2/Api.ResourceReference)\n- [4.11.0](/php/docs/reference/common-protos/4.11.0/Api.ResourceReference)\n- [4.10.0](/php/docs/reference/common-protos/4.10.0/Api.ResourceReference)\n- [4.9.0](/php/docs/reference/common-protos/4.9.0/Api.ResourceReference)\n- [4.8.3](/php/docs/reference/common-protos/4.8.3/Api.ResourceReference) \nReference documentation and code samples for the Google API Common Protos Client class ResourceReference.\n\nDefines a proto annotation that describes a string field that refers to\nan API resource.\n\nGenerated from protobuf message `google.api.ResourceReference`\n\nNamespace\n---------\n\nGoogle \\\\ Api\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getType\n\nThe resource type that the annotated field references.\n\nExample:\nmessage Subscription {\nstring topic = 2 \\[(google.api.resource_reference) = {\ntype: \"pubsub.googleapis.com/Topic\"\n}\\];\n}\nOccasionally, a field may reference an arbitrary resource. In this case,\nAPIs use the special value \\* in their resource reference.\nExample:\nmessage GetIamPolicyRequest {\nstring resource = 2 \\[(google.api.resource_reference) = {\ntype: \"\\*\"\n}\\];\n}\n\n### setType\n\nThe resource type that the annotated field references.\n\nExample:\nmessage Subscription {\nstring topic = 2 \\[(google.api.resource_reference) = {\ntype: \"pubsub.googleapis.com/Topic\"\n}\\];\n}\nOccasionally, a field may reference an arbitrary resource. In this case,\nAPIs use the special value \\* in their resource reference.\nExample:\nmessage GetIamPolicyRequest {\nstring resource = 2 \\[(google.api.resource_reference) = {\ntype: \"\\*\"\n}\\];\n}\n\n### getChildType\n\nThe resource type of a child collection that the annotated field\nreferences. This is useful for annotating the `parent` field that\ndoesn't have a fixed resource type.\n\nExample:\nmessage ListLogEntriesRequest {\nstring parent = 1 \\[(google.api.resource_reference) = {\nchild_type: \"logging.googleapis.com/LogEntry\"\n};\n}\n\n### setChildType\n\nThe resource type of a child collection that the annotated field\nreferences. This is useful for annotating the `parent` field that\ndoesn't have a fixed resource type.\n\nExample:\nmessage ListLogEntriesRequest {\nstring parent = 1 \\[(google.api.resource_reference) = {\nchild_type: \"logging.googleapis.com/LogEntry\"\n};\n}"]]