Class BackendRule (2.10.0)

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

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
Name Description
other BackendRule

Fields

AddressFieldNumber

public const int AddressFieldNumber = 2

Field number for the "address" field.

Field Value
Type Description
int

DeadlineFieldNumber

public const int DeadlineFieldNumber = 3

Field number for the "deadline" field.

Field Value
Type Description
int

DisableAuthFieldNumber

public const int DisableAuthFieldNumber = 8

Field number for the "disable_auth" field.

Field Value
Type Description
int

JwtAudienceFieldNumber

public const int JwtAudienceFieldNumber = 7

Field number for the "jwt_audience" field.

Field Value
Type Description
int

MinDeadlineFieldNumber

public const int MinDeadlineFieldNumber = 4

Field number for the "min_deadline" field.

Field Value
Type Description
int

OperationDeadlineFieldNumber

public const int OperationDeadlineFieldNumber = 5

Field number for the "operation_deadline" field.

Field Value
Type Description
int

OverridesByRequestProtocolFieldNumber

public const int OverridesByRequestProtocolFieldNumber = 10

Field number for the "overrides_by_request_protocol" field.

Field Value
Type Description
int

PathTranslationFieldNumber

public const int PathTranslationFieldNumber = 6

Field number for the "path_translation" field.

Field Value
Type Description
int

ProtocolFieldNumber

public const int ProtocolFieldNumber = 9

Field number for the "protocol" field.

Field Value
Type Description
int

SelectorFieldNumber

public const int SelectorFieldNumber = 1

Field number for the "selector" field.

Field Value
Type Description
int

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
Type Description
string

AuthenticationCase

public BackendRule.AuthenticationOneofCase AuthenticationCase { get; }
Property Value
Type Description
BackendRuleAuthenticationOneofCase

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
Type Description
double

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
Type Description
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
Type Description
bool

HasDisableAuth

public bool HasDisableAuth { get; }

Gets whether the "disable_auth" field is set

Property Value
Type Description
bool

HasJwtAudience

public bool HasJwtAudience { get; }

Gets whether the "jwt_audience" field is set

Property Value
Type Description
bool

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
Type Description
string

MinDeadline

[Obsolete]
public double MinDeadline { get; set; }

Deprecated, do not use.

Property Value
Type Description
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
Type Description
double

OverridesByRequestProtocol

public MapField<string, BackendRule> OverridesByRequestProtocol { get; }

The map between request protocol and the backend address.

Property Value
Type Description
MapFieldstringBackendRule

Parser

public static MessageParser<BackendRule> Parser { get; }
Property Value
Type Description
MessageParserBackendRule

PathTranslation

public BackendRule.Types.PathTranslation PathTranslation { get; set; }
Property Value
Type Description
BackendRuleTypesPathTranslation

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
Type Description
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
Type Description
string

Methods

CalculateSize()

public int CalculateSize()
Returns
Type Description
int

ClearAuthentication()

public void ClearAuthentication()

ClearDisableAuth()

public void ClearDisableAuth()

Clears the value of the oneof if it's currently set to "disable_auth"

ClearJwtAudience()

public void ClearJwtAudience()

Clears the value of the oneof if it's currently set to "jwt_audience"

Clone()

public BackendRule Clone()
Returns
Type Description
BackendRule

Equals(BackendRule)

public bool Equals(BackendRule other)
Parameter
Name Description
other BackendRule
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(BackendRule)

public void MergeFrom(BackendRule other)
Parameter
Name Description
other BackendRule

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)
Parameter
Name Description
input CodedInputStream

ToString()

public override string ToString()
Returns
Type Description
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)
Parameter
Name Description
output CodedOutputStream