fastly 13.1.0 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/Gemfile.lock +4 -4
  4. data/README.md +16 -4
  5. data/docs/AttackReport.md +19 -0
  6. data/docs/AttackSignal.md +12 -0
  7. data/docs/AttackSource.md +13 -0
  8. data/docs/Backend.md +4 -4
  9. data/docs/BackendApi.md +10 -10
  10. data/docs/BackendResponse.md +4 -4
  11. data/docs/DdosProtectionApi.md +40 -0
  12. data/docs/DdosProtectionAttributeStats.md +1 -1
  13. data/docs/DdosProtectionInvalidRequest.md +13 -0
  14. data/docs/{LogTimeseriesResultDimensions.md → DdosProtectionNotAuthorized.md} +3 -2
  15. data/docs/DdosProtectionRule.md +1 -1
  16. data/docs/DdosProtectionRuleAllOf.md +1 -1
  17. data/docs/DdosProtectionRulePatch.md +10 -0
  18. data/docs/HistoricalApi.md +2 -0
  19. data/docs/KvStoreApi.md +2 -0
  20. data/docs/ListAttackReport.md +11 -0
  21. data/docs/{DdosProtectionTrafficAttribute.md → ListAttackReportMeta.md} +2 -1
  22. data/docs/{DdosProtectionAction.md → ListSignalReport.md} +2 -1
  23. data/docs/LogExplorerApi.md +1 -1
  24. data/docs/NgwafReportsApi.md +99 -0
  25. data/docs/ObservabilityTimeseriesApi.md +67 -0
  26. data/docs/PoolApi.md +4 -4
  27. data/docs/PoolResponse.md +1 -1
  28. data/docs/PoolResponseCommon.md +1 -1
  29. data/docs/PoolResponsePost.md +1 -1
  30. data/docs/SignalReport.md +13 -0
  31. data/docs/TimeseriesGetResponse.md +11 -0
  32. data/docs/TimeseriesMeta.md +13 -0
  33. data/docs/TimeseriesResult.md +11 -0
  34. data/docs/TlsSubscriptionsApi.md +0 -2
  35. data/docs/TopWorkspace.md +12 -0
  36. data/lib/fastly/api/backend_api.rb +16 -16
  37. data/lib/fastly/api/ddos_protection_api.rb +70 -0
  38. data/lib/fastly/api/historical_api.rb +3 -0
  39. data/lib/fastly/api/kv_store_api.rb +3 -0
  40. data/lib/fastly/api/ngwaf_reports_api.rb +161 -0
  41. data/lib/fastly/api/{observability_timeseries_for_logs_api.rb → observability_timeseries_api.rb} +38 -43
  42. data/lib/fastly/api/pool_api.rb +4 -4
  43. data/lib/fastly/api/tls_subscriptions_api.rb +0 -3
  44. data/lib/fastly/configuration.rb +19 -1
  45. data/lib/fastly/models/attack_report.rb +359 -0
  46. data/lib/fastly/models/attack_signal.rb +252 -0
  47. data/lib/fastly/models/attack_source.rb +267 -0
  48. data/lib/fastly/models/backend.rb +7 -1
  49. data/lib/fastly/models/backend_response.rb +7 -1
  50. data/lib/fastly/models/ddos_protection_attribute_stats.rb +2 -1
  51. data/lib/fastly/models/ddos_protection_invalid_request.rb +309 -0
  52. data/lib/fastly/models/{log_timeseries_filter_field_item.rb → ddos_protection_not_authorized.rb} +24 -36
  53. data/lib/fastly/models/ddos_protection_rule.rb +2 -1
  54. data/lib/fastly/models/ddos_protection_rule_all_of.rb +2 -1
  55. data/lib/fastly/models/ddos_protection_rule_patch.rb +219 -0
  56. data/lib/fastly/models/{log_timeseries_get_response.rb → list_attack_report.rb} +5 -5
  57. data/lib/fastly/models/list_attack_report_meta.rb +218 -0
  58. data/lib/fastly/models/{log_timeseries_result_dimensions.rb → list_signal_report.rb} +12 -10
  59. data/lib/fastly/models/pool_response.rb +1 -1
  60. data/lib/fastly/models/pool_response_common.rb +1 -1
  61. data/lib/fastly/models/pool_response_post.rb +1 -1
  62. data/lib/fastly/models/signal_report.rb +249 -0
  63. data/lib/fastly/models/{log_timeseries_get_response_meta_filters.rb → timeseries_get_response.rb} +20 -13
  64. data/lib/fastly/models/{log_timeseries_get_response_meta.rb → timeseries_meta.rb} +23 -32
  65. data/lib/fastly/models/{log_timeseries_result.rb → timeseries_result.rb} +9 -5
  66. data/lib/fastly/models/top_workspace.rb +238 -0
  67. data/lib/fastly/version.rb +1 -1
  68. data/lib/fastly.rb +16 -10
  69. data/sig.json +1 -1
  70. metadata +34 -22
  71. data/docs/LogTimeseriesFilterFieldItem.md +0 -12
  72. data/docs/LogTimeseriesGetResponse.md +0 -11
  73. data/docs/LogTimeseriesGetResponseMeta.md +0 -14
  74. data/docs/LogTimeseriesGetResponseMetaFilters.md +0 -10
  75. data/docs/LogTimeseriesResult.md +0 -11
  76. data/docs/LogTimeseriesValueField.md +0 -59
  77. data/docs/ObservabilityTimeseriesForLogsApi.md +0 -67
  78. data/lib/fastly/models/ddos_protection_action.rb +0 -37
  79. data/lib/fastly/models/ddos_protection_traffic_attribute.rb +0 -40
  80. data/lib/fastly/models/log_timeseries_value_field.rb +0 -108
