@@ -617,6 +617,140 @@ def update!(**args)
617617 end
618618 end
619619
620+ # `BatchingConfigProto` defines the batching configuration for an API method.
621+ class BatchingConfigProto
622+ include Google ::Apis ::Core ::Hashable
623+
624+ # `BatchingDescriptorProto` specifies the fields of the request message to be
625+ # used for batching, and, optionally, the fields of the response message to be
626+ # used for demultiplexing.
627+ # Corresponds to the JSON property `batchDescriptor`
628+ # @return [Google::Apis::ServicenetworkingV1beta::BatchingDescriptorProto]
629+ attr_accessor :batch_descriptor
630+
631+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
632+ # acts as a trigger to send a batch of messages as a request. At least one
633+ # threshold must be positive nonzero.
634+ # Corresponds to the JSON property `thresholds`
635+ # @return [Google::Apis::ServicenetworkingV1beta::BatchingSettingsProto]
636+ attr_accessor :thresholds
637+
638+ def initialize ( **args )
639+ update! ( **args )
640+ end
641+
642+ # Update properties of this object
643+ def update! ( **args )
644+ @batch_descriptor = args [ :batch_descriptor ] if args . key? ( :batch_descriptor )
645+ @thresholds = args [ :thresholds ] if args . key? ( :thresholds )
646+ end
647+ end
648+
649+ # `BatchingDescriptorProto` specifies the fields of the request message to be
650+ # used for batching, and, optionally, the fields of the response message to be
651+ # used for demultiplexing.
652+ class BatchingDescriptorProto
653+ include Google ::Apis ::Core ::Hashable
654+
655+ # The repeated field in the request message to be aggregated by batching.
656+ # Corresponds to the JSON property `batchedField`
657+ # @return [String]
658+ attr_accessor :batched_field
659+
660+ # A list of the fields in the request message. Two requests will be batched
661+ # together only if the values of every field specified in `
662+ # request_discriminator_fields` is equal between the two requests.
663+ # Corresponds to the JSON property `discriminatorFields`
664+ # @return [Array<String>]
665+ attr_accessor :discriminator_fields
666+
667+ # Optional. When present, indicates the field in the response message to be used
668+ # to demultiplex the response into multiple response messages, in correspondence
669+ # with the multiple request messages originally batched together.
670+ # Corresponds to the JSON property `subresponseField`
671+ # @return [String]
672+ attr_accessor :subresponse_field
673+
674+ def initialize ( **args )
675+ update! ( **args )
676+ end
677+
678+ # Update properties of this object
679+ def update! ( **args )
680+ @batched_field = args [ :batched_field ] if args . key? ( :batched_field )
681+ @discriminator_fields = args [ :discriminator_fields ] if args . key? ( :discriminator_fields )
682+ @subresponse_field = args [ :subresponse_field ] if args . key? ( :subresponse_field )
683+ end
684+ end
685+
686+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
687+ # acts as a trigger to send a batch of messages as a request. At least one
688+ # threshold must be positive nonzero.
689+ class BatchingSettingsProto
690+ include Google ::Apis ::Core ::Hashable
691+
692+ # The duration after which a batch should be sent, starting from the addition of
693+ # the first message to that batch.
694+ # Corresponds to the JSON property `delayThreshold`
695+ # @return [String]
696+ attr_accessor :delay_threshold
697+
698+ # The maximum number of elements collected in a batch that could be accepted by
699+ # server.
700+ # Corresponds to the JSON property `elementCountLimit`
701+ # @return [Fixnum]
702+ attr_accessor :element_count_limit
703+
704+ # The number of elements of a field collected into a batch which, if exceeded,
705+ # causes the batch to be sent.
706+ # Corresponds to the JSON property `elementCountThreshold`
707+ # @return [Fixnum]
708+ attr_accessor :element_count_threshold
709+
710+ # The maximum size of data allowed by flow control.
711+ # Corresponds to the JSON property `flowControlByteLimit`
712+ # @return [Fixnum]
713+ attr_accessor :flow_control_byte_limit
714+
715+ # The maximum number of elements allowed by flow control.
716+ # Corresponds to the JSON property `flowControlElementLimit`
717+ # @return [Fixnum]
718+ attr_accessor :flow_control_element_limit
719+
720+ # The behavior to take when the flow control limit is exceeded.
721+ # Corresponds to the JSON property `flowControlLimitExceededBehavior`
722+ # @return [String]
723+ attr_accessor :flow_control_limit_exceeded_behavior
724+
725+ # The maximum size of the request that could be accepted by server.
726+ # Corresponds to the JSON property `requestByteLimit`
727+ # @return [Fixnum]
728+ attr_accessor :request_byte_limit
729+
730+ # The aggregated size of the batched field which, if exceeded, causes the batch
731+ # to be sent. This size is computed by aggregating the sizes of the request
732+ # field to be batched, not of the entire request message.
733+ # Corresponds to the JSON property `requestByteThreshold`
734+ # @return [Fixnum]
735+ attr_accessor :request_byte_threshold
736+
737+ def initialize ( **args )
738+ update! ( **args )
739+ end
740+
741+ # Update properties of this object
742+ def update! ( **args )
743+ @delay_threshold = args [ :delay_threshold ] if args . key? ( :delay_threshold )
744+ @element_count_limit = args [ :element_count_limit ] if args . key? ( :element_count_limit )
745+ @element_count_threshold = args [ :element_count_threshold ] if args . key? ( :element_count_threshold )
746+ @flow_control_byte_limit = args [ :flow_control_byte_limit ] if args . key? ( :flow_control_byte_limit )
747+ @flow_control_element_limit = args [ :flow_control_element_limit ] if args . key? ( :flow_control_element_limit )
748+ @flow_control_limit_exceeded_behavior = args [ :flow_control_limit_exceeded_behavior ] if args . key? ( :flow_control_limit_exceeded_behavior )
749+ @request_byte_limit = args [ :request_byte_limit ] if args . key? ( :request_byte_limit )
750+ @request_byte_threshold = args [ :request_byte_threshold ] if args . key? ( :request_byte_threshold )
751+ end
752+ end
753+
620754 # Billing related configuration of the service. The following example shows how
621755 # to configure monitored resources and metrics for billing, `
622756 # consumer_destinations` is the only supported destination and the monitored
@@ -2593,6 +2727,11 @@ class MethodSettings
25932727 # @return [Array<String>]
25942728 attr_accessor :auto_populated_fields
25952729
2730+ # `BatchingConfigProto` defines the batching configuration for an API method.
2731+ # Corresponds to the JSON property `batching`
2732+ # @return [Google::Apis::ServicenetworkingV1beta::BatchingConfigProto]
2733+ attr_accessor :batching
2734+
25962735 # Describes settings to use when generating API methods that use the long-
25972736 # running operation pattern. All default values below are from those used in the
25982737 # client library generators (e.g. [Java](https://github.com/googleapis/gapic-
@@ -2617,6 +2756,7 @@ def initialize(**args)
26172756 # Update properties of this object
26182757 def update! ( **args )
26192758 @auto_populated_fields = args [ :auto_populated_fields ] if args . key? ( :auto_populated_fields )
2759+ @batching = args [ :batching ] if args . key? ( :batching )
26202760 @long_running = args [ :long_running ] if args . key? ( :long_running )
26212761 @selector = args [ :selector ] if args . key? ( :selector )
26222762 end
0 commit comments