Class BackendRule (2.2.0)

public sealed class BackendRule : Protobuf.IMessage<BackendRule>, Protobuf.IBufferMessage

A backend rule provides configuration for an individual API element.

Inheritance

Object > BackendRule

Namespace

Google.Api

Assembly

Google.Api.CommonProtos.dll

Constructors

BackendRule()

public BackendRule()

BackendRule(BackendRule)

public BackendRule(BackendRule other)
Parameter
NameDescription
otherBackendRule

Fields

AddressFieldNumber

public const int AddressFieldNumber = 2

Field number for the "address" field.

Field Value
TypeDescription
Int32

DeadlineFieldNumber

public const int DeadlineFieldNumber = 3

Field number for the "deadline" field.

Field Value
TypeDescription
Int32

DisableAuthFieldNumber

public const int DisableAuthFieldNumber = 8

Field number for the "disable_auth" field.

Field Value
TypeDescription
Int32

JwtAudienceFieldNumber

public const int JwtAudienceFieldNumber = 7

Field number for the "jwt_audience" field.

Field Value
TypeDescription
Int32

MinDeadlineFieldNumber

public const int MinDeadlineFieldNumber = 4

Field number for the "min_deadline" field.

Field Value
TypeDescription
Int32

OperationDeadlineFieldNumber

public const int OperationDeadlineFieldNumber = 5

Field number for the "operation_deadline" field.

Field Value
TypeDescription
Int32

PathTranslationFieldNumber

public const int PathTranslationFieldNumber = 6

Field number for the "path_translation" field.

Field Value
TypeDescription
Int32

ProtocolFieldNumber

public const int ProtocolFieldNumber = 9

Field number for the "protocol" field.

Field Value
TypeDescription
Int32

SelectorFieldNumber

public const int SelectorFieldNumber = 1

Field number for the "selector" field.

Field Value
TypeDescription
Int32

Properties

Address

public string Address { get; set; }

The address of the API backend.

The scheme is used to determine the backend protocol and security. The following schemes are accepted:

SCHEME PROTOCOL SECURITY http:// HTTP None https:// HTTP TLS grpc:// gRPC None grpcs:// gRPC TLS

It is recommended to explicitly include a scheme. Leaving out the scheme may cause constrasting behaviors across platforms.

If the port is unspecified, the default is:

  • 80 for schemes without TLS
  • 443 for schemes with TLS

For HTTP backends, use [protocol][google.api.BackendRule.protocol] to specify the protocol version.

Property Value
TypeDescription
String

AuthenticationCase

public BackendRule.AuthenticationOneofCase AuthenticationCase { get; }
Property Value
TypeDescription
BackendRule.AuthenticationOneofCase

Deadline

public double Deadline { get; set; }

The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment.

Property Value
TypeDescription
Double

Descriptor

public static Protobuf.Reflection.MessageDescriptor Descriptor { get; }
Property Value
TypeDescription
Protobuf.Reflection.MessageDescriptor

DisableAuth

public bool DisableAuth { get; set; }

When disable_auth is true, a JWT ID token won't be generated and the original "Authorization" HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header.

Property Value
TypeDescription
Boolean

JwtAudience

public string JwtAudience { get; set; }

The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP "authorization" header, and sent to the backend.

Property Value
TypeDescription
String

MinDeadline

public double MinDeadline { get; set; }

Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.

Property Value
TypeDescription
Double

OperationDeadline

public double OperationDeadline { get; set; }

The number of seconds to wait for the completion of a long running operation. The default is no deadline.

Property Value
TypeDescription
Double

Parser

public static Protobuf.MessageParser<BackendRule> Parser { get; }
Property Value
TypeDescription
Protobuf.MessageParser<BackendRule>

PathTranslation

public BackendRule.Types.PathTranslation PathTranslation { get; set; }
Property Value
TypeDescription
BackendRule.Types.PathTranslation

Protocol

public string Protocol { get; set; }

The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2".

The default value is inferred from the scheme in the [address][google.api.BackendRule.address] field:

SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2

For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance.

Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends.

See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values.

Property Value
TypeDescription
String

Selector

public string Selector { get; set; }

Selects the methods to which this rule applies.

Refer to [selector][google.api.DocumentationRule.selector] for syntax details.

Property Value
TypeDescription
String

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
Int32

ClearAuthentication()

public void ClearAuthentication()

Clone()

public BackendRule Clone()
Returns
TypeDescription
BackendRule

Equals(BackendRule)

public bool Equals(BackendRule other)
Parameter
NameDescription
otherBackendRule
Returns
TypeDescription
Boolean

Equals(Object)

public override bool Equals(object other)
Parameter
NameDescription
otherObject
Returns
TypeDescription
Boolean

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
Int32

MergeFrom(BackendRule)

public void MergeFrom(BackendRule other)
Parameter
NameDescription
otherBackendRule

MergeFrom(Protobuf.CodedInputStream)

public void MergeFrom(Protobuf.CodedInputStream input)
Parameter
NameDescription
inputProtobuf.CodedInputStream

ToString()

public override string ToString()
Returns
TypeDescription
String

WriteTo(Protobuf.CodedOutputStream)

public void WriteTo(Protobuf.CodedOutputStream output)
Parameter
NameDescription
outputProtobuf.CodedOutputStream