public sealed class BackendRule : IMessage<BackendRule>, IEquatable<BackendRule>, IDeepCloneable<BackendRule>, IBufferMessage, IMessage
A backend rule provides configuration for an individual API element.
Implements
IMessage BackendRule , IEquatable BackendRule , IDeepCloneable BackendRule , IBufferMessage , IMessageNamespace
Google.ApiAssembly
Google.Api.CommonProtos.dll
Constructors
BackendRule()
public BackendRule()
BackendRule(BackendRule)
public BackendRule(BackendRule other)
Fields
AddressFieldNumber
public
const
int
AddressFieldNumber
=
2
Field number for the "address" field.
DeadlineFieldNumber
public
const
int
DeadlineFieldNumber
=
3
Field number for the "deadline" field.
DisableAuthFieldNumber
public
const
int
DisableAuthFieldNumber
=
8
Field number for the "disable_auth" field.
JwtAudienceFieldNumber
public
const
int
JwtAudienceFieldNumber
=
7
Field number for the "jwt_audience" field.
MinDeadlineFieldNumber
public
const
int
MinDeadlineFieldNumber
=
4
Field number for the "min_deadline" field.
OperationDeadlineFieldNumber
public
const
int
OperationDeadlineFieldNumber
=
5
Field number for the "operation_deadline" field.
OverridesByRequestProtocolFieldNumber
public
const
int
OverridesByRequestProtocolFieldNumber
=
10
Field number for the "overrides_by_request_protocol" field.
PathTranslationFieldNumber
public
const
int
PathTranslationFieldNumber
=
6
Field number for the "path_translation" field.
ProtocolFieldNumber
public
const
int
ProtocolFieldNumber
=
9
Field number for the "protocol" field.
SelectorFieldNumber
public
const
int
SelectorFieldNumber
=
1
Field number for the "selector" field.
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.
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.
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.
HasDisableAuth
public bool HasDisableAuth { get; }
Gets whether the "disable_auth" field is set
HasJwtAudience
public bool HasJwtAudience { get; }
Gets whether the "jwt_audience" field is set
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.
MinDeadline
[Obsolete]
public double MinDeadline { get; set; }
Deprecated, do not use.
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.
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.
Selector
public string Selector { get; set; }
Selects the methods to which this rule applies.
Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
Methods
CalculateSize()
public int CalculateSize()
Calculates the size of this message in Protocol Buffer wire format, in bytes.
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.
Equals(BackendRule)
public bool Equals(BackendRule other)
Equals(object)
public override bool Equals(object other)
GetHashCode()
public override int GetHashCode()
MergeFrom(BackendRule)
public void MergeFrom(BackendRule other)
Merges the given message into this one.
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.
See the user guide for precise merge semantics.
ToString()
public override string ToString()
WriteTo(CodedOutputStream)
public void WriteTo(CodedOutputStream output)
Writes the data to the given coded output stream.
output