google-cloud-tasks-v2beta2 0.9.1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -401,6 +401,340 @@ module Google
401
401
  extend ::Google::Protobuf::MessageExts::ClassMethods
402
402
  end
403
403
 
404
+ # HTTP request.
405
+ #
406
+ # The task will be pushed to the worker as an HTTP request. An HTTP request
407
+ # embodies a url, an http method, headers, body and authorization for the http
408
+ # task.
409
+ # @!attribute [rw] url
410
+ # @return [::String]
411
+ # Required. The full url path that the request will be sent to.
412
+ #
413
+ # This string must begin with either "http://" or "https://". Some examples
414
+ # are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will
415
+ # encode some characters for safety and compatibility. The maximum allowed
416
+ # URL length is 2083 characters after encoding.
417
+ #
418
+ # The `Location` header response from a redirect response [`300` - `399`]
419
+ # may be followed. The redirect is not counted as a separate attempt.
420
+ # @!attribute [rw] http_method
421
+ # @return [::Google::Cloud::Tasks::V2beta2::HttpMethod]
422
+ # The HTTP method to use for the request. The default is POST.
423
+ # @!attribute [rw] headers
424
+ # @return [::Google::Protobuf::Map{::String => ::String}]
425
+ # HTTP request headers.
426
+ #
427
+ # This map contains the header field names and values.
428
+ # Headers can be set when running the
429
+ # {::Google::Cloud::Tasks::V2beta2::CloudTasks::Client#create_task task is created} or
430
+ # {::Google::Cloud::Tasks::V2beta2::CloudTasks::Client#buffer_task task is created}.
431
+ #
432
+ # These headers represent a subset of the headers that will accompany the
433
+ # task's HTTP request. Some HTTP request headers will be ignored or replaced.
434
+ #
435
+ # A partial list of headers that will be ignored or replaced is:
436
+ #
437
+ # * Any header that is prefixed with "X-CloudTasks-" will be treated
438
+ # as service header. Service headers define properties of the task and are
439
+ # predefined in CloudTask.
440
+ # * Host: This will be computed by Cloud Tasks and derived from
441
+ # {::Google::Cloud::Tasks::V2beta2::HttpRequest#url HttpRequest.url}.
442
+ # * Content-Length: This will be computed by Cloud Tasks.
443
+ # * User-Agent: This will be set to `"Google-Cloud-Tasks"`.
444
+ # * `X-Google-*`: Google use only.
445
+ # * `X-AppEngine-*`: Google use only.
446
+ #
447
+ # `Content-Type` won't be set by Cloud Tasks. You can explicitly set
448
+ # `Content-Type` to a media type when the
449
+ # [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
450
+ # For example, `Content-Type` can be set to `"application/octet-stream"` or
451
+ # `"application/json"`.
452
+ #
453
+ # Headers which can have multiple values (according to RFC2616) can be
454
+ # specified using comma-separated values.
455
+ #
456
+ # The size of the headers must be less than 80KB.
457
+ # @!attribute [rw] body
458
+ # @return [::String]
459
+ # HTTP request body.
460
+ #
461
+ # A request body is allowed only if the
462
+ # {::Google::Cloud::Tasks::V2beta2::HttpRequest#http_method HTTP method} is POST,
463
+ # PUT, or PATCH. It is an error to set body on a task with an incompatible
464
+ # {::Google::Cloud::Tasks::V2beta2::HttpMethod HttpMethod}.
465
+ # @!attribute [rw] oauth_token
466
+ # @return [::Google::Cloud::Tasks::V2beta2::OAuthToken]
467
+ # If specified, an
468
+ # [OAuth token](https://developers.google.com/identity/protocols/OAuth2)
469
+ # will be generated and attached as an `Authorization` header in the HTTP
470
+ # request.
471
+ #
472
+ # This type of authorization should generally only be used when calling
473
+ # Google APIs hosted on *.googleapis.com.
474
+ # @!attribute [rw] oidc_token
475
+ # @return [::Google::Cloud::Tasks::V2beta2::OidcToken]
476
+ # If specified, an
477
+ # [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)
478
+ # token will be generated and attached as an `Authorization` header in the
479
+ # HTTP request.
480
+ #
481
+ # This type of authorization can be used for many scenarios, including
482
+ # calling Cloud Run, or endpoints where you intend to validate the token
483
+ # yourself.
484
+ class HttpRequest
485
+ include ::Google::Protobuf::MessageExts
486
+ extend ::Google::Protobuf::MessageExts::ClassMethods
487
+
488
+ # @!attribute [rw] key
489
+ # @return [::String]
490
+ # @!attribute [rw] value
491
+ # @return [::String]
492
+ class HeadersEntry
493
+ include ::Google::Protobuf::MessageExts
494
+ extend ::Google::Protobuf::MessageExts::ClassMethods
495
+ end
496
+ end
497
+
498
+ # PathOverride.
499
+ #
500
+ # Path message defines path override for HTTP targets.
501
+ # @!attribute [rw] path
502
+ # @return [::String]
503
+ # The URI path (e.g., /users/1234). Default is an empty string.
504
+ class PathOverride
505
+ include ::Google::Protobuf::MessageExts
506
+ extend ::Google::Protobuf::MessageExts::ClassMethods
507
+ end
508
+
509
+ # QueryOverride.
510
+ #
511
+ # Query message defines query override for HTTP targets.
512
+ # @!attribute [rw] query_params
513
+ # @return [::String]
514
+ # The query parameters (e.g., qparam1=123&qparam2=456). Default is an empty
515
+ # string.
516
+ class QueryOverride
517
+ include ::Google::Protobuf::MessageExts
518
+ extend ::Google::Protobuf::MessageExts::ClassMethods
519
+ end
520
+
521
+ # Uri Override.
522
+ #
523
+ # When specified, all the HTTP tasks inside the queue will be partially or
524
+ # fully overridden depending on the configured values.
525
+ # @!attribute [rw] scheme
526
+ # @return [::Google::Cloud::Tasks::V2beta2::UriOverride::Scheme]
527
+ # Scheme override.
528
+ #
529
+ # When specified, the task URI scheme is replaced by the provided value (HTTP
530
+ # or HTTPS).
531
+ # @!attribute [rw] host
532
+ # @return [::String]
533
+ # Host override.
534
+ #
535
+ # When specified, replaces the host part of the task URL. For example,
536
+ # if the task URL is "https://www.google.com," and host value is set to
537
+ # "example.net", the overridden URI will be changed to "https://example.net."
538
+ # Host value cannot be an empty string (INVALID_ARGUMENT).
539
+ # @!attribute [rw] port
540
+ # @return [::Integer]
541
+ # Port override.
542
+ #
543
+ # When specified, replaces the port part of the task URI. For instance,
544
+ # for a URI http://www.google.com/foo and port=123, the overridden URI
545
+ # becomes http://www.google.com:123/foo. Note that the port value must be a
546
+ # positive integer. Setting the port to 0 (Zero) clears the URI port.
547
+ # @!attribute [rw] path_override
548
+ # @return [::Google::Cloud::Tasks::V2beta2::PathOverride]
549
+ # URI path.
550
+ #
551
+ # When specified, replaces the existing path of the task URL. Setting the
552
+ # path value to an empty string clears the URI path segment.
553
+ # @!attribute [rw] query_override
554
+ # @return [::Google::Cloud::Tasks::V2beta2::QueryOverride]
555
+ # URI Query.
556
+ #
557
+ # When specified, replaces the query part of the task URI. Setting the
558
+ # query value to an empty string clears the URI query segment.
559
+ # @!attribute [rw] uri_override_enforce_mode
560
+ # @return [::Google::Cloud::Tasks::V2beta2::UriOverride::UriOverrideEnforceMode]
561
+ # URI Override Enforce Mode
562
+ #
563
+ # When specified, determines the Target UriOverride mode. If not specified,
564
+ # it defaults to ALWAYS.
565
+ class UriOverride
566
+ include ::Google::Protobuf::MessageExts
567
+ extend ::Google::Protobuf::MessageExts::ClassMethods
568
+
569
+ # The Scheme for an HTTP request. By default, it is HTTPS.
570
+ module Scheme
571
+ # Scheme unspecified. Defaults to HTTPS.
572
+ SCHEME_UNSPECIFIED = 0
573
+
574
+ # Convert the scheme to HTTP, e.g., https://www.google.ca will change to
575
+ # http://www.google.ca.
576
+ HTTP = 1
577
+
578
+ # Convert the scheme to HTTPS, e.g., http://www.google.ca will change to
579
+ # https://www.google.ca.
580
+ HTTPS = 2
581
+ end
582
+
583
+ # UriOverrideEnforceMode mode is to define enforcing mode for the override
584
+ # modes.
585
+ module UriOverrideEnforceMode
586
+ # OverrideMode Unspecified. Defaults to ALWAYS.
587
+ URI_OVERRIDE_ENFORCE_MODE_UNSPECIFIED = 0
588
+
589
+ # In the IF_NOT_EXISTS mode, queue-level configuration is only
590
+ # applied where task-level configuration does not exist.
591
+ IF_NOT_EXISTS = 1
592
+
593
+ # In the ALWAYS mode, queue-level configuration overrides all
594
+ # task-level configuration
595
+ ALWAYS = 2
596
+ end
597
+ end
598
+
599
+ # HTTP target.
600
+ #
601
+ # When specified as a [Queue][target_type], all the tasks with [HttpRequest]
602
+ # will be overridden according to the target.
603
+ # @!attribute [rw] uri_override
604
+ # @return [::Google::Cloud::Tasks::V2beta2::UriOverride]
605
+ # Uri override.
606
+ #
607
+ # When specified, overrides the execution Uri for all the tasks in the queue.
608
+ # @!attribute [rw] http_method
609
+ # @return [::Google::Cloud::Tasks::V2beta2::HttpMethod]
610
+ # The HTTP method to use for the request.
611
+ #
612
+ # When specified, it overrides
613
+ # {::Google::Cloud::Tasks::V2beta2::HttpTarget#http_method HttpRequest} for the
614
+ # task. Note that if the value is set to [HttpMethod][GET] the
615
+ # [HttpRequest][body] of the task will be ignored at execution time.
616
+ # @!attribute [rw] header_overrides
617
+ # @return [::Array<::Google::Cloud::Tasks::V2beta2::HttpTarget::HeaderOverride>]
618
+ # HTTP target headers.
619
+ #
620
+ # This map contains the header field names and values.
621
+ # Headers will be set when running the
622
+ # {::Google::Cloud::Tasks::V2beta2::CloudTasks::Client#create_task task is created} and/or
623
+ # {::Google::Cloud::Tasks::V2beta2::CloudTasks::Client#buffer_task task is created}.
624
+ #
625
+ # These headers represent a subset of the headers that will accompany the
626
+ # task's HTTP request. Some HTTP request headers will be ignored or replaced.
627
+ #
628
+ # A partial list of headers that will be ignored or replaced is:
629
+ # * Any header that is prefixed with "X-CloudTasks-" will be treated
630
+ # as service header. Service headers define properties of the task and are
631
+ # predefined in CloudTask.
632
+ # * Host: This will be computed by Cloud Tasks and derived from
633
+ # {::Google::Cloud::Tasks::V2beta2::HttpRequest#url HttpRequest.url}.
634
+ # * Content-Length: This will be computed by Cloud Tasks.
635
+ # * User-Agent: This will be set to `"Google-CloudTasks"`.
636
+ # * `X-Google-*`: Google use only.
637
+ # * `X-AppEngine-*`: Google use only.
638
+ #
639
+ # `Content-Type` won't be set by Cloud Tasks. You can explicitly set
640
+ # `Content-Type` to a media type when the
641
+ # [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask].
642
+ # For example, `Content-Type` can be set to `"application/octet-stream"` or
643
+ # `"application/json"`.
644
+ #
645
+ # Headers which can have multiple values (according to RFC2616) can be
646
+ # specified using comma-separated values.
647
+ #
648
+ # The size of the headers must be less than 80KB.
649
+ # Queue-level headers to override headers of all the tasks in the queue.
650
+ # @!attribute [rw] oauth_token
651
+ # @return [::Google::Cloud::Tasks::V2beta2::OAuthToken]
652
+ # If specified, an
653
+ # [OAuth token](https://developers.google.com/identity/protocols/OAuth2)
654
+ # will be generated and attached as an `Authorization` header in the HTTP
655
+ # request.
656
+ #
657
+ # This type of authorization should generally only be used when calling
658
+ # Google APIs hosted on *.googleapis.com.
659
+ # @!attribute [rw] oidc_token
660
+ # @return [::Google::Cloud::Tasks::V2beta2::OidcToken]
661
+ # If specified, an
662
+ # [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)
663
+ # token will be generated and attached as an `Authorization` header in the
664
+ # HTTP request.
665
+ #
666
+ # This type of authorization can be used for many scenarios, including
667
+ # calling Cloud Run, or endpoints where you intend to validate the token
668
+ # yourself.
669
+ class HttpTarget
670
+ include ::Google::Protobuf::MessageExts
671
+ extend ::Google::Protobuf::MessageExts::ClassMethods
672
+
673
+ # Defines a header message. A header can have a key and a value.
674
+ # @!attribute [rw] key
675
+ # @return [::String]
676
+ # The key of the header.
677
+ # @!attribute [rw] value
678
+ # @return [::String]
679
+ # The value of the header.
680
+ class Header
681
+ include ::Google::Protobuf::MessageExts
682
+ extend ::Google::Protobuf::MessageExts::ClassMethods
683
+ end
684
+
685
+ # Wraps the Header object.
686
+ # @!attribute [rw] header
687
+ # @return [::Google::Cloud::Tasks::V2beta2::HttpTarget::Header]
688
+ # header embodying a key and a value.
689
+ class HeaderOverride
690
+ include ::Google::Protobuf::MessageExts
691
+ extend ::Google::Protobuf::MessageExts::ClassMethods
692
+ end
693
+ end
694
+
695
+ # Contains information needed for generating an
696
+ # [OAuth token](https://developers.google.com/identity/protocols/OAuth2).
697
+ # This type of authorization should generally only be used when calling Google
698
+ # APIs hosted on *.googleapis.com.
699
+ # @!attribute [rw] service_account_email
700
+ # @return [::String]
701
+ # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
702
+ # to be used for generating OAuth token.
703
+ # The service account must be within the same project as the queue. The
704
+ # caller must have iam.serviceAccounts.actAs permission for the service
705
+ # account.
706
+ # @!attribute [rw] scope
707
+ # @return [::String]
708
+ # OAuth scope to be used for generating OAuth access token.
709
+ # If not specified, "https://www.googleapis.com/auth/cloud-platform"
710
+ # will be used.
711
+ class OAuthToken
712
+ include ::Google::Protobuf::MessageExts
713
+ extend ::Google::Protobuf::MessageExts::ClassMethods
714
+ end
715
+
716
+ # Contains information needed for generating an
717
+ # [OpenID Connect
718
+ # token](https://developers.google.com/identity/protocols/OpenIDConnect).
719
+ # This type of authorization can be used for many scenarios, including
720
+ # calling Cloud Run, or endpoints where you intend to validate the token
721
+ # yourself.
722
+ # @!attribute [rw] service_account_email
723
+ # @return [::String]
724
+ # [Service account email](https://cloud.google.com/iam/docs/service-accounts)
725
+ # to be used for generating OIDC token.
726
+ # The service account must be within the same project as the queue. The
727
+ # caller must have iam.serviceAccounts.actAs permission for the service
728
+ # account.
729
+ # @!attribute [rw] audience
730
+ # @return [::String]
731
+ # Audience to be used when generating OIDC token. If not specified, the URI
732
+ # specified in target will be used.
733
+ class OidcToken
734
+ include ::Google::Protobuf::MessageExts
735
+ extend ::Google::Protobuf::MessageExts::ClassMethods
736
+ end
737
+
404
738
  # The HTTP method used to execute the task.
