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()
BackendRule(BackendRule)
public BackendRule(BackendRule other)
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; }
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; }
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; }
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.
Parser
public static MessageParser<BackendRule> Parser { get; }
PathTranslation
public BackendRule.Types.PathTranslation PathTranslation { get; set; }
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()
Equals(BackendRule)
public bool Equals(BackendRule other)
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)
public void MergeFrom(CodedInputStream input)
ToString()
public override string ToString()
Returns |
Type |
Description |
string |
|
Overrides
WriteTo(CodedOutputStream)
public void WriteTo(CodedOutputStream output)