Skip to content

Commit b199acc

Browse files
author
github-actions
committed
Generated v11.0.0
1 parent 0ec24f6 commit b199acc

File tree

83 files changed

+3663
-2319
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+3663
-2319
lines changed

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,30 @@
11
# Changelog
22

3+
## [v11.0.0](https://github.com/fastly/fastly-py/releases/tag/release/v11.0.0) (2025-08-28)
4+
5+
**Breaking Changes:**
6+
7+
- removed(ddos_protection): Remove enum configs `ddos_protection_action` and ``ddos_protection_traffic_attribute`.
8+
- changed(backend): Added default values to `tcp_keepalive_interval`, `tcp_keepalive_probes`, and `tcp_keepalive_time` properties.
9+
- removed(tls_subscriptions): Remove `force` parameter from TLS subscriptions.
10+
11+
12+
**Enhancements:**
13+
14+
- feat(ngwaf_reports): Add Get attacks report endpoint.
15+
- feat(kv_store): Add `name` parameter to the List KV stores endpoint.
16+
- feat(historical): Add `services` parameter to the Historical Stats API endpoint.
17+
- feat(ddos_protection): Add PATCH endpoint in the Fastly DDoS Protection Events API allowing customers to update the DDoS rules action to `log`, `block`, `default`, or `off`.
18+
- feat(observability_timeseries): Add Observability Timeseries API for data visualized in the Sustainability dashboard.
19+
20+
21+
**Documentation:**
22+
23+
- doc(backend, pool): Describe difference in behavior of `between_bytes_timeout` between
24+
Deliver and Compute services.
25+
- doc(ddos_protection): Update GET API docs describing that they can be accessed by any user role as long as the service belongs to the customer.
26+
27+
328
## [v10.1.0](https://github.com/fastly/fastly-py/releases/tag/release/v10.1.0) (2025-07-07)
429

530
**Bug fixes:**

README.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ Class | Method | Description
145145
*DdosProtectionApi* | [**ddos_protection_event_list**](docs/DdosProtectionApi.md#ddos_protection_event_list) | Get events
146146
*DdosProtectionApi* | [**ddos_protection_event_rule_list**](docs/DdosProtectionApi.md#ddos_protection_event_rule_list) | Get all rules for an event
147147
*DdosProtectionApi* | [**ddos_protection_rule_get**](docs/DdosProtectionApi.md#ddos_protection_rule_get) | Get a rule by ID
148+
*DdosProtectionApi* | [**ddos_protection_rule_patch**](docs/DdosProtectionApi.md#ddos_protection_rule_patch) | Update rule
148149
*DdosProtectionApi* | [**ddos_protection_traffic_stats_rule_get**](docs/DdosProtectionApi.md#ddos_protection_traffic_stats_rule_get) | Get traffic stats for a rule
149150
*DictionaryApi* | [**create_dictionary**](docs/DictionaryApi.md#create_dictionary) | Create a dictionary
150151
*DictionaryApi* | [**delete_dictionary**](docs/DictionaryApi.md#delete_dictionary) | Delete a dictionary
@@ -400,6 +401,8 @@ Class | Method | Description
400401
*MutualAuthenticationApi* | [**get_mutual_authentication**](docs/MutualAuthenticationApi.md#get_mutual_authentication) | Get a Mutual Authentication
401402
*MutualAuthenticationApi* | [**list_mutual_authentications**](docs/MutualAuthenticationApi.md#list_mutual_authentications) | List Mutual Authentications
402403
*MutualAuthenticationApi* | [**patch_mutual_authentication**](docs/MutualAuthenticationApi.md#patch_mutual_authentication) | Update a Mutual Authentication
404+
*NgwafReportsApi* | [**get_attacks_report**](docs/NgwafReportsApi.md#get_attacks_report) | Get attacks report
405+
*NgwafReportsApi* | [**get_signals_report**](docs/NgwafReportsApi.md#get_signals_report) | Get signals report
403406
*ObjectStorageAccessKeysApi* | [**create_access_key**](docs/ObjectStorageAccessKeysApi.md#create_access_key) | Create an access key
404407
*ObjectStorageAccessKeysApi* | [**delete_access_key**](docs/ObjectStorageAccessKeysApi.md#delete_access_key) | Delete an access key
405408
*ObjectStorageAccessKeysApi* | [**get_access_key**](docs/ObjectStorageAccessKeysApi.md#get_access_key) | Get an access key
@@ -410,7 +413,7 @@ Class | Method | Description
410413
*ObservabilityCustomDashboardsApi* | [**get_dashboard**](docs/ObservabilityCustomDashboardsApi.md#get_dashboard) | Retrieve a dashboard by ID
411414
*ObservabilityCustomDashboardsApi* | [**list_dashboards**](docs/ObservabilityCustomDashboardsApi.md#list_dashboards) | List all custom dashboards
412415
*ObservabilityCustomDashboardsApi* | [**update_dashboard**](docs/ObservabilityCustomDashboardsApi.md#update_dashboard) | Update an existing dashboard
413-
*ObservabilityTimeseriesForLogsApi* | [**log_timeseries_get**](docs/ObservabilityTimeseriesForLogsApi.md#log_timeseries_get) | Retrieve log data as time series
416+
*ObservabilityTimeseriesApi* | [**timeseries_get**](docs/ObservabilityTimeseriesApi.md#timeseries_get) | Retrieve observability data as a time series
414417
*OriginInspectorHistoricalApi* | [**get_origin_inspector_historical**](docs/OriginInspectorHistoricalApi.md#get_origin_inspector_historical) | Get historical origin data for a service
415418
*OriginInspectorRealtimeApi* | [**get_origin_inspector_last120_seconds**](docs/OriginInspectorRealtimeApi.md#get_origin_inspector_last120_seconds) | Get real-time origin data for the last 120 seconds
416419
*OriginInspectorRealtimeApi* | [**get_origin_inspector_last_max_entries**](docs/OriginInspectorRealtimeApi.md#get_origin_inspector_last_max_entries) | Get a limited number of real-time origin data entries
@@ -635,10 +638,17 @@ The fastly-py API client currently does not support the following endpoints:
635638
- [`/alerts/history`](https://www.fastly.com/documentation/reference/api/observability/alerts/history) (GET)
636639
- [`/dns/configurations/{dns_configuration_id}`](https://www.fastly.com/documentation/reference/api/) (DELETE, GET, PATCH)
637640
- [`/dns/configurations`](https://www.fastly.com/documentation/reference/api/) (GET, POST)
641+
- [`/domain-management/v1/domains/{domain_id}`](https://www.fastly.com/documentation/reference/api/) (DELETE, GET, PATCH)
642+
- [`/domain-management/v1/domains`](https://www.fastly.com/documentation/reference/api/) (GET, POST)
638643
- [`/domains/v1/tools/status`](https://www.fastly.com/documentation/reference/api/) (GET)
639644
- [`/domains/v1/tools/suggest`](https://www.fastly.com/documentation/reference/api/) (GET)
640-
- [`/domains/v1/{domain_id}`](https://www.fastly.com/documentation/reference/api/) (DELETE, GET, PATCH)
641-
- [`/domains/v1`](https://www.fastly.com/documentation/reference/api/) (GET, POST)
645+
- [`/ngwaf/v1/lists/{listId}`](https://www.fastly.com/documentation/reference/api/ngwaf/v1/lists) (DELETE, GET, PATCH)
646+
- [`/ngwaf/v1/lists`](https://www.fastly.com/documentation/reference/api/ngwaf/v1/lists) (GET, POST)
647+
- [`/ngwaf/v1/signals/{signal_id}`](https://www.fastly.com/documentation/reference/api/ngwaf/v1/signals) (DELETE, GET, PATCH)
648+
- [`/ngwaf/v1/signals`](https://www.fastly.com/documentation/reference/api/ngwaf/v1/signals) (GET, POST)
649+
- [`/ngwaf/v1/timeseries`](https://www.fastly.com/documentation/reference/api/ngwaf/v1/timeseries) (GET)
650+
- [`/ngwaf/v1/workspaces/{workspaceId}/lists/{listId}`](https://www.fastly.com/documentation/reference/api/ngwaf/v1/lists) (DELETE, GET, PATCH)
651+
- [`/ngwaf/v1/workspaces/{workspaceId}/lists`](https://www.fastly.com/documentation/reference/api/ngwaf/v1/lists) (GET, POST)
642652
- [`/ngwaf/v1/workspaces/{workspace_id}/alerts/{alert_id}/signing-key`](https://www.fastly.com/documentation/reference/api/ngwaf/v1/workspace_alerts) (GET, POST)
643653
- [`/ngwaf/v1/workspaces/{workspace_id}/alerts/{alert_id}`](https://www.fastly.com/documentation/reference/api/ngwaf/v1/workspace_alerts) (DELETE, GET, PATCH)
644654
- [`/ngwaf/v1/workspaces/{workspace_id}/alerts`](https://www.fastly.com/documentation/reference/api/ngwaf/v1/workspace_alerts) (GET, POST)
@@ -661,6 +671,8 @@ The fastly-py API client currently does not support the following endpoints:
661671
- [`/notifications/integrations/{integration_id}`](https://developer.fastly.com/reference/api/observability/notification) (DELETE, GET, PATCH)
662672
- [`/notifications/integrations`](https://developer.fastly.com/reference/api/observability/notification) (GET, POST)
663673
- [`/notifications/mailinglist-confirmations`](https://developer.fastly.com/reference/api/observability/notification) (POST)
674+
- [`/observability/timeseries`](https://www.fastly.com/documentation/reference/api/observability/timeseries/logs/) (GET)
675+
- [`/observability/timeseries`](https://www.fastly.com/documentation/reference/api/observability/timeseries/sustainability/) (GET)
664676
- [`/resources/stores/kv/{store_id}/batch`](https://www.fastly.com/documentation/reference/api/services/resources/kv-store-item) (PUT)
665677
- [`/security/workspaces/{workspace_id}/events/{event_id}`](https://www.fastly.com/documentation/reference/api/security/events) (GET, PATCH)
666678
- [`/security/workspaces/{workspace_id}/events`](https://www.fastly.com/documentation/reference/api/security/events) (GET)

docs/AttackReport.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# AttackReport
2+
3+
4+
## Properties
5+
Name | Type | Description | Notes
6+
------------ | ------------- | ------------- | -------------
7+
**id** | **str** | ID of the workspace. |
8+
**name** | **str** | Name of the workspace. |
9+
**total_count** | **int** | Total request count |
10+
**blocked_count** | **int** | Blocked request count |
11+
**flagged_count** | **int** | Flagged request count |
12+
**attack_count** | **int** | Attack request count |
13+
**all_flagged_ip_count** | **int** | Count of IPs that have been flagged |
14+
**flagged_ip_count** | **int** | Count of currently flagged IPs |
15+
**top_attack_signals** | [**[AttackSignal]**](AttackSignal.md) | |
16+
**top_attack_sources** | [**[AttackSource]**](AttackSource.md) | |
17+
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
18+
19+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
20+
21+

docs/LogTimeseriesGetResponseMetaFilters.md renamed to docs/AttackSignal.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
# LogTimeseriesGetResponseMetaFilters
1+
# AttackSignal
22

3-
Echoes the filters that were supplied in the request.
43

54
## Properties
65
Name | Type | Description | Notes
76
------------ | ------------- | ------------- | -------------
8-
**filter_fields** | [**[LogTimeseriesFilterFieldItem], none_type**](LogTimeseriesFilterFieldItem.md) | | [optional]
7+
**tag_name** | **str** | Name of the attack signal tag |
8+
**tag_count** | **int** | Count of requests with this attack signal |
9+
**total_count** | **int** | Total number of attacks considered |
910
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
1011

1112
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

docs/AttackSource.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# AttackSource
2+
3+
4+
## Properties
5+
Name | Type | Description | Notes
6+
------------ | ------------- | ------------- | -------------
7+
**country_code** | **str** | Country code of the attack source |
8+
**country_name** | **str** | Name of the country |
9+
**request_count** | **int** | Number of requests from this country |
10+
**total_count** | **int** | Total number of attacks considered |
11+
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]
12+
13+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
14+
15+

docs/Backend.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
66
------------ | ------------- | ------------- | -------------
77
**address** | **str** | A hostname, IPv4, or IPv6 address for the backend. This is the preferred way to specify the location of your backend. | [optional]
88
**auto_loadbalance** | **bool** | Whether or not this backend should be automatically load balanced. If true, all backends with this setting that don't have a `request_condition` will be selected based on their `weight`. | [optional]
9-
**between_bytes_timeout** | **int** | 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]
9+
**between_bytes_timeout** | **int** | 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]
1010
**client_cert** | **str, none_type** | Unused. | [optional]
1111
**comment** | **str, none_type** | A freeform descriptive note. | [optional]
1212
**connect_timeout** | **int** | Maximum duration in milliseconds to wait for a connection to this backend to be established. If exceeded, the connection is aborted and a synthetic `503` response will be presented instead. May be set at runtime using `bereq.connect_timeout`. | [optional]
@@ -35,9 +35,9 @@ Name | Type | Description | Notes
3535
**ssl_hostname** | **str, none_type** | Use `ssl_cert_hostname` and `ssl_sni_hostname` to configure certificate validation. | [optional]
3636
**ssl_sni_hostname** | **str, none_type** | Overrides `ssl_hostname`, but only for SNI in the handshake. Does not affect cert validation at all. | [optional]
3737
**tcp_keepalive_enable** | **bool, none_type** | Whether to enable TCP keepalives for backend connections. Varnish defaults to using keepalives if this is unspecified. | [optional]
38-
**tcp_keepalive_interval** | **int, none_type** | Interval in seconds between subsequent keepalive probes. | [optional]
39-
**tcp_keepalive_probes** | **int, none_type** | Number of unacknowledged probes to send before considering the connection dead. | [optional]
40-
**tcp_keepalive_time** | **int, none_type** | Interval in seconds between the last data packet sent and the first keepalive probe. | [optional]
38+
**tcp_keepalive_interval** | **int, none_type** | Interval in seconds between subsequent keepalive probes. | [optional] if omitted the server will use the default value of 10
39+
**tcp_keepalive_probes** | **int, none_type** | Number of unacknowledged probes to send before considering the connection dead. | [optional] if omitted the server will use the default value of 3
40+
**tcp_keepalive_time** | **int, none_type** | Interval in seconds between the last data packet sent and the first keepalive probe. | [optional] if omitted the server will use the default value of 300
4141
**use_ssl** | **bool** | Whether or not to require TLS for connections to this backend. | [optional]
4242
**weight** | **int** | Weight used to load balance this backend against others. May be any positive integer. If `auto_loadbalance` 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 `auto_loadbalance` set to true. | [optional]
4343
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]

0 commit comments

Comments
 (0)