405
739
  module HttpMethod
406
740
  # HTTP method unspecified
@@ -420,6 +754,12 @@ module Google
420
754
 
421
755
  # HTTP DELETE
422
756
  DELETE = 5
757
+
758
+ # HTTP PATCH
759
+ PATCH = 6
760
+
761
+ # HTTP OPTIONS
762
+ OPTIONS = 7
423
763
  end
424
764
  end
425
765
  end
@@ -39,7 +39,7 @@ module Google
39
39
  # projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
40
40
  # * `LOCATION_ID` is the canonical ID for the task's location.
41
41
  # The list of available locations can be obtained by calling
42
- # [ListLocations][google.cloud.location.Locations.ListLocations].
42
+ # `::Google::Cloud::Location::Locations::Client#list_locations`.
43
43
  # For more information, see https://cloud.google.com/about/locations/.
44
44
  # * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
45
45
  # hyphens (-). The maximum length is 100 characters.
@@ -64,6 +64,12 @@ module Google
64
64
  #
65
65
  # A pull task is a task that has
66
66
  # {::Google::Cloud::Tasks::V2beta2::PullMessage PullMessage} set.
67
+ # @!attribute [rw] http_request
68
+ # @return [::Google::Cloud::Tasks::V2beta2::HttpRequest]
69
+ # HTTP request that is sent to the task's target.
70
+ #
71
+ # An HTTP task is a task that has
72
+ # {::Google::Cloud::Tasks::V2beta2::HttpRequest HttpRequest} set.
67
73
  # @!attribute [rw] schedule_time
