@@ -1058,6 +1058,14 @@ class GoogleCloudApigeeV1ApiProduct
10581058 # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1OperationGroup]
10591059 attr_accessor :operation_group
10601060
1061+ # List of payload operation configuration details associated with Apigee API
1062+ # proxies. Payload operations enable governance of protocols where operations
1063+ # are embedded in the request body (such as JSON-RPC) rather than defined by the
1064+ # URL path.
1065+ # Corresponds to the JSON property `payloadOperationGroup`
1066+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1PayloadOperationGroup]
1067+ attr_accessor :payload_operation_group
1068+
10611069 # Comma-separated list of API proxy names to which this API product is bound. By
10621070 # specifying API proxies, you can associate resources in the API product with
10631071 # specific API proxies, preventing developers from accessing those resources
@@ -1136,6 +1144,7 @@ def update!(**args)
11361144 @llm_quota_time_unit = args[:llm_quota_time_unit] if args.key?(:llm_quota_time_unit)
11371145 @name = args[:name] if args.key?(:name)
11381146 @operation_group = args[:operation_group] if args.key?(:operation_group)
1147+ @payload_operation_group = args[:payload_operation_group] if args.key?(:payload_operation_group)
11391148 @proxies = args[:proxies] if args.key?(:proxies)
11401149 @quota = args[:quota] if args.key?(:quota)
11411150 @quota_counter_scope = args[:quota_counter_scope] if args.key?(:quota_counter_scope)
@@ -8583,6 +8592,93 @@ def update!(**args)
85838592 end
85848593 end
85858594
8595+ # Represents a single operation identifier extracted from the request payload.
8596+ class GoogleCloudApigeeV1PayloadOperation
8597+ include Google::Apis::Core::Hashable
8598+
8599+ # Required. The operation name extracted from the request payload at runtime by
8600+ # the ParsePayload policy. For example, for MCP protocol requests, this could be
8601+ # `"tools/list"` or `"tools/call/get_weather"`. Wildcards are not supported.
8602+ # Corresponds to the JSON property `operation`
8603+ # @return [String]
8604+ attr_accessor :operation
8605+
8606+ def initialize(**args)
8607+ update!(**args)
8608+ end
8609+
8610+ # Update properties of this object
8611+ def update!(**args)
8612+ @operation = args[:operation] if args.key?(:operation)
8613+ end
8614+ end
8615+
8616+ # Binds the payload operations in an API proxy with the associated quota
8617+ # enforcement.
8618+ class GoogleCloudApigeeV1PayloadOperationConfig
8619+ include Google::Apis::Core::Hashable
8620+
8621+ # Required. Name of the API proxy with which the payload operations and quota
8622+ # are associated.
8623+ # Corresponds to the JSON property `apiSource`
8624+ # @return [String]
8625+ attr_accessor :api_source
8626+
8627+ # Optional. Custom attributes associated with the operation.
8628+ # Corresponds to the JSON property `attributes`
8629+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1Attribute>]
8630+ attr_accessor :attributes
8631+
8632+ # Required. List of payload operations for the API proxy to which quota will be
8633+ # applied.
8634+ # Corresponds to the JSON property `operations`
8635+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1PayloadOperation>]
8636+ attr_accessor :operations
8637+
8638+ # Quota contains the essential parameters needed that can be applied on the
8639+ # resources, methods, API source combination associated with this API product.
8640+ # While Quota is optional, setting it prevents requests from exceeding the
8641+ # provisioned parameters.
8642+ # Corresponds to the JSON property `quota`
8643+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1Quota]
8644+ attr_accessor :quota
8645+
8646+ def initialize(**args)
8647+ update!(**args)
8648+ end
8649+
8650+ # Update properties of this object
8651+ def update!(**args)
8652+ @api_source = args[:api_source] if args.key?(:api_source)
8653+ @attributes = args[:attributes] if args.key?(:attributes)
8654+ @operations = args[:operations] if args.key?(:operations)
8655+ @quota = args[:quota] if args.key?(:quota)
8656+ end
8657+ end
8658+
8659+ # List of payload operation configuration details associated with Apigee API
8660+ # proxies. Payload operations enable governance of protocols where operations
8661+ # are embedded in the request body (such as JSON-RPC) rather than defined by the
8662+ # URL path.
8663+ class GoogleCloudApigeeV1PayloadOperationGroup
8664+ include Google::Apis::Core::Hashable
8665+
8666+ # Required. List of payload operation configurations for Apigee API proxies that
8667+ # are associated with this API product.
8668+ # Corresponds to the JSON property `operationConfigs`
8669+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1PayloadOperationConfig>]
8670+ attr_accessor :operation_configs
8671+
8672+ def initialize(**args)
8673+ update!(**args)
8674+ end
8675+
8676+ # Update properties of this object
8677+ def update!(**args)
8678+ @operation_configs = args[:operation_configs] if args.key?(:operation_configs)
8679+ end
8680+ end
8681+
85868682 #
85878683 class GoogleCloudApigeeV1PodStatus
85888684 include Google::Apis::Core::Hashable
@@ -12991,6 +13087,15 @@ class GoogleCloudApigeeV1TraceConfig
1299113087 # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1TraceSamplingConfig]
1299213088 attr_accessor :sampling_config
1299313089
13090+ # Optional. The trace protocol to use. Configuration Requirements (if
13091+ # trace_protocol is OTLP): - Allowed Exporters: CLOUD_TRACE or
13092+ # OPEN_TELEMETRY_COLLECTOR. - If Exporter is OPEN_TELEMETRY_COLLECTOR: -
13093+ # endpoint refers to a valid OTLP collector URL. - If Exporter is CLOUD_TRACE: -
13094+ # endpoint refers to a valid project ID.
13095+ # Corresponds to the JSON property `traceProtocol`
13096+ # @return [String]
13097+ attr_accessor :trace_protocol
13098+
1299413099 def initialize(**args)
1299513100 update!(**args)
1299613101 end
@@ -13000,6 +13105,7 @@ def update!(**args)
1300013105 @endpoint = args[:endpoint] if args.key?(:endpoint)
1300113106 @exporter = args[:exporter] if args.key?(:exporter)
1300213107 @sampling_config = args[:sampling_config] if args.key?(:sampling_config)
13108+ @trace_protocol = args[:trace_protocol] if args.key?(:trace_protocol)
1300313109 end
1300413110 end
1300513111
0 commit comments