@@ -617,6 +617,140 @@ def update!(**args)
617
617
end
618
618
end
619
619
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
+
620
754
# Billing related configuration of the service. The following example shows how
621
755
# to configure monitored resources and metrics for billing, `
622
756
# consumer_destinations` is the only supported destination and the monitored
@@ -2593,6 +2727,11 @@ class MethodSettings
2593
2727
# @return [Array<String>]
2594
2728
attr_accessor :auto_populated_fields
2595
2729
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
+
2596
2735
# Describes settings to use when generating API methods that use the long-
2597
2736
# running operation pattern. All default values below are from those used in the
2598
2737
# client library generators (e.g. [Java](https://github.com/googleapis/gapic-
@@ -2617,6 +2756,7 @@ def initialize(**args)
2617
2756
# Update properties of this object
2618
2757
def update! ( **args )
2619
2758
@auto_populated_fields = args [ :auto_populated_fields ] if args . key? ( :auto_populated_fields )
2759
+ @batching = args [ :batching ] if args . key? ( :batching )
2620
2760
@long_running = args [ :long_running ] if args . key? ( :long_running )
2621
2761
@selector = args [ :selector ] if args . key? ( :selector )
2622
2762
end
0 commit comments