68
74
  # @return [::Google::Protobuf::Timestamp]
69
75
  # The time when the task is scheduled to be attempted.
@@ -40,6 +40,7 @@ module Google
40
40
  #
41
41
  # **JSON example:**
42
42
  #
43
+ # ```
43
44
  # {
44
45
  # "bindings": [
45
46
  # {
@@ -67,9 +68,11 @@ module Google
67
68
  # "etag": "BwWWja0YfJA=",
68
69
  # "version": 3
69
70
  # }
71
+ # ```
70
72
  #
71
73
  # **YAML example:**
72
74
  #
75
+ # ```
73
76
  # bindings:
74
77
  # - members:
75
78
  # - user:mike@example.com
@@ -86,6 +89,7 @@ module Google
86
89
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
87
90
  # etag: BwWWja0YfJA=
88
91
  # version: 3
92
+ # ```
89
93
  #
90
94
  # For a description of IAM and its features, see the
91
95
  # [IAM documentation](https://cloud.google.com/iam/docs/).
@@ -157,7 +161,7 @@ module Google
157
161
  # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
158
162
  # @!attribute [rw] members
159
163
  # @return [::Array<::String>]
160
- # Specifies the principals requesting access for a Cloud Platform resource.
164
+ # Specifies the principals requesting access for a Google Cloud resource.
161
165
  # `members` can have the following values:
