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.
Implements
IMessageFieldPolicy, IEquatableFieldPolicy, IDeepCloneableFieldPolicy, IBufferMessage, IMessageNamespace
Google.ApiAssembly
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 |
GetHashCode()
public override int GetHashCode()
Returns | |
---|---|
Type | Description |
int |
MergeFrom(FieldPolicy)
public void MergeFrom(FieldPolicy other)
Merges the given message into this one.
Parameter | |
---|---|
Name | Description |
other |
FieldPolicy |
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 |
See the user guide for precise merge semantics.
ToString()
public override string ToString()
Returns | |
---|---|
Type | Description |
string |
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. |