class Google::Apis::ComputeBeta::TargetGrpcProxy

Represents a Target gRPC Proxy resource. A target gRPC proxy is a component of load balancers intended for load balancing gRPC traffic. Only global forwarding rules with load balancing scheme INTERNAL_SELF_MANAGED can reference a target gRPC proxy. The target gRPC Proxy references a URL map that specifies how traffic is routed to gRPC backend services.

Attributes

creation_timestamp[RW]
Output Only

Creation timestamp in RFC3339 text format.

Corresponds to the JSON property `creationTimestamp` @return [String]

description[RW]

An optional description of this resource. Provide this property when you create the resource. Corresponds to the JSON property `description` @return [String]

fingerprint[RW]

Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetGrpcProxy. An up-to-date fingerprint must be provided in order to patch/update the TargetGrpcProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetGrpcProxy. Corresponds to the JSON property `fingerprint` NOTE: Values are automatically base64 encoded/decoded in the client library. @return [String]

id[RW]
Output Only

The unique identifier for the resource type. The server

generates this identifier. Corresponds to the JSON property `id` @return [Fixnum]

kind[RW]
Output Only

Type of the resource. Always compute#targetGrpcProxy for target

grpc proxies. Corresponds to the JSON property `kind` @return [String]

name[RW]

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a- z0-9]*)?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. Corresponds to the JSON property `name` @return [String]

url_map[RW]

URL to the UrlMap resource that defines the mapping from URL to the BackendService. The protocol field in the BackendService must be set to GRPC. Corresponds to the JSON property `urlMap` @return [String]

validate_for_proxyless[RW]

If true, indicates that the BackendServices referenced by the urlMap may be accessed by gRPC applications without using a sidecar proxy. This will enable configuration checks on urlMap and its referenced BackendServices to not allow unsupported features. A gRPC application must use “xds:///” scheme in the target URI of the service it is connecting to. If false, indicates that the BackendServices referenced by the urlMap will be accessed by gRPC applications via a sidecar proxy. In this case, a gRPC application must not use “xds:///” scheme in the target URI of the service it is connecting to Corresponds to the JSON property `validateForProxyless` @return [Boolean]

validate_for_proxyless?[RW]

If true, indicates that the BackendServices referenced by the urlMap may be accessed by gRPC applications without using a sidecar proxy. This will enable configuration checks on urlMap and its referenced BackendServices to not allow unsupported features. A gRPC application must use “xds:///” scheme in the target URI of the service it is connecting to. If false, indicates that the BackendServices referenced by the urlMap will be accessed by gRPC applications via a sidecar proxy. In this case, a gRPC application must not use “xds:///” scheme in the target URI of the service it is connecting to Corresponds to the JSON property `validateForProxyless` @return [Boolean]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/compute_beta/classes.rb, line 34924
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/compute_beta/classes.rb, line 34929
def update!(**args)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @description = args[:description] if args.key?(:description)
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
  @id = args[:id] if args.key?(:id)
  @kind = args[:kind] if args.key?(:kind)
  @name = args[:name] if args.key?(:name)
  @self_link = args[:self_link] if args.key?(:self_link)
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
  @url_map = args[:url_map] if args.key?(:url_map)
  @validate_for_proxyless = args[:validate_for_proxyless] if args.key?(:validate_for_proxyless)
end