Class BackendRule (2.15.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()

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.

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()

Creates a deep clone of this object.

Returns
Type Description
BackendRule

A deep clone of this object.

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)

Merges the given message into this one.

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