162
166
  #
163
167
  # * `allUsers`: A special identifier that represents anyone who is
@@ -267,8 +271,8 @@ module Google
267
271
  # }
268
272
  #
269
273
  # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
270
- # logging. It also exempts jose@example.com from DATA_READ logging, and
271
- # aliya@example.com from DATA_WRITE logging.
274
+ # logging. It also exempts `jose@example.com` from DATA_READ logging, and
275
+ # `aliya@example.com` from DATA_WRITE logging.
272
276
  # @!attribute [rw] service
273
277
  # @return [::String]
274
278
  # Specifies a service that will be enabled for audit logging.
@@ -356,7 +360,7 @@ module Google
356
360
  # Required
357
361
  # @!attribute [rw] member
358
362
  # @return [::String]
359
- # A single identity requesting access for a Cloud Platform resource.
363
+ # A single identity requesting access for a Google Cloud resource.
360
364
  # Follows the same format of Binding.members.
361
365
  # Required
362
366
  # @!attribute [rw] condition
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-tasks-v2beta2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-06 00:00:00.000000000 Z
11
+ date: 2023-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.19.1
19
+ version: 0.20.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.19.1
29
+ version: 0.20.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -44,6 +44,26 @@ dependencies:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '1.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: google-cloud-location
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0.4'
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: 2.a
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0.4'
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: 2.a
47
67
  - !ruby/object:Gem::Dependency
