# Secure Source Manager V1 API - Class Google::Api::ResourceReference (v2.7.0)

2.7.0 (latest) 2.6.1 2.5.0 2.4.0 2.3.0 2.2.1 2.1.0 2.0.1 1.3.0 1.2.0 1.1.0 1.0.1 0.4.0 0.3.0 0.2.2 0.1.0 Reference documentation and code samples for the Secure Source Manager V1 API class Google::Api::ResourceReference.

Defines a proto annotation that describes a string field that refers to
an API resource.

## Inherits

- Object

## Extended By

- Google::Protobuf::MessageExts::ClassMethods

## Includes

- Google::Protobuf::MessageExts

## Methods

### #child_type

    def child_type() -> ::String

**Returns**

- (::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"
        };
      }

### #child_type=

    def child_type=(value) -> ::String

**Parameter**

- **value** (::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"
        };
      }

**Returns**

- (::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"
        };
      }

### #type

    def type() -> ::String

**Returns**

- (::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: "*"
        }];
      }

### #type=

    def type=(value) -> ::String

**Parameter**

- **value** (::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: "*"
        }];
      }

**Returns**

- (::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: "*"
        }];
      }