google_api_service_consumer_management v0.22.1 GoogleApi.ServiceConsumerManagement.V1.Model.BackendRule View Source

A backend rule provides configuration for an individual API element.

Attributes

  • address (type: String.t, default: nil) - 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 to specify the protocol version.

  • deadline (type: float(), default: nil) - The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment.

  • disableAuth (type: boolean(), default: nil) - 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.

  • jwtAudience (type: String.t, default: nil) - 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 (type: float(), default: nil) - Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.

  • operationDeadline (type: float(), default: nil) - The number of seconds to wait for the completion of a long running operation. The default is no deadline.

  • pathTranslation (type: String.t, default: nil) -

  • protocol (type: String.t, default: nil) - 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 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.

  • renameTo (type: String.t, default: nil) - Unimplemented. Do not use.

    The new name the selected proto elements should be renamed to.

    The package, the service and the method can all be renamed. The backend server should implement the renamed proto. However, clients should call the original method, and ESF routes the traffic to the renamed method.

    HTTP clients should call the URL mapped to the original method. gRPC and Stubby clients should call the original method with package name.

    For legacy reasons, ESF allows Stubby clients to call with the short name (without the package name). However, for API Versioning(or multiple methods mapped to the same short name), all Stubby clients must call the method's full name with the package name, otherwise the first one (selector) wins.

    If this rename_to is specified with a trailing *, the selector must be specified with a trailing * as well. The all element short names matched by the * in the selector will be kept in the rename_to.

    For example,

    rename_rules:
    - selector: |-
        google.example.library.v1.*
      rename_to: google.example.library.*

    The selector matches google.example.library.v1.Library.CreateShelf and google.example.library.v1.Library.CreateBook, they will be renamed to google.example.library.Library.CreateShelf and google.example.library.Library.CreateBook. It essentially renames the proto package name section of the matched proto service and methods.

  • selector (type: String.t, default: nil) - Selects the methods to which this rule applies.

    Refer to selector for syntax details.

Link to this section Summary

Functions

Unwrap a decoded JSON object into its complex fields.

Link to this section Types

Link to this type

t()

View Source
t() :: %GoogleApi.ServiceConsumerManagement.V1.Model.BackendRule{
  address: String.t(),
  deadline: float(),
  disableAuth: boolean(),
  jwtAudience: String.t(),
  minDeadline: float(),
  operationDeadline: float(),
  pathTranslation: String.t(),
  protocol: String.t(),
  renameTo: String.t(),
  selector: String.t()
}

Link to this section Functions

Link to this function

decode(value, options)

View Source
decode(struct(), keyword()) :: struct()

Unwrap a decoded JSON object into its complex fields.