48
68
  name: grpc-google-iam-v1
49
69
  requirement: !ruby/object:Gem::Requirement
@@ -187,6 +207,7 @@ files:
187
207
  - README.md
188
208
  - lib/google-cloud-tasks-v2beta2.rb
189
209
  - lib/google/cloud/tasks/v2beta2.rb
210
+ - lib/google/cloud/tasks/v2beta2/bindings_override.rb
190
211
  - lib/google/cloud/tasks/v2beta2/cloud_tasks.rb
191
212
  - lib/google/cloud/tasks/v2beta2/cloud_tasks/client.rb
192
213
  - lib/google/cloud/tasks/v2beta2/cloud_tasks/credentials.rb
@@ -196,6 +217,7 @@ files:
196
217
  - lib/google/cloud/tasks/v2beta2/cloud_tasks/rest/service_stub.rb
197
218
  - lib/google/cloud/tasks/v2beta2/cloudtasks_pb.rb
198
219
  - lib/google/cloud/tasks/v2beta2/cloudtasks_services_pb.rb
220
+ - lib/google/cloud/tasks/v2beta2/old_target_pb.rb
199
221
  - lib/google/cloud/tasks/v2beta2/queue_pb.rb
200
222
  - lib/google/cloud/tasks/v2beta2/rest.rb
201
223
  - lib/google/cloud/tasks/v2beta2/target_pb.rb
@@ -204,6 +226,7 @@ files:
204
226
  - proto_docs/README.md
205
227
  - proto_docs/google/api/client.rb
206
228
  - proto_docs/google/api/field_behavior.rb
229
+ - proto_docs/google/api/httpbody.rb
207
230
  - proto_docs/google/api/launch_stage.rb
208
231
  - proto_docs/google/api/resource.rb
209
232
  - proto_docs/google/cloud/tasks/v2beta2/cloudtasks.rb
@@ -239,7 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
262
  - !ruby/object:Gem::Version
240
263
  version: '0'
241
264
  requirements: []
242
- rubygems_version: 3.4.2
265
+ rubygems_version: 3.4.19
243
266
  signing_key:
244
267
  specification_version: 4
245
268
  summary: Manages the execution of large numbers of distributed requests.