@@ -745,6 +745,140 @@ def update!(**args)
745
745
end
746
746
end
747
747
748
+ # `BatchingConfigProto` defines the batching configuration for an API method.
749
+ class BatchingConfigProto
750
+ include Google ::Apis ::Core ::Hashable
751
+
752
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
753
+ # used for batching, and, optionally, the fields of the response message to be
754
+ # used for demultiplexing.
755
+ # Corresponds to the JSON property `batchDescriptor`
756
+ # @return [Google::Apis::ServiceusageV1beta1::BatchingDescriptorProto]
757
+ attr_accessor :batch_descriptor
758
+
759
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
760
+ # acts as a trigger to send a batch of messages as a request. At least one
761
+ # threshold must be positive nonzero.
762
+ # Corresponds to the JSON property `thresholds`
763
+ # @return [Google::Apis::ServiceusageV1beta1::BatchingSettingsProto]
764
+ attr_accessor :thresholds
765
+
766
+ def initialize ( **args )
767
+ update! ( **args )
768
+ end
769
+
770
+ # Update properties of this object
771
+ def update! ( **args )
772
+ @batch_descriptor = args [ :batch_descriptor ] if args . key? ( :batch_descriptor )
773
+ @thresholds = args [ :thresholds ] if args . key? ( :thresholds )
774
+ end
775
+ end
776
+
777
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
778
+ # used for batching, and, optionally, the fields of the response message to be
779
+ # used for demultiplexing.
780
+ class BatchingDescriptorProto
781
+ include Google ::Apis ::Core ::Hashable
782
+
783
+ # The repeated field in the request message to be aggregated by batching.
784
+ # Corresponds to the JSON property `batchedField`
785
+ # @return [String]
786
+ attr_accessor :batched_field
787
+
788
+ # A list of the fields in the request message. Two requests will be batched
789
+ # together only if the values of every field specified in `
790
+ # request_discriminator_fields` is equal between the two requests.
791
+ # Corresponds to the JSON property `discriminatorFields`
792
+ # @return [Array<String>]
793
+ attr_accessor :discriminator_fields
794
+
795
+ # Optional. When present, indicates the field in the response message to be used
796
+ # to demultiplex the response into multiple response messages, in correspondence
797
+ # with the multiple request messages originally batched together.
798
+ # Corresponds to the JSON property `subresponseField`
799
+ # @return [String]
800
+ attr_accessor :subresponse_field
801
+
802
+ def initialize ( **args )
803
+ update! ( **args )
804
+ end
805
+
806
+ # Update properties of this object
807
+ def update! ( **args )
808
+ @batched_field = args [ :batched_field ] if args . key? ( :batched_field )
809
+ @discriminator_fields = args [ :discriminator_fields ] if args . key? ( :discriminator_fields )
810
+ @subresponse_field = args [ :subresponse_field ] if args . key? ( :subresponse_field )
811
+ end
812
+ end
813
+
814
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
815
+ # acts as a trigger to send a batch of messages as a request. At least one
816
+ # threshold must be positive nonzero.
817
+ class BatchingSettingsProto
818
+ include Google ::Apis ::Core ::Hashable
819
+
820
+ # The duration after which a batch should be sent, starting from the addition of
821
+ # the first message to that batch.
822
+ # Corresponds to the JSON property `delayThreshold`
823
+ # @return [String]
824
+ attr_accessor :delay_threshold
825
+
826
+ # The maximum number of elements collected in a batch that could be accepted by
827
+ # server.
828
+ # Corresponds to the JSON property `elementCountLimit`
829
+ # @return [Fixnum]
830
+ attr_accessor :element_count_limit
831
+
832
+ # The number of elements of a field collected into a batch which, if exceeded,
833
+ # causes the batch to be sent.
834
+ # Corresponds to the JSON property `elementCountThreshold`
835
+ # @return [Fixnum]
836
+ attr_accessor :element_count_threshold
837
+
838
+ # The maximum size of data allowed by flow control.
839
+ # Corresponds to the JSON property `flowControlByteLimit`
840
+ # @return [Fixnum]
841
+ attr_accessor :flow_control_byte_limit
842
+
843
+ # The maximum number of elements allowed by flow control.
844
+ # Corresponds to the JSON property `flowControlElementLimit`
845
+ # @return [Fixnum]
846
+ attr_accessor :flow_control_element_limit
847
+
848
+ # The behavior to take when the flow control limit is exceeded.
849
+ # Corresponds to the JSON property `flowControlLimitExceededBehavior`
850
+ # @return [String]
851
+ attr_accessor :flow_control_limit_exceeded_behavior
852
+
853
+ # The maximum size of the request that could be accepted by server.
854
+ # Corresponds to the JSON property `requestByteLimit`
855
+ # @return [Fixnum]
856
+ attr_accessor :request_byte_limit
857
+
858
+ # The aggregated size of the batched field which, if exceeded, causes the batch
859
+ # to be sent. This size is computed by aggregating the sizes of the request
860
+ # field to be batched, not of the entire request message.
861
+ # Corresponds to the JSON property `requestByteThreshold`
862
+ # @return [Fixnum]
863
+ attr_accessor :request_byte_threshold
864
+
865
+ def initialize ( **args )
866
+ update! ( **args )
867
+ end
868
+
869
+ # Update properties of this object
870
+ def update! ( **args )
871
+ @delay_threshold = args [ :delay_threshold ] if args . key? ( :delay_threshold )
872
+ @element_count_limit = args [ :element_count_limit ] if args . key? ( :element_count_limit )
873
+ @element_count_threshold = args [ :element_count_threshold ] if args . key? ( :element_count_threshold )
874
+ @flow_control_byte_limit = args [ :flow_control_byte_limit ] if args . key? ( :flow_control_byte_limit )
875
+ @flow_control_element_limit = args [ :flow_control_element_limit ] if args . key? ( :flow_control_element_limit )
876
+ @flow_control_limit_exceeded_behavior = args [ :flow_control_limit_exceeded_behavior ] if args . key? ( :flow_control_limit_exceeded_behavior )
877
+ @request_byte_limit = args [ :request_byte_limit ] if args . key? ( :request_byte_limit )
878
+ @request_byte_threshold = args [ :request_byte_threshold ] if args . key? ( :request_byte_threshold )
879
+ end
880
+ end
881
+
748
882
# Billing related configuration of the service. The following example shows how
749
883
# to configure monitored resources and metrics for billing, `
750
884
# consumer_destinations` is the only supported destination and the monitored
@@ -3931,6 +4065,11 @@ class MethodSettings
3931
4065
# @return [Array<String>]
3932
4066
attr_accessor :auto_populated_fields
3933
4067
4068
+ # `BatchingConfigProto` defines the batching configuration for an API method.
4069
+ # Corresponds to the JSON property `batching`
4070
+ # @return [Google::Apis::ServiceusageV1beta1::BatchingConfigProto]
4071
+ attr_accessor :batching
4072
+
3934
4073
# Describes settings to use when generating API methods that use the long-
3935
4074
# running operation pattern. All default values below are from those used in the
3936
4075
# client library generators (e.g. [Java](https://github.com/googleapis/gapic-
@@ -3955,6 +4094,7 @@ def initialize(**args)
3955
4094
# Update properties of this object
3956
4095
def update! ( **args )
3957
4096
@auto_populated_fields = args [ :auto_populated_fields ] if args . key? ( :auto_populated_fields )
4097
+ @batching = args [ :batching ] if args . key? ( :batching )
3958
4098
@long_running = args [ :long_running ] if args . key? ( :long_running )
3959
4099
@selector = args [ :selector ] if args . key? ( :selector )
3960
4100
end
0 commit comments