Class: Google::Apis::CesV1::LfA2aV1AgentInterface

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

Overview

Declares a combination of a target URL, transport and protocol version for interacting with the agent. This allows agents to expose the same functionality over multiple protocol binding mechanisms.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ LfA2aV1AgentInterface

Returns a new instance of LfA2aV1AgentInterface.



4645
4646
4647
# File 'lib/google/apis/ces_v1/classes.rb', line 4645

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

Instance Attribute Details

#protocol_bindingString

Required. The protocol binding supported at this URL. This is an open form string, to be easily extended for other protocol bindings. The core ones officially supported are JSONRPC, GRPC and HTTP+JSON. Corresponds to the JSON property protocolBinding

Returns:

  • (String)


4620
4621
4622
# File 'lib/google/apis/ces_v1/classes.rb', line 4620

def protocol_binding
  @protocol_binding
end

#protocol_versionString

Required. The version of the A2A protocol this interface exposes. Use the latest supported minor version per major version. Examples: "0.3", "1.0" Corresponds to the JSON property protocolVersion

Returns:

  • (String)


4626
4627
4628
# File 'lib/google/apis/ces_v1/classes.rb', line 4626

def protocol_version
  @protocol_version
end

#tenantString

Optional. An opaque string used for routing requests to a specific agent or tenant when multiple agents are served behind a single A2A endpoint. When set, clients MUST include this value in the tenant field of all request messages sent to this interface. The server is responsible for interpreting the value and routing requests accordingly; the protocol does not define its format or semantics. Corresponds to the JSON property tenant

Returns:

  • (String)


4636
4637
4638
# File 'lib/google/apis/ces_v1/classes.rb', line 4636

def tenant
  @tenant
end

#urlString

Required. The URL where this interface is available. Must be a valid absolute HTTPS URL in production. Example: "https://api.example.com/a2a/v1", "https:// grpc.example.com/a2a" Corresponds to the JSON property url

Returns:

  • (String)


4643
4644
4645
# File 'lib/google/apis/ces_v1/classes.rb', line 4643

def url
  @url
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4650
4651
4652
4653
4654
4655
# File 'lib/google/apis/ces_v1/classes.rb', line 4650

def update!(**args)
  @protocol_binding = args[:protocol_binding] if args.key?(:protocol_binding)
  @protocol_version = args[:protocol_version] if args.key?(:protocol_version)
  @tenant = args[:tenant] if args.key?(:tenant)
  @url = args[:url] if args.key?(:url)
end