diff --git a/CHANGELOG.md b/CHANGELOG.md index f85c019..3ac7522 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [v4.9.0](https://github.com/fastly/fastly-rust/releases/tag/release/v4.9.0) (2024-08-04) + +**Enhancements:** + +- feat(observability): Adds new Observability Custom Dashboards API +- feat(billing-invoices): Adds month-to-date invoice information +- feat(billing-usage-metrics): Adds information on service-level usage. +- feat(tls): Adds an endpoint to get a TLS certificate blob (Limited Availability) +- feat(stats): Add `origin_offload` metric + ## [v4.8.0](https://github.com/fastly/fastly-rust/releases/tag/release/v4.8.0) (2024-07-01) **Bug fixes:** diff --git a/Cargo.toml b/Cargo.toml index 9d4c623..068be97 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fastly-api" -version = "4.8.0" +version = "4.9.0" authors = ["Fastly "] edition = "2021" description = "Fastly API client" diff --git a/README.md b/README.md index 062d33f..6a01328 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Rust 2021 Edition Add the following to `Cargo.toml` under `[dependencies]`: ```toml -fastly-api = "4.8.0" +fastly-api = "4.9.0" ``` ## Usage @@ -116,7 +116,10 @@ Class | Method | Description *BillingAddressApi* | [**get_billing_addr**](docs/BillingAddressApi.md#get_billing_addr) | Get a billing address *BillingAddressApi* | [**update_billing_addr**](docs/BillingAddressApi.md#update_billing_addr) | Update a billing address *BillingInvoicesApi* | [**get_invoice_by_invoice_id**](docs/BillingInvoicesApi.md#get_invoice_by_invoice_id) | Get invoice by ID. +*BillingInvoicesApi* | [**get_month_to_date_invoice**](docs/BillingInvoicesApi.md#get_month_to_date_invoice) | Get month-to-date invoice. *BillingInvoicesApi* | [**list_invoices**](docs/BillingInvoicesApi.md#list_invoices) | List of invoices. +*BillingUsageMetricsApi* | [**get_service_level_usage**](docs/BillingUsageMetricsApi.md#get_service_level_usage) | Retrieve service-level usage metrics for a product. +*BillingUsageMetricsApi* | [**get_service_level_usage_types**](docs/BillingUsageMetricsApi.md#get_service_level_usage_types) | Retrieve product usage types for a customer. *CacheSettingsApi* | [**create_cache_settings**](docs/CacheSettingsApi.md#create_cache_settings) | Create a cache settings object *CacheSettingsApi* | [**delete_cache_settings**](docs/CacheSettingsApi.md#delete_cache_settings) | Delete a cache settings object *CacheSettingsApi* | [**get_cache_settings**](docs/CacheSettingsApi.md#get_cache_settings) | Get a cache settings object @@ -417,6 +420,11 @@ Class | Method | Description *MutualAuthenticationApi* | [**get_mutual_authentication**](docs/MutualAuthenticationApi.md#get_mutual_authentication) | Get a Mutual Authentication *MutualAuthenticationApi* | [**list_mutual_authentications**](docs/MutualAuthenticationApi.md#list_mutual_authentications) | List Mutual Authentications *MutualAuthenticationApi* | [**patch_mutual_authentication**](docs/MutualAuthenticationApi.md#patch_mutual_authentication) | Update a Mutual Authentication +*ObservabilityCustomDashboardsApi* | [**create_dashboard**](docs/ObservabilityCustomDashboardsApi.md#create_dashboard) | Create a new dashboard +*ObservabilityCustomDashboardsApi* | [**delete_dashboard**](docs/ObservabilityCustomDashboardsApi.md#delete_dashboard) | Delete an existing dashboard +*ObservabilityCustomDashboardsApi* | [**get_dashboard**](docs/ObservabilityCustomDashboardsApi.md#get_dashboard) | Retrieve a dashboard by ID +*ObservabilityCustomDashboardsApi* | [**list_dashboards**](docs/ObservabilityCustomDashboardsApi.md#list_dashboards) | List all custom dashboards +*ObservabilityCustomDashboardsApi* | [**update_dashboard**](docs/ObservabilityCustomDashboardsApi.md#update_dashboard) | Update an existing dashboard *OriginInspectorHistoricalApi* | [**get_origin_inspector_historical**](docs/OriginInspectorHistoricalApi.md#get_origin_inspector_historical) | Get historical origin data for a service *OriginInspectorRealtimeApi* | [**get_origin_inspector_last120_seconds**](docs/OriginInspectorRealtimeApi.md#get_origin_inspector_last120_seconds) | Get real-time origin data for the last 120 seconds *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 @@ -518,6 +526,7 @@ Class | Method | Description *TlsCertificatesApi* | [**create_tls_cert**](docs/TlsCertificatesApi.md#create_tls_cert) | Create a TLS certificate *TlsCertificatesApi* | [**delete_tls_cert**](docs/TlsCertificatesApi.md#delete_tls_cert) | Delete a TLS certificate *TlsCertificatesApi* | [**get_tls_cert**](docs/TlsCertificatesApi.md#get_tls_cert) | Get a TLS certificate +*TlsCertificatesApi* | [**get_tls_cert_blob**](docs/TlsCertificatesApi.md#get_tls_cert_blob) | Get a TLS certificate blob (Limited Availability) *TlsCertificatesApi* | [**list_tls_certs**](docs/TlsCertificatesApi.md#list_tls_certs) | List TLS certificates *TlsCertificatesApi* | [**update_tls_cert**](docs/TlsCertificatesApi.md#update_tls_cert) | Update a TLS certificate *TlsConfigurationsApi* | [**get_tls_config**](docs/TlsConfigurationsApi.md#get_tls_config) | Get a TLS configuration @@ -615,6 +624,8 @@ The fastly-rust API client currently does not support the following endpoints: - [`/alerts/definitions/{definition_id}`](https://www.fastly.com/documentation/reference/api/observability/alerts/definitions) (DELETE, GET, PUT) - [`/alerts/definitions`](https://www.fastly.com/documentation/reference/api/observability/alerts/definitions) (GET, POST) - [`/alerts/history`](https://www.fastly.com/documentation/reference/api/observability/alerts/history) (GET) +- [`/dns/configurations/{dns_configuration_id}`](https://www.fastly.com/documentation/reference/api/) (DELETE, GET, PATCH) +- [`/dns/configurations`](https://www.fastly.com/documentation/reference/api/) (GET, POST) - [`/notifications/integration-types`](https://developer.fastly.com/reference/api/observability/notification) (GET) - [`/notifications/integrations/{integration_id}/rotateSigningKey`](https://developer.fastly.com/reference/api/observability/notification) (POST) - [`/notifications/integrations/{integration_id}/signingKey`](https://developer.fastly.com/reference/api/observability/notification) (GET) @@ -634,7 +645,9 @@ The fastly-rust API client currently does not support the following endpoints: - [`/stats`](https://www.fastly.com/documentation/reference/api/metrics-stats/historical-stats) (GET) - [`/tls/activations/{tls_activation_id}`](https://www.fastly.com/documentation/reference/api/tls/mutual-tls/activations) (GET, PATCH) - [`/tls/activations`](https://www.fastly.com/documentation/reference/api/tls/mutual-tls/activations) (GET) -- [`/tls/preview/domains/{tls_preview_domain_id}`](https://www.fastly.com/documentation/reference/api/) (GET, PATCH) +- [`/tls/configurations/{tls_configuration_id}`](https://www.fastly.com/documentation/reference/api/) (DELETE, GET, PATCH) +- [`/tls/configurations`](https://www.fastly.com/documentation/reference/api/) (GET, POST) +- [`/tls/preview/domains/{domain_id}`](https://www.fastly.com/documentation/reference/api/) (GET, PATCH) - [`/tls/preview/domains`](https://www.fastly.com/documentation/reference/api/) (GET, POST) - [`/v1/channel/{service_id}/ts/h/limit/{max_entries}`](https://www.fastly.com/documentation/reference/api/metrics-stats/origin-insights) (GET) - [`/v1/channel/{service_id}/ts/h`](https://www.fastly.com/documentation/reference/api/metrics-stats/origin-insights) (GET) diff --git a/docs/RelationshipTlsDnsRecord.md b/docs/AsyncResponse.md similarity index 58% rename from docs/RelationshipTlsDnsRecord.md rename to docs/AsyncResponse.md index 15a839e..c229fc6 100644 --- a/docs/RelationshipTlsDnsRecord.md +++ b/docs/AsyncResponse.md @@ -1,10 +1,11 @@ -# RelationshipTlsDnsRecord +# AsyncResponse ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**dns_record** | Option<[**crate::models::RelationshipTlsDnsRecordDnsRecord**](RelationshipTlsDnsRecordDnsRecord.md)> | | +**title** | Option<**String**> | | +**status** | Option<**String**> | | [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/BillingInvoicesApi.md b/docs/BillingInvoicesApi.md index 51cc523..24db201 100644 --- a/docs/BillingInvoicesApi.md +++ b/docs/BillingInvoicesApi.md @@ -6,6 +6,7 @@ Method | HTTP request | Description ------ | ------------ | ----------- [**get_invoice_by_invoice_id**](BillingInvoicesApi.md#get_invoice_by_invoice_id) | **GET** /billing/v3/invoices/{invoice_id} | Get invoice by ID. +[**get_month_to_date_invoice**](BillingInvoicesApi.md#get_month_to_date_invoice) | **GET** /billing/v3/invoices/month-to-date | Get month-to-date invoice. [**list_invoices**](BillingInvoicesApi.md#list_invoices) | **GET** /billing/v3/invoices | List of invoices. @@ -31,7 +32,39 @@ Name | Type | Description | Required | Notes ### Return type -[**crate::models::InvoiceResponse**](InvoiceResponse.md) +[**crate::models::EomInvoiceResponse**](EomInvoiceResponse.md) + +### Authorization + +[token](../README.md#token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + +## get_month_to_date_invoice + +Returns month-to-date invoice for the current month. + +```rust +let cfg = &Configuration::default(); +let params = GetMonthToDateInvoiceParams { + // parameters +}; +get_month_to_date_invoice(cfg, params) +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**crate::models::MtdInvoiceResponse**](MtdInvoiceResponse.md) ### Authorization @@ -69,7 +102,7 @@ Name | Type | Description | Required | Notes ### Return type -[**crate::models::ListInvoicesResponse**](ListInvoicesResponse.md) +[**crate::models::ListEomInvoicesResponse**](ListEomInvoicesResponse.md) ### Authorization diff --git a/docs/BillingUsageMetricsApi.md b/docs/BillingUsageMetricsApi.md new file mode 100644 index 0000000..2118163 --- /dev/null +++ b/docs/BillingUsageMetricsApi.md @@ -0,0 +1,90 @@ +# BillingUsageMetricsApi + +> [!NOTE] +> All URIs are relative to `https://api.fastly.com` + +Method | HTTP request | Description +------ | ------------ | ----------- +[**get_service_level_usage**](BillingUsageMetricsApi.md#get_service_level_usage) | **GET** /billing/v2/account_customers/{customer_id}/service-usage-metrics | Retrieve service-level usage metrics for a product. +[**get_service_level_usage_types**](BillingUsageMetricsApi.md#get_service_level_usage_types) | **GET** /billing/v2/account_customers/{customer_id}/service-usage-types | Retrieve product usage types for a customer. + + + +## get_service_level_usage + +Returns product usage, broken down by service. + +```rust +let cfg = &Configuration::default(); +let params = GetServiceLevelUsageParams { + // parameters +}; +get_service_level_usage(cfg, params) +``` + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Alphanumeric string identifying the customer. | [required] | +**product_id** | **String** | The product identifier for the metrics returned (e.g., `cdn_usage`). This field is not required for CSV requests. | [required] | +**usage_type_name** | **String** | The usage type name for the metrics returned (e.g., `North America Requests`). This field is not required for CSV requests. | [required] | +**time_granularity** | **String** | | [required] | +**start_date** | Option\<**String**> | | | +**end_date** | Option\<**String**> | | | +**start_month** | Option\<**String**> | | | +**end_month** | Option\<**String**> | | | +**limit** | Option\<**String**> | Number of results per page. The maximum is 100. | |[default to 5] +**cursor** | Option\<**String**> | Cursor value from the `next_cursor` field of a previous response, used to retrieve the next page. To request the first page, this should be empty. | | + +### Return type + +[**crate::models::Serviceusagemetrics**](Serviceusagemetrics.md) + +### Authorization + +[token](../README.md#token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + +## get_service_level_usage_types + +Returns product usage types reported by the customer's services. + +```rust +let cfg = &Configuration::default(); +let params = GetServiceLevelUsageTypesParams { + // parameters +}; +get_service_level_usage_types(cfg, params) +``` + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Alphanumeric string identifying the customer. | [required] | + +### Return type + +[**crate::models::Serviceusagetypes**](Serviceusagetypes.md) + +### Authorization + +[token](../README.md#token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CreateDashboardRequest.md b/docs/CreateDashboardRequest.md new file mode 100644 index 0000000..764b8c0 --- /dev/null +++ b/docs/CreateDashboardRequest.md @@ -0,0 +1,13 @@ +# CreateDashboardRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | A human-readable name | +**description** | Option<**String**> | A short description of the dashboard | +**items** | Option<[**Vec<crate::models::DashboardItem>**](DashboardItem.md)> | A list of [dashboard items](#dashboard-item). | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Dashboard.md b/docs/Dashboard.md new file mode 100644 index 0000000..2fcbc6a --- /dev/null +++ b/docs/Dashboard.md @@ -0,0 +1,18 @@ +# Dashboard + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | Option<**String**> | Dashboard identifier (UUID) | [readonly] +**name** | Option<**String**> | A human-readable name | +**description** | Option<**String**> | A short description of the dashboard | +**items** | Option<[**Vec<crate::models::DashboardItem>**](DashboardItem.md)> | A list of [dashboard items](#dashboard-item). | +**created_at** | Option<**String**> | Date and time in ISO 8601 format. | [readonly] +**updated_at** | Option<**String**> | Date and time in ISO 8601 format. | [readonly] +**created_by** | Option<[**crate::models::DashboardPropertyCreatedBy**](DashboardPropertyCreatedBy.md)> | | +**updated_by** | Option<[**crate::models::DashboardPropertyUpdatedBy**](DashboardPropertyUpdatedBy.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DashboardItem.md b/docs/DashboardItem.md new file mode 100644 index 0000000..9501606 --- /dev/null +++ b/docs/DashboardItem.md @@ -0,0 +1,16 @@ +# DashboardItem + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | Option<**String**> | Dashboard item identifier (UUID) | [readonly] +**title** | **String** | A human-readable title for the dashboard item | +**subtitle** | **String** | A human-readable subtitle for the dashboard item. Often a description of the visualization. | +**data_source** | [**crate::models::DashboardItemPropertyDataSource**](DashboardItemPropertyDataSource.md) | | +**visualization** | [**crate::models::DashboardItemPropertyVisualization**](DashboardItemPropertyVisualization.md) | | +**span** | Option<**i32**> | The number of columns for the dashboard item to span. Dashboards are rendered on a 12-column grid on \"desktop\" screen sizes. | [default to 4] + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DashboardItemPropertyDataSource.md b/docs/DashboardItemPropertyDataSource.md new file mode 100644 index 0000000..6b62cf9 --- /dev/null +++ b/docs/DashboardItemPropertyDataSource.md @@ -0,0 +1,12 @@ +# DashboardItemPropertyDataSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**_type** | **String** | The source of the data to display. | +**config** | [**crate::models::DashboardItemPropertyDataSourcePropertyConfig**](DashboardItemPropertyDataSourcePropertyConfig.md) | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DashboardItemPropertyDataSourcePropertyConfig.md b/docs/DashboardItemPropertyDataSourcePropertyConfig.md new file mode 100644 index 0000000..0151ac9 --- /dev/null +++ b/docs/DashboardItemPropertyDataSourcePropertyConfig.md @@ -0,0 +1,11 @@ +# DashboardItemPropertyDataSourcePropertyConfig + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**metrics** | **Vec** | The metrics to visualize. Valid options are defined by the selected [data source](#field_data_source). | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DashboardItemPropertyVisualization.md b/docs/DashboardItemPropertyVisualization.md new file mode 100644 index 0000000..e818a5c --- /dev/null +++ b/docs/DashboardItemPropertyVisualization.md @@ -0,0 +1,12 @@ +# DashboardItemPropertyVisualization + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**_type** | **String** | The type of visualization to display. | +**config** | [**crate::models::DashboardItemPropertyVisualizationPropertyConfig**](DashboardItemPropertyVisualizationPropertyConfig.md) | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DashboardItemPropertyVisualizationPropertyConfig.md b/docs/DashboardItemPropertyVisualizationPropertyConfig.md new file mode 100644 index 0000000..95097a8 --- /dev/null +++ b/docs/DashboardItemPropertyVisualizationPropertyConfig.md @@ -0,0 +1,13 @@ +# DashboardItemPropertyVisualizationPropertyConfig + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**plot_type** | **String** | The type of chart to display. | +**format** | Option<**String**> | (Optional) The units to use to format the data. | [default to Format_Number] +**calculation_method** | Option<**String**> | (Optional) The aggregation function to apply to the dataset. | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RelationshipTlsDnsRecordDnsRecord.md b/docs/DashboardPropertyCreatedBy.md similarity index 57% rename from docs/RelationshipTlsDnsRecordDnsRecord.md rename to docs/DashboardPropertyCreatedBy.md index d32aaf5..a2e540f 100644 --- a/docs/RelationshipTlsDnsRecordDnsRecord.md +++ b/docs/DashboardPropertyCreatedBy.md @@ -1,10 +1,9 @@ -# RelationshipTlsDnsRecordDnsRecord +# DashboardPropertyCreatedBy ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**data** | Option<[**Vec<crate::models::RelationshipMemberTlsDnsRecord>**](RelationshipMemberTlsDnsRecord.md)> | | [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/DashboardPropertyUpdatedBy.md b/docs/DashboardPropertyUpdatedBy.md new file mode 100644 index 0000000..7419ace --- /dev/null +++ b/docs/DashboardPropertyUpdatedBy.md @@ -0,0 +1,10 @@ +# DashboardPropertyUpdatedBy + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DomainInspectorMeasurements.md b/docs/DomainInspectorMeasurements.md index 76d012c..93c9417 100644 --- a/docs/DomainInspectorMeasurements.md +++ b/docs/DomainInspectorMeasurements.md @@ -42,7 +42,7 @@ Name | Type | Description | Notes **origin_fetch_resp_body_bytes** | Option<**i32**> | Total body bytes received from origin. | **bandwidth** | Option<**i32**> | Total bytes delivered (`resp_header_bytes` + `resp_body_bytes` + `bereq_header_bytes` + `bereq_body_bytes`). | **edge_hit_ratio** | Option<**f32**> | Ratio of cache hits to cache misses at the edge, between 0 and 1 (`edge_hit_requests` / (`edge_hit_requests` + `edge_miss_requests`)). | -**origin_offload** | Option<**f32**> | Ratio of response bytes delivered from the edge compared to what is delivered from origin, between 0 and 1. (`edge_resp_body_bytes` + `edge_resp_header_bytes`) / (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes` + `edge_resp_body_bytes` + `edge_resp_header_bytes`). | +**origin_offload** | Option<**f32**> | Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((`edge_resp_body_bytes` + `edge_resp_header_bytes`) - (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes`)) / (`edge_resp_body_bytes` + `edge_resp_header_bytes`). Previously, Origin Offload used a different formula. [Learn more](https://www.fastly.com/documentation/reference/changes/2024/06/add-origin_offload-metric). | **origin_status_200** | Option<**i32**> | Number of responses received from origin with status code 200 (Success). | **origin_status_204** | Option<**i32**> | Number of responses received from origin with status code 204 (No Content). | **origin_status_206** | Option<**i32**> | Number of responses received from origin with status code 206 (Partial Content). | diff --git a/docs/InvoiceResponse.md b/docs/EomInvoiceResponse.md similarity index 98% rename from docs/InvoiceResponse.md rename to docs/EomInvoiceResponse.md index 432fa52..e64c6ec 100644 --- a/docs/InvoiceResponse.md +++ b/docs/EomInvoiceResponse.md @@ -1,4 +1,4 @@ -# InvoiceResponse +# EomInvoiceResponse ## Properties diff --git a/docs/GetServiceLevelUsageResponse.md b/docs/GetServiceLevelUsageResponse.md new file mode 100644 index 0000000..fd6a7e1 --- /dev/null +++ b/docs/GetServiceLevelUsageResponse.md @@ -0,0 +1,11 @@ +# GetServiceLevelUsageResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<[**crate::models::ServiceusagemetricsData**](ServiceusagemetricsData.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetServiceLevelUsageTypesResponse.md b/docs/GetServiceLevelUsageTypesResponse.md new file mode 100644 index 0000000..cae8b59 --- /dev/null +++ b/docs/GetServiceLevelUsageTypesResponse.md @@ -0,0 +1,11 @@ +# GetServiceLevelUsageTypesResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<[**Vec<crate::models::Serviceusagetype>**](Serviceusagetype.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IncludedWithTlsConfiguration.md b/docs/IncludedWithTlsConfiguration.md new file mode 100644 index 0000000..3fe74f2 --- /dev/null +++ b/docs/IncludedWithTlsConfiguration.md @@ -0,0 +1,11 @@ +# IncludedWithTlsConfiguration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**included** | Option<[**Vec<crate::models::IncludedWithTlsConfigurationItem>**](IncludedWithTlsConfigurationItem.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IncludedWithTlsConfigurationItem.md b/docs/IncludedWithTlsConfigurationItem.md new file mode 100644 index 0000000..8b1f384 --- /dev/null +++ b/docs/IncludedWithTlsConfigurationItem.md @@ -0,0 +1,13 @@ +# IncludedWithTlsConfigurationItem + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | Option<**String**> | The IP address or hostname of the DNS record. | +**_type** | Option<[**crate::models::TypeTlsDnsRecord**](TypeTlsDnsRecord.md)> | | +**attributes** | Option<[**crate::models::TlsDnsRecord**](TlsDnsRecord.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListDashboardsResponse.md b/docs/ListDashboardsResponse.md new file mode 100644 index 0000000..b0a67fb --- /dev/null +++ b/docs/ListDashboardsResponse.md @@ -0,0 +1,12 @@ +# ListDashboardsResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<[**Vec<crate::models::Dashboard>**](Dashboard.md)> | | +**meta** | Option<[**serde_json::Value**](SerdeJsonValue.md)> | Meta for the pagination. | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListInvoicesResponse.md b/docs/ListEomInvoicesResponse.md similarity index 93% rename from docs/ListInvoicesResponse.md rename to docs/ListEomInvoicesResponse.md index ec23d1e..659acd6 100644 --- a/docs/ListInvoicesResponse.md +++ b/docs/ListEomInvoicesResponse.md @@ -1,4 +1,4 @@ -# ListInvoicesResponse +# ListEomInvoicesResponse ## Properties diff --git a/docs/MtdInvoiceResponse.md b/docs/MtdInvoiceResponse.md new file mode 100644 index 0000000..887c057 --- /dev/null +++ b/docs/MtdInvoiceResponse.md @@ -0,0 +1,16 @@ +# MtdInvoiceResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**customer_id** | Option<**String**> | The Customer ID associated with the invoice. | +**invoice_id** | Option<**String**> | An alphanumeric string identifying the invoice. | +**billing_start_date** | Option<**String**> | The date and time (in ISO 8601 format) for the initiation point of a billing cycle, signifying the start of charges for a service or subscription. | +**billing_end_date** | Option<**String**> | The date and time (in ISO 8601 format) for the termination point of a billing cycle, signifying the end of charges for a service or subscription. | +**monthly_transaction_amount** | Option<**String**> | The total billable amount for invoiced services charged within a single month. | +**transaction_line_items** | Option<[**Vec<crate::models::Mtdlineitems>**](Mtdlineitems.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Mtdinvoice.md b/docs/Mtdinvoice.md new file mode 100644 index 0000000..352a595 --- /dev/null +++ b/docs/Mtdinvoice.md @@ -0,0 +1,16 @@ +# Mtdinvoice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**customer_id** | Option<**String**> | The Customer ID associated with the invoice. | +**invoice_id** | Option<**String**> | An alphanumeric string identifying the invoice. | +**billing_start_date** | Option<**String**> | The date and time (in ISO 8601 format) for the initiation point of a billing cycle, signifying the start of charges for a service or subscription. | +**billing_end_date** | Option<**String**> | The date and time (in ISO 8601 format) for the termination point of a billing cycle, signifying the end of charges for a service or subscription. | +**monthly_transaction_amount** | Option<**String**> | The total billable amount for invoiced services charged within a single month. | +**transaction_line_items** | Option<[**Vec<crate::models::Mtdlineitems>**](Mtdlineitems.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Mtdlineitems.md b/docs/Mtdlineitems.md new file mode 100644 index 0000000..8bea55e --- /dev/null +++ b/docs/Mtdlineitems.md @@ -0,0 +1,19 @@ +# Mtdlineitems + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | Option<**String**> | Invoice line item transaction name. | +**amount** | Option<**f32**> | Billed amount for line item. | +**rate** | Option<**f32**> | Price per unit. | +**units** | Option<**f32**> | Total number of units of usage. | +**product_name** | Option<**String**> | The name of the product. | +**product_group** | Option<**String**> | The broader classification of the product (e.g., `Compute` or `Full-Site Delivery`). | +**product_line** | Option<**String**> | The broader classification of the product (e.g., `Network Services` or `Security`). | +**region** | Option<**String**> | The geographical area applicable for regionally based products. | +**usage_type** | Option<**String**> | The unit of measure (e.g., `requests` or `bandwidth`). | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ObservabilityCustomDashboardsApi.md b/docs/ObservabilityCustomDashboardsApi.md new file mode 100644 index 0000000..aea002a --- /dev/null +++ b/docs/ObservabilityCustomDashboardsApi.md @@ -0,0 +1,187 @@ +# ObservabilityCustomDashboardsApi + +> [!NOTE] +> All URIs are relative to `https://api.fastly.com` + +Method | HTTP request | Description +------ | ------------ | ----------- +[**create_dashboard**](ObservabilityCustomDashboardsApi.md#create_dashboard) | **POST** /observability/dashboards | Create a new dashboard +[**delete_dashboard**](ObservabilityCustomDashboardsApi.md#delete_dashboard) | **DELETE** /observability/dashboards/{dashboard_id} | Delete an existing dashboard +[**get_dashboard**](ObservabilityCustomDashboardsApi.md#get_dashboard) | **GET** /observability/dashboards/{dashboard_id} | Retrieve a dashboard by ID +[**list_dashboards**](ObservabilityCustomDashboardsApi.md#list_dashboards) | **GET** /observability/dashboards | List all custom dashboards +[**update_dashboard**](ObservabilityCustomDashboardsApi.md#update_dashboard) | **PATCH** /observability/dashboards/{dashboard_id} | Update an existing dashboard + + + +## create_dashboard + +Create a new dashboard + +```rust +let cfg = &Configuration::default(); +let params = CreateDashboardParams { + // parameters +}; +create_dashboard(cfg, params) +``` + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**create_dashboard_request** | Option\<[**CreateDashboardRequest**](CreateDashboardRequest.md)> | | | + +### Return type + +[**crate::models::Dashboard**](Dashboard.md) + +### Authorization + +[token](../README.md#token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + +## delete_dashboard + +Delete an existing dashboard + +```rust +let cfg = &Configuration::default(); +let params = DeleteDashboardParams { + // parameters +}; +delete_dashboard(cfg, params) +``` + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dashboard_id** | **String** | | [required] | + +### Return type + + (empty response body) + +### Authorization + +[token](../README.md#token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + +## get_dashboard + +Retrieve a dashboard by ID + +```rust +let cfg = &Configuration::default(); +let params = GetDashboardParams { + // parameters +}; +get_dashboard(cfg, params) +``` + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dashboard_id** | **String** | | [required] | + +### Return type + +[**crate::models::Dashboard**](Dashboard.md) + +### Authorization + +[token](../README.md#token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + +## list_dashboards + +List all custom dashboards + +```rust +let cfg = &Configuration::default(); +let params = ListDashboardsParams { + // parameters +}; +list_dashboards(cfg, params) +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**crate::models::ListDashboardsResponse**](ListDashboardsResponse.md) + +### Authorization + +[token](../README.md#token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + +## update_dashboard + +Update an existing dashboard + +```rust +let cfg = &Configuration::default(); +let params = UpdateDashboardParams { + // parameters +}; +update_dashboard(cfg, params) +``` + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**dashboard_id** | **String** | | [required] | +**update_dashboard_request** | Option\<[**UpdateDashboardRequest**](UpdateDashboardRequest.md)> | | | + +### Return type + +[**crate::models::Dashboard**](Dashboard.md) + +### Authorization + +[token](../README.md#token) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/RealtimeEntryAggregated.md b/docs/RealtimeEntryAggregated.md index b580d97..3db5c10 100644 --- a/docs/RealtimeEntryAggregated.md +++ b/docs/RealtimeEntryAggregated.md @@ -252,6 +252,7 @@ Name | Type | Description | Notes **all_status_3xx** | Option<**i32**> | Number of \"Redirection\" codes delivered for all sources. | **all_status_4xx** | Option<**i32**> | Number of \"Client Error\" codes delivered for all sources. | **all_status_5xx** | Option<**i32**> | Number of \"Server Error\" codes delivered for all sources. | +**origin_offload** | Option<**f32**> | Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((`edge_resp_body_bytes` + `edge_resp_header_bytes`) - (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes`)) / (`edge_resp_body_bytes` + `edge_resp_header_bytes`). | [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RealtimeMeasurements.md b/docs/RealtimeMeasurements.md index 32855af..d537b1d 100644 --- a/docs/RealtimeMeasurements.md +++ b/docs/RealtimeMeasurements.md @@ -252,6 +252,7 @@ Name | Type | Description | Notes **all_status_3xx** | Option<**i32**> | Number of \"Redirection\" codes delivered for all sources. | **all_status_4xx** | Option<**i32**> | Number of \"Client Error\" codes delivered for all sources. | **all_status_5xx** | Option<**i32**> | Number of \"Server Error\" codes delivered for all sources. | +**origin_offload** | Option<**f32**> | Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((`edge_resp_body_bytes` + `edge_resp_header_bytes`) - (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes`)) / (`edge_resp_body_bytes` + `edge_resp_header_bytes`). | [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RelationshipDefaultEcdsaTlsCertificate.md b/docs/RelationshipDefaultEcdsaTlsCertificate.md new file mode 100644 index 0000000..8657931 --- /dev/null +++ b/docs/RelationshipDefaultEcdsaTlsCertificate.md @@ -0,0 +1,11 @@ +# RelationshipDefaultEcdsaTlsCertificate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**default_ecdsa_certificate** | Option<[**crate::models::RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificate**](RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificate.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificate.md b/docs/RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificate.md new file mode 100644 index 0000000..2d2016b --- /dev/null +++ b/docs/RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificate.md @@ -0,0 +1,11 @@ +# RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<[**crate::models::RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificateData**](RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificateData.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificateData.md b/docs/RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificateData.md new file mode 100644 index 0000000..f463dc2 --- /dev/null +++ b/docs/RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificateData.md @@ -0,0 +1,12 @@ +# RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificateData + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**_type** | Option<[**crate::models::TypeTlsCertificate**](TypeTlsCertificate.md)> | | +**id** | Option<**String**> | Alphanumeric string identifying the default ECDSA TLS certificate. | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RelationshipDefaultTlsCertificate.md b/docs/RelationshipDefaultTlsCertificate.md new file mode 100644 index 0000000..34c3d38 --- /dev/null +++ b/docs/RelationshipDefaultTlsCertificate.md @@ -0,0 +1,11 @@ +# RelationshipDefaultTlsCertificate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**default_certificate** | Option<[**crate::models::RelationshipDefaultTlsCertificateDefaultCertificate**](RelationshipDefaultTlsCertificateDefaultCertificate.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RelationshipDefaultTlsCertificateDefaultCertificate.md b/docs/RelationshipDefaultTlsCertificateDefaultCertificate.md new file mode 100644 index 0000000..aebf985 --- /dev/null +++ b/docs/RelationshipDefaultTlsCertificateDefaultCertificate.md @@ -0,0 +1,11 @@ +# RelationshipDefaultTlsCertificateDefaultCertificate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<[**crate::models::RelationshipDefaultTlsCertificateDefaultCertificateData**](RelationshipDefaultTlsCertificateDefaultCertificateData.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RelationshipDefaultTlsCertificateDefaultCertificateData.md b/docs/RelationshipDefaultTlsCertificateDefaultCertificateData.md new file mode 100644 index 0000000..70c47e1 --- /dev/null +++ b/docs/RelationshipDefaultTlsCertificateDefaultCertificateData.md @@ -0,0 +1,12 @@ +# RelationshipDefaultTlsCertificateDefaultCertificateData + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**_type** | Option<[**crate::models::TypeTlsCertificate**](TypeTlsCertificate.md)> | | +**id** | Option<**String**> | Alphanumeric string identifying the default TLS certificate. | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RelationshipTlsDnsRecords.md b/docs/RelationshipTlsDnsRecordsRequest.md similarity index 70% rename from docs/RelationshipTlsDnsRecords.md rename to docs/RelationshipTlsDnsRecordsRequest.md index 0b56fd6..9bf4693 100644 --- a/docs/RelationshipTlsDnsRecords.md +++ b/docs/RelationshipTlsDnsRecordsRequest.md @@ -1,10 +1,10 @@ -# RelationshipTlsDnsRecords +# RelationshipTlsDnsRecordsRequest ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**dns_records** | Option<[**crate::models::RelationshipTlsDnsRecordDnsRecord**](RelationshipTlsDnsRecordDnsRecord.md)> | | +**dns_records** | Option<[**crate::models::RelationshipTlsDnsRecordsRequestDnsRecords**](RelationshipTlsDnsRecordsRequestDnsRecords.md)> | | [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RelationshipTlsDnsRecordsRequestDnsRecords.md b/docs/RelationshipTlsDnsRecordsRequestDnsRecords.md new file mode 100644 index 0000000..f114969 --- /dev/null +++ b/docs/RelationshipTlsDnsRecordsRequestDnsRecords.md @@ -0,0 +1,11 @@ +# RelationshipTlsDnsRecordsRequestDnsRecords + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<[**Vec<crate::models::RelationshipTlsDnsRecordsRequestDnsRecordsData>**](RelationshipTlsDnsRecordsRequestDnsRecordsData.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RelationshipTlsDnsRecordsRequestDnsRecordsData.md b/docs/RelationshipTlsDnsRecordsRequestDnsRecordsData.md new file mode 100644 index 0000000..f970156 --- /dev/null +++ b/docs/RelationshipTlsDnsRecordsRequestDnsRecordsData.md @@ -0,0 +1,12 @@ +# RelationshipTlsDnsRecordsRequestDnsRecordsData + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**_type** | Option<[**crate::models::TypeTlsDnsRecord**](TypeTlsDnsRecord.md)> | | +**id** | Option<**String**> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RelationshipTlsDnsRecordsResponse.md b/docs/RelationshipTlsDnsRecordsResponse.md new file mode 100644 index 0000000..a8e3c3d --- /dev/null +++ b/docs/RelationshipTlsDnsRecordsResponse.md @@ -0,0 +1,11 @@ +# RelationshipTlsDnsRecordsResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dns_records** | Option<[**crate::models::RelationshipTlsDnsRecordsResponseDnsRecords**](RelationshipTlsDnsRecordsResponseDnsRecords.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RelationshipTlsDnsRecordsResponseDnsRecords.md b/docs/RelationshipTlsDnsRecordsResponseDnsRecords.md new file mode 100644 index 0000000..721845b --- /dev/null +++ b/docs/RelationshipTlsDnsRecordsResponseDnsRecords.md @@ -0,0 +1,11 @@ +# RelationshipTlsDnsRecordsResponseDnsRecords + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<[**Vec<crate::models::RelationshipTlsDnsRecordsResponseDnsRecordsData>**](RelationshipTlsDnsRecordsResponseDnsRecordsData.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RelationshipMemberTlsDnsRecord.md b/docs/RelationshipTlsDnsRecordsResponseDnsRecordsData.md similarity index 87% rename from docs/RelationshipMemberTlsDnsRecord.md rename to docs/RelationshipTlsDnsRecordsResponseDnsRecordsData.md index ff61056..7aaef7d 100644 --- a/docs/RelationshipMemberTlsDnsRecord.md +++ b/docs/RelationshipTlsDnsRecordsResponseDnsRecordsData.md @@ -1,4 +1,4 @@ -# RelationshipMemberTlsDnsRecord +# RelationshipTlsDnsRecordsResponseDnsRecordsData ## Properties diff --git a/docs/Results.md b/docs/Results.md index 7327b3b..30e9946 100644 --- a/docs/Results.md +++ b/docs/Results.md @@ -252,6 +252,7 @@ Name | Type | Description | Notes **all_status_3xx** | Option<**i32**> | Number of \"Redirection\" codes delivered for all sources. | **all_status_4xx** | Option<**i32**> | Number of \"Client Error\" codes delivered for all sources. | **all_status_5xx** | Option<**i32**> | Number of \"Server Error\" codes delivered for all sources. | +**origin_offload** | Option<**f32**> | Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((`edge_resp_body_bytes` + `edge_resp_header_bytes`) - (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes`)) / (`edge_resp_body_bytes` + `edge_resp_header_bytes`). | **service_id** | Option<**String**> | | [readonly] **start_time** | Option<**i32**> | Timestamp for the start of the time period being reported | diff --git a/docs/Serviceusagemetric.md b/docs/Serviceusagemetric.md new file mode 100644 index 0000000..c0d712c --- /dev/null +++ b/docs/Serviceusagemetric.md @@ -0,0 +1,14 @@ +# Serviceusagemetric + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**customer_id** | Option<**String**> | | [readonly] +**service_id** | Option<**String**> | Service ID associated with the usage. | +**service_name** | Option<**String**> | Name of the service associated with the usage. | +**usage_units** | Option<**f32**> | The quantity of the usage for the billing period. Amount will be in the units provided in the parent object (e.g., a quantity of `1.3` with a unit of `gb` would have a usage amount of 1.3 gigabytes). | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Serviceusagemetrics.md b/docs/Serviceusagemetrics.md new file mode 100644 index 0000000..ebf4201 --- /dev/null +++ b/docs/Serviceusagemetrics.md @@ -0,0 +1,11 @@ +# Serviceusagemetrics + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<[**crate::models::ServiceusagemetricsData**](ServiceusagemetricsData.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ServiceusagemetricsData.md b/docs/ServiceusagemetricsData.md new file mode 100644 index 0000000..9e2ccdb --- /dev/null +++ b/docs/ServiceusagemetricsData.md @@ -0,0 +1,17 @@ +# ServiceusagemetricsData + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**customer_id** | Option<**String**> | | [readonly] +**start_time** | Option<**String**> | Date and time (in ISO 8601 format) for initiation point of a billing cycle, signifying the start of charges for a service or subscription. | +**end_time** | Option<**String**> | Date and time (in ISO 8601 format) for termination point of a billing cycle, signifying the end of charges for a service or subscription. | +**usage_type** | Option<**String**> | The usage type identifier for the usage. This is a single, billable metric for the product. | +**unit** | Option<**String**> | The unit for the usage as shown on an invoice. If there is no explicit unit, this field will be \"unit\" (e.g., a request with `product_id` of 'cdn_usage' and `usage_type` of 'North America Requests' has no unit, and will return \"unit\"). | +**details** | Option<[**Vec<crate::models::Serviceusagemetric>**](Serviceusagemetric.md)> | | +**meta** | Option<[**crate::models::Metadata**](Metadata.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Serviceusagetype.md b/docs/Serviceusagetype.md new file mode 100644 index 0000000..85b086f --- /dev/null +++ b/docs/Serviceusagetype.md @@ -0,0 +1,12 @@ +# Serviceusagetype + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**product_id** | Option<**String**> | The product identifier associated with the usage type. This corresponds to a Fastly product offering. | +**name** | Option<**String**> | Full name of the product usage type as it might appear on a customer's invoice. | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Serviceusagetypes.md b/docs/Serviceusagetypes.md new file mode 100644 index 0000000..e76cb47 --- /dev/null +++ b/docs/Serviceusagetypes.md @@ -0,0 +1,11 @@ +# Serviceusagetypes + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | Option<[**Vec<crate::models::Serviceusagetype>**](Serviceusagetype.md)> | | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TlsCertificateBlobResponse.md b/docs/TlsCertificateBlobResponse.md new file mode 100644 index 0000000..7de2bb5 --- /dev/null +++ b/docs/TlsCertificateBlobResponse.md @@ -0,0 +1,11 @@ +# TlsCertificateBlobResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cert_blob** | Option<**String**> | A certificate blob | [readonly] + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TlsCertificatesApi.md b/docs/TlsCertificatesApi.md index 0a147cf..8ec3d9e 100644 --- a/docs/TlsCertificatesApi.md +++ b/docs/TlsCertificatesApi.md @@ -8,6 +8,7 @@ Method | HTTP request | Description [**create_tls_cert**](TlsCertificatesApi.md#create_tls_cert) | **POST** /tls/certificates | Create a TLS certificate [**delete_tls_cert**](TlsCertificatesApi.md#delete_tls_cert) | **DELETE** /tls/certificates/{tls_certificate_id} | Delete a TLS certificate [**get_tls_cert**](TlsCertificatesApi.md#get_tls_cert) | **GET** /tls/certificates/{tls_certificate_id} | Get a TLS certificate +[**get_tls_cert_blob**](TlsCertificatesApi.md#get_tls_cert_blob) | **GET** /tls/certificates/{tls_certificate_id}/blob | Get a TLS certificate blob (Limited Availability) [**list_tls_certs**](TlsCertificatesApi.md#list_tls_certs) | **GET** /tls/certificates | List TLS certificates [**update_tls_cert**](TlsCertificatesApi.md#update_tls_cert) | **PATCH** /tls/certificates/{tls_certificate_id} | Update a TLS certificate @@ -118,6 +119,41 @@ Name | Type | Description | Required | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +## get_tls_cert_blob + +Retrieve a TLS certificate blob. This feature is part of a [limited availability](https://docs.fastly.com/products/fastly-product-lifecycle#limited-availability) release. + +```rust +let cfg = &Configuration::default(); +let params = GetTlsCertBlobParams { + // parameters +}; +get_tls_cert_blob(cfg, params) +``` + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**tls_certificate_id** | **String** | Alphanumeric string identifying a TLS certificate. | [required] | + +### Return type + +[**crate::models::TlsCertificateBlobResponse**](TlsCertificateBlobResponse.md) + +### Authorization + +[token](../README.md#token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + ## list_tls_certs List all TLS certificates. diff --git a/docs/TlsDnsRecord.md b/docs/TlsDnsRecord.md index e91677e..82561b5 100644 --- a/docs/TlsDnsRecord.md +++ b/docs/TlsDnsRecord.md @@ -4,8 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**id** | Option<**String**> | The IP address or hostname of the DNS record. | -**region** | Option<**String**> | Specifies the regions that will be used to route traffic. Select DNS Records with a `global` region to route traffic to the most performant point of presence (POP) worldwide (global pricing will apply). Select DNS records with a `us-eu` region to exclusively land traffic on North American and European POPs. | +**region** | Option<**String**> | Specifies the regions that will be used to route traffic. Select DNS records with a `global` region to route traffic to the most performant point of presence (POP) worldwide (global pricing will apply). Select DNS records with a `na/eu` region to exclusively land traffic on North American and European POPs. | **record_type** | Option<**String**> | The type of the DNS record. `A` specifies an IPv4 address to be used for an A record to be used for apex domains (e.g., `example.com`). `AAAA` specifies an IPv6 address for use in an A record for apex domains. `CNAME` specifies the hostname to be used for a CNAME record for subdomains or wildcard domains (e.g., `www.example.com` or `*.example.com`). | [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UpdateDashboardRequest.md b/docs/UpdateDashboardRequest.md new file mode 100644 index 0000000..5f0d007 --- /dev/null +++ b/docs/UpdateDashboardRequest.md @@ -0,0 +1,13 @@ +# UpdateDashboardRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | A human-readable name | +**description** | Option<**String**> | A short description of the dashboard | +**items** | Option<[**Vec<crate::models::DashboardItem>**](DashboardItem.md)> | A list of [dashboard items](#dashboard-item). | + +[[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Values.md b/docs/Values.md index a2063fc..6f83c11 100644 --- a/docs/Values.md +++ b/docs/Values.md @@ -42,7 +42,7 @@ Name | Type | Description | Notes **origin_fetch_resp_body_bytes** | Option<**i32**> | Total body bytes received from origin. | **bandwidth** | Option<**i32**> | Total bytes delivered (`resp_header_bytes` + `resp_body_bytes` + `bereq_header_bytes` + `bereq_body_bytes`). | **edge_hit_ratio** | Option<**f32**> | Ratio of cache hits to cache misses at the edge, between 0 and 1 (`edge_hit_requests` / (`edge_hit_requests` + `edge_miss_requests`)). | -**origin_offload** | Option<**f32**> | Ratio of response bytes delivered from the edge compared to what is delivered from origin, between 0 and 1. (`edge_resp_body_bytes` + `edge_resp_header_bytes`) / (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes` + `edge_resp_body_bytes` + `edge_resp_header_bytes`). | +**origin_offload** | Option<**f32**> | Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((`edge_resp_body_bytes` + `edge_resp_header_bytes`) - (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes`)) / (`edge_resp_body_bytes` + `edge_resp_header_bytes`). Previously, Origin Offload used a different formula. [Learn more](https://www.fastly.com/documentation/reference/changes/2024/06/add-origin_offload-metric). | **origin_status_200** | Option<**i32**> | Number of responses received from origin with status code 200 (Success). | **origin_status_204** | Option<**i32**> | Number of responses received from origin with status code 204 (No Content). | **origin_status_206** | Option<**i32**> | Number of responses received from origin with status code 206 (Partial Content). | diff --git a/sig.json b/sig.json index 6614774..713aa7d 100644 --- a/sig.json +++ b/sig.json @@ -1 +1 @@ -{"G": "5a2ccc65", "D": "f9e684d4"} +{"G": "01161630", "D": "e05af2db"} diff --git a/src/apis/billing_invoices_api.rs b/src/apis/billing_invoices_api.rs index 777af2c..a107e38 100644 --- a/src/apis/billing_invoices_api.rs +++ b/src/apis/billing_invoices_api.rs @@ -40,6 +40,17 @@ pub enum GetInvoiceByInvoiceIdError { UnknownValue(serde_json::Value), } +/// struct for typed errors of method [`get_month_to_date_invoice`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetMonthToDateInvoiceError { + Status401(crate::models::Error), + Status404(crate::models::Error), + Status422(crate::models::Error), + Status500(crate::models::Error), + UnknownValue(serde_json::Value), +} + /// struct for typed errors of method [`list_invoices`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -52,7 +63,7 @@ pub enum ListInvoicesError { /// Returns invoice associated with the invoice id. -pub async fn get_invoice_by_invoice_id(configuration: &mut configuration::Configuration, params: GetInvoiceByInvoiceIdParams) -> Result> { +pub async fn get_invoice_by_invoice_id(configuration: &mut configuration::Configuration, params: GetInvoiceByInvoiceIdParams) -> Result> { let local_var_configuration = configuration; // unbox the parameters @@ -103,8 +114,59 @@ pub async fn get_invoice_by_invoice_id(configuration: &mut configuration::Config } } +/// Returns month-to-date invoice for the current month. +pub async fn get_month_to_date_invoice(configuration: &mut configuration::Configuration) -> Result> { + let local_var_configuration = configuration; + + // unbox the parameters + + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/billing/v3/invoices/month-to-date", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_apikey) = local_var_configuration.api_key { + let local_var_key = local_var_apikey.key.clone(); + let local_var_value = match local_var_apikey.prefix { + Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key), + None => local_var_key, + }; + local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + if "GET" != "GET" && "GET" != "HEAD" { + let headers = local_var_resp.headers(); + local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => configuration::DEFAULT_RATELIMIT, + }; + local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => 0, + }; + } + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; + Err(Error::ResponseError(local_var_error)) + } +} + /// Returns the list of invoices, sorted by billing start date (newest to oldest). -pub async fn list_invoices(configuration: &mut configuration::Configuration, params: ListInvoicesParams) -> Result> { +pub async fn list_invoices(configuration: &mut configuration::Configuration, params: ListInvoicesParams) -> Result> { let local_var_configuration = configuration; // unbox the parameters diff --git a/src/apis/billing_usage_metrics_api.rs b/src/apis/billing_usage_metrics_api.rs new file mode 100644 index 0000000..7399cc9 --- /dev/null +++ b/src/apis/billing_usage_metrics_api.rs @@ -0,0 +1,196 @@ +/* + * Fastly API + * + * 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/) + * + */ + + +use reqwest; + +use crate::apis::ResponseContent; +use super::{Error, configuration}; + +/// struct for passing parameters to the method [`get_service_level_usage`] +#[derive(Clone, Debug, Default)] +pub struct GetServiceLevelUsageParams { + /// Alphanumeric string identifying the customer. + pub customer_id: String, + /// The product identifier for the metrics returned (e.g., `cdn_usage`). This field is not required for CSV requests. + pub product_id: String, + /// The usage type name for the metrics returned (e.g., `North America Requests`). This field is not required for CSV requests. + pub usage_type_name: String, + pub time_granularity: String, + pub start_date: Option, + pub end_date: Option, + pub start_month: Option, + pub end_month: Option, + /// Number of results per page. The maximum is 100. + pub limit: Option, + /// Cursor value from the `next_cursor` field of a previous response, used to retrieve the next page. To request the first page, this should be empty. + pub cursor: Option +} + +/// struct for passing parameters to the method [`get_service_level_usage_types`] +#[derive(Clone, Debug, Default)] +pub struct GetServiceLevelUsageTypesParams { + /// Alphanumeric string identifying the customer. + pub customer_id: String +} + + +/// struct for typed errors of method [`get_service_level_usage`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetServiceLevelUsageError { + Status400(crate::models::Error), + Status401(crate::models::Error), + Status500(crate::models::Error), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_service_level_usage_types`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetServiceLevelUsageTypesError { + Status400(crate::models::Error), + Status401(crate::models::Error), + Status500(crate::models::Error), + UnknownValue(serde_json::Value), +} + + +/// Returns product usage, broken down by service. +pub async fn get_service_level_usage(configuration: &mut configuration::Configuration, params: GetServiceLevelUsageParams) -> Result> { + let local_var_configuration = configuration; + + // unbox the parameters + let customer_id = params.customer_id; + let product_id = params.product_id; + let usage_type_name = params.usage_type_name; + let time_granularity = params.time_granularity; + let start_date = params.start_date; + let end_date = params.end_date; + let start_month = params.start_month; + let end_month = params.end_month; + let limit = params.limit; + let cursor = params.cursor; + + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/billing/v2/account_customers/{customer_id}/service-usage-metrics", local_var_configuration.base_path, customer_id=crate::apis::urlencode(customer_id)); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + local_var_req_builder = local_var_req_builder.query(&[("product_id", &product_id.to_string())]); + local_var_req_builder = local_var_req_builder.query(&[("usage_type_name", &usage_type_name.to_string())]); + local_var_req_builder = local_var_req_builder.query(&[("time_granularity", &time_granularity.to_string())]); + if let Some(ref local_var_str) = start_date { + local_var_req_builder = local_var_req_builder.query(&[("start_date", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = end_date { + local_var_req_builder = local_var_req_builder.query(&[("end_date", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = start_month { + local_var_req_builder = local_var_req_builder.query(&[("start_month", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = end_month { + local_var_req_builder = local_var_req_builder.query(&[("end_month", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = limit { + local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]); + } + if let Some(ref local_var_str) = cursor { + local_var_req_builder = local_var_req_builder.query(&[("cursor", &local_var_str.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_apikey) = local_var_configuration.api_key { + let local_var_key = local_var_apikey.key.clone(); + let local_var_value = match local_var_apikey.prefix { + Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key), + None => local_var_key, + }; + local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + if "GET" != "GET" && "GET" != "HEAD" { + let headers = local_var_resp.headers(); + local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => configuration::DEFAULT_RATELIMIT, + }; + local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => 0, + }; + } + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Returns product usage types reported by the customer's services. +pub async fn get_service_level_usage_types(configuration: &mut configuration::Configuration, params: GetServiceLevelUsageTypesParams) -> Result> { + let local_var_configuration = configuration; + + // unbox the parameters + let customer_id = params.customer_id; + + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/billing/v2/account_customers/{customer_id}/service-usage-types", local_var_configuration.base_path, customer_id=crate::apis::urlencode(customer_id)); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_apikey) = local_var_configuration.api_key { + let local_var_key = local_var_apikey.key.clone(); + let local_var_value = match local_var_apikey.prefix { + Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key), + None => local_var_key, + }; + local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + if "GET" != "GET" && "GET" != "HEAD" { + let headers = local_var_resp.headers(); + local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => configuration::DEFAULT_RATELIMIT, + }; + local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => 0, + }; + } + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; + Err(Error::ResponseError(local_var_error)) + } +} + diff --git a/src/apis/configuration.rs b/src/apis/configuration.rs index 877274f..2788aff 100644 --- a/src/apis/configuration.rs +++ b/src/apis/configuration.rs @@ -49,7 +49,7 @@ impl Default for Configuration { Configuration { base_path: "https://api.fastly.com".to_owned(), - user_agent: Some("fastly-rust/4.8.0/rust".to_owned()), + user_agent: Some("fastly-rust/4.9.0/rust".to_owned()), client: reqwest::Client::new(), basic_auth: None, oauth_access_token: None, diff --git a/src/apis/mod.rs b/src/apis/mod.rs index 8482314..3ca1868 100644 --- a/src/apis/mod.rs +++ b/src/apis/mod.rs @@ -69,6 +69,7 @@ pub mod backend_api; pub mod billing_api; pub mod billing_address_api; pub mod billing_invoices_api; +pub mod billing_usage_metrics_api; pub mod cache_settings_api; pub mod condition_api; pub mod config_store_api; @@ -136,6 +137,7 @@ pub mod logging_splunk_api; pub mod logging_sumologic_api; pub mod logging_syslog_api; pub mod mutual_authentication_api; +pub mod observability_custom_dashboards_api; pub mod origin_inspector_historical_api; pub mod origin_inspector_realtime_api; pub mod package_api; diff --git a/src/apis/observability_custom_dashboards_api.rs b/src/apis/observability_custom_dashboards_api.rs new file mode 100644 index 0000000..7bce804 --- /dev/null +++ b/src/apis/observability_custom_dashboards_api.rs @@ -0,0 +1,337 @@ +/* + * Fastly API + * + * 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/) + * + */ + + +use reqwest; + +use crate::apis::ResponseContent; +use super::{Error, configuration}; + +/// struct for passing parameters to the method [`create_dashboard`] +#[derive(Clone, Debug, Default)] +pub struct CreateDashboardParams { + pub create_dashboard_request: Option +} + +/// struct for passing parameters to the method [`delete_dashboard`] +#[derive(Clone, Debug, Default)] +pub struct DeleteDashboardParams { + pub dashboard_id: String +} + +/// struct for passing parameters to the method [`get_dashboard`] +#[derive(Clone, Debug, Default)] +pub struct GetDashboardParams { + pub dashboard_id: String +} + +/// struct for passing parameters to the method [`update_dashboard`] +#[derive(Clone, Debug, Default)] +pub struct UpdateDashboardParams { + pub dashboard_id: String, + pub update_dashboard_request: Option +} + + +/// struct for typed errors of method [`create_dashboard`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateDashboardError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`delete_dashboard`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DeleteDashboardError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_dashboard`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetDashboardError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_dashboards`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListDashboardsError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_dashboard`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateDashboardError { + UnknownValue(serde_json::Value), +} + + +/// Create a new dashboard +pub async fn create_dashboard(configuration: &mut configuration::Configuration, params: CreateDashboardParams) -> Result> { + let local_var_configuration = configuration; + + // unbox the parameters + let create_dashboard_request = params.create_dashboard_request; + + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/observability/dashboards", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_apikey) = local_var_configuration.api_key { + let local_var_key = local_var_apikey.key.clone(); + let local_var_value = match local_var_apikey.prefix { + Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key), + None => local_var_key, + }; + local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value); + }; + local_var_req_builder = local_var_req_builder.json(&create_dashboard_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + if "POST" != "GET" && "POST" != "HEAD" { + let headers = local_var_resp.headers(); + local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => configuration::DEFAULT_RATELIMIT, + }; + local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => 0, + }; + } + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Delete an existing dashboard +pub async fn delete_dashboard(configuration: &mut configuration::Configuration, params: DeleteDashboardParams) -> Result<(), Error> { + let local_var_configuration = configuration; + + // unbox the parameters + let dashboard_id = params.dashboard_id; + + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/observability/dashboards/{dashboard_id}", local_var_configuration.base_path, dashboard_id=crate::apis::urlencode(dashboard_id)); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_apikey) = local_var_configuration.api_key { + let local_var_key = local_var_apikey.key.clone(); + let local_var_value = match local_var_apikey.prefix { + Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key), + None => local_var_key, + }; + local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + if "DELETE" != "GET" && "DELETE" != "HEAD" { + let headers = local_var_resp.headers(); + local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => configuration::DEFAULT_RATELIMIT, + }; + local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => 0, + }; + } + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Retrieve a dashboard by ID +pub async fn get_dashboard(configuration: &mut configuration::Configuration, params: GetDashboardParams) -> Result> { + let local_var_configuration = configuration; + + // unbox the parameters + let dashboard_id = params.dashboard_id; + + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/observability/dashboards/{dashboard_id}", local_var_configuration.base_path, dashboard_id=crate::apis::urlencode(dashboard_id)); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_apikey) = local_var_configuration.api_key { + let local_var_key = local_var_apikey.key.clone(); + let local_var_value = match local_var_apikey.prefix { + Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key), + None => local_var_key, + }; + local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + if "GET" != "GET" && "GET" != "HEAD" { + let headers = local_var_resp.headers(); + local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => configuration::DEFAULT_RATELIMIT, + }; + local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => 0, + }; + } + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// List all custom dashboards +pub async fn list_dashboards(configuration: &mut configuration::Configuration) -> Result> { + let local_var_configuration = configuration; + + // unbox the parameters + + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/observability/dashboards", local_var_configuration.base_path); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_apikey) = local_var_configuration.api_key { + let local_var_key = local_var_apikey.key.clone(); + let local_var_value = match local_var_apikey.prefix { + Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key), + None => local_var_key, + }; + local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + if "GET" != "GET" && "GET" != "HEAD" { + let headers = local_var_resp.headers(); + local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => configuration::DEFAULT_RATELIMIT, + }; + local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => 0, + }; + } + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; + Err(Error::ResponseError(local_var_error)) + } +} + +/// Update an existing dashboard +pub async fn update_dashboard(configuration: &mut configuration::Configuration, params: UpdateDashboardParams) -> Result> { + let local_var_configuration = configuration; + + // unbox the parameters + let dashboard_id = params.dashboard_id; + let update_dashboard_request = params.update_dashboard_request; + + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/observability/dashboards/{dashboard_id}", local_var_configuration.base_path, dashboard_id=crate::apis::urlencode(dashboard_id)); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_apikey) = local_var_configuration.api_key { + let local_var_key = local_var_apikey.key.clone(); + let local_var_value = match local_var_apikey.prefix { + Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key), + None => local_var_key, + }; + local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value); + }; + local_var_req_builder = local_var_req_builder.json(&update_dashboard_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + if "PATCH" != "GET" && "PATCH" != "HEAD" { + let headers = local_var_resp.headers(); + local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => configuration::DEFAULT_RATELIMIT, + }; + local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => 0, + }; + } + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; + Err(Error::ResponseError(local_var_error)) + } +} + diff --git a/src/apis/tls_certificates_api.rs b/src/apis/tls_certificates_api.rs index 22b5d84..2147c40 100644 --- a/src/apis/tls_certificates_api.rs +++ b/src/apis/tls_certificates_api.rs @@ -31,6 +31,13 @@ pub struct GetTlsCertParams { pub tls_certificate_id: String } +/// struct for passing parameters to the method [`get_tls_cert_blob`] +#[derive(Clone, Debug, Default)] +pub struct GetTlsCertBlobParams { + /// Alphanumeric string identifying a TLS certificate. + pub tls_certificate_id: String +} + /// struct for passing parameters to the method [`list_tls_certs`] #[derive(Clone, Debug, Default)] pub struct ListTlsCertsParams { @@ -80,6 +87,13 @@ pub enum GetTlsCertError { UnknownValue(serde_json::Value), } +/// struct for typed errors of method [`get_tls_cert_blob`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetTlsCertBlobError { + UnknownValue(serde_json::Value), +} + /// struct for typed errors of method [`list_tls_certs`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -252,6 +266,58 @@ pub async fn get_tls_cert(configuration: &mut configuration::Configuration, para } } +/// Retrieve a TLS certificate blob. This feature is part of a [limited availability](https://docs.fastly.com/products/fastly-product-lifecycle#limited-availability) release. +pub async fn get_tls_cert_blob(configuration: &mut configuration::Configuration, params: GetTlsCertBlobParams) -> Result> { + let local_var_configuration = configuration; + + // unbox the parameters + let tls_certificate_id = params.tls_certificate_id; + + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!("{}/tls/certificates/{tls_certificate_id}/blob", local_var_configuration.base_path, tls_certificate_id=crate::apis::urlencode(tls_certificate_id)); + let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_apikey) = local_var_configuration.api_key { + let local_var_key = local_var_apikey.key.clone(); + let local_var_value = match local_var_apikey.prefix { + Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key), + None => local_var_key, + }; + local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + if "GET" != "GET" && "GET" != "HEAD" { + let headers = local_var_resp.headers(); + local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => configuration::DEFAULT_RATELIMIT, + }; + local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") { + Some(v) => v.to_str().unwrap().parse().unwrap(), + None => 0, + }; + } + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + serde_json::from_str(&local_var_content).map_err(Error::from) + } else { + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity }; + Err(Error::ResponseError(local_var_error)) + } +} + /// List all TLS certificates. pub async fn list_tls_certs(configuration: &mut configuration::Configuration, params: ListTlsCertsParams) -> Result> { let local_var_configuration = configuration; diff --git a/src/models/async_response.rs b/src/models/async_response.rs new file mode 100644 index 0000000..a47288e --- /dev/null +++ b/src/models/async_response.rs @@ -0,0 +1,28 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct AsyncResponse { + #[serde(rename = "title", skip_serializing_if = "Option::is_none")] + pub title: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, +} + +impl AsyncResponse { + pub fn new() -> AsyncResponse { + AsyncResponse { + title: None, + status: None, + } + } +} + + diff --git a/src/models/create_dashboard_request.rs b/src/models/create_dashboard_request.rs new file mode 100644 index 0000000..2ea9e29 --- /dev/null +++ b/src/models/create_dashboard_request.rs @@ -0,0 +1,34 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct CreateDashboardRequest { + /// A human-readable name + #[serde(rename = "name")] + pub name: String, + /// A short description of the dashboard + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// A list of [dashboard items](#dashboard-item). + #[serde(rename = "items", skip_serializing_if = "Option::is_none")] + pub items: Option>, +} + +impl CreateDashboardRequest { + pub fn new(name: String) -> CreateDashboardRequest { + CreateDashboardRequest { + name, + description: None, + items: None, + } + } +} + + diff --git a/src/models/dashboard.rs b/src/models/dashboard.rs new file mode 100644 index 0000000..d80c094 --- /dev/null +++ b/src/models/dashboard.rs @@ -0,0 +1,52 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct Dashboard { + /// Dashboard identifier (UUID) + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + /// A human-readable name + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// A short description of the dashboard + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// A list of [dashboard items](#dashboard-item). + #[serde(rename = "items", skip_serializing_if = "Option::is_none")] + pub items: Option>, + /// Date and time in ISO 8601 format. + #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// Date and time in ISO 8601 format. + #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")] + pub updated_at: Option, + #[serde(rename = "created_by", skip_serializing_if = "Option::is_none")] + pub created_by: Option>, + #[serde(rename = "updated_by", skip_serializing_if = "Option::is_none")] + pub updated_by: Option>, +} + +impl Dashboard { + pub fn new() -> Dashboard { + Dashboard { + id: None, + name: None, + description: None, + items: None, + created_at: None, + updated_at: None, + created_by: None, + updated_by: None, + } + } +} + + diff --git a/src/models/dashboard_item.rs b/src/models/dashboard_item.rs new file mode 100644 index 0000000..00522ea --- /dev/null +++ b/src/models/dashboard_item.rs @@ -0,0 +1,46 @@ +/* + * Fastly API + * + * 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/) + * + */ + +/// DashboardItem : A dashboard item. Typically a data visualization like a chart. + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct DashboardItem { + /// Dashboard item identifier (UUID) + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + /// A human-readable title for the dashboard item + #[serde(rename = "title")] + pub title: String, + /// A human-readable subtitle for the dashboard item. Often a description of the visualization. + #[serde(rename = "subtitle")] + pub subtitle: String, + #[serde(rename = "data_source")] + pub data_source: Box, + #[serde(rename = "visualization")] + pub visualization: Box, + /// The number of columns for the dashboard item to span. Dashboards are rendered on a 12-column grid on \"desktop\" screen sizes. + #[serde(rename = "span", skip_serializing_if = "Option::is_none")] + pub span: Option, +} + +impl DashboardItem { + /// A dashboard item. Typically a data visualization like a chart. + pub fn new(title: String, subtitle: String, data_source: crate::models::DashboardItemPropertyDataSource, visualization: crate::models::DashboardItemPropertyVisualization) -> DashboardItem { + DashboardItem { + id: None, + title, + subtitle, + data_source: Box::new(data_source), + visualization: Box::new(visualization), + span: None, + } + } +} + + diff --git a/src/models/dashboard_item_property_data_source.rs b/src/models/dashboard_item_property_data_source.rs new file mode 100644 index 0000000..d5e5b58 --- /dev/null +++ b/src/models/dashboard_item_property_data_source.rs @@ -0,0 +1,47 @@ +/* + * Fastly API + * + * 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/) + * + */ + +/// DashboardItemPropertyDataSource : [An object](#data-source) which describes the data to display. + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct DashboardItemPropertyDataSource { + /// The source of the data to display. + #[serde(rename = "type")] + pub _type: Type, + #[serde(rename = "config")] + pub config: Box, +} + +impl DashboardItemPropertyDataSource { + /// [An object](#data-source) which describes the data to display. + pub fn new(_type: Type, config: crate::models::DashboardItemPropertyDataSourcePropertyConfig) -> DashboardItemPropertyDataSource { + DashboardItemPropertyDataSource { + _type, + config: Box::new(config), + } + } +} + +/// The source of the data to display. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "stats.edge")] + Edge, + #[serde(rename = "stats.domain")] + Domain, + #[serde(rename = "stats.origin")] + Origin, +} + +impl Default for Type { + fn default() -> Type { + Self::Edge + } +} + diff --git a/src/models/dashboard_item_property_data_source_property_config.rs b/src/models/dashboard_item_property_data_source_property_config.rs new file mode 100644 index 0000000..ba7908d --- /dev/null +++ b/src/models/dashboard_item_property_data_source_property_config.rs @@ -0,0 +1,28 @@ +/* + * Fastly API + * + * 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/) + * + */ + +/// DashboardItemPropertyDataSourcePropertyConfig : [Configuration options](#data-source-config) for the selected data source. + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct DashboardItemPropertyDataSourcePropertyConfig { + /// The metrics to visualize. Valid options are defined by the selected [data source](#field_data_source). + #[serde(rename = "metrics")] + pub metrics: Vec, +} + +impl DashboardItemPropertyDataSourcePropertyConfig { + /// [Configuration options](#data-source-config) for the selected data source. + pub fn new(metrics: Vec) -> DashboardItemPropertyDataSourcePropertyConfig { + DashboardItemPropertyDataSourcePropertyConfig { + metrics, + } + } +} + + diff --git a/src/models/dashboard_item_property_visualization.rs b/src/models/dashboard_item_property_visualization.rs new file mode 100644 index 0000000..49d3eb0 --- /dev/null +++ b/src/models/dashboard_item_property_visualization.rs @@ -0,0 +1,43 @@ +/* + * Fastly API + * + * 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/) + * + */ + +/// DashboardItemPropertyVisualization : [An object](#visualization) which describes the data visualization to display. + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct DashboardItemPropertyVisualization { + /// The type of visualization to display. + #[serde(rename = "type")] + pub _type: Type, + #[serde(rename = "config")] + pub config: Box, +} + +impl DashboardItemPropertyVisualization { + /// [An object](#visualization) which describes the data visualization to display. + pub fn new(_type: Type, config: crate::models::DashboardItemPropertyVisualizationPropertyConfig) -> DashboardItemPropertyVisualization { + DashboardItemPropertyVisualization { + _type, + config: Box::new(config), + } + } +} + +/// The type of visualization to display. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Type { + #[serde(rename = "chart")] + Chart, +} + +impl Default for Type { + fn default() -> Type { + Self::Chart + } +} + diff --git a/src/models/dashboard_item_property_visualization_property_config.rs b/src/models/dashboard_item_property_visualization_property_config.rs new file mode 100644 index 0000000..e3aa3c4 --- /dev/null +++ b/src/models/dashboard_item_property_visualization_property_config.rs @@ -0,0 +1,104 @@ +/* + * Fastly API + * + * 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/) + * + */ + +/// DashboardItemPropertyVisualizationPropertyConfig : [Configuration options](#visualization-config) for the given visualization. + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct DashboardItemPropertyVisualizationPropertyConfig { + /// The type of chart to display. + #[serde(rename = "plot_type")] + pub plot_type: PlotType, + /// (Optional) The units to use to format the data. + #[serde(rename = "format", skip_serializing_if = "Option::is_none")] + pub format: Option, + /// (Optional) The aggregation function to apply to the dataset. + #[serde(rename = "calculation_method", skip_serializing_if = "Option::is_none")] + pub calculation_method: Option, +} + +impl DashboardItemPropertyVisualizationPropertyConfig { + /// [Configuration options](#visualization-config) for the given visualization. + pub fn new(plot_type: PlotType) -> DashboardItemPropertyVisualizationPropertyConfig { + DashboardItemPropertyVisualizationPropertyConfig { + plot_type, + format: None, + calculation_method: None, + } + } +} + +/// The type of chart to display. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PlotType { + #[serde(rename = "line")] + Line, + #[serde(rename = "bar")] + Bar, + #[serde(rename = "single-metric")] + SingleMetric, + #[serde(rename = "donut")] + Donut, +} + +impl Default for PlotType { + fn default() -> PlotType { + Self::Line + } +} +/// (Optional) The units to use to format the data. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Format { + #[serde(rename = "number")] + Number, + #[serde(rename = "bytes")] + Bytes, + #[serde(rename = "percent")] + Percent, + #[serde(rename = "requests")] + Requests, + #[serde(rename = "responses")] + Responses, + #[serde(rename = "seconds")] + Seconds, + #[serde(rename = "milliseconds")] + Milliseconds, + #[serde(rename = "ratio")] + Ratio, + #[serde(rename = "bitrate")] + Bitrate, +} + +impl Default for Format { + fn default() -> Format { + Self::Number + } +} +/// (Optional) The aggregation function to apply to the dataset. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CalculationMethod { + #[serde(rename = "avg")] + Avg, + #[serde(rename = "sum")] + Sum, + #[serde(rename = "min")] + Min, + #[serde(rename = "max")] + Max, + #[serde(rename = "latest")] + Latest, + #[serde(rename = "p95")] + P95, +} + +impl Default for CalculationMethod { + fn default() -> CalculationMethod { + Self::Avg + } +} + diff --git a/src/models/dashboard_property_created_by.rs b/src/models/dashboard_property_created_by.rs new file mode 100644 index 0000000..0a44ed7 --- /dev/null +++ b/src/models/dashboard_property_created_by.rs @@ -0,0 +1,24 @@ +/* + * Fastly API + * + * 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/) + * + */ + +/// DashboardPropertyCreatedBy : The ID of the user who created the dashboard + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct DashboardPropertyCreatedBy { +} + +impl DashboardPropertyCreatedBy { + /// The ID of the user who created the dashboard + pub fn new() -> DashboardPropertyCreatedBy { + DashboardPropertyCreatedBy { + } + } +} + + diff --git a/src/models/dashboard_property_updated_by.rs b/src/models/dashboard_property_updated_by.rs new file mode 100644 index 0000000..c030efc --- /dev/null +++ b/src/models/dashboard_property_updated_by.rs @@ -0,0 +1,24 @@ +/* + * Fastly API + * + * 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/) + * + */ + +/// DashboardPropertyUpdatedBy : The ID of the user who last modified the dashboard + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct DashboardPropertyUpdatedBy { +} + +impl DashboardPropertyUpdatedBy { + /// The ID of the user who last modified the dashboard + pub fn new() -> DashboardPropertyUpdatedBy { + DashboardPropertyUpdatedBy { + } + } +} + + diff --git a/src/models/domain_inspector_measurements.rs b/src/models/domain_inspector_measurements.rs index 69675c1..dd93eef 100644 --- a/src/models/domain_inspector_measurements.rs +++ b/src/models/domain_inspector_measurements.rs @@ -125,7 +125,7 @@ pub struct DomainInspectorMeasurements { /// Ratio of cache hits to cache misses at the edge, between 0 and 1 (`edge_hit_requests` / (`edge_hit_requests` + `edge_miss_requests`)). #[serde(rename = "edge_hit_ratio", skip_serializing_if = "Option::is_none")] pub edge_hit_ratio: Option, - /// Ratio of response bytes delivered from the edge compared to what is delivered from origin, between 0 and 1. (`edge_resp_body_bytes` + `edge_resp_header_bytes`) / (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes` + `edge_resp_body_bytes` + `edge_resp_header_bytes`). + /// Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((`edge_resp_body_bytes` + `edge_resp_header_bytes`) - (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes`)) / (`edge_resp_body_bytes` + `edge_resp_header_bytes`). Previously, Origin Offload used a different formula. [Learn more](https://www.fastly.com/documentation/reference/changes/2024/06/add-origin_offload-metric). #[serde(rename = "origin_offload", skip_serializing_if = "Option::is_none")] pub origin_offload: Option, /// Number of responses received from origin with status code 200 (Success). diff --git a/src/models/eom_invoice_response.rs b/src/models/eom_invoice_response.rs new file mode 100644 index 0000000..45f06e1 --- /dev/null +++ b/src/models/eom_invoice_response.rs @@ -0,0 +1,57 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct EomInvoiceResponse { + /// Customer ID associated with the invoice. + #[serde(rename = "customer_id", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// Alphanumeric string identifying the invoice. + #[serde(rename = "invoice_id", skip_serializing_if = "Option::is_none")] + pub invoice_id: Option, + /// Date and time invoice was posted on, in ISO 8601 format. + #[serde(rename = "invoice_posted_on", skip_serializing_if = "Option::is_none")] + pub invoice_posted_on: Option, + /// Date and time (in ISO 8601 format) for initiation point of a billing cycle, signifying the start of charges for a service or subscription. + #[serde(rename = "billing_start_date", skip_serializing_if = "Option::is_none")] + pub billing_start_date: Option, + /// Date and time (in ISO 8601 format) for termination point of a billing cycle, signifying the end of charges for a service or subscription. + #[serde(rename = "billing_end_date", skip_serializing_if = "Option::is_none")] + pub billing_end_date: Option, + /// Alphanumeric string identifying the statement number. + #[serde(rename = "statement_number", skip_serializing_if = "Option::is_none")] + pub statement_number: Option, + /// Three-letter code representing a specific currency used for financial transactions. + #[serde(rename = "currency_code", skip_serializing_if = "Option::is_none")] + pub currency_code: Option, + /// Total billable amount for invoiced services charged within a single month. + #[serde(rename = "monthly_transaction_amount", skip_serializing_if = "Option::is_none")] + pub monthly_transaction_amount: Option, + #[serde(rename = "transaction_line_items", skip_serializing_if = "Option::is_none")] + pub transaction_line_items: Option>, +} + +impl EomInvoiceResponse { + pub fn new() -> EomInvoiceResponse { + EomInvoiceResponse { + customer_id: None, + invoice_id: None, + invoice_posted_on: None, + billing_start_date: None, + billing_end_date: None, + statement_number: None, + currency_code: None, + monthly_transaction_amount: None, + transaction_line_items: None, + } + } +} + + diff --git a/src/models/get_service_level_usage_response.rs b/src/models/get_service_level_usage_response.rs new file mode 100644 index 0000000..ab3b179 --- /dev/null +++ b/src/models/get_service_level_usage_response.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct GetServiceLevelUsageResponse { + #[serde(rename = "data", skip_serializing_if = "Option::is_none")] + pub data: Option>, +} + +impl GetServiceLevelUsageResponse { + pub fn new() -> GetServiceLevelUsageResponse { + GetServiceLevelUsageResponse { + data: None, + } + } +} + + diff --git a/src/models/get_service_level_usage_types_response.rs b/src/models/get_service_level_usage_types_response.rs new file mode 100644 index 0000000..92818c7 --- /dev/null +++ b/src/models/get_service_level_usage_types_response.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct GetServiceLevelUsageTypesResponse { + #[serde(rename = "data", skip_serializing_if = "Option::is_none")] + pub data: Option>, +} + +impl GetServiceLevelUsageTypesResponse { + pub fn new() -> GetServiceLevelUsageTypesResponse { + GetServiceLevelUsageTypesResponse { + data: None, + } + } +} + + diff --git a/src/models/included_with_tls_configuration.rs b/src/models/included_with_tls_configuration.rs new file mode 100644 index 0000000..8be459c --- /dev/null +++ b/src/models/included_with_tls_configuration.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct IncludedWithTlsConfiguration { + #[serde(rename = "included", skip_serializing_if = "Option::is_none")] + pub included: Option>, +} + +impl IncludedWithTlsConfiguration { + pub fn new() -> IncludedWithTlsConfiguration { + IncludedWithTlsConfiguration { + included: None, + } + } +} + + diff --git a/src/models/included_with_tls_configuration_item.rs b/src/models/included_with_tls_configuration_item.rs new file mode 100644 index 0000000..8487da4 --- /dev/null +++ b/src/models/included_with_tls_configuration_item.rs @@ -0,0 +1,32 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct IncludedWithTlsConfigurationItem { + /// The IP address or hostname of the DNS record. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub _type: Option, + #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")] + pub attributes: Option>, +} + +impl IncludedWithTlsConfigurationItem { + pub fn new() -> IncludedWithTlsConfigurationItem { + IncludedWithTlsConfigurationItem { + id: None, + _type: None, + attributes: None, + } + } +} + + diff --git a/src/models/invoicelineitems.rs b/src/models/invoicelineitems.rs index 1ce701f..a228e4a 100644 --- a/src/models/invoicelineitems.rs +++ b/src/models/invoicelineitems.rs @@ -26,19 +26,19 @@ pub struct Invoicelineitems { #[serde(rename = "units", skip_serializing_if = "Option::is_none")] pub units: Option, /// The name of the product. - #[serde(rename = "ProductName", skip_serializing_if = "Option::is_none")] + #[serde(rename = "product_name", skip_serializing_if = "Option::is_none")] pub product_name: Option, /// The broader classification of the product (e.g., `Compute` or `Full-Site Delivery`). - #[serde(rename = "ProductGroup", skip_serializing_if = "Option::is_none")] + #[serde(rename = "product_group", skip_serializing_if = "Option::is_none")] pub product_group: Option, /// The broader classification of the product (e.g., `Network Services` or `Security`). - #[serde(rename = "ProductLine", skip_serializing_if = "Option::is_none")] + #[serde(rename = "product_line", skip_serializing_if = "Option::is_none")] pub product_line: Option, /// The geographical area applicable for regionally based products. - #[serde(rename = "Region", skip_serializing_if = "Option::is_none")] + #[serde(rename = "region", skip_serializing_if = "Option::is_none")] pub region: Option, /// The unit of measure (e.g., `requests` or `bandwidth`). - #[serde(rename = "UsageType", skip_serializing_if = "Option::is_none")] + #[serde(rename = "usage_type", skip_serializing_if = "Option::is_none")] pub usage_type: Option, } diff --git a/src/models/list_dashboards_response.rs b/src/models/list_dashboards_response.rs new file mode 100644 index 0000000..0aba84f --- /dev/null +++ b/src/models/list_dashboards_response.rs @@ -0,0 +1,29 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct ListDashboardsResponse { + #[serde(rename = "data", skip_serializing_if = "Option::is_none")] + pub data: Option>, + /// Meta for the pagination. + #[serde(rename = "meta", skip_serializing_if = "Option::is_none")] + pub meta: Option>, +} + +impl ListDashboardsResponse { + pub fn new() -> ListDashboardsResponse { + ListDashboardsResponse { + data: None, + meta: None, + } + } +} + + diff --git a/src/models/list_eom_invoices_response.rs b/src/models/list_eom_invoices_response.rs new file mode 100644 index 0000000..e50173a --- /dev/null +++ b/src/models/list_eom_invoices_response.rs @@ -0,0 +1,28 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct ListEomInvoicesResponse { + #[serde(rename = "data", skip_serializing_if = "Option::is_none")] + pub data: Option>, + #[serde(rename = "meta", skip_serializing_if = "Option::is_none")] + pub meta: Option>, +} + +impl ListEomInvoicesResponse { + pub fn new() -> ListEomInvoicesResponse { + ListEomInvoicesResponse { + data: None, + meta: None, + } + } +} + + diff --git a/src/models/mod.rs b/src/models/mod.rs index 18fa281..e659e3a 100644 --- a/src/models/mod.rs +++ b/src/models/mod.rs @@ -14,6 +14,8 @@ pub mod apex_redirect; pub use self::apex_redirect::ApexRedirect; pub mod apex_redirect_all_of; pub use self::apex_redirect_all_of::ApexRedirectAllOf; +pub mod async_response; +pub use self::async_response::AsyncResponse; pub mod automation_token; pub use self::automation_token::AutomationToken; pub mod automation_token_create_request; @@ -126,6 +128,8 @@ pub mod contact_response_all_of; pub use self::contact_response_all_of::ContactResponseAllOf; pub mod content; pub use self::content::Content; +pub mod create_dashboard_request; +pub use self::create_dashboard_request::CreateDashboardRequest; pub mod create_response_object_request; pub use self::create_response_object_request::CreateResponseObjectRequest; pub mod customer; @@ -134,6 +138,22 @@ pub mod customer_response; pub use self::customer_response::CustomerResponse; pub mod customer_response_all_of; pub use self::customer_response_all_of::CustomerResponseAllOf; +pub mod dashboard; +pub use self::dashboard::Dashboard; +pub mod dashboard_item; +pub use self::dashboard_item::DashboardItem; +pub mod dashboard_item_property_data_source; +pub use self::dashboard_item_property_data_source::DashboardItemPropertyDataSource; +pub mod dashboard_item_property_data_source_property_config; +pub use self::dashboard_item_property_data_source_property_config::DashboardItemPropertyDataSourcePropertyConfig; +pub mod dashboard_item_property_visualization; +pub use self::dashboard_item_property_visualization::DashboardItemPropertyVisualization; +pub mod dashboard_item_property_visualization_property_config; +pub use self::dashboard_item_property_visualization_property_config::DashboardItemPropertyVisualizationPropertyConfig; +pub mod dashboard_property_created_by; +pub use self::dashboard_property_created_by::DashboardPropertyCreatedBy; +pub mod dashboard_property_updated_by; +pub use self::dashboard_property_updated_by::DashboardPropertyUpdatedBy; pub mod default_settings; pub use self::default_settings::DefaultSettings; pub mod default_settings_error; @@ -186,6 +206,8 @@ pub mod enabled_product_response_product; pub use self::enabled_product_response_product::EnabledProductResponseProduct; pub mod enabled_product_response_service; pub use self::enabled_product_response_service::EnabledProductResponseService; +pub mod eom_invoice_response; +pub use self::eom_invoice_response::EomInvoiceResponse; pub mod error; pub use self::error::Error; pub mod error_response_data; @@ -202,6 +224,10 @@ pub mod events_response; pub use self::events_response::EventsResponse; pub mod generic_token_error; pub use self::generic_token_error::GenericTokenError; +pub mod get_service_level_usage_response; +pub use self::get_service_level_usage_response::GetServiceLevelUsageResponse; +pub mod get_service_level_usage_types_response; +pub use self::get_service_level_usage_types_response::GetServiceLevelUsageTypesResponse; pub mod gzip; pub use self::gzip::Gzip; pub mod gzip_response; @@ -258,6 +284,10 @@ pub mod iam_user_group; pub use self::iam_user_group::IamUserGroup; pub mod iam_user_group_all_of; pub use self::iam_user_group_all_of::IamUserGroupAllOf; +pub mod included_with_tls_configuration; +pub use self::included_with_tls_configuration::IncludedWithTlsConfiguration; +pub mod included_with_tls_configuration_item; +pub use self::included_with_tls_configuration_item::IncludedWithTlsConfigurationItem; pub mod included_with_waf_active_rule_item; pub use self::included_with_waf_active_rule_item::IncludedWithWafActiveRuleItem; pub mod included_with_waf_exclusion_item; @@ -312,8 +342,6 @@ pub mod invitations_response_all_of; pub use self::invitations_response_all_of::InvitationsResponseAllOf; pub mod invoice; pub use self::invoice::Invoice; -pub mod invoice_response; -pub use self::invoice_response::InvoiceResponse; pub mod invoicelineitems; pub use self::invoicelineitems::Invoicelineitems; pub mod legacy_waf_configuration_set; @@ -336,8 +364,10 @@ pub mod line_item_data; pub use self::line_item_data::LineItemData; pub mod line_item_data_read_only_invoice_id; pub use self::line_item_data_read_only_invoice_id::LineItemDataReadOnlyInvoiceId; -pub mod list_invoices_response; -pub use self::list_invoices_response::ListInvoicesResponse; +pub mod list_dashboards_response; +pub use self::list_dashboards_response::ListDashboardsResponse; +pub mod list_eom_invoices_response; +pub use self::list_eom_invoices_response::ListEomInvoicesResponse; pub mod listinvoices; pub use self::listinvoices::Listinvoices; pub mod logging_address_and_port; @@ -488,6 +518,12 @@ pub mod logging_use_tls_string; pub use self::logging_use_tls_string::LoggingUseTlsString; pub mod metadata; pub use self::metadata::Metadata; +pub mod mtd_invoice_response; +pub use self::mtd_invoice_response::MtdInvoiceResponse; +pub mod mtdinvoice; +pub use self::mtdinvoice::Mtdinvoice; +pub mod mtdlineitems; +pub use self::mtdlineitems::Mtdlineitems; pub mod mutual_authentication; pub use self::mutual_authentication::MutualAuthentication; pub mod mutual_authentication_data; @@ -620,6 +656,18 @@ pub mod relationship_customer; pub use self::relationship_customer::RelationshipCustomer; pub mod relationship_customer_customer; pub use self::relationship_customer_customer::RelationshipCustomerCustomer; +pub mod relationship_default_ecdsa_tls_certificate; +pub use self::relationship_default_ecdsa_tls_certificate::RelationshipDefaultEcdsaTlsCertificate; +pub mod relationship_default_ecdsa_tls_certificate_default_ecdsa_certificate; +pub use self::relationship_default_ecdsa_tls_certificate_default_ecdsa_certificate::RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificate; +pub mod relationship_default_ecdsa_tls_certificate_default_ecdsa_certificate_data; +pub use self::relationship_default_ecdsa_tls_certificate_default_ecdsa_certificate_data::RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificateData; +pub mod relationship_default_tls_certificate; +pub use self::relationship_default_tls_certificate::RelationshipDefaultTlsCertificate; +pub mod relationship_default_tls_certificate_default_certificate; +pub use self::relationship_default_tls_certificate_default_certificate::RelationshipDefaultTlsCertificateDefaultCertificate; +pub mod relationship_default_tls_certificate_default_certificate_data; +pub use self::relationship_default_tls_certificate_default_certificate_data::RelationshipDefaultTlsCertificateDefaultCertificateData; pub mod relationship_member_customer; pub use self::relationship_member_customer::RelationshipMemberCustomer; pub mod relationship_member_mutual_authentication; @@ -636,8 +684,6 @@ pub mod relationship_member_tls_certificate; pub use self::relationship_member_tls_certificate::RelationshipMemberTlsCertificate; pub mod relationship_member_tls_configuration; pub use self::relationship_member_tls_configuration::RelationshipMemberTlsConfiguration; -pub mod relationship_member_tls_dns_record; -pub use self::relationship_member_tls_dns_record::RelationshipMemberTlsDnsRecord; pub mod relationship_member_tls_domain; pub use self::relationship_member_tls_domain::RelationshipMemberTlsDomain; pub mod relationship_member_tls_private_key; @@ -708,12 +754,18 @@ pub mod relationship_tls_configurations; pub use self::relationship_tls_configurations::RelationshipTlsConfigurations; pub mod relationship_tls_configurations_tls_configurations; pub use self::relationship_tls_configurations_tls_configurations::RelationshipTlsConfigurationsTlsConfigurations; -pub mod relationship_tls_dns_record; -pub use self::relationship_tls_dns_record::RelationshipTlsDnsRecord; -pub mod relationship_tls_dns_record_dns_record; -pub use self::relationship_tls_dns_record_dns_record::RelationshipTlsDnsRecordDnsRecord; -pub mod relationship_tls_dns_records; -pub use self::relationship_tls_dns_records::RelationshipTlsDnsRecords; +pub mod relationship_tls_dns_records_request; +pub use self::relationship_tls_dns_records_request::RelationshipTlsDnsRecordsRequest; +pub mod relationship_tls_dns_records_request_dns_records; +pub use self::relationship_tls_dns_records_request_dns_records::RelationshipTlsDnsRecordsRequestDnsRecords; +pub mod relationship_tls_dns_records_request_dns_records_data; +pub use self::relationship_tls_dns_records_request_dns_records_data::RelationshipTlsDnsRecordsRequestDnsRecordsData; +pub mod relationship_tls_dns_records_response; +pub use self::relationship_tls_dns_records_response::RelationshipTlsDnsRecordsResponse; +pub mod relationship_tls_dns_records_response_dns_records; +pub use self::relationship_tls_dns_records_response_dns_records::RelationshipTlsDnsRecordsResponseDnsRecords; +pub mod relationship_tls_dns_records_response_dns_records_data; +pub use self::relationship_tls_dns_records_response_dns_records_data::RelationshipTlsDnsRecordsResponseDnsRecordsData; pub mod relationship_tls_domain; pub use self::relationship_tls_domain::RelationshipTlsDomain; pub mod relationship_tls_domain_tls_domain; @@ -912,6 +964,16 @@ pub mod service_version_detail; pub use self::service_version_detail::ServiceVersionDetail; pub mod service_version_detail_or_null; pub use self::service_version_detail_or_null::ServiceVersionDetailOrNull; +pub mod serviceusagemetric; +pub use self::serviceusagemetric::Serviceusagemetric; +pub mod serviceusagemetrics; +pub use self::serviceusagemetrics::Serviceusagemetrics; +pub mod serviceusagemetrics_data; +pub use self::serviceusagemetrics_data::ServiceusagemetricsData; +pub mod serviceusagetype; +pub use self::serviceusagetype::Serviceusagetype; +pub mod serviceusagetypes; +pub use self::serviceusagetypes::Serviceusagetypes; pub mod settings; pub use self::settings::Settings; pub mod settings_response; @@ -998,6 +1060,8 @@ pub mod tls_bulk_certificates_response_all_of; pub use self::tls_bulk_certificates_response_all_of::TlsBulkCertificatesResponseAllOf; pub mod tls_certificate; pub use self::tls_certificate::TlsCertificate; +pub mod tls_certificate_blob_response; +pub use self::tls_certificate_blob_response::TlsCertificateBlobResponse; pub mod tls_certificate_data; pub use self::tls_certificate_data::TlsCertificateData; pub mod tls_certificate_data_attributes; @@ -1172,6 +1236,8 @@ pub mod update_billing_address_request; pub use self::update_billing_address_request::UpdateBillingAddressRequest; pub mod update_billing_address_request_data; pub use self::update_billing_address_request_data::UpdateBillingAddressRequestData; +pub mod update_dashboard_request; +pub use self::update_dashboard_request::UpdateDashboardRequest; pub mod user; pub use self::user::User; pub mod user_response; diff --git a/src/models/mtd_invoice_response.rs b/src/models/mtd_invoice_response.rs new file mode 100644 index 0000000..4164af4 --- /dev/null +++ b/src/models/mtd_invoice_response.rs @@ -0,0 +1,45 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct MtdInvoiceResponse { + /// The Customer ID associated with the invoice. + #[serde(rename = "customer_id", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// An alphanumeric string identifying the invoice. + #[serde(rename = "invoice_id", skip_serializing_if = "Option::is_none")] + pub invoice_id: Option, + /// The date and time (in ISO 8601 format) for the initiation point of a billing cycle, signifying the start of charges for a service or subscription. + #[serde(rename = "billing_start_date", skip_serializing_if = "Option::is_none")] + pub billing_start_date: Option, + /// The date and time (in ISO 8601 format) for the termination point of a billing cycle, signifying the end of charges for a service or subscription. + #[serde(rename = "billing_end_date", skip_serializing_if = "Option::is_none")] + pub billing_end_date: Option, + /// The total billable amount for invoiced services charged within a single month. + #[serde(rename = "monthly_transaction_amount", skip_serializing_if = "Option::is_none")] + pub monthly_transaction_amount: Option, + #[serde(rename = "transaction_line_items", skip_serializing_if = "Option::is_none")] + pub transaction_line_items: Option>, +} + +impl MtdInvoiceResponse { + pub fn new() -> MtdInvoiceResponse { + MtdInvoiceResponse { + customer_id: None, + invoice_id: None, + billing_start_date: None, + billing_end_date: None, + monthly_transaction_amount: None, + transaction_line_items: None, + } + } +} + + diff --git a/src/models/mtdinvoice.rs b/src/models/mtdinvoice.rs new file mode 100644 index 0000000..8470c08 --- /dev/null +++ b/src/models/mtdinvoice.rs @@ -0,0 +1,45 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct Mtdinvoice { + /// The Customer ID associated with the invoice. + #[serde(rename = "customer_id", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// An alphanumeric string identifying the invoice. + #[serde(rename = "invoice_id", skip_serializing_if = "Option::is_none")] + pub invoice_id: Option, + /// The date and time (in ISO 8601 format) for the initiation point of a billing cycle, signifying the start of charges for a service or subscription. + #[serde(rename = "billing_start_date", skip_serializing_if = "Option::is_none")] + pub billing_start_date: Option, + /// The date and time (in ISO 8601 format) for the termination point of a billing cycle, signifying the end of charges for a service or subscription. + #[serde(rename = "billing_end_date", skip_serializing_if = "Option::is_none")] + pub billing_end_date: Option, + /// The total billable amount for invoiced services charged within a single month. + #[serde(rename = "monthly_transaction_amount", skip_serializing_if = "Option::is_none")] + pub monthly_transaction_amount: Option, + #[serde(rename = "transaction_line_items", skip_serializing_if = "Option::is_none")] + pub transaction_line_items: Option>, +} + +impl Mtdinvoice { + pub fn new() -> Mtdinvoice { + Mtdinvoice { + customer_id: None, + invoice_id: None, + billing_start_date: None, + billing_end_date: None, + monthly_transaction_amount: None, + transaction_line_items: None, + } + } +} + + diff --git a/src/models/mtdlineitems.rs b/src/models/mtdlineitems.rs new file mode 100644 index 0000000..0e76254 --- /dev/null +++ b/src/models/mtdlineitems.rs @@ -0,0 +1,58 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct Mtdlineitems { + /// Invoice line item transaction name. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// Billed amount for line item. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option, + /// Price per unit. + #[serde(rename = "rate", skip_serializing_if = "Option::is_none")] + pub rate: Option, + /// Total number of units of usage. + #[serde(rename = "units", skip_serializing_if = "Option::is_none")] + pub units: Option, + /// The name of the product. + #[serde(rename = "product_name", skip_serializing_if = "Option::is_none")] + pub product_name: Option, + /// The broader classification of the product (e.g., `Compute` or `Full-Site Delivery`). + #[serde(rename = "product_group", skip_serializing_if = "Option::is_none")] + pub product_group: Option, + /// The broader classification of the product (e.g., `Network Services` or `Security`). + #[serde(rename = "product_line", skip_serializing_if = "Option::is_none")] + pub product_line: Option, + /// The geographical area applicable for regionally based products. + #[serde(rename = "region", skip_serializing_if = "Option::is_none")] + pub region: Option, + /// The unit of measure (e.g., `requests` or `bandwidth`). + #[serde(rename = "usage_type", skip_serializing_if = "Option::is_none")] + pub usage_type: Option, +} + +impl Mtdlineitems { + pub fn new() -> Mtdlineitems { + Mtdlineitems { + description: None, + amount: None, + rate: None, + units: None, + product_name: None, + product_group: None, + product_line: None, + region: None, + usage_type: None, + } + } +} + + diff --git a/src/models/realtime_entry_aggregated.rs b/src/models/realtime_entry_aggregated.rs index 0ff14ce..6ec158e 100644 --- a/src/models/realtime_entry_aggregated.rs +++ b/src/models/realtime_entry_aggregated.rs @@ -755,6 +755,9 @@ pub struct RealtimeEntryAggregated { /// Number of \"Server Error\" codes delivered for all sources. #[serde(rename = "all_status_5xx", skip_serializing_if = "Option::is_none")] pub all_status_5xx: Option, + /// Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((`edge_resp_body_bytes` + `edge_resp_header_bytes`) - (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes`)) / (`edge_resp_body_bytes` + `edge_resp_header_bytes`). + #[serde(rename = "origin_offload", skip_serializing_if = "Option::is_none")] + pub origin_offload: Option, } impl RealtimeEntryAggregated { @@ -1009,6 +1012,7 @@ impl RealtimeEntryAggregated { all_status_3xx: None, all_status_4xx: None, all_status_5xx: None, + origin_offload: None, } } } diff --git a/src/models/realtime_measurements.rs b/src/models/realtime_measurements.rs index 8f7b864..e2943a2 100644 --- a/src/models/realtime_measurements.rs +++ b/src/models/realtime_measurements.rs @@ -755,6 +755,9 @@ pub struct RealtimeMeasurements { /// Number of \"Server Error\" codes delivered for all sources. #[serde(rename = "all_status_5xx", skip_serializing_if = "Option::is_none")] pub all_status_5xx: Option, + /// Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((`edge_resp_body_bytes` + `edge_resp_header_bytes`) - (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes`)) / (`edge_resp_body_bytes` + `edge_resp_header_bytes`). + #[serde(rename = "origin_offload", skip_serializing_if = "Option::is_none")] + pub origin_offload: Option, } impl RealtimeMeasurements { @@ -1009,6 +1012,7 @@ impl RealtimeMeasurements { all_status_3xx: None, all_status_4xx: None, all_status_5xx: None, + origin_offload: None, } } } diff --git a/src/models/relationship_default_ecdsa_tls_certificate.rs b/src/models/relationship_default_ecdsa_tls_certificate.rs new file mode 100644 index 0000000..9bac940 --- /dev/null +++ b/src/models/relationship_default_ecdsa_tls_certificate.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipDefaultEcdsaTlsCertificate { + #[serde(rename = "default_ecdsa_certificate", skip_serializing_if = "Option::is_none")] + pub default_ecdsa_certificate: Option>, +} + +impl RelationshipDefaultEcdsaTlsCertificate { + pub fn new() -> RelationshipDefaultEcdsaTlsCertificate { + RelationshipDefaultEcdsaTlsCertificate { + default_ecdsa_certificate: None, + } + } +} + + diff --git a/src/models/relationship_default_ecdsa_tls_certificate_default_ecdsa_certificate.rs b/src/models/relationship_default_ecdsa_tls_certificate_default_ecdsa_certificate.rs new file mode 100644 index 0000000..e15cdb4 --- /dev/null +++ b/src/models/relationship_default_ecdsa_tls_certificate_default_ecdsa_certificate.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificate { + #[serde(rename = "data", skip_serializing_if = "Option::is_none")] + pub data: Option>, +} + +impl RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificate { + pub fn new() -> RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificate { + RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificate { + data: None, + } + } +} + + diff --git a/src/models/relationship_default_ecdsa_tls_certificate_default_ecdsa_certificate_data.rs b/src/models/relationship_default_ecdsa_tls_certificate_default_ecdsa_certificate_data.rs new file mode 100644 index 0000000..78a280a --- /dev/null +++ b/src/models/relationship_default_ecdsa_tls_certificate_default_ecdsa_certificate_data.rs @@ -0,0 +1,29 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificateData { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub _type: Option, + /// Alphanumeric string identifying the default ECDSA TLS certificate. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, +} + +impl RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificateData { + pub fn new() -> RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificateData { + RelationshipDefaultEcdsaTlsCertificateDefaultEcdsaCertificateData { + _type: None, + id: None, + } + } +} + + diff --git a/src/models/relationship_default_tls_certificate.rs b/src/models/relationship_default_tls_certificate.rs new file mode 100644 index 0000000..352b89c --- /dev/null +++ b/src/models/relationship_default_tls_certificate.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipDefaultTlsCertificate { + #[serde(rename = "default_certificate", skip_serializing_if = "Option::is_none")] + pub default_certificate: Option>, +} + +impl RelationshipDefaultTlsCertificate { + pub fn new() -> RelationshipDefaultTlsCertificate { + RelationshipDefaultTlsCertificate { + default_certificate: None, + } + } +} + + diff --git a/src/models/relationship_default_tls_certificate_default_certificate.rs b/src/models/relationship_default_tls_certificate_default_certificate.rs new file mode 100644 index 0000000..b442dc5 --- /dev/null +++ b/src/models/relationship_default_tls_certificate_default_certificate.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipDefaultTlsCertificateDefaultCertificate { + #[serde(rename = "data", skip_serializing_if = "Option::is_none")] + pub data: Option>, +} + +impl RelationshipDefaultTlsCertificateDefaultCertificate { + pub fn new() -> RelationshipDefaultTlsCertificateDefaultCertificate { + RelationshipDefaultTlsCertificateDefaultCertificate { + data: None, + } + } +} + + diff --git a/src/models/relationship_default_tls_certificate_default_certificate_data.rs b/src/models/relationship_default_tls_certificate_default_certificate_data.rs new file mode 100644 index 0000000..e2c1251 --- /dev/null +++ b/src/models/relationship_default_tls_certificate_default_certificate_data.rs @@ -0,0 +1,29 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipDefaultTlsCertificateDefaultCertificateData { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub _type: Option, + /// Alphanumeric string identifying the default TLS certificate. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, +} + +impl RelationshipDefaultTlsCertificateDefaultCertificateData { + pub fn new() -> RelationshipDefaultTlsCertificateDefaultCertificateData { + RelationshipDefaultTlsCertificateDefaultCertificateData { + _type: None, + id: None, + } + } +} + + diff --git a/src/models/relationship_tls_dns_records_request.rs b/src/models/relationship_tls_dns_records_request.rs new file mode 100644 index 0000000..a8e696a --- /dev/null +++ b/src/models/relationship_tls_dns_records_request.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipTlsDnsRecordsRequest { + #[serde(rename = "dns_records", skip_serializing_if = "Option::is_none")] + pub dns_records: Option>, +} + +impl RelationshipTlsDnsRecordsRequest { + pub fn new() -> RelationshipTlsDnsRecordsRequest { + RelationshipTlsDnsRecordsRequest { + dns_records: None, + } + } +} + + diff --git a/src/models/relationship_tls_dns_records_request_dns_records.rs b/src/models/relationship_tls_dns_records_request_dns_records.rs new file mode 100644 index 0000000..2b2c137 --- /dev/null +++ b/src/models/relationship_tls_dns_records_request_dns_records.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipTlsDnsRecordsRequestDnsRecords { + #[serde(rename = "data", skip_serializing_if = "Option::is_none")] + pub data: Option>, +} + +impl RelationshipTlsDnsRecordsRequestDnsRecords { + pub fn new() -> RelationshipTlsDnsRecordsRequestDnsRecords { + RelationshipTlsDnsRecordsRequestDnsRecords { + data: None, + } + } +} + + diff --git a/src/models/relationship_tls_dns_records_request_dns_records_data.rs b/src/models/relationship_tls_dns_records_request_dns_records_data.rs new file mode 100644 index 0000000..e05495f --- /dev/null +++ b/src/models/relationship_tls_dns_records_request_dns_records_data.rs @@ -0,0 +1,28 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipTlsDnsRecordsRequestDnsRecordsData { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub _type: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option>, +} + +impl RelationshipTlsDnsRecordsRequestDnsRecordsData { + pub fn new() -> RelationshipTlsDnsRecordsRequestDnsRecordsData { + RelationshipTlsDnsRecordsRequestDnsRecordsData { + _type: None, + id: None, + } + } +} + + diff --git a/src/models/relationship_tls_dns_records_response.rs b/src/models/relationship_tls_dns_records_response.rs new file mode 100644 index 0000000..c665e88 --- /dev/null +++ b/src/models/relationship_tls_dns_records_response.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipTlsDnsRecordsResponse { + #[serde(rename = "dns_records", skip_serializing_if = "Option::is_none")] + pub dns_records: Option>, +} + +impl RelationshipTlsDnsRecordsResponse { + pub fn new() -> RelationshipTlsDnsRecordsResponse { + RelationshipTlsDnsRecordsResponse { + dns_records: None, + } + } +} + + diff --git a/src/models/relationship_tls_dns_records_response_dns_records.rs b/src/models/relationship_tls_dns_records_response_dns_records.rs new file mode 100644 index 0000000..440769a --- /dev/null +++ b/src/models/relationship_tls_dns_records_response_dns_records.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipTlsDnsRecordsResponseDnsRecords { + #[serde(rename = "data", skip_serializing_if = "Option::is_none")] + pub data: Option>, +} + +impl RelationshipTlsDnsRecordsResponseDnsRecords { + pub fn new() -> RelationshipTlsDnsRecordsResponseDnsRecords { + RelationshipTlsDnsRecordsResponseDnsRecords { + data: None, + } + } +} + + diff --git a/src/models/relationship_tls_dns_records_response_dns_records_data.rs b/src/models/relationship_tls_dns_records_response_dns_records_data.rs new file mode 100644 index 0000000..467d42a --- /dev/null +++ b/src/models/relationship_tls_dns_records_response_dns_records_data.rs @@ -0,0 +1,28 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct RelationshipTlsDnsRecordsResponseDnsRecordsData { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub _type: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option>, +} + +impl RelationshipTlsDnsRecordsResponseDnsRecordsData { + pub fn new() -> RelationshipTlsDnsRecordsResponseDnsRecordsData { + RelationshipTlsDnsRecordsResponseDnsRecordsData { + _type: None, + id: None, + } + } +} + + diff --git a/src/models/results.rs b/src/models/results.rs index dc45e16..a74a390 100644 --- a/src/models/results.rs +++ b/src/models/results.rs @@ -755,6 +755,9 @@ pub struct Results { /// Number of \"Server Error\" codes delivered for all sources. #[serde(rename = "all_status_5xx", skip_serializing_if = "Option::is_none")] pub all_status_5xx: Option, + /// Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((`edge_resp_body_bytes` + `edge_resp_header_bytes`) - (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes`)) / (`edge_resp_body_bytes` + `edge_resp_header_bytes`). + #[serde(rename = "origin_offload", skip_serializing_if = "Option::is_none")] + pub origin_offload: Option, #[serde(rename = "service_id", skip_serializing_if = "Option::is_none")] pub service_id: Option>, /// Timestamp for the start of the time period being reported @@ -1014,6 +1017,7 @@ impl Results { all_status_3xx: None, all_status_4xx: None, all_status_5xx: None, + origin_offload: None, service_id: None, start_time: None, } diff --git a/src/models/serviceusagemetric.rs b/src/models/serviceusagemetric.rs new file mode 100644 index 0000000..ca3b41c --- /dev/null +++ b/src/models/serviceusagemetric.rs @@ -0,0 +1,37 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct Serviceusagemetric { + #[serde(rename = "customer_id", skip_serializing_if = "Option::is_none")] + pub customer_id: Option>, + /// Service ID associated with the usage. + #[serde(rename = "service_id", skip_serializing_if = "Option::is_none")] + pub service_id: Option, + /// Name of the service associated with the usage. + #[serde(rename = "service_name", skip_serializing_if = "Option::is_none")] + pub service_name: Option, + /// The quantity of the usage for the billing period. Amount will be in the units provided in the parent object (e.g., a quantity of `1.3` with a unit of `gb` would have a usage amount of 1.3 gigabytes). + #[serde(rename = "usage_units", skip_serializing_if = "Option::is_none")] + pub usage_units: Option, +} + +impl Serviceusagemetric { + pub fn new() -> Serviceusagemetric { + Serviceusagemetric { + customer_id: None, + service_id: None, + service_name: None, + usage_units: None, + } + } +} + + diff --git a/src/models/serviceusagemetrics.rs b/src/models/serviceusagemetrics.rs new file mode 100644 index 0000000..85b4e3f --- /dev/null +++ b/src/models/serviceusagemetrics.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct Serviceusagemetrics { + #[serde(rename = "data", skip_serializing_if = "Option::is_none")] + pub data: Option>, +} + +impl Serviceusagemetrics { + pub fn new() -> Serviceusagemetrics { + Serviceusagemetrics { + data: None, + } + } +} + + diff --git a/src/models/serviceusagemetrics_data.rs b/src/models/serviceusagemetrics_data.rs new file mode 100644 index 0000000..9f4b84c --- /dev/null +++ b/src/models/serviceusagemetrics_data.rs @@ -0,0 +1,47 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct ServiceusagemetricsData { + #[serde(rename = "customer_id", skip_serializing_if = "Option::is_none")] + pub customer_id: Option>, + /// Date and time (in ISO 8601 format) for initiation point of a billing cycle, signifying the start of charges for a service or subscription. + #[serde(rename = "start_time", skip_serializing_if = "Option::is_none")] + pub start_time: Option, + /// Date and time (in ISO 8601 format) for termination point of a billing cycle, signifying the end of charges for a service or subscription. + #[serde(rename = "end_time", skip_serializing_if = "Option::is_none")] + pub end_time: Option, + /// The usage type identifier for the usage. This is a single, billable metric for the product. + #[serde(rename = "usage_type", skip_serializing_if = "Option::is_none")] + pub usage_type: Option, + /// The unit for the usage as shown on an invoice. If there is no explicit unit, this field will be \"unit\" (e.g., a request with `product_id` of 'cdn_usage' and `usage_type` of 'North America Requests' has no unit, and will return \"unit\"). + #[serde(rename = "unit", skip_serializing_if = "Option::is_none")] + pub unit: Option, + #[serde(rename = "details", skip_serializing_if = "Option::is_none")] + pub details: Option>, + #[serde(rename = "meta", skip_serializing_if = "Option::is_none")] + pub meta: Option>, +} + +impl ServiceusagemetricsData { + pub fn new() -> ServiceusagemetricsData { + ServiceusagemetricsData { + customer_id: None, + start_time: None, + end_time: None, + usage_type: None, + unit: None, + details: None, + meta: None, + } + } +} + + diff --git a/src/models/serviceusagetype.rs b/src/models/serviceusagetype.rs new file mode 100644 index 0000000..69b27c7 --- /dev/null +++ b/src/models/serviceusagetype.rs @@ -0,0 +1,30 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct Serviceusagetype { + /// The product identifier associated with the usage type. This corresponds to a Fastly product offering. + #[serde(rename = "product_id", skip_serializing_if = "Option::is_none")] + pub product_id: Option, + /// Full name of the product usage type as it might appear on a customer's invoice. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +impl Serviceusagetype { + pub fn new() -> Serviceusagetype { + Serviceusagetype { + product_id: None, + name: None, + } + } +} + + diff --git a/src/models/serviceusagetypes.rs b/src/models/serviceusagetypes.rs new file mode 100644 index 0000000..78e909d --- /dev/null +++ b/src/models/serviceusagetypes.rs @@ -0,0 +1,25 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct Serviceusagetypes { + #[serde(rename = "data", skip_serializing_if = "Option::is_none")] + pub data: Option>, +} + +impl Serviceusagetypes { + pub fn new() -> Serviceusagetypes { + Serviceusagetypes { + data: None, + } + } +} + + diff --git a/src/models/tls_certificate_blob_response.rs b/src/models/tls_certificate_blob_response.rs new file mode 100644 index 0000000..084844e --- /dev/null +++ b/src/models/tls_certificate_blob_response.rs @@ -0,0 +1,26 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct TlsCertificateBlobResponse { + /// A certificate blob + #[serde(rename = "cert_blob", skip_serializing_if = "Option::is_none")] + pub cert_blob: Option, +} + +impl TlsCertificateBlobResponse { + pub fn new() -> TlsCertificateBlobResponse { + TlsCertificateBlobResponse { + cert_blob: None, + } + } +} + + diff --git a/src/models/tls_dns_record.rs b/src/models/tls_dns_record.rs index 51b3cc3..62ee221 100644 --- a/src/models/tls_dns_record.rs +++ b/src/models/tls_dns_record.rs @@ -10,25 +10,53 @@ #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] pub struct TlsDnsRecord { - /// The IP address or hostname of the DNS record. - #[serde(rename = "id", skip_serializing_if = "Option::is_none")] - pub id: Option, - /// Specifies the regions that will be used to route traffic. Select DNS Records with a `global` region to route traffic to the most performant point of presence (POP) worldwide (global pricing will apply). Select DNS records with a `us-eu` region to exclusively land traffic on North American and European POPs. + /// Specifies the regions that will be used to route traffic. Select DNS records with a `global` region to route traffic to the most performant point of presence (POP) worldwide (global pricing will apply). Select DNS records with a `na/eu` region to exclusively land traffic on North American and European POPs. #[serde(rename = "region", skip_serializing_if = "Option::is_none")] - pub region: Option, + pub region: Option, /// The type of the DNS record. `A` specifies an IPv4 address to be used for an A record to be used for apex domains (e.g., `example.com`). `AAAA` specifies an IPv6 address for use in an A record for apex domains. `CNAME` specifies the hostname to be used for a CNAME record for subdomains or wildcard domains (e.g., `www.example.com` or `*.example.com`). #[serde(rename = "record_type", skip_serializing_if = "Option::is_none")] - pub record_type: Option, + pub record_type: Option, } impl TlsDnsRecord { pub fn new() -> TlsDnsRecord { TlsDnsRecord { - id: None, region: None, record_type: None, } } } +/// Specifies the regions that will be used to route traffic. Select DNS records with a `global` region to route traffic to the most performant point of presence (POP) worldwide (global pricing will apply). Select DNS records with a `na/eu` region to exclusively land traffic on North American and European POPs. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Region { + #[serde(rename = "custom")] + Custom, + #[serde(rename = "global")] + Global, + #[serde(rename = "na/eu")] + NaEu, +} + +impl Default for Region { + fn default() -> Region { + Self::Custom + } +} +/// The type of the DNS record. `A` specifies an IPv4 address to be used for an A record to be used for apex domains (e.g., `example.com`). `AAAA` specifies an IPv6 address for use in an A record for apex domains. `CNAME` specifies the hostname to be used for a CNAME record for subdomains or wildcard domains (e.g., `www.example.com` or `*.example.com`). +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum RecordType { + #[serde(rename = "CNAME")] + CNAME, + #[serde(rename = "A")] + A, + #[serde(rename = "AAAA")] + AAAA, +} + +impl Default for RecordType { + fn default() -> RecordType { + Self::CNAME + } +} diff --git a/src/models/update_dashboard_request.rs b/src/models/update_dashboard_request.rs new file mode 100644 index 0000000..85aaa59 --- /dev/null +++ b/src/models/update_dashboard_request.rs @@ -0,0 +1,34 @@ +/* + * Fastly API + * + * 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/) + * + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct UpdateDashboardRequest { + /// A human-readable name + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// A short description of the dashboard + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// A list of [dashboard items](#dashboard-item). + #[serde(rename = "items", skip_serializing_if = "Option::is_none")] + pub items: Option>, +} + +impl UpdateDashboardRequest { + pub fn new() -> UpdateDashboardRequest { + UpdateDashboardRequest { + name: None, + description: None, + items: None, + } + } +} + + diff --git a/src/models/values.rs b/src/models/values.rs index 29c6bfb..4c8d072 100644 --- a/src/models/values.rs +++ b/src/models/values.rs @@ -125,7 +125,7 @@ pub struct Values { /// Ratio of cache hits to cache misses at the edge, between 0 and 1 (`edge_hit_requests` / (`edge_hit_requests` + `edge_miss_requests`)). #[serde(rename = "edge_hit_ratio", skip_serializing_if = "Option::is_none")] pub edge_hit_ratio: Option, - /// Ratio of response bytes delivered from the edge compared to what is delivered from origin, between 0 and 1. (`edge_resp_body_bytes` + `edge_resp_header_bytes`) / (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes` + `edge_resp_body_bytes` + `edge_resp_header_bytes`). + /// Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((`edge_resp_body_bytes` + `edge_resp_header_bytes`) - (`origin_fetch_resp_body_bytes` + `origin_fetch_resp_header_bytes`)) / (`edge_resp_body_bytes` + `edge_resp_header_bytes`). Previously, Origin Offload used a different formula. [Learn more](https://www.fastly.com/documentation/reference/changes/2024/06/add-origin_offload-metric). #[serde(rename = "origin_offload", skip_serializing_if = "Option::is_none")] pub origin_offload: Option, /// Number of responses received from origin with status code 200 (Success).