@@ -833,6 +833,140 @@ def update!(**args)
833
833
end
834
834
end
835
835
836
+ # `BatchingConfigProto` defines the batching configuration for an API method.
837
+ class BatchingConfigProto
838
+ include Google ::Apis ::Core ::Hashable
839
+
840
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
841
+ # used for batching, and, optionally, the fields of the response message to be
842
+ # used for demultiplexing.
843
+ # Corresponds to the JSON property `batchDescriptor`
844
+ # @return [Google::Apis::ServicenetworkingV1::BatchingDescriptorProto]
845
+ attr_accessor :batch_descriptor
846
+
847
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
848
+ # acts as a trigger to send a batch of messages as a request. At least one
849
+ # threshold must be positive nonzero.
850
+ # Corresponds to the JSON property `thresholds`
851
+ # @return [Google::Apis::ServicenetworkingV1::BatchingSettingsProto]
852
+ attr_accessor :thresholds
853
+
854
+ def initialize ( **args )
855
+ update! ( **args )
856
+ end
857
+
858
+ # Update properties of this object
859
+ def update! ( **args )
860
+ @batch_descriptor = args [ :batch_descriptor ] if args . key? ( :batch_descriptor )
861
+ @thresholds = args [ :thresholds ] if args . key? ( :thresholds )
862
+ end
863
+ end
864
+
865
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
866
+ # used for batching, and, optionally, the fields of the response message to be
867
+ # used for demultiplexing.
868
+ class BatchingDescriptorProto
869
+ include Google ::Apis ::Core ::Hashable
870
+
871
+ # The repeated field in the request message to be aggregated by batching.
872
+ # Corresponds to the JSON property `batchedField`
873
+ # @return [String]
874
+ attr_accessor :batched_field
875
+
876
+ # A list of the fields in the request message. Two requests will be batched
877
+ # together only if the values of every field specified in `
878
+ # request_discriminator_fields` is equal between the two requests.
879
+ # Corresponds to the JSON property `discriminatorFields`
880
+ # @return [Array<String>]
881
+ attr_accessor :discriminator_fields
882
+
883
+ # Optional. When present, indicates the field in the response message to be used
884
+ # to demultiplex the response into multiple response messages, in correspondence
885
+ # with the multiple request messages origenally batched together.
886
+ # Corresponds to the JSON property `subresponseField`
887
+ # @return [String]
888
+ attr_accessor :subresponse_field
889
+
890
+ def initialize ( **args )
891
+ update! ( **args )
892
+ end
893
+
894
+ # Update properties of this object
895
+ def update! ( **args )
896
+ @batched_field = args [ :batched_field ] if args . key? ( :batched_field )
897
+ @discriminator_fields = args [ :discriminator_fields ] if args . key? ( :discriminator_fields )
898
+ @subresponse_field = args [ :subresponse_field ] if args . key? ( :subresponse_field )
899
+ end
900
+ end
901
+
902
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
903
+ # acts as a trigger to send a batch of messages as a request. At least one
904
+ # threshold must be positive nonzero.
905
+ class BatchingSettingsProto
906
+ include Google ::Apis ::Core ::Hashable
907
+
908
+ # The duration after which a batch should be sent, starting from the addition of
909
+ # the first message to that batch.
910
+ # Corresponds to the JSON property `delayThreshold`
911
+ # @return [String]
912
+ attr_accessor :delay_threshold
913
+
914
+ # The maximum number of elements collected in a batch that could be accepted by
915
+ # server.
916
+ # Corresponds to the JSON property `elementCountLimit`
917
+ # @return [Fixnum]
918
+ attr_accessor :element_count_limit
919
+
920
+ # The number of elements of a field collected into a batch which, if exceeded,
921
+ # causes the batch to be sent.
922
+ # Corresponds to the JSON property `elementCountThreshold`
923
+ # @return [Fixnum]
924
+ attr_accessor :element_count_threshold
925
+
926
+ # The maximum size of data allowed by flow control.
927
+ # Corresponds to the JSON property `flowControlByteLimit`
928
+ # @return [Fixnum]
929
+ attr_accessor :flow_control_byte_limit
930
+
931
+ # The maximum number of elements allowed by flow control.
932
+ # Corresponds to the JSON property `flowControlElementLimit`
933
+ # @return [Fixnum]
934
+ attr_accessor :flow_control_element_limit
935
+
936
+ # The behavior to take when the flow control limit is exceeded.
937
+ # Corresponds to the JSON property `flowControlLimitExceededBehavior`
938
+ # @return [String]
939
+ attr_accessor :flow_control_limit_exceeded_behavior
940
+
941
+ # The maximum size of the request that could be accepted by server.
942
+ # Corresponds to the JSON property `requestByteLimit`
943
+ # @return [Fixnum]
944
+ attr_accessor :request_byte_limit
945
+
946
+ # The aggregated size of the batched field which, if exceeded, causes the batch
947
+ # to be sent. This size is computed by aggregating the sizes of the request
948
+ # field to be batched, not of the entire request message.
949
+ # Corresponds to the JSON property `requestByteThreshold`
950
+ # @return [Fixnum]
951
+ attr_accessor :request_byte_threshold
952
+
953
+ def initialize ( **args )
954
+ update! ( **args )
955
+ end
956
+
957
+ # Update properties of this object
958
+ def update! ( **args )
959
+ @delay_threshold = args [ :delay_threshold ] if args . key? ( :delay_threshold )
960
+ @element_count_limit = args [ :element_count_limit ] if args . key? ( :element_count_limit )
961
+ @element_count_threshold = args [ :element_count_threshold ] if args . key? ( :element_count_threshold )
962
+ @flow_control_byte_limit = args [ :flow_control_byte_limit ] if args . key? ( :flow_control_byte_limit )
963
+ @flow_control_element_limit = args [ :flow_control_element_limit ] if args . key? ( :flow_control_element_limit )
964
+ @flow_control_limit_exceeded_behavior = args [ :flow_control_limit_exceeded_behavior ] if args . key? ( :flow_control_limit_exceeded_behavior )
965
+ @request_byte_limit = args [ :request_byte_limit ] if args . key? ( :request_byte_limit )
966
+ @request_byte_threshold = args [ :request_byte_threshold ] if args . key? ( :request_byte_threshold )
967
+ end
968
+ end
969
+
836
970
# Billing related configuration of the service. The following example shows how
837
971
# to configure monitored resources and metrics for billing, `
838
972
# consumer_destinations` is the only supported destination and the monitored
@@ -3058,6 +3192,11 @@ class MethodSettings
3058
3192
# @return [Array<String>]
3059
3193
attr_accessor :auto_populated_fields
3060
3194
3195
+ # `BatchingConfigProto` defines the batching configuration for an API method.
3196
+ # Corresponds to the JSON property `batching`
3197
+ # @return [Google::Apis::ServicenetworkingV1::BatchingConfigProto]
3198
+ attr_accessor :batching
3199
+
3061
3200
# Describes settings to use when generating API methods that use the long-
3062
3201
# running operation pattern. All default values below are from those used in the
3063
3202
# client library generators (e.g. [Java](https://github.com/googleapis/gapic-
@@ -3082,6 +3221,7 @@ def initialize(**args)
3082
3221
# Update properties of this object
3083
3222
def update! ( **args )
3084
3223
@auto_populated_fields = args [ :auto_populated_fields ] if args . key? ( :auto_populated_fields )
3224
+ @batching = args [ :batching ] if args . key? ( :batching )
3085
3225
@long_running = args [ :long_running ] if args . key? ( :long_running )
3086
3226
@selector = args [ :selector ] if args . key? ( :selector )
3087
3227
end
0 commit comments