@@ -0,0 +1,67 @@
1
+ # Fastly::ObservabilityTimeseriesApi
2
+
3
+
4
+ ```ruby
5
+ require 'fastly'
6
+ api_instance = Fastly::ObservabilityTimeseriesApi.new
7
+ ```
8
+
9
+ ## Methods
10
+
11
+ > [!NOTE]
12
+ > All URIs are relative to `https://api.fastly.com`
13
+
14
+ Method | HTTP request | Description
15
+ ------ | ------------ | -----------
16
+ [**timeseries_get**](ObservabilityTimeseriesApi.md#timeseries_get) | **GET** /observability/timeseries | Retrieve observability data as a time series
17
+
18
+
19
+ ## `timeseries_get()`
20
+
21
+ ```ruby
22
+ timeseries_get(opts): <TimeseriesGetResponse> # Retrieve observability data as a time series
23
+ ```
24
+
25
+ Retrieves observability data as a time series.
26
+
27
+ ### Examples
28
+
29
+ ```ruby
30
+ api_instance = Fastly::ObservabilityTimeseriesApi.new
31
+ opts = {
32
+ source: 'logs', # String |
33
+ from: '2024-01-03T16:00:00Z', # String |
34
+ to: '2024-01-03T18:00:00Z', # String |
35
+ granularity: 'hour', # String |
36
+ series: 'avg[response_time],p99[response_time]', # String |
37
+ dimensions: 'dimensions_example', # String |
38
+ filter: 'filter[response_status]=200', # String |
39
+ }
40
+
41
+ begin
42
+ # Retrieve observability data as a time series
43
+ result = api_instance.timeseries_get(opts)
44
+ p result
45
+ rescue Fastly::ApiError => e
46
+ puts "Error when calling ObservabilityTimeseriesApi->timeseries_get: #{e}"
47
+ end
48
+ ```
49
+
50
+ ### Options
51
+
52
+ | Name | Type | Description | Notes |
53
+ | ---- | ---- | ----------- | ----- |
54
+ | **source** | **String** | | |
55
+ | **from** | **String** | | |
56
+ | **to** | **String** | | |
57
+ | **granularity** | **String** | | |
58
+ | **dimensions** | **String** | | [optional] |
59
+ | **filter** | **String** | | [optional] |
60
+ | **series** | **String** | | |
61
+
62
+ ### Return type
63
+
64
+ [**TimeseriesGetResponse**](TimeseriesGetResponse.md)
65
+
66
+ [[Back to top]](#) [[Back to API list]](../../README.md#endpoints)
67
+ [[Back to README]](../../README.md)
data/docs/PoolApi.md CHANGED
@@ -56,7 +56,7 @@ opts = {
56
56
  comment: 'comment_example', # String | A freeform descriptive note.
57
57
  type: 'random', # String | What type of load balance group to use.
58
58
  override_host: 'override_host_example', # String | The hostname to [override the Host header](https://www.fastly.com/documentation/guides/full-site-delivery/domains-and-origins/specifying-an-override-host/). Defaults to `null` meaning no override of the Host header will occur. This setting can also be added to a Server definition. If the field is set on a Server definition it will override the Pool setting.
59
- between_bytes_timeout: 56, # Integer | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using `bereq.between_bytes_timeout`.
59
+ between_bytes_timeout: 56, # Integer | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using `bereq.between_bytes_timeout`.
60
60
  connect_timeout: 56, # Integer | How long to wait for a timeout in milliseconds. Optional.
61
61
  first_byte_timeout: 56, # Integer | How long to wait for the first byte in milliseconds. Optional.
62
62
  max_conn_default: 56, # Integer | Maximum number of connections. Optional.
@@ -100,7 +100,7 @@ end
100
100
  | **comment** | **String** | A freeform descriptive note. | [optional] |
101
101
  | **type** | **String** | What type of load balance group to use. | [optional] |
102
102
  | **override_host** | **String** | The hostname to [override the Host header](https://www.fastly.com/documentation/guides/full-site-delivery/domains-and-origins/specifying-an-override-host/). Defaults to `null` meaning no override of the Host header will occur. This setting can also be added to a Server definition. If the field is set on a Server definition it will override the Pool setting. | [optional][default to &#39;null&#39;] |
103
- | **between_bytes_timeout** | **Integer** | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using `bereq.between_bytes_timeout`. | [optional][default to 10000] |
103
+ | **between_bytes_timeout** | **Integer** | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using `bereq.between_bytes_timeout`. | [optional][default to 10000] |
104
104
  | **connect_timeout** | **Integer** | How long to wait for a timeout in milliseconds. Optional. | [optional] |
105
105
  | **first_byte_timeout** | **Integer** | How long to wait for the first byte in milliseconds. Optional. | [optional] |
106
106
  | **max_conn_default** | **Integer** | Maximum number of connections. Optional. | [optional][default to 200] |
@@ -271,7 +271,7 @@ opts = {
271
271
  comment: 'comment_example', # String | A freeform descriptive note.
272
272
  type: 'random', # String | What type of load balance group to use.
273
273
  override_host: 'override_host_example', # String | The hostname to [override the Host header](https://www.fastly.com/documentation/guides/full-site-delivery/domains-and-origins/specifying-an-override-host/). Defaults to `null` meaning no override of the Host header will occur. This setting can also be added to a Server definition. If the field is set on a Server definition it will override the Pool setting.
274
- between_bytes_timeout: 56, # Integer | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using `bereq.between_bytes_timeout`.
274
+ between_bytes_timeout: 56, # Integer | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using `bereq.between_bytes_timeout`.
275
275
  connect_timeout: 56, # Integer | How long to wait for a timeout in milliseconds. Optional.
276
276
  first_byte_timeout: 56, # Integer | How long to wait for the first byte in milliseconds. Optional.
277
277
  max_conn_default: 56, # Integer | Maximum number of connections. Optional.
@@ -316,7 +316,7 @@ end
316
316
  | **comment** | **String** | A freeform descriptive note. | [optional] |
317
317
  | **type** | **String** | What type of load balance group to use. | [optional] |
318
318
  | **override_host** | **String** | The hostname to [override the Host header](https://www.fastly.com/documentation/guides/full-site-delivery/domains-and-origins/specifying-an-override-host/). Defaults to `null` meaning no override of the Host header will occur. This setting can also be added to a Server definition. If the field is set on a Server definition it will override the Pool setting. | [optional][default to &#39;null&#39;] |
319
- | **between_bytes_timeout** | **Integer** | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using `bereq.between_bytes_timeout`. | [optional][default to 10000] |
319
+ | **between_bytes_timeout** | **Integer** | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using `bereq.between_bytes_timeout`. | [optional][default to 10000] |
320
320
  | **connect_timeout** | **Integer** | How long to wait for a timeout in milliseconds. Optional. | [optional] |
321
321
  | **first_byte_timeout** | **Integer** | How long to wait for the first byte in milliseconds. Optional. | [optional] |
322
322
  | **max_conn_default** | **Integer** | Maximum number of connections. Optional. | [optional][default to 200] |
data/docs/PoolResponse.md CHANGED
@@ -25,7 +25,7 @@
25
25
  | **comment** | **String** | A freeform descriptive note. | [optional] |
26
26
  | **type** | **String** | What type of load balance group to use. | [optional] |
27
27
  | **override_host** | **String** | The hostname to [override the Host header](https://www.fastly.com/documentation/guides/full-site-delivery/domains-and-origins/specifying-an-override-host/). Defaults to `null` meaning no override of the Host header will occur. This setting can also be added to a Server definition. If the field is set on a Server definition it will override the Pool setting. | [optional][default to &#39;null&#39;] |
28
- | **between_bytes_timeout** | **String** | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using `bereq.between_bytes_timeout`. | [optional] |
28
+ | **between_bytes_timeout** | **String** | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using `bereq.between_bytes_timeout`. | [optional] |
29
29
  | **connect_timeout** | **String** | How long to wait for a timeout in milliseconds. | [optional] |
30
30
  | **first_byte_timeout** | **String** | How long to wait for the first byte in milliseconds. | [optional] |
31
31
  | **max_conn_default** | **String** | Maximum number of connections. | [optional][default to &#39;200&#39;] |
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **between_bytes_timeout** | **String** | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using `bereq.between_bytes_timeout`. | [optional] |
7
+ | **between_bytes_timeout** | **String** | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using `bereq.between_bytes_timeout`. | [optional] |
8
8
  | **connect_timeout** | **String** | How long to wait for a timeout in milliseconds. | [optional] |
9
9
  | **first_byte_timeout** | **String** | How long to wait for the first byte in milliseconds. | [optional] |
10
10
  | **max_conn_default** | **String** | Maximum number of connections. | [optional][default to &#39;200&#39;] |
@@ -25,7 +25,7 @@
25
25
  | **comment** | **String** | A freeform descriptive note. | [optional] |
26
26
  | **type** | **String** | What type of load balance group to use. | [optional] |
27
27
  | **override_host** | **String** | The hostname to [override the Host header](https://www.fastly.com/documentation/guides/full-site-delivery/domains-and-origins/specifying-an-override-host/). Defaults to `null` meaning no override of the Host header will occur. This setting can also be added to a Server definition. If the field is set on a Server definition it will override the Pool setting. | [optional][default to &#39;null&#39;] |
28
- | **between_bytes_timeout** | **String** | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using `bereq.between_bytes_timeout`. | [optional] |
28
+ | **between_bytes_timeout** | **String** | Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using `bereq.between_bytes_timeout`. | [optional] |
29
29
  | **connect_timeout** | **String** | How long to wait for a timeout in milliseconds. | [optional] |
30
30
  | **first_byte_timeout** | **String** | How long to wait for the first byte in milliseconds. | [optional] |
31
31
  | **max_conn_default** | **String** | Maximum number of connections. | [optional][default to &#39;200&#39;] |
@@ -0,0 +1,13 @@
1
+ # Fastly::SignalReport
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | Name of the attack type. | [optional] |
8
+ | **display_name** | **String** | Display name of the attack type. | [optional] |
9
+ | **count** | **Integer** | Total count of attacks of this type. | [optional] |
10
+ | **top_workspaces** | [**Array&lt;TopWorkspace&gt;**](TopWorkspace.md) | Top workspaces affected by this attack type. | [optional] |
11
+
12
+ [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
13
+
@@ -0,0 +1,11 @@
1
+ # Fastly::TimeseriesGetResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **data** | [**Array&lt;TimeseriesResult&gt;**](TimeseriesResult.md) | | [optional] |
8
+ | **meta** | [**TimeseriesMeta**](TimeseriesMeta.md) | | [optional] |
9
+
10
+ [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
11
+
@@ -0,0 +1,13 @@
1
+ # Fastly::TimeseriesMeta
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **from** | **String** | Start time for the query as supplied in the request. | [optional] |
8
+ | **to** | **String** | End time for the query as supplied in the request. | [optional] |
9
+ | **granularity** | **String** | The granularity of the time buckets in the response. | [optional] |
10
+ | **limit** | **String** | Maximum number of results returned in the request. | [optional] |
11
+
12
+ [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
13
+
@@ -0,0 +1,11 @@
1
+ # Fastly::TimeseriesResult
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **dimensions** | **Hash&lt;String, Object&gt;** | An object containing each requested dimension and time as properties. | [optional] |
8
+ | **values** | **Hash&lt;String, Object&gt;** | An object containing each requested series as a property. | [optional] |
9
+
10
+ [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
11
+
@@ -76,7 +76,6 @@ Create a new TLS subscription. This response includes a list of possible challen
76
76
  ```ruby
77
77
  api_instance = Fastly::TlsSubscriptionsApi.new
78
78
  opts = {
79
- force: true, # Boolean | A flag that allows you to edit and delete a subscription with active domains. Valid to use on PATCH and DELETE actions. As a warning, removing an active domain from a subscription or forcing the deletion of a subscription may result in breaking TLS termination to that domain.
80
79
  tls_subscription: Fastly::TlsSubscription.new, # TlsSubscription |
81
80
  }
82
81
 
@@ -93,7 +92,6 @@ end
93
92
 
94
93
  | Name | Type | Description | Notes |
95
94
  | ---- | ---- | ----------- | ----- |
96
- | **force** | **Boolean** | A flag that allows you to edit and delete a subscription with active domains. Valid to use on PATCH and DELETE actions. As a warning, removing an active domain from a subscription or forcing the deletion of a subscription may result in breaking TLS termination to that domain. | [optional] |
97
95
  | **tls_subscription** | [**TlsSubscription**](TlsSubscription.md) | | [optional] |
98
96
 
99
97
  ### Return type
@@ -0,0 +1,12 @@
1
+ # Fastly::TopWorkspace
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | ID of the workspace. | [optional] |
8
+ | **name** | **String** | Name of the workspace. | [optional] |
9
+ | **count** | **Integer** | Count of attacks on this workspace for the specific attack type. | [optional] |
10
+
11
+ [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
12
+
@@ -23,7 +23,7 @@ module Fastly
23
23
  # @option opts [Integer] :version_id Integer identifying a service version. (required)
24
24
  # @option opts [String] :address A hostname, IPv4, or IPv6 address for the backend. This is the preferred way to specify the location of your backend.
25
25
  # @option opts [Boolean] :auto_loadbalance Whether or not this backend should be automatically load balanced. If true, all backends with this setting that don&#39;t have a &#x60;request_condition&#x60; will be selected based on their &#x60;weight&#x60;.
26
- # @option opts [Integer] :between_bytes_timeout Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using &#x60;bereq.between_bytes_timeout&#x60;.
26
+ # @option opts [Integer] :between_bytes_timeout Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using &#x60;bereq.between_bytes_timeout&#x60;.
27
27
  # @option opts [String] :client_cert Unused.
28
28
  # @option opts [String] :comment A freeform descriptive note.
29
29
  # @option opts [Integer] :connect_timeout Maximum duration in milliseconds to wait for a connection to this backend to be established. If exceeded, the connection is aborted and a synthetic &#x60;503&#x60; response will be presented instead. May be set at runtime using &#x60;bereq.connect_timeout&#x60;.
@@ -52,9 +52,9 @@ module Fastly
52
52
  # @option opts [String] :ssl_hostname Use &#x60;ssl_cert_hostname&#x60; and &#x60;ssl_sni_hostname&#x60; to configure certificate validation.
53
53
  # @option opts [String] :ssl_sni_hostname Overrides &#x60;ssl_hostname&#x60;, but only for SNI in the handshake. Does not affect cert validation at all.
54
54
  # @option opts [Boolean] :tcp_keepalive_enable Whether to enable TCP keepalives for backend connections. Varnish defaults to using keepalives if this is unspecified.
55
- # @option opts [Integer] :tcp_keepalive_interval Interval in seconds between subsequent keepalive probes.
56
- # @option opts [Integer] :tcp_keepalive_probes Number of unacknowledged probes to send before considering the connection dead.
57
- # @option opts [Integer] :tcp_keepalive_time Interval in seconds between the last data packet sent and the first keepalive probe.
55
+ # @option opts [Integer] :tcp_keepalive_interval Interval in seconds between subsequent keepalive probes. (default to 10)
56
+ # @option opts [Integer] :tcp_keepalive_probes Number of unacknowledged probes to send before considering the connection dead. (default to 3)
57
+ # @option opts [Integer] :tcp_keepalive_time Interval in seconds between the last data packet sent and the first keepalive probe. (default to 300)
58
58
  # @option opts [Boolean] :use_ssl Whether or not to require TLS for connections to this backend.
59
59
  # @option opts [Integer] :weight Weight used to load balance this backend against others. May be any positive integer. If &#x60;auto_loadbalance&#x60; is true, the chance of this backend being selected is equal to its own weight over the sum of all weights for backends that have &#x60;auto_loadbalance&#x60; set to true.
60
60
  # @return [BackendResponse]
@@ -69,7 +69,7 @@ module Fastly
69
69
  # @option opts [Integer] :version_id Integer identifying a service version. (required)
70
70
  # @option opts [String] :address A hostname, IPv4, or IPv6 address for the backend. This is the preferred way to specify the location of your backend.
71
71
  # @option opts [Boolean] :auto_loadbalance Whether or not this backend should be automatically load balanced. If true, all backends with this setting that don&#39;t have a &#x60;request_condition&#x60; will be selected based on their &#x60;weight&#x60;.
72
- # @option opts [Integer] :between_bytes_timeout Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using &#x60;bereq.between_bytes_timeout&#x60;.
72
+ # @option opts [Integer] :between_bytes_timeout Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using &#x60;bereq.between_bytes_timeout&#x60;.
73
73
  # @option opts [String] :client_cert Unused.
74
74
  # @option opts [String] :comment A freeform descriptive note.
75
75
  # @option opts [Integer] :connect_timeout Maximum duration in milliseconds to wait for a connection to this backend to be established. If exceeded, the connection is aborted and a synthetic &#x60;503&#x60; response will be presented instead. May be set at runtime using &#x60;bereq.connect_timeout&#x60;.
@@ -98,9 +98,9 @@ module Fastly
98
98
  # @option opts [String] :ssl_hostname Use &#x60;ssl_cert_hostname&#x60; and &#x60;ssl_sni_hostname&#x60; to configure certificate validation.
99
99
  # @option opts [String] :ssl_sni_hostname Overrides &#x60;ssl_hostname&#x60;, but only for SNI in the handshake. Does not affect cert validation at all.
100
100
  # @option opts [Boolean] :tcp_keepalive_enable Whether to enable TCP keepalives for backend connections. Varnish defaults to using keepalives if this is unspecified.
101
- # @option opts [Integer] :tcp_keepalive_interval Interval in seconds between subsequent keepalive probes.
102
- # @option opts [Integer] :tcp_keepalive_probes Number of unacknowledged probes to send before considering the connection dead.
103
- # @option opts [Integer] :tcp_keepalive_time Interval in seconds between the last data packet sent and the first keepalive probe.
101
+ # @option opts [Integer] :tcp_keepalive_interval Interval in seconds between subsequent keepalive probes. (default to 10)
102
+ # @option opts [Integer] :tcp_keepalive_probes Number of unacknowledged probes to send before considering the connection dead. (default to 3)
103
+ # @option opts [Integer] :tcp_keepalive_time Interval in seconds between the last data packet sent and the first keepalive probe. (default to 300)
104
104
  # @option opts [Boolean] :use_ssl Whether or not to require TLS for connections to this backend.
105
105
  # @option opts [Integer] :weight Weight used to load balance this backend against others. May be any positive integer. If &#x60;auto_loadbalance&#x60; is true, the chance of this backend being selected is equal to its own weight over the sum of all weights for backends that have &#x60;auto_loadbalance&#x60; set to true.
106
106
  # @return [Array<(BackendResponse, Integer, Hash)>] BackendResponse data, response status code and response headers
@@ -436,7 +436,7 @@ module Fastly
436
436
  # @option opts [String] :backend_name The name of the backend. (required)
437
437
  # @option opts [String] :address A hostname, IPv4, or IPv6 address for the backend. This is the preferred way to specify the location of your backend.
438
438
  # @option opts [Boolean] :auto_loadbalance Whether or not this backend should be automatically load balanced. If true, all backends with this setting that don&#39;t have a &#x60;request_condition&#x60; will be selected based on their &#x60;weight&#x60;.
439
- # @option opts [Integer] :between_bytes_timeout Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using &#x60;bereq.between_bytes_timeout&#x60;.
439
+ # @option opts [Integer] :between_bytes_timeout Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using &#x60;bereq.between_bytes_timeout&#x60;.
440
440
  # @option opts [String] :client_cert Unused.
441
441
  # @option opts [String] :comment A freeform descriptive note.
442
442
  # @option opts [Integer] :connect_timeout Maximum duration in milliseconds to wait for a connection to this backend to be established. If exceeded, the connection is aborted and a synthetic &#x60;503&#x60; response will be presented instead. May be set at runtime using &#x60;bereq.connect_timeout&#x60;.
@@ -465,9 +465,9 @@ module Fastly
465
465
  # @option opts [String] :ssl_hostname Use &#x60;ssl_cert_hostname&#x60; and &#x60;ssl_sni_hostname&#x60; to configure certificate validation.
466
466
  # @option opts [String] :ssl_sni_hostname Overrides &#x60;ssl_hostname&#x60;, but only for SNI in the handshake. Does not affect cert validation at all.
467
467
  # @option opts [Boolean] :tcp_keepalive_enable Whether to enable TCP keepalives for backend connections. Varnish defaults to using keepalives if this is unspecified.
468
- # @option opts [Integer] :tcp_keepalive_interval Interval in seconds between subsequent keepalive probes.
469
- # @option opts [Integer] :tcp_keepalive_probes Number of unacknowledged probes to send before considering the connection dead.
470
- # @option opts [Integer] :tcp_keepalive_time Interval in seconds between the last data packet sent and the first keepalive probe.
468
+ # @option opts [Integer] :tcp_keepalive_interval Interval in seconds between subsequent keepalive probes. (default to 10)
469
+ # @option opts [Integer] :tcp_keepalive_probes Number of unacknowledged probes to send before considering the connection dead. (default to 3)
470
+ # @option opts [Integer] :tcp_keepalive_time Interval in seconds between the last data packet sent and the first keepalive probe. (default to 300)
471
471
  # @option opts [Boolean] :use_ssl Whether or not to require TLS for connections to this backend.
472
472
  # @option opts [Integer] :weight Weight used to load balance this backend against others. May be any positive integer. If &#x60;auto_loadbalance&#x60; is true, the chance of this backend being selected is equal to its own weight over the sum of all weights for backends that have &#x60;auto_loadbalance&#x60; set to true.
473
473
  # @return [BackendResponse]
@@ -483,7 +483,7 @@ module Fastly
483
483
  # @option opts [String] :backend_name The name of the backend. (required)
484
484
  # @option opts [String] :address A hostname, IPv4, or IPv6 address for the backend. This is the preferred way to specify the location of your backend.
485
485
  # @option opts [Boolean] :auto_loadbalance Whether or not this backend should be automatically load balanced. If true, all backends with this setting that don&#39;t have a &#x60;request_condition&#x60; will be selected based on their &#x60;weight&#x60;.
486
- # @option opts [Integer] :between_bytes_timeout Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using &#x60;bereq.between_bytes_timeout&#x60;.
486
+ # @option opts [Integer] :between_bytes_timeout Maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, for Delivery services, the response received so far will be considered complete and the fetch will end. For Compute services, timeout expiration is treated as a failure of the backend connection, and an error is generated. May be set at runtime using &#x60;bereq.between_bytes_timeout&#x60;.
487
487
  # @option opts [String] :client_cert Unused.
488
488
  # @option opts [String] :comment A freeform descriptive note.
489
489
  # @option opts [Integer] :connect_timeout Maximum duration in milliseconds to wait for a connection to this backend to be established. If exceeded, the connection is aborted and a synthetic &#x60;503&#x60; response will be presented instead. May be set at runtime using &#x60;bereq.connect_timeout&#x60;.
@@ -512,9 +512,9 @@ module Fastly
512
512
  # @option opts [String] :ssl_hostname Use &#x60;ssl_cert_hostname&#x60; and &#x60;ssl_sni_hostname&#x60; to configure certificate validation.
513
513
  # @option opts [String] :ssl_sni_hostname Overrides &#x60;ssl_hostname&#x60;, but only for SNI in the handshake. Does not affect cert validation at all.
514
514
  # @option opts [Boolean] :tcp_keepalive_enable Whether to enable TCP keepalives for backend connections. Varnish defaults to using keepalives if this is unspecified.
515
- # @option opts [Integer] :tcp_keepalive_interval Interval in seconds between subsequent keepalive probes.
516
- # @option opts [Integer] :tcp_keepalive_probes Number of unacknowledged probes to send before considering the connection dead.
517
- # @option opts [Integer] :tcp_keepalive_time Interval in seconds between the last data packet sent and the first keepalive probe.
515
+ # @option opts [Integer] :tcp_keepalive_interval Interval in seconds between subsequent keepalive probes. (default to 10)
516
+ # @option opts [Integer] :tcp_keepalive_probes Number of unacknowledged probes to send before considering the connection dead. (default to 3)
517
+ # @option opts [Integer] :tcp_keepalive_time Interval in seconds between the last data packet sent and the first keepalive probe. (default to 300)
518
518
  # @option opts [Boolean] :use_ssl Whether or not to require TLS for connections to this backend.
519
519
  # @option opts [Integer] :weight Weight used to load balance this backend against others. May be any positive integer. If &#x60;auto_loadbalance&#x60; is true, the chance of this backend being selected is equal to its own weight over the sum of all weights for backends that have &#x60;auto_loadbalance&#x60; set to true.
520
520
  # @return [Array<(BackendResponse, Integer, Hash)>] BackendResponse data, response status code and response headers
@@ -294,6 +294,76 @@ module Fastly
294
294
  return data, status_code, headers
295
295
  end
296
296
 
297
+ # Update rule
298
+ # Update rule.
299
+ # @option opts [String] :rule_id Unique ID of the rule. (required)
300
+ # @option opts [DdosProtectionRulePatch] :ddos_protection_rule_patch
301
+ # @return [DdosProtectionRule]
302
+ def ddos_protection_rule_patch(opts = {})
303
+ data, _status_code, _headers = ddos_protection_rule_patch_with_http_info(opts)
304
+ data
305
+ end
306
+
307
+ # Update rule
308
+ # Update rule.
309
+ # @option opts [String] :rule_id Unique ID of the rule. (required)
310
+ # @option opts [DdosProtectionRulePatch] :ddos_protection_rule_patch
311
+ # @return [Array<(DdosProtectionRule, Integer, Hash)>] DdosProtectionRule data, response status code and response headers
312
+ def ddos_protection_rule_patch_with_http_info(opts = {})
313
+ if @api_client.config.debugging
314
+ @api_client.config.logger.debug 'Calling API: DdosProtectionApi.ddos_protection_rule_patch ...'
315
+ end
316
+ # unbox the parameters from the hash
317
+ rule_id = opts[:'rule_id']
318
+ # verify the required parameter 'rule_id' is set
319
+ if @api_client.config.client_side_validation && rule_id.nil?
320
+ fail ArgumentError, "Missing the required parameter 'rule_id' when calling DdosProtectionApi.ddos_protection_rule_patch"
321
+ end
322
+ # resource path
323
+ local_var_path = '/ddos-protection/v1/rules/{rule_id}'.sub('{' + 'rule_id' + '}', CGI.escape(rule_id.to_s))
324
+
325
+ # query parameters
326
+ query_params = opts[:query_params] || {}
327
+
328
+ # header parameters
329
+ header_params = opts[:header_params] || {}
330
+ # HTTP header 'Accept' (if needed)
331
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
332
+ # HTTP header 'Content-Type'
333
+ content_type = @api_client.select_header_content_type(['application/json'])
334
+ if !content_type.nil?
335
+ header_params['Content-Type'] = content_type
336
+ end
337
+
338
+ # form parameters
339
+ form_params = opts[:form_params] || {}
340
+
341
+ # http body (model)
342
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'ddos_protection_rule_patch'])
343
+
344
+ # return_type
345
+ return_type = opts[:debug_return_type] || 'DdosProtectionRule'
346
+
347
+ # auth_names
348
+ auth_names = opts[:debug_auth_names] || ['token']
349
+
350
+ new_options = opts.merge(
351
+ :operation => :"DdosProtectionApi.ddos_protection_rule_patch",
352
+ :header_params => header_params,
353
+ :query_params => query_params,
354
+ :form_params => form_params,
355
+ :body => post_body,
356
+ :auth_names => auth_names,
357
+ :return_type => return_type
358
+ )
359
+
360
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
361
+ if @api_client.config.debugging
362
+ @api_client.config.logger.debug "API called: DdosProtectionApi#ddos_protection_rule_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
363
+ end
364
+ return data, status_code, headers
365
+ end
366
+
297
367
  # Get traffic stats for a rule
298
368
  # Get traffic stats for a rule.
299
369
  # @option opts [String] :event_id Unique ID of the event. (required)
@@ -23,6 +23,7 @@ module Fastly
23
23
  # @option opts [String] :to Timestamp that defines the end of the window for which to fetch statistics. Accepts the same formats as &#x60;from&#x60;. (default to 'now')
24
24
  # @option opts [String] :by Duration of sample windows. One of: * &#x60;hour&#x60; - Group data by hour. * &#x60;minute&#x60; - Group data by minute. * &#x60;day&#x60; - Group data by day. (default to 'day')
25
25
  # @option opts [String] :region Limit query to a specific geographic region. One of: * &#x60;usa&#x60; - North America. * &#x60;europe&#x60; - Europe. * &#x60;anzac&#x60; - Australia and New Zealand. * &#x60;asia&#x60; - Asia. * &#x60;asia_india&#x60; - India. * &#x60;asia_southkorea&#x60; - South Korea. * &#x60;africa_std&#x60; - Africa. * &#x60;mexico&#x60; - Mexico. * &#x60;southamerica_std&#x60; - South America.
26
+ # @option opts [String] :services Limit the query to only the specified, comma-separated list of services.
26
27
  # @return [HistoricalStatsByServiceResponse]
27
28
  def get_hist_stats(opts = {})
28
29
  data, _status_code, _headers = get_hist_stats_with_http_info(opts)
@@ -35,6 +36,7 @@ module Fastly
35
36
  # @option opts [String] :to Timestamp that defines the end of the window for which to fetch statistics. Accepts the same formats as &#x60;from&#x60;. (default to 'now')
36
37
  # @option opts [String] :by Duration of sample windows. One of: * &#x60;hour&#x60; - Group data by hour. * &#x60;minute&#x60; - Group data by minute. * &#x60;day&#x60; - Group data by day. (default to 'day')
37
38
  # @option opts [String] :region Limit query to a specific geographic region. One of: * &#x60;usa&#x60; - North America. * &#x60;europe&#x60; - Europe. * &#x60;anzac&#x60; - Australia and New Zealand. * &#x60;asia&#x60; - Asia. * &#x60;asia_india&#x60; - India. * &#x60;asia_southkorea&#x60; - South Korea. * &#x60;africa_std&#x60; - Africa. * &#x60;mexico&#x60; - Mexico. * &#x60;southamerica_std&#x60; - South America.
39
+ # @option opts [String] :services Limit the query to only the specified, comma-separated list of services.
38
40
  # @return [Array<(HistoricalStatsByServiceResponse, Integer, Hash)>] HistoricalStatsByServiceResponse data, response status code and response headers
39
41
  def get_hist_stats_with_http_info(opts = {})
40
42
  if @api_client.config.debugging
@@ -58,6 +60,7 @@ module Fastly
58
60
  query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
59
61
  query_params[:'by'] = opts[:'by'] if !opts[:'by'].nil?
60
62
  query_params[:'region'] = opts[:'region'] if !opts[:'region'].nil?
63
+ query_params[:'services'] = opts[:'services'] if !opts[:'services'].nil?
61
64
 
62
65
  # header parameters
63
66
  header_params = opts[:header_params] || {}
@@ -215,6 +215,7 @@ module Fastly
215
215
  # List all KV stores.
216
216
  # @option opts [String] :cursor
217
217
  # @option opts [Integer] :limit (default to 1000)
218
+ # @option opts [String] :name Returns a one-element array containing the details for the named KV store.
218
219
  # @return [InlineResponse2005]
219
220
  def kv_store_list(opts = {})
220
221
  data, _status_code, _headers = kv_store_list_with_http_info(opts)
@@ -225,6 +226,7 @@ module Fastly
225
226
  # List all KV stores.
226
227
  # @option opts [String] :cursor
227
228
  # @option opts [Integer] :limit (default to 1000)
229
+ # @option opts [String] :name Returns a one-element array containing the details for the named KV store.
228
230
  # @return [Array<(InlineResponse2005, Integer, Hash)>] InlineResponse2005 data, response status code and response headers
229
231
  def kv_store_list_with_http_info(opts = {})
230
232
  if @api_client.config.debugging
@@ -242,6 +244,7 @@ module Fastly
242
244
  query_params = opts[:query_params] || {}
243
245
  query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
244
246
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
247
+ query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil?
245
248
 
246
249
  # header parameters
247
250
  header_params = opts[:header_params] || {}
@@ -0,0 +1,161 @@
1
+ =begin
2
+ #Fastly API
3
+
4
+ #Via the Fastly API you can perform any of the operations that are possible within the management console, including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://www.fastly.com/documentation/reference/api/)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: oss@fastly.com
8
+
9
+ =end
10
+
11
+ require 'cgi'
12
+
13
+ module Fastly
14
+ class NgwafReportsApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+ # Get attacks report
21
+ # Get attacks report
22
+ # @option opts [Time] :from The start of a time range in RFC 3339 format. (required)
23
+ # @option opts [Time] :to The end of a time range in RFC 3339 format. Defaults to the current time.
24
+ # @return [ListAttackReport]
25
+ def get_attacks_report(opts = {})
26
+ data, _status_code, _headers = get_attacks_report_with_http_info(opts)
27
+ data
28
+ end
29
+
30
+ # Get attacks report
31
+ # Get attacks report
32
+ # @option opts [Time] :from The start of a time range in RFC 3339 format. (required)
33
+ # @option opts [Time] :to The end of a time range in RFC 3339 format. Defaults to the current time.
34
+ # @return [Array<(ListAttackReport, Integer, Hash)>] ListAttackReport data, response status code and response headers
35
+ def get_attacks_report_with_http_info(opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: NgwafReportsApi.get_attacks_report ...'
38
+ end
39
+ # unbox the parameters from the hash
40
+ from = opts[:'from']
41
+ # verify the required parameter 'from' is set
42
+ if @api_client.config.client_side_validation && from.nil?
43
+ fail ArgumentError, "Missing the required parameter 'from' when calling NgwafReportsApi.get_attacks_report"
44
+ end
45
+ # resource path
46
+ local_var_path = '/ngwaf/v1/reports/attacks'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+ query_params[:'from'] = from
51
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
52
+
53
+ # header parameters
54
+ header_params = opts[:header_params] || {}
55
+ # HTTP header 'Accept' (if needed)
56
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
57
+
58
+ # form parameters
59
+ form_params = opts[:form_params] || {}
60
+
61
+ # http body (model)
62
+ post_body = opts[:debug_body]
63
+
64
+ # return_type
65
+ return_type = opts[:debug_return_type] || 'ListAttackReport'
66
+
67
+ # auth_names
68
+ auth_names = opts[:debug_auth_names] || ['token']
69
+
70
+ new_options = opts.merge(
71
+ :operation => :"NgwafReportsApi.get_attacks_report",
72
+ :header_params => header_params,
73
+ :query_params => query_params,
74
+ :form_params => form_params,
75
+ :body => post_body,
76
+ :auth_names => auth_names,
77
+ :return_type => return_type
78
+ )
79
+
80
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
81
+ if @api_client.config.debugging
82
+ @api_client.config.logger.debug "API called: NgwafReportsApi#get_attacks_report\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
83
+ end
84
+ return data, status_code, headers
85
+ end
86
+
87
+ # Get signals report
88
+ # Get signals report
89
+ # @option opts [Time] :from The start of a time range in RFC 3339 format. (required)
90
+ # @option opts [Time] :to The end of a time range in RFC 3339 format. Defaults to the current time.
91
+ # @option opts [String] :signal_type The type of signal
92
+ # @return [ListSignalReport]
93
+ def get_signals_report(opts = {})
94
+ data, _status_code, _headers = get_signals_report_with_http_info(opts)
95
+ data
96
+ end
97
+
98
+ # Get signals report
99
+ # Get signals report
100
+ # @option opts [Time] :from The start of a time range in RFC 3339 format. (required)
101
+ # @option opts [Time] :to The end of a time range in RFC 3339 format. Defaults to the current time.
102
+ # @option opts [String] :signal_type The type of signal
103
+ # @return [Array<(ListSignalReport, Integer, Hash)>] ListSignalReport data, response status code and response headers
104
+ def get_signals_report_with_http_info(opts = {})
105
+ if @api_client.config.debugging
106
+ @api_client.config.logger.debug 'Calling API: NgwafReportsApi.get_signals_report ...'
107
+ end
108
+ # unbox the parameters from the hash
109
+ from = opts[:'from']
110
+ # verify the required parameter 'from' is set
111
+ if @api_client.config.client_side_validation && from.nil?
112
+ fail ArgumentError, "Missing the required parameter 'from' when calling NgwafReportsApi.get_signals_report"
113
+ end
114
+ allowable_values = ["account", "anomaly", "attack", "bot", "all"]
115
+ if @api_client.config.client_side_validation && opts[:'signal_type'] && !allowable_values.include?(opts[:'signal_type'])
116
+ fail ArgumentError, "invalid value for \"signal_type\", must be one of #{allowable_values}"
117
+ end
118
+ # resource path
119
+ local_var_path = '/ngwaf/v1/reports/signals'
120
+
121
+ # query parameters
122
+ query_params = opts[:query_params] || {}
123
+ query_params[:'from'] = from
124
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
125
+ query_params[:'signal_type'] = opts[:'signal_type'] if !opts[:'signal_type'].nil?
126
+
127
+ # header parameters
128
+ header_params = opts[:header_params] || {}
129
+ # HTTP header 'Accept' (if needed)
130
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json'])
131
+
132
+ # form parameters
133
+ form_params = opts[:form_params] || {}
134
+
135
+ # http body (model)
136
+ post_body = opts[:debug_body]
137
+
138
+ # return_type
139
+ return_type = opts[:debug_return_type] || 'ListSignalReport'
140
+
141
+ # auth_names
142
+ auth_names = opts[:debug_auth_names] || ['token']
143
+
144
+ new_options = opts.merge(
145
+ :operation => :"NgwafReportsApi.get_signals_report",
146
+ :header_params => header_params,
147
+ :query_params => query_params,
148
+ :form_params => form_params,
149
+ :body => post_body,
150
+ :auth_names => auth_names,
151
+ :return_type => return_type
152
+ )
153
+
154
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
155
+ if @api_client.config.debugging
156
+ @api_client.config.logger.debug "API called: NgwafReportsApi#get_signals_report\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
157
+ end
158
+ return data, status_code, headers
159
+ end
160
+ end
161
+ end