Class: Google::Apis::ServiceconsumermanagementV1beta1::BackendRule

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb,
generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb,
generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb

Overview

A backend rule provides configuration for an individual API element.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ BackendRule

Returns a new instance of BackendRule.



480
481
482
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 480

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#addressString

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. Corresponds to the JSON property address

Returns:

  • (String)


382
383
384
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 382

def address
  @address
end

#deadlineFloat

The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment. Corresponds to the JSON property deadline

Returns:

  • (Float)


388
389
390
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 388

def deadline
  @deadline
end

#disable_authBoolean Also known as: disable_auth?

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. Corresponds to the JSON property disableAuth

Returns:

  • (Boolean)


396
397
398
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 396

def disable_auth
  @disable_auth
end

#jwt_audienceString

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. Corresponds to the JSON property jwtAudience

Returns:

  • (String)


404
405
406
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 404

def jwt_audience
  @jwt_audience
end

#min_deadlineFloat

Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected. Corresponds to the JSON property minDeadline

Returns:

  • (Float)


410
411
412
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 410

def min_deadline
  @min_deadline
end

#operation_deadlineFloat

The number of seconds to wait for the completion of a long running operation. The default is no deadline. Corresponds to the JSON property operationDeadline

Returns:

  • (Float)


416
417
418
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 416

def operation_deadline
  @operation_deadline
end

#path_translationString

Corresponds to the JSON property pathTranslation

Returns:

  • (String)


421
422
423
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 421

def path_translation
  @path_translation
end

#protocolString

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. Corresponds to the JSON property protocol

Returns:

  • (String)


442
443
444
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 442

def protocol
  @protocol
end

#rename_toString

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. Corresponds to the JSON property renameTo

Returns:

  • (String)


472
473
474
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 472

def rename_to
  @rename_to
end

#selectorString

Selects the methods to which this rule applies. Refer to selector for syntax details. Corresponds to the JSON property selector

Returns:

  • (String)


478
479
480
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 478

def selector
  @selector
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



485
486
487
488
489
490
491
492
493
494
495
496
# File 'generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb', line 485

def update!(**args)
  @address = args[:address] if args.key?(:address)
  @deadline = args[:deadline] if args.key?(:deadline)
  @disable_auth = args[:disable_auth] if args.key?(:disable_auth)
  @jwt_audience = args[:jwt_audience] if args.key?(:jwt_audience)
  @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
  @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline)
  @path_translation = args[:path_translation] if args.key?(:path_translation)
  @protocol = args[:protocol] if args.key?(:protocol)
  @rename_to = args[:rename_to] if args.key?(:rename_to)
  @selector = args[:selector] if args.key?(:selector)
end