Class: Google::Apis::ServicenetworkingV1::BackendRule

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

Overview

A backend rule provides configuration for an individual API element.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ BackendRule

Returns a new instance of BackendRule.



861
862
863
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 861

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)


787
788
789
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 787

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)


793
794
795
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 793

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)


801
802
803
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 801

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)


809
810
811
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 809

def jwt_audience
  @jwt_audience
end

#load_balancing_policyString

The load balancing policy used for connection to the application backend. Defined as an arbitrary string to accomondate custom load balancing policies supported by the underlying channel, but suggest most users use one of the standard policies, such as the default, "RoundRobin". Corresponds to the JSON property loadBalancingPolicy

Returns:

  • (String)


817
818
819
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 817

def load_balancing_policy
  @load_balancing_policy
end

#min_deadlineFloat

Deprecated, do not use. Corresponds to the JSON property minDeadline

Returns:

  • (Float)


822
823
824
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 822

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)


828
829
830
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 828

def operation_deadline
  @operation_deadline
end

#overrides_by_request_protocolHash<String,Google::Apis::ServicenetworkingV1::BackendRule>

The map between request protocol and the backend address. Corresponds to the JSON property overridesByRequestProtocol



833
834
835
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 833

def overrides_by_request_protocol
  @overrides_by_request_protocol
end

#path_translationString

Path translation specifies how to combine the backend address with the request path in order to produce the appropriate forwarding URL for the request. See PathTranslation for more details. Corresponds to the JSON property pathTranslation

Returns:

  • (String)


840
841
842
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 840

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)


853
854
855
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 853

def protocol
  @protocol
end

#selectorString

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

Returns:

  • (String)


859
860
861
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 859

def selector
  @selector
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



866
867
868
869
870
871
872
873
874
875
876
877
878
# File 'lib/google/apis/servicenetworking_v1/classes.rb', line 866

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)
  @load_balancing_policy = args[:load_balancing_policy] if args.key?(:load_balancing_policy)
  @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
  @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline)
  @overrides_by_request_protocol = args[:overrides_by_request_protocol] if args.key?(:overrides_by_request_protocol)
  @path_translation = args[:path_translation] if args.key?(:path_translation)
  @protocol = args[:protocol] if args.key?(:protocol)
  @selector = args[:selector] if args.key?(:selector)
end