Class FieldPolicy (2.15.0)

public sealed class FieldPolicy : IMessage<FieldPolicy>, IEquatable<FieldPolicy>, IDeepCloneable<FieldPolicy>, IBufferMessage, IMessage

Google API Policy Annotation

This message defines a simple API policy annotation that can be used to annotate API request and response message fields with applicable policies. One field may have multiple applicable policies that must all be satisfied before a request can be processed. This policy annotation is used to generate the overall policy that will be used for automatic runtime policy enforcement and documentation generation.

Inheritance

object > FieldPolicy

Namespace

Google.Api

Assembly

Google.Api.CommonProtos.dll

Constructors

FieldPolicy()

public FieldPolicy()

FieldPolicy(FieldPolicy)

public FieldPolicy(FieldPolicy other)
Parameter
Name Description
other FieldPolicy

Fields

ResourcePermissionFieldNumber

public const int ResourcePermissionFieldNumber = 2

Field number for the "resource_permission" field.

Field Value
Type Description
int

ResourceTypeFieldNumber

public const int ResourceTypeFieldNumber = 3

Field number for the "resource_type" field.

Field Value
Type Description
int

SelectorFieldNumber

public const int SelectorFieldNumber = 1

Field number for the "selector" field.

Field Value
Type Description
int

Properties

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
Type Description
MessageDescriptor

Parser

public static MessageParser<FieldPolicy> Parser { get; }
Property Value
Type Description
MessageParserFieldPolicy

ResourcePermission

public string ResourcePermission { get; set; }

Specifies the required permission(s) for the resource referred to by the field. It requires the field contains a valid resource reference, and the request must pass the permission checks to proceed. For example, "resourcemanager.projects.get".

Property Value
Type Description
string

ResourceType

public string ResourceType { get; set; }

Specifies the resource type for the resource referred to by the field.

Property Value
Type Description
string

Selector

public string Selector { get; set; }

Selects one or more request or response message fields to apply this FieldPolicy.

When a FieldPolicy is used in proto annotation, the selector must be left as empty. The service config generator will automatically fill the correct value.

When a FieldPolicy is used in service config, the selector must be a comma-separated string with valid request or response field paths, such as "foo.bar" or "foo.bar,foo.baz".

Property Value
Type Description
string

Methods

CalculateSize()

public int CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

Returns
Type Description
int

The number of bytes required to write this message to a coded output stream.

Clone()

public FieldPolicy Clone()

Creates a deep clone of this object.

Returns
Type Description
FieldPolicy

A deep clone of this object.

Equals(FieldPolicy)

public bool Equals(FieldPolicy other)
Parameter
Name Description
other FieldPolicy
Returns
Type Description
bool

Equals(object)

public override bool Equals(object other)
Parameter
Name Description
other object
Returns
Type Description
bool
Overrides

GetHashCode()

public override int GetHashCode()
Returns
Type Description
int
Overrides

MergeFrom(FieldPolicy)

public void MergeFrom(FieldPolicy other)

Merges the given message into this one.

Parameter
Name Description
other FieldPolicy
Remarks

See the user guide for precise merge semantics.

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)

Merges the data from the specified coded input stream with the current message.

Parameter
Name Description
input CodedInputStream
Remarks

See the user guide for precise merge semantics.

ToString()

public override string ToString()
Returns
Type Description
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)

Writes the data to the given coded output stream.

Parameter
Name Description
output CodedOutputStream

Coded output stream to write the data to. Must not be null.