#![cfg(feature = "cloudflare_network")]
#![allow(clippy::too_many_arguments, clippy::type_complexity)]
#![allow(clippy::missing_errors_doc, clippy::doc_markdown, clippy::useless_format)]
#![allow(unused_imports)]
use foundation_netio::{DynNetClient, PreparedRequestBuilder};
use foundation_netio::shared::client::http_client::HttpClient;
use serde::{Deserialize, Serialize};
use foundation_macros::JsonHash;
use super::shared::AddressingApiResponseCommon;
use super::shared::TunnelSubnetResponseSingle;
use super::shared::TunnelApiResponseCommon;
use super::shared::TunnelCreatedAt;
use super::shared::TunnelDeletedAt;
use super::shared::TunnelSubnet;
use super::shared::TunnelSubnetComment;
use super::shared::TunnelSubnetId;
use super::shared::TunnelSubnetIpNetwork;
use super::shared::TunnelSubnetIsDefaultNetwork;
use super::shared::TunnelSubnetName;
use super::shared::TunnelSubnetType;
use super::shared::ApiResponse;
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingApiResponseSingle {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingAsnPrependCount {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingAutoAdvertiseWithdraw {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingBgpOnDemand {
pub advertised: Option<AddressingSchemasAdvertised>,
pub advertised_modified_at: Option<AddressingModifiedAtNullable>,
pub on_demand_enabled: Option<AddressingSchemasOnDemandEnabled>,
pub on_demand_locked: Option<AddressingSchemasOnDemandLocked>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingBgpPrefixCreate {
pub cidr: AddressingCidr,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingBgpPrefixIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingBgpPrefixUpdateAdvertisement {
pub asn_prepend_count: Option<AddressingAsnPrependCount>,
pub auto_advertise_withdraw: Option<AddressingAutoAdvertiseWithdraw>,
pub on_demand: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingBgpSignalOpts {
pub enabled: Option<AddressingBgpSignalingEnabled>,
pub modified_at: Option<AddressingBgpSignalingModifiedAt>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingBgpSignalingEnabled {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingBgpSignalingModifiedAt {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingCidr {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingIpamBgpPrefixes {
pub asn: Option<AddressingSchemasAsn>,
pub asn_prepend_count: Option<AddressingAsnPrependCount>,
pub auto_advertise_withdraw: Option<AddressingAutoAdvertiseWithdraw>,
pub bgp_signal_opts: Option<AddressingBgpSignalOpts>,
pub cidr: Option<AddressingCidr>,
pub created_at: Option<AddressingTimestamp>,
pub id: Option<AddressingBgpPrefixIdentifier>,
pub modified_at: Option<AddressingTimestamp>,
pub on_demand: Option<AddressingBgpOnDemand>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingModifiedAtNullable {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingResponseCollectionBgp {
pub result: Option<Vec<AddressingIpamBgpPrefixes>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingSchemasAdvertised {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingSchemasAsn {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingSchemasOnDemandEnabled {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingSchemasOnDemandLocked {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingSingleResponseBgp {
pub result: Option<AddressingIpamBgpPrefixes>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingTimestamp {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct CloudflareTunnelConfigurationPutConfigurationRequest {
pub config: Option<TunnelConfig>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct CloudflareTunnelCreateACloudflareTunnelRequest {
pub config_src: Option<TunnelConfigSrc>,
pub name: TunnelTunnelName,
pub tunnel_secret: Option<TunnelTunnelSecret>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct CloudflareTunnelCreateAWarpConnectorTunnelRequest {
pub ha: Option<bool>,
pub name: TunnelTunnelName,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct CloudflareTunnelGetACloudflareTunnelManagementTokenRequest {
pub resources: Vec<TunnelManagementResources>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct CloudflareTunnelManualFailoverWarpConnectorTunnelRequest {
pub client_id: TunnelClientIdInput,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct CloudflareTunnelUpdateACloudflareTunnelRequest {
pub name: Option<TunnelTunnelName>,
pub tunnel_secret: Option<TunnelTunnelSecret>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct CloudflareTunnelUpdateAWarpConnectorTunnelRequest {
pub name: Option<TunnelTunnelName>,
pub tunnel_secret: Option<TunnelTunnelSecret>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ConnectivityServicesGetResponse {
pub result: Option<InfraServiceConfig>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ConnectivityServicesListResponse {
pub result: Option<Vec<InfraServiceConfig>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ConnectivityServicesPostResponse {
pub result: Option<InfraServiceConfig>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ConnectivityServicesPutResponse {
pub result: Option<InfraServiceConfig>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct CreateDexRuleResponse {
pub result: Option<DigitalExperienceMonitoringDexRule>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DeleteDexRuleResponse {
pub result: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DexEndpointsHttpTestDetailsResponse {
pub result: Option<DigitalExperienceMonitoringHttpDetailsResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DexEndpointsHttpTestPercentilesResponse {
pub result: Option<DigitalExperienceMonitoringHttpDetailsPercentilesResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DexEndpointsListColosResponse {
pub result: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DexEndpointsListTestsOverviewResponse {
pub result: Option<DigitalExperienceMonitoringTestsResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DexEndpointsTestsUniqueDevicesResponse {
pub result: Option<DigitalExperienceMonitoringUniqueDevicesResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DexEndpointsTracerouteTestDetailsResponse {
pub result: Option<DigitalExperienceMonitoringTracerouteDetailsResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DexEndpointsTracerouteTestNetworkPathResponse {
pub result: Option<DigitalExperienceMonitoringTracerouteTestNetworkPathResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DexEndpointsTracerouteTestPercentilesResponse {
pub result: Option<DigitalExperienceMonitoringTracerouteDetailsPercentilesResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DexEndpointsTracerouteTestResultNetworkPathResponse {
pub result: Option<DigitalExperienceMonitoringTracerouteTestResultNetworkPathResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringAggregateStat {
#[serde(rename = "avgMs")]
pub avg_ms: Option<i64>,
#[serde(rename = "deltaPct")]
pub delta_pct: Option<f64>,
#[serde(rename = "timePeriod")]
pub time_period: DigitalExperienceMonitoringAggregateTimePeriod,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringAggregateTimePeriod {
pub units: String,
pub value: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringAggregateTimeSlot {
#[serde(rename = "avgMs")]
pub avg_ms: i64,
pub timestamp: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringApiResponseCollection {
pub result_info: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringApiResponseCollectionCommon {
pub result: Option<Vec<serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringApiResponseCommon {
pub errors: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringApiResponseSingle {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringColo {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringColosResponse {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringCommandsDevicesResponse {
pub devices: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringCpuPctByApp {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringCreateRuleBody {
pub description: Option<String>,
#[serde(rename = "match")]
pub r#match: String,
pub name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDevice {
#[serde(rename = "alwaysOn")]
pub always_on: Option<bool>,
#[serde(rename = "batteryCharging")]
pub battery_charging: Option<bool>,
#[serde(rename = "batteryCycles")]
pub battery_cycles: Option<i64>,
#[serde(rename = "batteryPct")]
pub battery_pct: Option<f64>,
pub colo: DigitalExperienceMonitoringColo,
#[serde(rename = "connectionType")]
pub connection_type: Option<String>,
#[serde(rename = "cpuPct")]
pub cpu_pct: Option<f64>,
#[serde(rename = "cpuPctByApp")]
pub cpu_pct_by_app: Option<Vec<Vec<std::collections::HashMap<String, serde_json::Value>>>>,
#[serde(rename = "deviceId")]
pub device_id: String,
#[serde(rename = "deviceIpv4")]
pub device_ipv4: Option<DigitalExperienceMonitoringIpInfo>,
#[serde(rename = "deviceIpv6")]
pub device_ipv6: Option<DigitalExperienceMonitoringIpInfo>,
#[serde(rename = "deviceName")]
pub device_name: Option<String>,
#[serde(rename = "diskReadBps")]
pub disk_read_bps: Option<i64>,
#[serde(rename = "diskUsagePct")]
pub disk_usage_pct: Option<f64>,
#[serde(rename = "diskWriteBps")]
pub disk_write_bps: Option<i64>,
#[serde(rename = "dohSubdomain")]
pub doh_subdomain: Option<String>,
#[serde(rename = "estimatedLossPct")]
pub estimated_loss_pct: Option<f64>,
#[serde(rename = "firewallEnabled")]
pub firewall_enabled: Option<bool>,
#[serde(rename = "gatewayIpv4")]
pub gateway_ipv4: Option<DigitalExperienceMonitoringIpInfo>,
#[serde(rename = "gatewayIpv6")]
pub gateway_ipv6: Option<DigitalExperienceMonitoringIpInfo>,
#[serde(rename = "handshakeLatencyMs")]
pub handshake_latency_ms: Option<f64>,
#[serde(rename = "ispIpv4")]
pub isp_ipv4: Option<DigitalExperienceMonitoringIpInfo>,
#[serde(rename = "ispIpv6")]
pub isp_ipv6: Option<DigitalExperienceMonitoringIpInfo>,
pub metal: Option<String>,
pub mode: DigitalExperienceMonitoringMode,
#[serde(rename = "networkRcvdBps")]
pub network_rcvd_bps: Option<i64>,
#[serde(rename = "networkSentBps")]
pub network_sent_bps: Option<i64>,
#[serde(rename = "networkSsid")]
pub network_ssid: Option<String>,
#[serde(rename = "personEmail")]
pub person_email: Option<DigitalExperienceMonitoringPersonEmail>,
pub platform: DigitalExperienceMonitoringPlatform,
#[serde(rename = "ramAvailableKb")]
pub ram_available_kb: Option<i64>,
#[serde(rename = "ramUsedPct")]
pub ram_used_pct: Option<f64>,
#[serde(rename = "ramUsedPctByApp")]
pub ram_used_pct_by_app: Option<Vec<Vec<std::collections::HashMap<String, serde_json::Value>>>>,
pub status: DigitalExperienceMonitoringStatus,
#[serde(rename = "switchLocked")]
pub switch_locked: Option<bool>,
pub timestamp: DigitalExperienceMonitoringTimestamp,
pub version: DigitalExperienceMonitoringVersion,
#[serde(rename = "wifiStrengthDbm")]
pub wifi_strength_dbm: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDeviceDexTestSchemasData {
pub host: String,
pub kind: String,
pub method: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDeviceDexTestSchemasDescription {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDeviceDexTestSchemasEnabled {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDeviceDexTestSchemasHttp {
pub data: DigitalExperienceMonitoringDeviceDexTestSchemasData,
pub description: Option<DigitalExperienceMonitoringDeviceDexTestSchemasDescription>,
pub enabled: DigitalExperienceMonitoringDeviceDexTestSchemasEnabled,
pub interval: DigitalExperienceMonitoringDeviceDexTestSchemasInterval,
pub name: DigitalExperienceMonitoringDeviceDexTestSchemasName,
pub target_policies: Option<Vec<DigitalExperienceMonitoringDexTargetPolicy>>,
pub targeted: Option<bool>,
pub test_id: Option<DigitalExperienceMonitoringSchemasTestId>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDeviceDexTestSchemasInterval {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDeviceDexTestSchemasName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDeviceDexTestTargetPolicies {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDexDeleteResponseCollection {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDexResponseCollection {
pub result: Option<Vec<DigitalExperienceMonitoringDeviceDexTestSchemasHttp>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDexRule {
pub created_at: String,
pub description: Option<String>,
pub id: DigitalExperienceMonitoringUuid,
#[serde(rename = "match")]
pub r#match: String,
pub name: String,
pub targeted_tests: Option<Vec<DigitalExperienceMonitoringDexTargetedTest>>,
pub updated_at: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDexSingleResponse {
pub result: Option<DigitalExperienceMonitoringDeviceDexTestSchemasHttp>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDexTargetPolicy {
pub default: Option<bool>,
pub id: DigitalExperienceMonitoringUuid,
pub name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringDexTargetedTest {
pub data: DigitalExperienceMonitoringDeviceDexTestSchemasData,
pub enabled: bool,
pub name: String,
pub test_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringFleetStatusDevicesResponse {
pub result: Option<Vec<DigitalExperienceMonitoringDevice>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringFleetStatusLiveResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringFleetStatusOverTimeResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringGetCommandsQuotaResponse {
pub quota: f64,
pub quota_usage: f64,
pub reset_time: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringGetCommandsResponse {
pub commands: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringHttpDetailsPercentilesResponse {
#[serde(rename = "dnsResponseTimeMs")]
pub dns_response_time_ms: Option<DigitalExperienceMonitoringPercentiles>,
#[serde(rename = "resourceFetchTimeMs")]
pub resource_fetch_time_ms: Option<DigitalExperienceMonitoringPercentiles>,
#[serde(rename = "serverResponseTimeMs")]
pub server_response_time_ms: Option<DigitalExperienceMonitoringPercentiles>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringHttpDetailsResponse {
pub host: Option<String>,
#[serde(rename = "httpStats")]
pub http_stats: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "httpStatsByColo")]
pub http_stats_by_colo: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
pub interval: Option<String>,
pub kind: Option<serde_json::Value>,
pub method: Option<String>,
pub name: Option<String>,
pub target_policies: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
pub targeted: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringIpInfo {
pub address: Option<String>,
pub asn: Option<i64>,
pub aso: Option<String>,
pub location: Option<std::collections::HashMap<String, serde_json::Value>>,
pub netmask: Option<String>,
pub version: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringListRulesResponse {
pub rules: Option<Vec<DigitalExperienceMonitoringDexRule>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringLiveStat {
#[serde(rename = "uniqueDevicesTotal")]
pub unique_devices_total: Option<DigitalExperienceMonitoringUniqueDevicesTotal>,
pub value: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringMode {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringPatchRuleBody {
pub description: Option<String>,
#[serde(rename = "match")]
pub r#match: Option<String>,
pub name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringPercentiles {
pub p50: Option<f64>,
pub p90: Option<f64>,
pub p95: Option<f64>,
pub p99: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringPersonEmail {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringPlatform {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringPostCommandsResponse {
pub commands: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringRamUsedPctByApp {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringSchemasAggregateStat {
pub timestamp: Option<DigitalExperienceMonitoringTimestamp>,
#[serde(rename = "uniqueDevicesTotal")]
pub unique_devices_total: Option<DigitalExperienceMonitoringUniqueDevicesTotal>,
pub value: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringSchemasTestId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringStatus {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringTestStatOverTime {
pub avg: Option<i64>,
pub max: Option<i64>,
pub min: Option<i64>,
pub slots: Vec<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringTestStatPctOverTime {
pub avg: Option<f64>,
pub max: Option<f64>,
pub min: Option<f64>,
pub slots: Vec<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringTestsResponse {
#[serde(rename = "overviewMetrics")]
pub overview_metrics: std::collections::HashMap<String, serde_json::Value>,
pub tests: Vec<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringTimestamp {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringTimingAggregates {
#[serde(rename = "avgMs")]
pub avg_ms: Option<i64>,
pub history: Vec<DigitalExperienceMonitoringAggregateStat>,
#[serde(rename = "overTime")]
pub over_time: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringTracerouteDetailsPercentilesResponse {
#[serde(rename = "hopsCount")]
pub hops_count: Option<DigitalExperienceMonitoringPercentiles>,
#[serde(rename = "packetLossPct")]
pub packet_loss_pct: Option<DigitalExperienceMonitoringPercentiles>,
#[serde(rename = "roundTripTimeMs")]
pub round_trip_time_ms: Option<DigitalExperienceMonitoringPercentiles>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringTracerouteDetailsResponse {
pub host: String,
pub interval: String,
pub kind: serde_json::Value,
pub name: String,
pub target_policies: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
pub targeted: Option<bool>,
#[serde(rename = "tracerouteStats")]
pub traceroute_stats: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "tracerouteStatsByColo")]
pub traceroute_stats_by_colo: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringTracerouteTestNetworkPathResponse {
#[serde(rename = "deviceName")]
pub device_name: Option<String>,
pub id: DigitalExperienceMonitoringUuid,
pub interval: Option<String>,
pub kind: Option<serde_json::Value>,
pub name: Option<String>,
#[serde(rename = "networkPath")]
pub network_path: Option<std::collections::HashMap<String, serde_json::Value>>,
pub url: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringTracerouteTestResultNetworkPathResponse {
#[serde(rename = "deviceName")]
pub device_name: Option<String>,
pub hops: Vec<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "resultId")]
pub result_id: DigitalExperienceMonitoringUuid,
#[serde(rename = "testId")]
pub test_id: Option<DigitalExperienceMonitoringUuid>,
#[serde(rename = "testName")]
pub test_name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringUniqueDevicesResponse {
#[serde(rename = "uniqueDevicesTotal")]
pub unique_devices_total: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringUniqueDevicesTotal {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringUuid {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringVersion {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringWarpConfigChangeEvent {
pub device_id: Option<DigitalExperienceMonitoringUuid>,
pub device_registration: Option<DigitalExperienceMonitoringUuid>,
pub from: Option<DigitalExperienceMonitoringWarpConfigDetails>,
pub hostname: Option<String>,
pub serial_number: Option<String>,
pub timestamp: Option<DigitalExperienceMonitoringTimestamp>,
pub to: Option<DigitalExperienceMonitoringWarpConfigDetails>,
pub user_email: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringWarpConfigDetails {
pub account_name: Option<String>,
pub account_tag: Option<DigitalExperienceMonitoringUuid>,
pub config_name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringWarpEventsResponse {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DigitalExperienceMonitoringWarpToggleChangeEvent {
pub account_name: Option<String>,
pub account_tag: Option<String>,
pub device_id: Option<DigitalExperienceMonitoringUuid>,
pub device_registration: Option<DigitalExperienceMonitoringUuid>,
pub hostname: Option<String>,
pub serial_number: Option<String>,
pub timestamp: Option<DigitalExperienceMonitoringTimestamp>,
pub toggle: Option<String>,
pub user_email: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct GetCommandsEligibleDevicesResponse {
pub result: Option<DigitalExperienceMonitoringCommandsDevicesResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct GetCommandsQuotaResponse {
pub result: Option<DigitalExperienceMonitoringGetCommandsQuotaResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct GetCommandsResponse {
pub result: Option<DigitalExperienceMonitoringGetCommandsResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct GetDexRuleResponse {
pub result: Option<DigitalExperienceMonitoringDexRule>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct GetEventAggregateResponse {
#[serde(rename = "aggregateBy")]
pub aggregate_by: String,
pub aggregations: Vec<serde_json::Value>,
#[serde(rename = "dateRange")]
pub date_range: Option<GetEventAggregateResponseDateRange>,
pub total: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct GetEventAggregateResponseDateRange {
#[serde(rename = "endDate")]
pub end_date: Option<String>,
#[serde(rename = "startDate")]
pub start_date: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraApiResponseCollection {
pub result_info: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraApiResponseCommon {
pub errors: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraApiResponseSingle {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraApiTlsSettings {
pub cert_verification_mode: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraConnectivityServiceArray {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraDualStackHost {
pub ipv4: String,
pub ipv6: String,
pub network: InfraNetwork,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraHostnameHost {
pub hostname: String,
pub resolver_network: InfraResolverNetwork,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraHttpServiceConfig {
pub http_port: Option<i64>,
pub https_port: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraIPv4Host {
pub ipv4: String,
pub network: InfraNetwork,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraIPv6Host {
pub ipv6: String,
pub network: InfraNetwork,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraNetwork {
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraResolverNetwork {
pub resolver_ips: Option<Vec<String>>,
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraServiceCommon {
pub created_at: Option<String>,
pub host: InfraServiceHost,
pub name: String,
pub service_id: Option<String>,
pub tls_settings: Option<serde_json::Value>,
#[serde(rename = "type")]
pub r#type: InfraServiceType,
pub updated_at: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraServiceConfig {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraServiceHost {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraServiceType {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct InfraTcpServiceConfig {
pub app_protocol: Option<String>,
pub tcp_port: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ListDexRulesResponse {
pub result: Option<DigitalExperienceMonitoringListRulesResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ListWarpChangeEventsResponse {
pub result: Option<Vec<serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAllowNullCipher {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicApiResponseCommon {
pub errors: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub result: serde_json::Value,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicApiResponseSingle {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAutomaticReturnRouting {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicBgpConfig {
pub customer_asn: i64,
pub extra_prefixes: Option<Vec<String>>,
pub md5_key: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicBgpStatusWithState {
pub bgp_state: Option<String>,
pub cf_speaker_ip: Option<String>,
pub cf_speaker_port: Option<i64>,
pub customer_speaker_ip: Option<String>,
pub customer_speaker_port: Option<i64>,
pub state: String,
pub tcp_established: bool,
pub updated_at: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicCloudflareGreEndpoint {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicCloudflareIpsecEndpoint {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicComponentsSchemasDescription {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicComponentsSchemasModifiedTunnelsCollectionResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicComponentsSchemasName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicComponentsSchemasTunnelModifiedResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicComponentsSchemasTunnelSingleResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicComponentsSchemasTunnelsCollectionResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicCreateGreTunnelRequest {
pub automatic_return_routing: Option<MagicAutomaticReturnRouting>,
pub bgp: Option<MagicBgpConfig>,
pub cloudflare_gre_endpoint: MagicCloudflareGreEndpoint,
pub customer_gre_endpoint: MagicCustomerGreEndpoint,
pub description: Option<MagicSchemasDescription>,
pub health_check: Option<MagicTunnelHealthCheck>,
pub interface_address: MagicInterfaceAddress,
pub interface_address6: Option<MagicInterfaceAddress6>,
pub mtu: Option<MagicMtu>,
pub name: MagicGreTunnelName,
pub ttl: Option<MagicTtl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicCreateGreTunnelResponse {
pub result: Option<MagicGreTunnel>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicCustomRemoteIdentities {
pub fqdn_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicCustomerGreEndpoint {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicCustomerIpsecEndpoint {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicGre {
pub cloudflare_endpoint: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicGreTunnel {
pub automatic_return_routing: Option<MagicAutomaticReturnRouting>,
pub bgp: Option<MagicBgpConfig>,
pub bgp_status: Option<MagicBgpStatusWithState>,
pub cloudflare_gre_endpoint: MagicCloudflareGreEndpoint,
pub created_on: Option<MagicSchemasCreatedOn>,
pub customer_gre_endpoint: MagicCustomerGreEndpoint,
pub description: Option<MagicSchemasDescription>,
pub health_check: Option<MagicTunnelHealthCheck>,
pub id: MagicSchemasIdentifier,
pub interface_address: MagicInterfaceAddress,
pub interface_address6: Option<MagicInterfaceAddress6>,
pub modified_on: Option<MagicSchemasModifiedOn>,
pub mtu: Option<MagicMtu>,
pub name: MagicGreTunnelName,
pub ttl: Option<MagicTtl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicGreTunnelAddSingleRequest {
pub automatic_return_routing: Option<MagicAutomaticReturnRouting>,
pub cloudflare_gre_endpoint: MagicCloudflareGreEndpoint,
pub customer_gre_endpoint: MagicCustomerGreEndpoint,
pub description: Option<MagicSchemasDescription>,
pub health_check: Option<MagicTunnelHealthCheck>,
pub interface_address: MagicInterfaceAddress,
pub interface_address6: Option<MagicInterfaceAddress6>,
pub mtu: Option<MagicMtu>,
pub name: MagicGreTunnelName,
pub ttl: Option<MagicTtl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicGreTunnelName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicGreTunnelUpdateRequest {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicHealthCheckBase {
pub enabled: Option<bool>,
pub rate: Option<String>,
pub target: Option<serde_json::Value>,
#[serde(rename = "type")]
pub r#type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicInterconnect {
pub automatic_return_routing: Option<MagicAutomaticReturnRouting>,
pub colo_name: Option<MagicComponentsSchemasName>,
pub created_on: Option<MagicSchemasCreatedOn>,
pub description: Option<MagicInterconnectComponentsSchemasDescription>,
pub gre: Option<MagicGre>,
pub health_check: Option<MagicInterconnectHealthCheck>,
pub id: Option<MagicSchemasIdentifier>,
pub interface_address: Option<MagicInterfaceAddress>,
pub interface_address6: Option<MagicInterfaceAddress6>,
pub modified_on: Option<MagicSchemasModifiedOn>,
pub mtu: Option<MagicSchemasMtu>,
pub name: Option<MagicComponentsSchemasName>,
pub virtual_port_reservation_id: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicInterconnectComponentsSchemasDescription {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicInterconnectHealthCheck {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicInterconnectTunnelUpdateRequest {
pub automatic_return_routing: Option<MagicAutomaticReturnRouting>,
pub description: Option<MagicInterconnectComponentsSchemasDescription>,
pub gre: Option<MagicGre>,
pub health_check: Option<MagicInterconnectHealthCheck>,
pub interface_address: Option<MagicInterfaceAddress>,
pub interface_address6: Option<MagicInterfaceAddress6>,
pub mtu: Option<MagicSchemasMtu>,
pub name: Option<MagicComponentsSchemasName>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicInterfaceAddress {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicInterfaceAddress6 {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicIpsecTunnel {
pub allow_null_cipher: Option<MagicAllowNullCipher>,
pub automatic_return_routing: Option<MagicAutomaticReturnRouting>,
pub bgp: Option<MagicBgpConfig>,
pub bgp_status: Option<MagicBgpStatusWithState>,
pub cloudflare_endpoint: MagicCloudflareIpsecEndpoint,
pub created_on: Option<MagicSchemasCreatedOn>,
pub custom_remote_identities: Option<MagicCustomRemoteIdentities>,
pub customer_endpoint: Option<MagicCustomerIpsecEndpoint>,
pub description: Option<MagicComponentsSchemasDescription>,
pub health_check: Option<MagicTunnelHealthCheck>,
pub id: MagicSchemasIdentifier,
pub interface_address: MagicInterfaceAddress,
pub interface_address6: Option<MagicInterfaceAddress6>,
pub modified_on: Option<MagicSchemasModifiedOn>,
pub name: MagicIpsecTunnelName,
pub psk_metadata: Option<MagicPskMetadata>,
pub replay_protection: Option<MagicReplayProtection>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicIpsecTunnelAddRequest {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicIpsecTunnelAddSingleRequest {
pub automatic_return_routing: Option<MagicAutomaticReturnRouting>,
pub bgp: Option<MagicBgpConfig>,
pub cloudflare_endpoint: MagicCloudflareIpsecEndpoint,
pub custom_remote_identities: Option<MagicCustomRemoteIdentities>,
pub customer_endpoint: Option<MagicCustomerIpsecEndpoint>,
pub description: Option<MagicComponentsSchemasDescription>,
pub health_check: Option<MagicTunnelHealthCheck>,
pub interface_address: MagicInterfaceAddress,
pub interface_address6: Option<MagicInterfaceAddress6>,
pub name: MagicIpsecTunnelName,
pub psk: Option<MagicPsk>,
pub replay_protection: Option<MagicReplayProtection>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicIpsecTunnelName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicModifiedTunnelsCollectionResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicMtu {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicPsk {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicPskGenerationResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicPskMetadata {
pub last_generated_on: Option<MagicSchemasModifiedOn>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicReplayProtection {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSchemasCreateIpsecTunnelResponse {
pub result: Option<MagicIpsecTunnel>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSchemasCreatedOn {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSchemasDescription {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSchemasIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSchemasModifiedOn {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSchemasModifiedTunnelsCollectionResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSchemasMtu {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSchemasTunnelDeletedResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSchemasTunnelModifiedResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSchemasTunnelSingleResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSchemasTunnelsCollectionResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicTtl {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicTunnelDeletedResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicTunnelHealthCheck {
pub direction: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicTunnelModifiedResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicTunnelSingleResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicTunnelsCollectionResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscAccountTag {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscApiBandwidth {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscBgpControl {
pub customer_asn: i64,
pub extra_prefixes: Vec<String>,
pub md5_key: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscCloudflareSite {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscCni {
pub account: NscAccountTag,
pub bgp: Option<NscBgpControl>,
pub cust_ip: String,
pub id: String,
pub interconnect: String,
pub magic: NscMagicSettings,
pub p2p_ip: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscCniCreate {
pub account: NscAccountTag,
pub bgp: Option<NscBgpControl>,
pub interconnect: String,
pub magic: NscMagicSettings,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscCniList {
pub items: Vec<NscCni>,
pub next: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscFacilityInfo {
pub address: Vec<String>,
pub name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscInterconnect {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscInterconnectCreate {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscInterconnectCreateGcpPartnerBody {
pub account: String,
pub bandwidth: NscApiBandwidth,
pub pairing_key: String,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscInterconnectCreatePhysicalBody {
pub account: String,
#[serde(rename = "type")]
pub r#type: String,
pub slot_id: String,
pub speed: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscInterconnectGcpPartnerBody {
pub account: String,
pub name: String,
pub owner: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
pub region: String,
pub speed: Option<NscApiBandwidth>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscInterconnectList {
pub items: Vec<NscInterconnect>,
pub next: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscInterconnectPhysicalBody {
pub account: String,
pub facility: NscFacilityInfo,
pub name: String,
pub owner: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
pub site: NscCloudflareSite,
pub slot_id: String,
pub speed: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscMagicSettings {
pub conduit_name: String,
pub description: String,
pub mtu: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscSettings {
pub default_asn: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscSettingsRequest {
pub default_asn: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscSlotInfo {
pub account: Option<NscAccountTag>,
pub facility: NscFacilityInfo,
pub id: String,
pub occupied: bool,
pub site: String,
pub speed: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscSlotList {
pub items: Vec<NscSlotInfo>,
pub next: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NscStatusInfo {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PostCommandsRequest {
pub commands: Vec<PostCommandsRequestCommandsItem>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PostCommandsRequestCommandsItem {
pub command_args: Option<PostCommandsRequestCommandsItemCommandArgs>,
pub command_type: String,
pub device_id: String,
pub registration_id: Option<String>,
pub user_email: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PostCommandsRequestCommandsItemCommandArgs {
pub interfaces: Option<Vec<String>>,
#[serde(rename = "max-file-size-mb")]
pub max_file_size_mb: Option<f64>,
#[serde(rename = "packet-size-bytes")]
pub packet_size_bytes: Option<f64>,
#[serde(rename = "test-all-routes")]
pub test_all_routes: Option<bool>,
#[serde(rename = "time-limit-min")]
pub time_limit_min: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PostCommandsResponse {
pub result: Option<DigitalExperienceMonitoringPostCommandsResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperApiV4Error {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperApiV4Message {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperApiV4Success {
pub errors: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
pub messages: Option<Vec<String>>,
pub success: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperConnectivityResponse {
#[serde(rename = "connectivityStatus")]
pub connectivity_status: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperGCSLikeCredsSchema {
#[serde(rename = "clientEmail")]
pub client_email: String,
#[serde(rename = "privateKey")]
pub private_key: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperGCSSourceSchema {
pub bucket: String,
pub keys: Option<Vec<String>>,
#[serde(rename = "pathPrefix")]
pub path_prefix: Option<String>,
pub secret: R2SlurperGCSLikeCredsSchema,
pub vendor: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperJobProgressResponse {
#[serde(rename = "createdAt")]
pub created_at: Option<String>,
#[serde(rename = "failedObjects")]
pub failed_objects: Option<i64>,
pub id: Option<String>,
pub objects: Option<i64>,
#[serde(rename = "skippedObjects")]
pub skipped_objects: Option<i64>,
pub status: Option<R2SlurperJobStatus>,
#[serde(rename = "transferredObjects")]
pub transferred_objects: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperJobStatus {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperJurisdiction {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperR2SourceSchema {
pub bucket: String,
pub jurisdiction: Option<R2SlurperJurisdiction>,
pub keys: Option<Vec<String>>,
#[serde(rename = "pathPrefix")]
pub path_prefix: Option<String>,
pub secret: R2SlurperS3LikeCredsSchema,
pub vendor: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperR2TargetSchema {
pub bucket: String,
pub jurisdiction: Option<R2SlurperJurisdiction>,
pub secret: R2SlurperS3LikeCredsSchema,
pub vendor: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperS3LikeCredsSchema {
#[serde(rename = "accessKeyId")]
pub access_key_id: String,
#[serde(rename = "secretAccessKey")]
pub secret_access_key: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperS3SourceSchema {
pub bucket: String,
pub endpoint: Option<String>,
pub keys: Option<Vec<String>>,
#[serde(rename = "pathPrefix")]
pub path_prefix: Option<String>,
pub region: Option<String>,
pub secret: R2SlurperS3LikeCredsSchema,
pub vendor: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct R2SlurperSourceJobSchema {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpHijacksEventsResponse {
pub result: RadarGetBgpHijacksEventsResponseResult,
pub result_info: RadarGetBgpHijacksEventsResponseResultInfo,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpHijacksEventsResponseResult {
pub asn_info: Vec<RadarGetBgpHijacksEventsResponseResultAsnInfoItem>,
pub events: Vec<RadarGetBgpHijacksEventsResponseResultEventsItem>,
pub total_monitors: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpHijacksEventsResponseResultAsnInfoItem {
pub asn: i64,
pub country_code: String,
pub org_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpHijacksEventsResponseResultEventsItem {
pub confidence_score: i64,
pub duration: i64,
pub event_type: i64,
pub hijack_msgs_count: i64,
pub hijacker_asn: i64,
pub hijacker_country: String,
pub id: i64,
pub is_stale: bool,
pub max_hijack_ts: String,
pub max_msg_ts: String,
pub min_hijack_ts: String,
pub on_going_count: i64,
pub peer_asns: Vec<i64>,
pub peer_ip_count: i64,
pub prefixes: Vec<String>,
pub tags: Vec<RadarGetBgpHijacksEventsResponseResultEventsItemTagsItem>,
pub victim_asns: Vec<i64>,
pub victim_countries: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpHijacksEventsResponseResultEventsItemTagsItem {
pub name: String,
pub score: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpHijacksEventsResponseResultInfo {
pub count: i64,
pub page: i64,
pub per_page: i64,
pub total_count: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponse {
pub result: RadarGetBgpIpsTimeseriesResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResult {
pub meta: RadarGetBgpIpsTimeseriesResponseResultMeta,
pub serie_0: RadarGetBgpIpsTimeseriesResponseResultSerie0,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResultMeta {
#[serde(rename = "aggInterval")]
pub agg_interval: String,
#[serde(rename = "confidenceInfo")]
pub confidence_info: RadarGetBgpIpsTimeseriesResponseResultMetaConfidenceInfo,
#[serde(rename = "dateRange")]
pub date_range: Vec<RadarGetBgpIpsTimeseriesResponseResultMetaDateRangeItem>,
pub delay: Option<RadarGetBgpIpsTimeseriesResponseResultMetaDelay>,
#[serde(rename = "lastUpdated")]
pub last_updated: String,
pub normalization: String,
pub units: Vec<RadarGetBgpIpsTimeseriesResponseResultMetaUnitsItem>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResultMetaConfidenceInfo {
pub annotations: Vec<RadarGetBgpIpsTimeseriesResponseResultMetaConfidenceInfoAnnotationsItem>,
pub level: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResultMetaConfidenceInfoAnnotationsItem {
#[serde(rename = "dataSource")]
pub data_source: String,
pub description: String,
#[serde(rename = "endDate")]
pub end_date: String,
#[serde(rename = "eventType")]
pub event_type: String,
#[serde(rename = "isInstantaneous")]
pub is_instantaneous: bool,
#[serde(rename = "linkedUrl")]
pub linked_url: String,
#[serde(rename = "startDate")]
pub start_date: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResultMetaDateRangeItem {
#[serde(rename = "endTime")]
pub end_time: String,
#[serde(rename = "startTime")]
pub start_time: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResultMetaDelay {
pub asn_data: RadarGetBgpIpsTimeseriesResponseResultMetaDelayAsnData,
pub country_data: RadarGetBgpIpsTimeseriesResponseResultMetaDelayCountryData,
pub healthy: bool,
#[serde(rename = "nowTs")]
pub now_ts: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResultMetaDelayAsnData {
#[serde(rename = "delaySecs")]
pub delay_secs: f64,
#[serde(rename = "delayStr")]
pub delay_str: String,
pub healthy: bool,
pub latest: RadarGetBgpIpsTimeseriesResponseResultMetaDelayAsnDataLatest,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResultMetaDelayAsnDataLatest {
pub entries_count: f64,
pub path: String,
pub timestamp: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResultMetaDelayCountryData {
#[serde(rename = "delaySecs")]
pub delay_secs: f64,
#[serde(rename = "delayStr")]
pub delay_str: String,
pub healthy: bool,
pub latest: RadarGetBgpIpsTimeseriesResponseResultMetaDelayCountryDataLatest,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResultMetaDelayCountryDataLatest {
pub count: f64,
pub timestamp: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResultMetaUnitsItem {
pub name: String,
pub value: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesResponseResultSerie0 {
pub ipv4: Vec<String>,
pub ipv6: Vec<String>,
pub timestamps: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpPfx2AsMoasResponseResult {
pub meta: RadarGetBgpPfx2AsMoasResponseResultMeta,
pub moas: Vec<RadarGetBgpPfx2AsMoasResponseResultMoasItem>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpPfx2AsMoasResponseResultMeta {
pub data_time: String,
pub query_time: String,
pub total_peers: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpPfx2AsMoasResponseResultMoasItem {
pub origins: Vec<RadarGetBgpPfx2AsMoasResponseResultMoasItemOriginsItem>,
pub prefix: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpPfx2AsMoasResponseResultMoasItemOriginsItem {
pub origin: i64,
pub peer_count: i64,
pub rpki_validation: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpPfx2AsResponseResult {
pub meta: RadarGetBgpPfx2AsResponseResultMeta,
pub prefix_origins: Vec<RadarGetBgpPfx2AsResponseResultPrefixOriginsItem>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpPfx2AsResponseResultMeta {
pub data_time: String,
pub query_time: String,
pub total_peers: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpPfx2AsResponseResultPrefixOriginsItem {
pub origin: i64,
pub peer_count: i64,
pub prefix: String,
pub rpki_validation: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpPfx2asMoasResponse {
pub result: RadarGetBgpPfx2AsMoasResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpPfx2asResponse {
pub result: RadarGetBgpPfx2AsResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRouteLeakEventsResponse {
pub result: RadarGetBgpRouteLeakEventsResponseResult,
pub result_info: RadarGetBgpRouteLeakEventsResponseResultInfo,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRouteLeakEventsResponseResult {
pub asn_info: Vec<RadarGetBgpRouteLeakEventsResponseResultAsnInfoItem>,
pub events: Vec<RadarGetBgpRouteLeakEventsResponseResultEventsItem>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRouteLeakEventsResponseResultAsnInfoItem {
pub asn: i64,
pub country_code: String,
pub org_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRouteLeakEventsResponseResultEventsItem {
pub countries: Vec<String>,
pub detected_ts: String,
pub finished: bool,
pub id: i64,
pub leak_asn: i64,
pub leak_count: i64,
pub leak_seg: Vec<i64>,
pub leak_type: i64,
pub max_ts: String,
pub min_ts: String,
pub origin_count: i64,
pub peer_count: i64,
pub prefix_count: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRouteLeakEventsResponseResultInfo {
pub count: i64,
pub page: i64,
pub per_page: i64,
pub total_count: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRoutesAsnsResponse {
pub result: RadarGetBgpRoutesAsnsResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRoutesAsnsResponseResult {
pub asns: Vec<RadarGetBgpRoutesAsnsResponseResultAsnsItem>,
pub meta: RadarGetBgpRoutesAsnsResponseResultMeta,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRoutesAsnsResponseResultAsnsItem {
pub asn: i64,
#[serde(rename = "coneSize")]
pub cone_size: i64,
pub country: String,
#[serde(rename = "ipv4Count")]
pub ipv4_count: i64,
#[serde(rename = "ipv6Count")]
pub ipv6_count: String,
pub name: String,
#[serde(rename = "pfxsCount")]
pub pfxs_count: i64,
#[serde(rename = "rpkiInvalid")]
pub rpki_invalid: i64,
#[serde(rename = "rpkiUnknown")]
pub rpki_unknown: i64,
#[serde(rename = "rpkiValid")]
pub rpki_valid: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRoutesAsnsResponseResultMeta {
#[serde(rename = "dataTime")]
pub data_time: String,
#[serde(rename = "queryTime")]
pub query_time: String,
#[serde(rename = "totalPeers")]
pub total_peers: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRoutesStatsResponse {
pub result: RadarGetBgpRoutesStatsResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRoutesStatsResponseResult {
pub meta: RadarGetBgpRoutesStatsResponseResultMeta,
pub stats: RadarGetBgpRoutesStatsResponseResultStats,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRoutesStatsResponseResultMeta {
pub data_time: String,
pub query_time: String,
pub total_peers: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRoutesStatsResponseResultStats {
pub distinct_origins: i64,
pub distinct_origins_ipv4: i64,
pub distinct_origins_ipv6: i64,
pub distinct_prefixes: i64,
pub distinct_prefixes_ipv4: i64,
pub distinct_prefixes_ipv6: i64,
pub routes_invalid: i64,
pub routes_invalid_ipv4: i64,
pub routes_invalid_ipv6: i64,
pub routes_total: i64,
pub routes_total_ipv4: i64,
pub routes_total_ipv6: i64,
pub routes_unknown: i64,
pub routes_unknown_ipv4: i64,
pub routes_unknown_ipv6: i64,
pub routes_valid: i64,
pub routes_valid_ipv4: i64,
pub routes_valid_ipv6: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaChangesResponse {
pub result: RadarGetBgpRpkiAspaChangesResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaChangesResponseResult {
#[serde(rename = "asnInfo")]
pub asn_info: RadarGetBgpRpkiAspaChangesResponseResultAsnInfo,
pub changes: Vec<RadarGetBgpRpkiAspaChangesResponseResultChangesItem>,
pub meta: RadarGetBgpRpkiAspaChangesResponseResultMeta,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaChangesResponseResultAsnInfo {
#[serde(rename = "13335")]
pub field_13335: RadarGetBgpRpkiAspaChangesResponseResultAsnInfo13335,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaChangesResponseResultAsnInfo13335 {
pub asn: i64,
pub country: String,
pub name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaChangesResponseResultChangesItem {
#[serde(rename = "customersAdded")]
pub customers_added: i64,
#[serde(rename = "customersRemoved")]
pub customers_removed: i64,
pub date: String,
pub entries: Vec<RadarGetBgpRpkiAspaChangesResponseResultChangesItemEntriesItem>,
#[serde(rename = "providersAdded")]
pub providers_added: i64,
#[serde(rename = "providersRemoved")]
pub providers_removed: i64,
#[serde(rename = "totalCount")]
pub total_count: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaChangesResponseResultChangesItemEntriesItem {
#[serde(rename = "customerAsn")]
pub customer_asn: i64,
pub providers: Vec<i64>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaChangesResponseResultMeta {
#[serde(rename = "dataTime")]
pub data_time: String,
#[serde(rename = "queryTime")]
pub query_time: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaSnapshotResponse {
pub result: RadarGetBgpRpkiAspaSnapshotResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaSnapshotResponseResult {
#[serde(rename = "asnInfo")]
pub asn_info: RadarGetBgpRpkiAspaSnapshotResponseResultAsnInfo,
#[serde(rename = "aspaObjects")]
pub aspa_objects: Vec<RadarGetBgpRpkiAspaSnapshotResponseResultAspaObjectsItem>,
pub meta: RadarGetBgpRpkiAspaSnapshotResponseResultMeta,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaSnapshotResponseResultAsnInfo {
#[serde(rename = "13335")]
pub field_13335: RadarGetBgpRpkiAspaSnapshotResponseResultAsnInfo13335,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaSnapshotResponseResultAsnInfo13335 {
pub asn: i64,
pub country: String,
pub name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaSnapshotResponseResultAspaObjectsItem {
#[serde(rename = "customerAsn")]
pub customer_asn: i64,
pub providers: Vec<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaSnapshotResponseResultMeta {
#[serde(rename = "dataTime")]
pub data_time: String,
#[serde(rename = "queryTime")]
pub query_time: String,
#[serde(rename = "totalCount")]
pub total_count: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaTimeseriesResponse {
pub result: RadarGetBgpRpkiAspaTimeseriesResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaTimeseriesResponseResult {
pub meta: RadarGetBgpRpkiAspaTimeseriesResponseResultMeta,
pub serie_0: RadarGetBgpRpkiAspaTimeseriesResponseResultSerie0,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaTimeseriesResponseResultMeta {
#[serde(rename = "dataTime")]
pub data_time: String,
#[serde(rename = "queryTime")]
pub query_time: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaTimeseriesResponseResultSerie0 {
pub timestamps: Vec<String>,
pub values: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTimeseriesResponse {
pub result: RadarGetBgpTimeseriesResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTimeseriesResponseResult {
pub meta: RadarGetBgpTimeseriesResponseResultMeta,
pub serie_0: RadarGetBgpTimeseriesResponseResultSerie0,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTimeseriesResponseResultMeta {
#[serde(rename = "aggInterval")]
pub agg_interval: String,
#[serde(rename = "confidenceInfo")]
pub confidence_info: RadarGetBgpTimeseriesResponseResultMetaConfidenceInfo,
#[serde(rename = "dateRange")]
pub date_range: Vec<RadarGetBgpTimeseriesResponseResultMetaDateRangeItem>,
#[serde(rename = "lastUpdated")]
pub last_updated: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTimeseriesResponseResultMetaConfidenceInfo {
pub annotations: Vec<RadarGetBgpTimeseriesResponseResultMetaConfidenceInfoAnnotationsItem>,
pub level: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTimeseriesResponseResultMetaConfidenceInfoAnnotationsItem {
#[serde(rename = "dataSource")]
pub data_source: String,
pub description: String,
#[serde(rename = "endDate")]
pub end_date: String,
#[serde(rename = "eventType")]
pub event_type: String,
#[serde(rename = "isInstantaneous")]
pub is_instantaneous: bool,
#[serde(rename = "linkedUrl")]
pub linked_url: String,
#[serde(rename = "startDate")]
pub start_date: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTimeseriesResponseResultMetaDateRangeItem {
#[serde(rename = "endTime")]
pub end_time: String,
#[serde(rename = "startTime")]
pub start_time: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTimeseriesResponseResultSerie0 {
pub timestamps: Vec<String>,
pub values: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopAsesResponse {
pub result: RadarGetBgpTopAsesResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopAsesResponseResult {
pub meta: RadarGetBgpTopAsesResponseResultMeta,
pub top_0: Vec<RadarGetBgpTopAsesResponseResultTop0Item>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopAsesResponseResultMeta {
#[serde(rename = "dateRange")]
pub date_range: Vec<RadarGetBgpTopAsesResponseResultMetaDateRangeItem>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopAsesResponseResultMetaDateRangeItem {
#[serde(rename = "endTime")]
pub end_time: String,
#[serde(rename = "startTime")]
pub start_time: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopAsesResponseResultTop0Item {
#[serde(rename = "ASName")]
pub as_name: String,
pub asn: i64,
pub value: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopAsnsByPrefixesResponse {
pub result: RadarGetBgpTopAsnsByPrefixesResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopAsnsByPrefixesResponseResult {
pub asns: Vec<RadarGetBgpTopAsnsByPrefixesResponseResultAsnsItem>,
pub meta: RadarGetBgpTopAsnsByPrefixesResponseResultMeta,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopAsnsByPrefixesResponseResultAsnsItem {
pub asn: i64,
pub country: String,
pub name: String,
pub pfxs_count: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopAsnsByPrefixesResponseResultMeta {
pub data_time: String,
pub query_time: String,
pub total_peers: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopPrefixesResponse {
pub result: RadarGetBgpTopPrefixesResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopPrefixesResponseResult {
pub meta: RadarGetBgpTopPrefixesResponseResultMeta,
pub top_0: Vec<RadarGetBgpTopPrefixesResponseResultTop0Item>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopPrefixesResponseResultMeta {
#[serde(rename = "dateRange")]
pub date_range: Vec<RadarGetBgpTopPrefixesResponseResultMetaDateRangeItem>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopPrefixesResponseResultMetaDateRangeItem {
#[serde(rename = "endTime")]
pub end_time: String,
#[serde(rename = "startTime")]
pub start_time: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetBgpTopPrefixesResponseResultTop0Item {
pub prefix: String,
pub value: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexSummaryResponse {
pub result: RadarGetQualityIndexSummaryResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexSummaryResponseResult {
pub meta: RadarGetQualityIndexSummaryResponseResultMeta,
pub summary_0: RadarGetQualityIndexSummaryResponseResultSummary0,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexSummaryResponseResultMeta {
#[serde(rename = "confidenceInfo")]
pub confidence_info: RadarGetQualityIndexSummaryResponseResultMetaConfidenceInfo,
#[serde(rename = "dateRange")]
pub date_range: Vec<RadarGetQualityIndexSummaryResponseResultMetaDateRangeItem>,
#[serde(rename = "lastUpdated")]
pub last_updated: String,
pub normalization: String,
pub units: Vec<RadarGetQualityIndexSummaryResponseResultMetaUnitsItem>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexSummaryResponseResultMetaConfidenceInfo {
pub annotations: Vec<RadarGetQualityIndexSummaryResponseResultMetaConfidenceInfoAnnotationsItem>,
pub level: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexSummaryResponseResultMetaConfidenceInfoAnnotationsItem {
#[serde(rename = "dataSource")]
pub data_source: String,
pub description: String,
#[serde(rename = "endDate")]
pub end_date: String,
#[serde(rename = "eventType")]
pub event_type: String,
#[serde(rename = "isInstantaneous")]
pub is_instantaneous: bool,
#[serde(rename = "linkedUrl")]
pub linked_url: String,
#[serde(rename = "startDate")]
pub start_date: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexSummaryResponseResultMetaDateRangeItem {
#[serde(rename = "endTime")]
pub end_time: String,
#[serde(rename = "startTime")]
pub start_time: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexSummaryResponseResultMetaUnitsItem {
pub name: String,
pub value: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexSummaryResponseResultSummary0 {
pub p25: String,
pub p50: String,
pub p75: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexTimeseriesGroupResponse {
pub result: RadarGetQualityIndexTimeseriesGroupResponseResult,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexTimeseriesGroupResponseResult {
pub meta: RadarGetQualityIndexTimeseriesGroupResponseResultMeta,
pub serie_0: RadarGetQualityIndexTimeseriesGroupResponseResultSerie0,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexTimeseriesGroupResponseResultMeta {
#[serde(rename = "aggInterval")]
pub agg_interval: String,
#[serde(rename = "confidenceInfo")]
pub confidence_info: RadarGetQualityIndexTimeseriesGroupResponseResultMetaConfidenceInfo,
#[serde(rename = "dateRange")]
pub date_range: Vec<RadarGetQualityIndexTimeseriesGroupResponseResultMetaDateRangeItem>,
#[serde(rename = "lastUpdated")]
pub last_updated: String,
pub normalization: String,
pub units: Vec<RadarGetQualityIndexTimeseriesGroupResponseResultMetaUnitsItem>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexTimeseriesGroupResponseResultMetaConfidenceInfo {
pub annotations: Vec<RadarGetQualityIndexTimeseriesGroupResponseResultMetaConfidenceInfoAnnotationsItem>,
pub level: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexTimeseriesGroupResponseResultMetaConfidenceInfoAnnotationsItem {
#[serde(rename = "dataSource")]
pub data_source: String,
pub description: String,
#[serde(rename = "endDate")]
pub end_date: String,
#[serde(rename = "eventType")]
pub event_type: String,
#[serde(rename = "isInstantaneous")]
pub is_instantaneous: bool,
#[serde(rename = "linkedUrl")]
pub linked_url: String,
#[serde(rename = "startDate")]
pub start_date: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexTimeseriesGroupResponseResultMetaDateRangeItem {
#[serde(rename = "endTime")]
pub end_time: String,
#[serde(rename = "startTime")]
pub start_time: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexTimeseriesGroupResponseResultMetaUnitsItem {
pub name: String,
pub value: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct RadarGetQualityIndexTimeseriesGroupResponseResultSerie0 {
pub p25: Vec<String>,
pub p50: Vec<String>,
pub p75: Vec<String>,
pub timestamps: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SlurperCheckSourceConnectivityResponse {
pub result: Option<R2SlurperConnectivityResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SlurperCheckTargetConnectivityResponse {
pub result: Option<R2SlurperConnectivityResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SlurperGetJobProgressResponse {
pub result: Option<R2SlurperJobProgressResponse>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SpectrumAnalyticsApiResponseCommon {
pub errors: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SpectrumAnalyticsApiResponseSingle {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SpectrumAnalyticsMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SpectrumAnalyticsQueryResponseAggregate {
pub result: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TeamsDevicesApiResponseCommon {
pub errors: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub result: serde_json::Value,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TeamsDevicesApiResponseSingle {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TeamsDevicesDisconnect {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TeamsDevicesGlobalWarpOverride {
pub disconnect: Option<TeamsDevicesDisconnect>,
pub timestamp: Option<TeamsDevicesTimestamp>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TeamsDevicesGlobalWarpOverrideRequest {
pub disconnect: TeamsDevicesDisconnect,
pub justification: Option<TeamsDevicesJustification>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TeamsDevicesGlobalWarpOverrideResponse {
pub result: Option<TeamsDevicesGlobalWarpOverride>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TeamsDevicesJustification {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TeamsDevicesMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TeamsDevicesTimestamp {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelAccountId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelApiResponseCollection {
pub result: Option<Vec<serde_json::Value>>,
pub result_info: Option<TunnelResultInfo>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelArch {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelCfdTunnel {
pub account_tag: Option<TunnelAccountId>,
pub config_src: Option<TunnelConfigSrc>,
pub connections: Option<Vec<TunnelSchemasConnection>>,
pub conns_active_at: Option<TunnelConnsActiveAt>,
pub conns_inactive_at: Option<TunnelConnsInactiveAt>,
pub created_at: Option<TunnelCreatedAt>,
pub deleted_at: Option<TunnelDeletedAt>,
pub id: Option<TunnelTunnelId>,
pub metadata: Option<TunnelMetadata>,
pub name: Option<TunnelTunnelName>,
pub remote_config: Option<TunnelRemoteConfig>,
pub status: Option<TunnelStatus>,
pub tun_type: Option<TunnelTunnelType>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelCfdTunnelResponseCollection {
pub result: Option<Vec<TunnelCfdTunnel>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelCfdTunnelResponseSingle {
pub result: Option<TunnelCfdTunnel>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelClientId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelClientIdInput {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelColoName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelConfig {
pub ingress: Option<Vec<TunnelIngressRule>>,
#[serde(rename = "originRequest")]
pub origin_request: Option<TunnelOriginRequest>,
#[serde(rename = "warp-routing")]
pub warp_routing: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelConfigSrc {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelConfigVersion {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelConfiguration {
pub account_id: Option<TunnelIdentifier>,
pub config: Option<TunnelConfig>,
pub created_at: Option<TunnelTimestamp>,
pub source: Option<TunnelSchemasConfigSrc>,
pub tunnel_id: Option<TunnelSchemasTunnelId>,
pub version: Option<TunnelSchemasConfigVersion>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelConfigurationResponse {
pub result: Option<TunnelConfiguration>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelConnectionId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelConnections {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelConnectionsDeprecated {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelConnsActiveAt {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelConnsInactiveAt {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelEmptyResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelFeatures {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelHaStatus {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelIcmpProxyEnabled {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelIngressRule {
pub hostname: String,
#[serde(rename = "originRequest")]
pub origin_request: Option<TunnelOriginRequest>,
pub path: Option<String>,
pub service: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelIpNetwork {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelIsDefaultNetwork {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelIsDefaultNetworkOptional {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelIsPendingReconnect {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelManagementResources {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelMetadata {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelOfframpWarpEnabled {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelOriginRequest {
pub access: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "caPool")]
pub ca_pool: Option<String>,
#[serde(rename = "connectTimeout")]
pub connect_timeout: Option<i64>,
#[serde(rename = "disableChunkedEncoding")]
pub disable_chunked_encoding: Option<bool>,
#[serde(rename = "http2Origin")]
pub http2_origin: Option<bool>,
#[serde(rename = "httpHostHeader")]
pub http_host_header: Option<String>,
#[serde(rename = "keepAliveConnections")]
pub keep_alive_connections: Option<i64>,
#[serde(rename = "keepAliveTimeout")]
pub keep_alive_timeout: Option<i64>,
#[serde(rename = "matchSNItoHost")]
pub match_sn_ito_host: Option<bool>,
#[serde(rename = "noHappyEyeballs")]
pub no_happy_eyeballs: Option<bool>,
#[serde(rename = "noTLSVerify")]
pub no_tls_verify: Option<bool>,
#[serde(rename = "originServerName")]
pub origin_server_name: Option<String>,
#[serde(rename = "proxyType")]
pub proxy_type: Option<String>,
#[serde(rename = "tcpKeepAlive")]
pub tcp_keep_alive: Option<i64>,
#[serde(rename = "tlsTimeout")]
pub tls_timeout: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelRemoteConfig {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelResultInfo {
pub count: Option<f64>,
pub page: Option<f64>,
pub per_page: Option<f64>,
pub total_count: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelRoute {
pub comment: Option<TunnelRouteComment>,
pub created_at: Option<TunnelCreatedAt>,
pub deleted_at: Option<TunnelDeletedAt>,
pub id: Option<TunnelRouteId>,
pub network: Option<TunnelIpNetwork>,
pub tunnel_id: Option<TunnelTunnelId>,
pub virtual_network_id: Option<TunnelVirtualNetworkId>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelRouteComment {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelRouteCreateATunnelRouteRequest {
pub comment: Option<TunnelRouteComment>,
pub network: TunnelIpNetwork,
pub tunnel_id: TunnelTunnelId,
pub virtual_network_id: Option<TunnelVirtualNetworkIdComputedOptional>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelRouteId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelRouteResponseSingle {
pub result: Option<TunnelRoute>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelRouteUpdateATunnelRouteRequest {
pub comment: Option<TunnelRouteComment>,
pub network: Option<TunnelIpNetwork>,
pub tunnel_id: Option<TunnelTunnelId>,
pub virtual_network_id: Option<TunnelVirtualNetworkIdComputedOptional>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelRunAt {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelSchemasApiResponseCommon {
pub errors: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelSchemasApiResponseSingle {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelSchemasConfigSrc {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelSchemasConfigVersion {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelSchemasConnection {
pub client_id: Option<TunnelClientId>,
pub client_version: Option<TunnelVersion>,
pub colo_name: Option<TunnelColoName>,
pub id: Option<TunnelConnectionId>,
pub is_pending_reconnect: Option<TunnelIsPendingReconnect>,
pub opened_at: Option<String>,
pub origin_ip: Option<serde_json::Value>,
pub uuid: Option<TunnelConnectionId>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelSchemasMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelSchemasTunnelId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelSchemasWarpConnectorConnection {
pub client_id: Option<TunnelClientId>,
pub client_version: Option<TunnelVersion>,
pub colo_name: Option<TunnelColoName>,
pub id: Option<TunnelConnectionId>,
pub opened_at: Option<String>,
pub origin_ip: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelStatus {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelSubnetResponseSingleNullable {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTeamnet {
pub comment: Option<TunnelRouteComment>,
pub created_at: Option<TunnelCreatedAt>,
pub deleted_at: Option<TunnelDeletedAt>,
pub id: Option<TunnelRouteId>,
pub network: Option<TunnelIpNetwork>,
pub tun_type: Option<TunnelTunnelType>,
pub tunnel_id: Option<TunnelTunnelId>,
pub tunnel_name: Option<TunnelTunnelName>,
pub virtual_network_id: Option<TunnelVirtualNetworkIdComputedOptional>,
pub virtual_network_name: Option<TunnelVirtualNetworkName>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTeamnetResponseCollection {
pub result: Option<Vec<TunnelTeamnet>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTeamnetResponseSingle {
pub result: Option<TunnelTeamnet>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTimestamp {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelClient {
pub arch: Option<TunnelArch>,
pub config_version: Option<TunnelConfigVersion>,
pub conns: Option<Vec<TunnelSchemasConnection>>,
pub features: Option<Vec<String>>,
pub id: Option<TunnelConnectionId>,
pub run_at: Option<TunnelRunAt>,
pub version: Option<TunnelVersion>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelClientResponse {
pub result: Option<TunnelTunnelClient>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelConnectionsResponse {
pub result: Option<Vec<TunnelTunnelClient>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelResponseToken {
pub result: Option<TunnelTunnelToken>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelSecret {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelToken {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelType {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelWarpConnectorClient {
pub arch: Option<TunnelArch>,
pub conns: Option<Vec<TunnelSchemasWarpConnectorConnection>>,
pub features: Option<Vec<String>>,
pub ha_status: Option<TunnelHaStatus>,
pub id: Option<TunnelClientId>,
pub run_at: Option<TunnelRunAt>,
pub version: Option<TunnelVersion>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelWarpConnectorClientResponse {
pub result: Option<TunnelTunnelWarpConnectorClient>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelTunnelWarpConnectorConnectionsResponse {
pub result: Option<Vec<TunnelTunnelWarpConnectorClient>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelVersion {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelVirtualNetwork {
pub comment: TunnelVirtualNetworkComment,
pub created_at: TunnelCreatedAt,
pub deleted_at: Option<TunnelDeletedAt>,
pub id: TunnelVirtualNetworkId,
pub is_default_network: TunnelIsDefaultNetwork,
pub name: TunnelVirtualNetworkName,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelVirtualNetworkComment {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelVirtualNetworkCreateAVirtualNetworkRequest {
pub comment: Option<TunnelVirtualNetworkComment>,
pub is_default: Option<bool>,
pub is_default_network: Option<TunnelIsDefaultNetworkOptional>,
pub name: TunnelVirtualNetworkName,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelVirtualNetworkGetRequest {
pub comment: Option<TunnelVirtualNetworkComment>,
pub is_default_network: Option<TunnelIsDefaultNetwork>,
pub name: Option<TunnelVirtualNetworkName>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelVirtualNetworkId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelVirtualNetworkIdComputedOptional {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelVirtualNetworkName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelVirtualNetworkUpdateRequest {
pub comment: Option<TunnelVirtualNetworkComment>,
pub is_default_network: Option<TunnelIsDefaultNetworkOptional>,
pub name: Option<TunnelVirtualNetworkName>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelVnetResponseCollection {
pub result: Option<Vec<TunnelVirtualNetwork>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelVnetResponseSingle {
pub result: Option<TunnelVirtualNetwork>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelWarpConnectorConnections {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelWarpConnectorResponseCollection {
pub result: Option<Vec<TunnelWarpConnectorTunnel>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelWarpConnectorResponseSingle {
pub result: Option<TunnelWarpConnectorTunnel>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelWarpConnectorTunnel {
pub account_tag: Option<TunnelAccountId>,
pub connections: Option<Vec<TunnelSchemasConnection>>,
pub conns_active_at: Option<TunnelConnsActiveAt>,
pub conns_inactive_at: Option<TunnelConnsInactiveAt>,
pub created_at: Option<TunnelCreatedAt>,
pub deleted_at: Option<TunnelDeletedAt>,
pub id: Option<TunnelTunnelId>,
pub metadata: Option<TunnelMetadata>,
pub name: Option<TunnelTunnelName>,
pub status: Option<TunnelStatus>,
pub tun_type: Option<TunnelTunnelType>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TunnelZeroTrustConnectivitySettingsResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct UpdateDexRuleResponse {
pub result: Option<DigitalExperienceMonitoringDexRule>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ZeroTrustAccountsPatchConnectivitySettingsRequest {
pub icmp_proxy_enabled: Option<TunnelIcmpProxyEnabled>,
pub offramp_warp_enabled: Option<TunnelOfframpWarpEnabled>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ZeroTrustNetworksSubnetCreateWarpRequest {
pub comment: Option<TunnelSubnetComment>,
pub is_default_network: Option<TunnelSubnetIsDefaultNetwork>,
pub name: TunnelSubnetName,
pub network: TunnelSubnetIpNetwork,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ZeroTrustNetworksSubnetUpdateWarpRequest {
pub comment: Option<TunnelSubnetComment>,
pub is_default_network: Option<TunnelSubnetIsDefaultNetwork>,
pub name: Option<TunnelSubnetName>,
pub network: Option<TunnelSubnetIpNetwork>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesListBgpPrefixesArgs {
pub account_id: String,
pub prefix_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesCreateBgpPrefixArgs {
pub account_id: String,
pub prefix_id: String,
pub body: AddressingBgpPrefixCreate,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesFetchBgpPrefixArgs {
pub account_id: String,
pub prefix_id: String,
pub bgp_prefix_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesUpdateBgpPrefixArgs {
pub account_id: String,
pub prefix_id: String,
pub bgp_prefix_id: String,
pub body: AddressingBgpPrefixUpdateAdvertisement,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesDeleteBgpPrefixArgs {
pub account_id: String,
pub prefix_id: String,
pub bgp_prefix_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelListCloudflareTunnelsArgs {
pub account_id: String,
pub name: Option<String>,
pub is_deleted: Option<String>,
pub existed_at: Option<String>,
pub uuid: Option<String>,
pub was_active_at: Option<String>,
pub was_inactive_at: Option<String>,
pub include_prefix: Option<String>,
pub exclude_prefix: Option<String>,
pub status: Option<String>,
pub per_page: Option<String>,
pub page: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelCreateACloudflareTunnelArgs {
pub account_id: String,
pub body: CloudflareTunnelCreateACloudflareTunnelRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelGetACloudflareTunnelArgs {
pub account_id: String,
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelUpdateACloudflareTunnelArgs {
pub tunnel_id: String,
pub account_id: String,
pub body: CloudflareTunnelUpdateACloudflareTunnelRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelDeleteACloudflareTunnelArgs {
pub account_id: String,
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelConfigurationGetConfigurationArgs {
pub account_id: String,
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelConfigurationPutConfigurationArgs {
pub account_id: String,
pub tunnel_id: String,
pub body: CloudflareTunnelConfigurationPutConfigurationRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelListCloudflareTunnelConnectionsArgs {
pub account_id: String,
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelCleanUpCloudflareTunnelConnectionsArgs {
pub account_id: String,
pub tunnel_id: String,
pub client_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelGetCloudflareTunnelConnectorArgs {
pub account_id: String,
pub tunnel_id: String,
pub connector_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelGetACloudflareTunnelManagementTokenArgs {
pub account_id: String,
pub tunnel_id: String,
pub body: CloudflareTunnelGetACloudflareTunnelManagementTokenRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelGetACloudflareTunnelTokenArgs {
pub account_id: String,
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetEventAggregateArgs {
pub account_id: String,
pub aggregate_by: Option<String>,
pub dataset_id: Option<String>,
pub start_date: Option<String>,
pub end_date: Option<String>,
pub group_by_date: Option<String>,
pub limit: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ListCnisArgs {
pub account_id: String,
pub slot: Option<String>,
pub tunnel_id: Option<String>,
pub cursor: Option<String>,
pub limit: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CreateCniArgs {
pub account_id: String,
pub body: NscCniCreate,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetCniArgs {
pub cni: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct UpdateCniArgs {
pub cni: String,
pub account_id: String,
pub body: NscCni,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeleteCniArgs {
pub cni: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ListInterconnectsArgs {
pub account_id: String,
pub site: Option<String>,
pub r#type: Option<String>,
pub cursor: Option<String>,
pub limit: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CreateInterconnectArgs {
pub account_id: String,
pub body: NscInterconnectCreate,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetInterconnectArgs {
pub icon: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeleteInterconnectArgs {
pub icon: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetInterconnectLoaArgs {
pub icon: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetInterconnectStatusArgs {
pub icon: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetSettingsArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct UpdateSettingsArgs {
pub account_id: String,
pub body: NscSettingsRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ListSlotsArgs {
pub account_id: String,
pub address_contains: Option<String>,
pub site: Option<String>,
pub speed: Option<String>,
pub occupied: Option<String>,
pub cursor: Option<String>,
pub limit: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetSlotArgs {
pub slot: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ConnectivityServicesListArgs {
pub account_id: String,
pub r#type: Option<String>,
pub page: Option<String>,
pub per_page: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ConnectivityServicesPostArgs {
pub account_id: String,
pub body: InfraServiceConfig,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ConnectivityServicesGetArgs {
pub account_id: String,
pub service_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ConnectivityServicesPutArgs {
pub account_id: String,
pub service_id: String,
pub body: InfraServiceConfig,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ConnectivityServicesDeleteArgs {
pub account_id: String,
pub service_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DevicesResilienceRetrieveGlobalWarpOverrideArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DevicesResilienceSetGlobalWarpOverrideArgs {
pub account_id: String,
pub body: TeamsDevicesGlobalWarpOverrideRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexEndpointsListColosArgs {
pub account_id: String,
pub from: Option<String>,
pub to: Option<String>,
pub sort_by: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetCommandsArgs {
pub account_id: String,
pub page: Option<String>,
pub per_page: Option<String>,
pub from: Option<String>,
pub to: Option<String>,
pub device_id: Option<String>,
pub user_email: Option<String>,
pub command_type: Option<String>,
pub status: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct PostCommandsArgs {
pub account_id: String,
pub body: PostCommandsRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetCommandsEligibleDevicesArgs {
pub account_id: String,
pub page: Option<String>,
pub per_page: Option<String>,
pub search: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetCommandsQuotaArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetCommandsCommandIdDownloadsFilenameArgs {
pub account_id: String,
pub command_id: String,
pub filename: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeviceDexTestDetailsArgs {
pub account_id: String,
pub page: Option<String>,
pub per_page: Option<String>,
pub test_name: Option<String>,
pub kind: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeviceDexTestCreateDeviceDexTestArgs {
pub account_id: String,
pub body: DigitalExperienceMonitoringDeviceDexTestSchemasHttp,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeviceDexTestGetDeviceDexTestArgs {
pub account_id: String,
pub dex_test_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeviceDexTestUpdateDeviceDexTestArgs {
pub account_id: String,
pub dex_test_id: String,
pub body: DigitalExperienceMonitoringDeviceDexTestSchemasHttp,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeviceDexTestDeleteDeviceDexTestArgs {
pub account_id: String,
pub dex_test_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DevicesLiveStatusArgs {
pub account_id: String,
pub device_id: String,
pub since_minutes: Option<String>,
pub time_now: Option<String>,
pub colo: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexFleetStatusDevicesArgs {
pub account_id: String,
pub to: Option<String>,
pub from: Option<String>,
pub page: Option<String>,
pub per_page: Option<String>,
pub sort_by: Option<String>,
pub colo: Option<String>,
pub device_id: Option<String>,
pub mode: Option<String>,
pub status: Option<String>,
pub platform: Option<String>,
pub version: Option<String>,
pub source: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexFleetStatusLiveArgs {
pub account_id: String,
pub since_minutes: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexFleetStatusOverTimeArgs {
pub account_id: String,
pub to: Option<String>,
pub from: Option<String>,
pub colo: Option<String>,
pub device_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexEndpointsHttpTestDetailsArgs {
pub account_id: String,
pub test_id: String,
pub device_id: Option<String>,
pub from: Option<String>,
pub to: Option<String>,
pub interval: Option<String>,
pub colo: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexEndpointsHttpTestPercentilesArgs {
pub account_id: String,
pub test_id: String,
pub device_id: Option<String>,
pub from: Option<String>,
pub to: Option<String>,
pub colo: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ListDexRulesArgs {
pub account_id: String,
pub page: Option<String>,
pub per_page: Option<String>,
pub sort_order: Option<String>,
pub sort_by: Option<String>,
pub name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CreateDexRuleArgs {
pub account_id: String,
pub body: DigitalExperienceMonitoringCreateRuleBody,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetDexRuleArgs {
pub account_id: String,
pub rule_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct UpdateDexRuleArgs {
pub account_id: String,
pub rule_id: String,
pub body: DigitalExperienceMonitoringPatchRuleBody,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeleteDexRuleArgs {
pub account_id: String,
pub rule_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexEndpointsListTestsOverviewArgs {
pub account_id: String,
pub colo: Option<String>,
pub test_name: Option<String>,
pub device_id: Option<String>,
pub page: Option<String>,
pub per_page: Option<String>,
pub kind: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexEndpointsTestsUniqueDevicesArgs {
pub account_id: String,
pub test_name: Option<String>,
pub device_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexEndpointsTracerouteTestResultNetworkPathArgs {
pub account_id: String,
pub test_result_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexEndpointsTracerouteTestDetailsArgs {
pub account_id: String,
pub test_id: String,
pub device_id: Option<String>,
pub from: Option<String>,
pub to: Option<String>,
pub interval: Option<String>,
pub colo: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexEndpointsTracerouteTestNetworkPathArgs {
pub account_id: String,
pub test_id: String,
pub device_id: Option<String>,
pub from: Option<String>,
pub to: Option<String>,
pub interval: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DexEndpointsTracerouteTestPercentilesArgs {
pub account_id: String,
pub test_id: String,
pub device_id: Option<String>,
pub from: Option<String>,
pub to: Option<String>,
pub colo: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ListWarpChangeEventsArgs {
pub account_id: String,
pub page: Option<String>,
pub per_page: Option<String>,
pub from: Option<String>,
pub to: Option<String>,
pub r#type: Option<String>,
pub toggle: Option<String>,
pub config_name: Option<String>,
pub account_name: Option<String>,
pub sort_order: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicInterconnectsListInterconnectsArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicInterconnectsUpdateMultipleInterconnectsArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicInterconnectsListInterconnectDetailsArgs {
pub cf_interconnect_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicInterconnectsUpdateInterconnectArgs {
pub cf_interconnect_id: String,
pub account_id: String,
pub body: MagicInterconnectTunnelUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicGreTunnelsListGreTunnelsArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicGreTunnelsCreateGreTunnelsArgs {
pub account_id: String,
pub body: MagicCreateGreTunnelRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicGreTunnelsUpdateMultipleGreTunnelsArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicGreTunnelsListGreTunnelDetailsArgs {
pub gre_tunnel_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicGreTunnelsUpdateGreTunnelArgs {
pub gre_tunnel_id: String,
pub account_id: String,
pub body: MagicGreTunnelUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicGreTunnelsDeleteGreTunnelArgs {
pub gre_tunnel_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicIpsecTunnelsListIpsecTunnelsArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicIpsecTunnelsCreateIpsecTunnelsArgs {
pub account_id: String,
pub body: MagicIpsecTunnelAddRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicIpsecTunnelsUpdateMultipleIpsecTunnelsArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicIpsecTunnelsListIpsecTunnelDetailsArgs {
pub ipsec_tunnel_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicIpsecTunnelsUpdateIpsecTunnelArgs {
pub ipsec_tunnel_id: String,
pub account_id: String,
pub body: MagicIpsecTunnelAddSingleRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicIpsecTunnelsDeleteIpsecTunnelArgs {
pub ipsec_tunnel_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnelsArgs {
pub ipsec_tunnel_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct SlurperGetJobProgressArgs {
pub account_id: String,
pub job_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct SlurperCheckSourceConnectivityArgs {
pub account_id: String,
pub body: R2SlurperSourceJobSchema,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct SlurperCheckTargetConnectivityArgs {
pub account_id: String,
pub body: R2SlurperR2TargetSchema,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct TunnelRouteListTunnelRoutesArgs {
pub account_id: String,
pub comment: Option<String>,
pub is_deleted: Option<String>,
pub network_subset: Option<String>,
pub network_superset: Option<String>,
pub existed_at: Option<String>,
pub tunnel_id: Option<String>,
pub route_id: Option<String>,
pub tun_types: Option<String>,
pub virtual_network_id: Option<String>,
pub per_page: Option<String>,
pub page: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct TunnelRouteCreateATunnelRouteArgs {
pub account_id: String,
pub body: TunnelRouteCreateATunnelRouteRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct TunnelRouteGetTunnelRouteByIpArgs {
pub ip: String,
pub account_id: String,
pub virtual_network_id: Option<String>,
pub default_virtual_network_fallback: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct TunnelRouteGetTunnelRouteArgs {
pub account_id: String,
pub route_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct TunnelRouteUpdateATunnelRouteArgs {
pub route_id: String,
pub account_id: String,
pub body: TunnelRouteUpdateATunnelRouteRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct TunnelRouteDeleteATunnelRouteArgs {
pub route_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct TunnelVirtualNetworkListVirtualNetworksArgs {
pub account_id: String,
pub id: Option<String>,
pub name: Option<String>,
pub is_default: Option<String>,
pub is_default_network: Option<String>,
pub is_deleted: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct TunnelVirtualNetworkCreateAVirtualNetworkArgs {
pub account_id: String,
pub body: TunnelVirtualNetworkCreateAVirtualNetworkRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct TunnelVirtualNetworkGetArgs {
pub account_id: String,
pub virtual_network_id: String,
pub body: TunnelVirtualNetworkGetRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct TunnelVirtualNetworkUpdateArgs {
pub account_id: String,
pub virtual_network_id: String,
pub body: TunnelVirtualNetworkUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct TunnelVirtualNetworkDeleteArgs {
pub virtual_network_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelListWarpConnectorTunnelsArgs {
pub account_id: String,
pub name: Option<String>,
pub is_deleted: Option<String>,
pub existed_at: Option<String>,
pub uuid: Option<String>,
pub was_active_at: Option<String>,
pub was_inactive_at: Option<String>,
pub include_prefix: Option<String>,
pub exclude_prefix: Option<String>,
pub status: Option<String>,
pub per_page: Option<String>,
pub page: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelCreateAWarpConnectorTunnelArgs {
pub account_id: String,
pub body: CloudflareTunnelCreateAWarpConnectorTunnelRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelGetAWarpConnectorTunnelArgs {
pub account_id: String,
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelUpdateAWarpConnectorTunnelArgs {
pub account_id: String,
pub tunnel_id: String,
pub body: CloudflareTunnelUpdateAWarpConnectorTunnelRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelDeleteAWarpConnectorTunnelArgs {
pub account_id: String,
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelListWarpConnectorTunnelConnectionsArgs {
pub account_id: String,
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelGetWarpConnectorTunnelConnectorArgs {
pub account_id: String,
pub tunnel_id: String,
pub connector_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelManualFailoverWarpConnectorTunnelArgs {
pub account_id: String,
pub tunnel_id: String,
pub body: CloudflareTunnelManualFailoverWarpConnectorTunnelRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CloudflareTunnelGetAWarpConnectorTunnelTokenArgs {
pub account_id: String,
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ZeroTrustAccountsGetConnectivitySettingsArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ZeroTrustAccountsPatchConnectivitySettingsArgs {
pub account_id: String,
pub body: ZeroTrustAccountsPatchConnectivitySettingsRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ZeroTrustNetworksSubnetCreateWarpArgs {
pub account_id: String,
pub body: ZeroTrustNetworksSubnetCreateWarpRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ZeroTrustNetworksSubnetGetWarpArgs {
pub account_id: String,
pub subnet_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ZeroTrustNetworksSubnetUpdateWarpArgs {
pub account_id: String,
pub subnet_id: String,
pub body: ZeroTrustNetworksSubnetUpdateWarpRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ZeroTrustNetworksSubnetDeleteWarpArgs {
pub account_id: String,
pub subnet_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpHijacksEventsArgs {
pub page: Option<String>,
pub per_page: Option<String>,
pub event_id: Option<String>,
pub hijacker_asn: Option<String>,
pub victim_asn: Option<String>,
pub involved_asn: Option<String>,
pub involved_country: Option<String>,
pub prefix: Option<String>,
pub min_confidence: Option<String>,
pub max_confidence: Option<String>,
pub date_range: Option<String>,
pub date_start: Option<String>,
pub date_end: Option<String>,
pub sort_by: Option<String>,
pub sort_order: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpIpsTimeseriesArgs {
pub name: Option<String>,
pub date_range: Option<String>,
pub date_start: Option<String>,
pub date_end: Option<String>,
pub asn: Option<String>,
pub location: Option<String>,
pub ip_version: Option<String>,
pub include_delay: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpRouteLeakEventsArgs {
pub page: Option<String>,
pub per_page: Option<String>,
pub event_id: Option<String>,
pub leak_asn: Option<String>,
pub involved_asn: Option<String>,
pub involved_country: Option<String>,
pub date_range: Option<String>,
pub date_start: Option<String>,
pub date_end: Option<String>,
pub sort_by: Option<String>,
pub sort_order: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpRoutesAsnsArgs {
pub location: Option<String>,
pub limit: Option<String>,
pub sort_by: Option<String>,
pub sort_order: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpPfx2AsMoasArgs {
pub origin: Option<String>,
pub prefix: Option<String>,
pub invalid_only: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpPfx2AsArgs {
pub prefix: Option<String>,
pub origin: Option<String>,
pub rpki_status: Option<String>,
pub longest_prefix_match: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpRoutesStatsArgs {
pub asn: Option<String>,
pub location: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaChangesArgs {
pub date_start: Option<String>,
pub date_end: Option<String>,
pub asn: Option<String>,
pub include_asn_info: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaSnapshotArgs {
pub customer_asn: Option<String>,
pub provider_asn: Option<String>,
pub date: Option<String>,
pub include_asn_info: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpRpkiAspaTimeseriesArgs {
pub date_start: Option<String>,
pub date_end: Option<String>,
pub name: Option<String>,
pub rir: Option<String>,
pub location: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpTimeseriesArgs {
pub agg_interval: Option<String>,
pub name: Option<String>,
pub date_range: Option<String>,
pub date_start: Option<String>,
pub date_end: Option<String>,
pub prefix: Option<String>,
pub update_type: Option<String>,
pub asn: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpTopAsesArgs {
pub limit: Option<String>,
pub name: Option<String>,
pub date_range: Option<String>,
pub date_start: Option<String>,
pub date_end: Option<String>,
pub asn: Option<String>,
pub prefix: Option<String>,
pub update_type: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpTopAsnsByPrefixesArgs {
pub country: Option<String>,
pub limit: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetBgpTopPrefixesArgs {
pub limit: Option<String>,
pub name: Option<String>,
pub date_range: Option<String>,
pub date_start: Option<String>,
pub date_end: Option<String>,
pub asn: Option<String>,
pub update_type: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetQualityIndexSummaryArgs {
pub name: Option<String>,
pub date_range: Option<String>,
pub date_start: Option<String>,
pub date_end: Option<String>,
pub asn: Option<String>,
pub location: Option<String>,
pub continent: Option<String>,
pub metric: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct RadarGetQualityIndexTimeseriesGroupArgs {
pub agg_interval: Option<String>,
pub name: Option<String>,
pub date_range: Option<String>,
pub date_start: Option<String>,
pub date_end: Option<String>,
pub asn: Option<String>,
pub location: Option<String>,
pub continent: Option<String>,
pub interpolation: Option<String>,
pub metric: Option<String>,
pub format: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsArgs {
pub zone_id: String,
pub app_id: Option<String>,
pub colo_name: Option<String>,
}
pub async fn ip_address_management_prefixes_list_bgp_prefixes_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesListBgpPrefixesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingResponseCollectionBgp>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes/{}/bgp/prefixes",
args.account_id,
args.prefix_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: AddressingResponseCollectionBgp = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn ip_address_management_prefixes_create_bgp_prefix_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesCreateBgpPrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingSingleResponseBgp>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes/{}/bgp/prefixes",
args.account_id,
args.prefix_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: AddressingSingleResponseBgp = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn ip_address_management_prefixes_fetch_bgp_prefix_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesFetchBgpPrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingSingleResponseBgp>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes/{}/bgp/prefixes/{}",
args.account_id,
args.prefix_id,
args.bgp_prefix_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: AddressingSingleResponseBgp = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn ip_address_management_prefixes_update_bgp_prefix_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesUpdateBgpPrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingSingleResponseBgp>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes/{}/bgp/prefixes/{}",
args.account_id,
args.prefix_id,
args.bgp_prefix_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::patch(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: AddressingSingleResponseBgp = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn ip_address_management_prefixes_delete_bgp_prefix_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesDeleteBgpPrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingApiResponseCommon>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes/{}/bgp/prefixes/{}",
args.account_id,
args.prefix_id,
args.bgp_prefix_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: AddressingApiResponseCommon = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_list_cloudflare_tunnels_request<F>(
client: DynNetClient,
args: &CloudflareTunnelListCloudflareTunnelsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelCfdTunnelResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("name", args.name.as_deref());
builder = builder.query("is_deleted", args.is_deleted.as_deref());
builder = builder.query("existed_at", args.existed_at.as_deref());
builder = builder.query("uuid", args.uuid.as_deref());
builder = builder.query("was_active_at", args.was_active_at.as_deref());
builder = builder.query("was_inactive_at", args.was_inactive_at.as_deref());
builder = builder.query("include_prefix", args.include_prefix.as_deref());
builder = builder.query("exclude_prefix", args.exclude_prefix.as_deref());
builder = builder.query("status", args.status.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("page", args.page.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelCfdTunnelResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_create_a_cloudflare_tunnel_request<F>(
client: DynNetClient,
args: &CloudflareTunnelCreateACloudflareTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelCfdTunnelResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelCfdTunnelResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_get_a_cloudflare_tunnel_request<F>(
client: DynNetClient,
args: &CloudflareTunnelGetACloudflareTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelCfdTunnelResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel/{}",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelCfdTunnelResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_update_a_cloudflare_tunnel_request<F>(
client: DynNetClient,
args: &CloudflareTunnelUpdateACloudflareTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelCfdTunnelResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel/{}",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::patch(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelCfdTunnelResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_delete_a_cloudflare_tunnel_request<F>(
client: DynNetClient,
args: &CloudflareTunnelDeleteACloudflareTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelCfdTunnelResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel/{}",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelCfdTunnelResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_configuration_get_configuration_request<F>(
client: DynNetClient,
args: &CloudflareTunnelConfigurationGetConfigurationArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelConfigurationResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel/{}/configurations",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelConfigurationResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_configuration_put_configuration_request<F>(
client: DynNetClient,
args: &CloudflareTunnelConfigurationPutConfigurationArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelConfigurationResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel/{}/configurations",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelConfigurationResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_list_cloudflare_tunnel_connections_request<F>(
client: DynNetClient,
args: &CloudflareTunnelListCloudflareTunnelConnectionsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelTunnelConnectionsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel/{}/connections",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelTunnelConnectionsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_clean_up_cloudflare_tunnel_connections_request<F>(
client: DynNetClient,
args: &CloudflareTunnelCleanUpCloudflareTunnelConnectionsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelEmptyResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel/{}/connections",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("client_id", args.client_id.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelEmptyResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_get_cloudflare_tunnel_connector_request<F>(
client: DynNetClient,
args: &CloudflareTunnelGetCloudflareTunnelConnectorArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelTunnelClientResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel/{}/connectors/{}",
args.account_id,
args.tunnel_id,
args.connector_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelTunnelClientResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_get_a_cloudflare_tunnel_management_token_request<F>(
client: DynNetClient,
args: &CloudflareTunnelGetACloudflareTunnelManagementTokenArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelTunnelResponseToken>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel/{}/management",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelTunnelResponseToken = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_get_a_cloudflare_tunnel_token_request<F>(
client: DynNetClient,
args: &CloudflareTunnelGetACloudflareTunnelTokenArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelTunnelResponseToken>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cfd_tunnel/{}/token",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelTunnelResponseToken = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn get_event_aggregate_request<F>(
client: DynNetClient,
args: &GetEventAggregateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<GetEventAggregateResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cloudforce-one/events/aggregate",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("aggregateBy", args.aggregate_by.as_deref());
builder = builder.query("datasetId", args.dataset_id.as_deref());
builder = builder.query("startDate", args.start_date.as_deref());
builder = builder.query("endDate", args.end_date.as_deref());
builder = builder.query("groupByDate", args.group_by_date.as_deref());
builder = builder.query("limit", args.limit.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: GetEventAggregateResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn list_cnis_request<F>(
client: DynNetClient,
args: &ListCnisArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscCniList>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/cnis",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("slot", args.slot.as_deref());
builder = builder.query("tunnel_id", args.tunnel_id.as_deref());
builder = builder.query("cursor", args.cursor.as_deref());
builder = builder.query("limit", args.limit.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscCniList = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn create_cni_request<F>(
client: DynNetClient,
args: &CreateCniArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscCni>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/cnis",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscCni = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn get_cni_request<F>(
client: DynNetClient,
args: &GetCniArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscCni>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/cnis/{}",
args.account_id,
args.cni,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscCni = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn update_cni_request<F>(
client: DynNetClient,
args: &UpdateCniArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscCni>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/cnis/{}",
args.account_id,
args.cni,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscCni = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn delete_cni_request<F>(
client: DynNetClient,
args: &DeleteCniArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<()>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/cnis/{}",
args.account_id,
args.cni,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
Ok(ApiResponse { status: status as u16, headers, body: () })
}
pub async fn list_interconnects_request<F>(
client: DynNetClient,
args: &ListInterconnectsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscInterconnectList>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/interconnects",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("site", args.site.as_deref());
builder = builder.query("type", args.r#type.as_deref());
builder = builder.query("cursor", args.cursor.as_deref());
builder = builder.query("limit", args.limit.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscInterconnectList = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn create_interconnect_request<F>(
client: DynNetClient,
args: &CreateInterconnectArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscInterconnect>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/interconnects",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscInterconnect = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn get_interconnect_request<F>(
client: DynNetClient,
args: &GetInterconnectArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscInterconnect>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/interconnects/{}",
args.account_id,
args.icon,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscInterconnect = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn delete_interconnect_request<F>(
client: DynNetClient,
args: &DeleteInterconnectArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<()>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/interconnects/{}",
args.account_id,
args.icon,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
Ok(ApiResponse { status: status as u16, headers, body: () })
}
pub async fn get_interconnect_loa_request<F>(
client: DynNetClient,
args: &GetInterconnectLoaArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<()>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/interconnects/{}/loa",
args.account_id,
args.icon,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
Ok(ApiResponse { status: status as u16, headers, body: () })
}
pub async fn get_interconnect_status_request<F>(
client: DynNetClient,
args: &GetInterconnectStatusArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscStatusInfo>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/interconnects/{}/status",
args.account_id,
args.icon,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscStatusInfo = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn get_settings_request<F>(
client: DynNetClient,
args: &GetSettingsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscSettings>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/settings",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscSettings = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn update_settings_request<F>(
client: DynNetClient,
args: &UpdateSettingsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscSettings>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/settings",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscSettings = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn list_slots_request<F>(
client: DynNetClient,
args: &ListSlotsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscSlotList>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/slots",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("address_contains", args.address_contains.as_deref());
builder = builder.query("site", args.site.as_deref());
builder = builder.query("speed", args.speed.as_deref());
builder = builder.query("occupied", args.occupied.as_deref());
builder = builder.query("cursor", args.cursor.as_deref());
builder = builder.query("limit", args.limit.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscSlotList = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn get_slot_request<F>(
client: DynNetClient,
args: &GetSlotArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<NscSlotInfo>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/cni/slots/{}",
args.account_id,
args.slot,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: NscSlotInfo = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn connectivity_services_list_request<F>(
client: DynNetClient,
args: &ConnectivityServicesListArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<ConnectivityServicesListResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/connectivity/directory/services",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("type", args.r#type.as_deref());
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: ConnectivityServicesListResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn connectivity_services_post_request<F>(
client: DynNetClient,
args: &ConnectivityServicesPostArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<ConnectivityServicesPostResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/connectivity/directory/services",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: ConnectivityServicesPostResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn connectivity_services_get_request<F>(
client: DynNetClient,
args: &ConnectivityServicesGetArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<ConnectivityServicesGetResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/connectivity/directory/services/{}",
args.account_id,
args.service_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: ConnectivityServicesGetResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn connectivity_services_put_request<F>(
client: DynNetClient,
args: &ConnectivityServicesPutArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<ConnectivityServicesPutResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/connectivity/directory/services/{}",
args.account_id,
args.service_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: ConnectivityServicesPutResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn connectivity_services_delete_request<F>(
client: DynNetClient,
args: &ConnectivityServicesDeleteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<()>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/connectivity/directory/services/{}",
args.account_id,
args.service_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
Ok(ApiResponse { status: status as u16, headers, body: () })
}
pub async fn devices_resilience_retrieve_global_warp_override_request<F>(
client: DynNetClient,
args: &DevicesResilienceRetrieveGlobalWarpOverrideArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TeamsDevicesGlobalWarpOverrideResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/devices/resilience/disconnect",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TeamsDevicesGlobalWarpOverrideResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn devices_resilience_set_global_warp_override_request<F>(
client: DynNetClient,
args: &DevicesResilienceSetGlobalWarpOverrideArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TeamsDevicesGlobalWarpOverrideResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/devices/resilience/disconnect",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TeamsDevicesGlobalWarpOverrideResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_endpoints_list_colos_request<F>(
client: DynNetClient,
args: &DexEndpointsListColosArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DexEndpointsListColosResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/colos",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("from", args.from.as_deref());
builder = builder.query("to", args.to.as_deref());
builder = builder.query("sortBy", args.sort_by.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DexEndpointsListColosResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn get_commands_request<F>(
client: DynNetClient,
args: &GetCommandsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<GetCommandsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/commands",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("from", args.from.as_deref());
builder = builder.query("to", args.to.as_deref());
builder = builder.query("device_id", args.device_id.as_deref());
builder = builder.query("user_email", args.user_email.as_deref());
builder = builder.query("command_type", args.command_type.as_deref());
builder = builder.query("status", args.status.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: GetCommandsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn post_commands_request<F>(
client: DynNetClient,
args: &PostCommandsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<PostCommandsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/commands",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: PostCommandsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn get_commands_eligible_devices_request<F>(
client: DynNetClient,
args: &GetCommandsEligibleDevicesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<GetCommandsEligibleDevicesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/commands/devices",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("search", args.search.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: GetCommandsEligibleDevicesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn get_commands_quota_request<F>(
client: DynNetClient,
args: &GetCommandsQuotaArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<GetCommandsQuotaResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/commands/quota",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: GetCommandsQuotaResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn get_commands_command_id_downloads_filename_request<F>(
client: DynNetClient,
args: &GetCommandsCommandIdDownloadsFilenameArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<()>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/commands/{}/downloads/{}",
args.account_id,
args.command_id,
args.filename,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
Ok(ApiResponse { status: status as u16, headers, body: () })
}
pub async fn device_dex_test_details_request<F>(
client: DynNetClient,
args: &DeviceDexTestDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DigitalExperienceMonitoringDexResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/devices/dex_tests",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("testName", args.test_name.as_deref());
builder = builder.query("kind", args.kind.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DigitalExperienceMonitoringDexResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn device_dex_test_create_device_dex_test_request<F>(
client: DynNetClient,
args: &DeviceDexTestCreateDeviceDexTestArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DigitalExperienceMonitoringDexSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/devices/dex_tests",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DigitalExperienceMonitoringDexSingleResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn device_dex_test_get_device_dex_test_request<F>(
client: DynNetClient,
args: &DeviceDexTestGetDeviceDexTestArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DigitalExperienceMonitoringDexSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/devices/dex_tests/{}",
args.account_id,
args.dex_test_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DigitalExperienceMonitoringDexSingleResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn device_dex_test_update_device_dex_test_request<F>(
client: DynNetClient,
args: &DeviceDexTestUpdateDeviceDexTestArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DigitalExperienceMonitoringDexSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/devices/dex_tests/{}",
args.account_id,
args.dex_test_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DigitalExperienceMonitoringDexSingleResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn device_dex_test_delete_device_dex_test_request<F>(
client: DynNetClient,
args: &DeviceDexTestDeleteDeviceDexTestArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DigitalExperienceMonitoringDexDeleteResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/devices/dex_tests/{}",
args.account_id,
args.dex_test_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DigitalExperienceMonitoringDexDeleteResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn devices_live_status_request<F>(
client: DynNetClient,
args: &DevicesLiveStatusArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DigitalExperienceMonitoringDevice>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/devices/{}/fleet-status/live",
args.account_id,
args.device_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("since_minutes", args.since_minutes.as_deref());
builder = builder.query("time_now", args.time_now.as_deref());
builder = builder.query("colo", args.colo.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DigitalExperienceMonitoringDevice = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_fleet_status_devices_request<F>(
client: DynNetClient,
args: &DexFleetStatusDevicesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DigitalExperienceMonitoringFleetStatusDevicesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/fleet-status/devices",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("to", args.to.as_deref());
builder = builder.query("from", args.from.as_deref());
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("sort_by", args.sort_by.as_deref());
builder = builder.query("colo", args.colo.as_deref());
builder = builder.query("device_id", args.device_id.as_deref());
builder = builder.query("mode", args.mode.as_deref());
builder = builder.query("status", args.status.as_deref());
builder = builder.query("platform", args.platform.as_deref());
builder = builder.query("version", args.version.as_deref());
builder = builder.query("source", args.source.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DigitalExperienceMonitoringFleetStatusDevicesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_fleet_status_live_request<F>(
client: DynNetClient,
args: &DexFleetStatusLiveArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DigitalExperienceMonitoringFleetStatusLiveResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/fleet-status/live",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("since_minutes", args.since_minutes.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DigitalExperienceMonitoringFleetStatusLiveResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_fleet_status_over_time_request<F>(
client: DynNetClient,
args: &DexFleetStatusOverTimeArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DigitalExperienceMonitoringFleetStatusOverTimeResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/fleet-status/over-time",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("to", args.to.as_deref());
builder = builder.query("from", args.from.as_deref());
builder = builder.query("colo", args.colo.as_deref());
builder = builder.query("device_id", args.device_id.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DigitalExperienceMonitoringFleetStatusOverTimeResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_endpoints_http_test_details_request<F>(
client: DynNetClient,
args: &DexEndpointsHttpTestDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DexEndpointsHttpTestDetailsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/http-tests/{}",
args.account_id,
args.test_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("deviceId", args.device_id.as_deref());
builder = builder.query("from", args.from.as_deref());
builder = builder.query("to", args.to.as_deref());
builder = builder.query("interval", args.interval.as_deref());
builder = builder.query("colo", args.colo.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DexEndpointsHttpTestDetailsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_endpoints_http_test_percentiles_request<F>(
client: DynNetClient,
args: &DexEndpointsHttpTestPercentilesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DexEndpointsHttpTestPercentilesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/http-tests/{}/percentiles",
args.account_id,
args.test_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("deviceId", args.device_id.as_deref());
builder = builder.query("from", args.from.as_deref());
builder = builder.query("to", args.to.as_deref());
builder = builder.query("colo", args.colo.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DexEndpointsHttpTestPercentilesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn list_dex_rules_request<F>(
client: DynNetClient,
args: &ListDexRulesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<ListDexRulesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/rules",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("sort_order", args.sort_order.as_deref());
builder = builder.query("sort_by", args.sort_by.as_deref());
builder = builder.query("name", args.name.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: ListDexRulesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn create_dex_rule_request<F>(
client: DynNetClient,
args: &CreateDexRuleArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<CreateDexRuleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/rules",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: CreateDexRuleResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn get_dex_rule_request<F>(
client: DynNetClient,
args: &GetDexRuleArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<GetDexRuleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/rules/{}",
args.account_id,
args.rule_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: GetDexRuleResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn update_dex_rule_request<F>(
client: DynNetClient,
args: &UpdateDexRuleArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<UpdateDexRuleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/rules/{}",
args.account_id,
args.rule_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::patch(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: UpdateDexRuleResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn delete_dex_rule_request<F>(
client: DynNetClient,
args: &DeleteDexRuleArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DeleteDexRuleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/rules/{}",
args.account_id,
args.rule_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DeleteDexRuleResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_endpoints_list_tests_overview_request<F>(
client: DynNetClient,
args: &DexEndpointsListTestsOverviewArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DexEndpointsListTestsOverviewResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/tests/overview",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("colo", args.colo.as_deref());
builder = builder.query("testName", args.test_name.as_deref());
builder = builder.query("deviceId", args.device_id.as_deref());
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("kind", args.kind.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DexEndpointsListTestsOverviewResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_endpoints_tests_unique_devices_request<F>(
client: DynNetClient,
args: &DexEndpointsTestsUniqueDevicesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DexEndpointsTestsUniqueDevicesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/tests/unique-devices",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("testName", args.test_name.as_deref());
builder = builder.query("deviceId", args.device_id.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DexEndpointsTestsUniqueDevicesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_endpoints_traceroute_test_result_network_path_request<F>(
client: DynNetClient,
args: &DexEndpointsTracerouteTestResultNetworkPathArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DexEndpointsTracerouteTestResultNetworkPathResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/traceroute-test-results/{}/network-path",
args.account_id,
args.test_result_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DexEndpointsTracerouteTestResultNetworkPathResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_endpoints_traceroute_test_details_request<F>(
client: DynNetClient,
args: &DexEndpointsTracerouteTestDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DexEndpointsTracerouteTestDetailsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/traceroute-tests/{}",
args.account_id,
args.test_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("deviceId", args.device_id.as_deref());
builder = builder.query("from", args.from.as_deref());
builder = builder.query("to", args.to.as_deref());
builder = builder.query("interval", args.interval.as_deref());
builder = builder.query("colo", args.colo.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DexEndpointsTracerouteTestDetailsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_endpoints_traceroute_test_network_path_request<F>(
client: DynNetClient,
args: &DexEndpointsTracerouteTestNetworkPathArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DexEndpointsTracerouteTestNetworkPathResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/traceroute-tests/{}/network-path",
args.account_id,
args.test_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("deviceId", args.device_id.as_deref());
builder = builder.query("from", args.from.as_deref());
builder = builder.query("to", args.to.as_deref());
builder = builder.query("interval", args.interval.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DexEndpointsTracerouteTestNetworkPathResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn dex_endpoints_traceroute_test_percentiles_request<F>(
client: DynNetClient,
args: &DexEndpointsTracerouteTestPercentilesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DexEndpointsTracerouteTestPercentilesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/traceroute-tests/{}/percentiles",
args.account_id,
args.test_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("deviceId", args.device_id.as_deref());
builder = builder.query("from", args.from.as_deref());
builder = builder.query("to", args.to.as_deref());
builder = builder.query("colo", args.colo.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: DexEndpointsTracerouteTestPercentilesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn list_warp_change_events_request<F>(
client: DynNetClient,
args: &ListWarpChangeEventsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<ListWarpChangeEventsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/dex/warp-change-events",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("from", args.from.as_deref());
builder = builder.query("to", args.to.as_deref());
builder = builder.query("type", args.r#type.as_deref());
builder = builder.query("toggle", args.toggle.as_deref());
builder = builder.query("config_name", args.config_name.as_deref());
builder = builder.query("account_name", args.account_name.as_deref());
builder = builder.query("sort_order", args.sort_order.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: ListWarpChangeEventsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_interconnects_list_interconnects_request<F>(
client: DynNetClient,
args: &MagicInterconnectsListInterconnectsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicComponentsSchemasTunnelsCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cf_interconnects",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicComponentsSchemasTunnelsCollectionResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_interconnects_update_multiple_interconnects_request<F>(
client: DynNetClient,
args: &MagicInterconnectsUpdateMultipleInterconnectsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicComponentsSchemasModifiedTunnelsCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cf_interconnects",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicComponentsSchemasModifiedTunnelsCollectionResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_interconnects_list_interconnect_details_request<F>(
client: DynNetClient,
args: &MagicInterconnectsListInterconnectDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicComponentsSchemasTunnelSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cf_interconnects/{}",
args.account_id,
args.cf_interconnect_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicComponentsSchemasTunnelSingleResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_interconnects_update_interconnect_request<F>(
client: DynNetClient,
args: &MagicInterconnectsUpdateInterconnectArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicComponentsSchemasTunnelModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cf_interconnects/{}",
args.account_id,
args.cf_interconnect_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicComponentsSchemasTunnelModifiedResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_gre_tunnels_list_gre_tunnels_request<F>(
client: DynNetClient,
args: &MagicGreTunnelsListGreTunnelsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicTunnelsCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/gre_tunnels",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicTunnelsCollectionResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_gre_tunnels_create_gre_tunnels_request<F>(
client: DynNetClient,
args: &MagicGreTunnelsCreateGreTunnelsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicCreateGreTunnelResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/gre_tunnels",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicCreateGreTunnelResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_gre_tunnels_update_multiple_gre_tunnels_request<F>(
client: DynNetClient,
args: &MagicGreTunnelsUpdateMultipleGreTunnelsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicModifiedTunnelsCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/gre_tunnels",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicModifiedTunnelsCollectionResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_gre_tunnels_list_gre_tunnel_details_request<F>(
client: DynNetClient,
args: &MagicGreTunnelsListGreTunnelDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicTunnelSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/gre_tunnels/{}",
args.account_id,
args.gre_tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicTunnelSingleResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_gre_tunnels_update_gre_tunnel_request<F>(
client: DynNetClient,
args: &MagicGreTunnelsUpdateGreTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicTunnelModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/gre_tunnels/{}",
args.account_id,
args.gre_tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicTunnelModifiedResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_gre_tunnels_delete_gre_tunnel_request<F>(
client: DynNetClient,
args: &MagicGreTunnelsDeleteGreTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicTunnelDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/gre_tunnels/{}",
args.account_id,
args.gre_tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicTunnelDeletedResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_ipsec_tunnels_list_ipsec_tunnels_request<F>(
client: DynNetClient,
args: &MagicIpsecTunnelsListIpsecTunnelsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSchemasTunnelsCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/ipsec_tunnels",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicSchemasTunnelsCollectionResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_ipsec_tunnels_create_ipsec_tunnels_request<F>(
client: DynNetClient,
args: &MagicIpsecTunnelsCreateIpsecTunnelsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSchemasCreateIpsecTunnelResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/ipsec_tunnels",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicSchemasCreateIpsecTunnelResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_ipsec_tunnels_update_multiple_ipsec_tunnels_request<F>(
client: DynNetClient,
args: &MagicIpsecTunnelsUpdateMultipleIpsecTunnelsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSchemasModifiedTunnelsCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/ipsec_tunnels",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicSchemasModifiedTunnelsCollectionResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_ipsec_tunnels_list_ipsec_tunnel_details_request<F>(
client: DynNetClient,
args: &MagicIpsecTunnelsListIpsecTunnelDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSchemasTunnelSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/ipsec_tunnels/{}",
args.account_id,
args.ipsec_tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicSchemasTunnelSingleResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_ipsec_tunnels_update_ipsec_tunnel_request<F>(
client: DynNetClient,
args: &MagicIpsecTunnelsUpdateIpsecTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSchemasTunnelModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/ipsec_tunnels/{}",
args.account_id,
args.ipsec_tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicSchemasTunnelModifiedResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_ipsec_tunnels_delete_ipsec_tunnel_request<F>(
client: DynNetClient,
args: &MagicIpsecTunnelsDeleteIpsecTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSchemasTunnelDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/ipsec_tunnels/{}",
args.account_id,
args.ipsec_tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicSchemasTunnelDeletedResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn magic_ipsec_tunnels_generate_pre_shared_key_psk_for_ipsec_tunnels_request<F>(
client: DynNetClient,
args: &MagicIpsecTunnelsGeneratePreSharedKeyPskForIpsecTunnelsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicPskGenerationResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/ipsec_tunnels/{}/psk_generate",
args.account_id,
args.ipsec_tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: MagicPskGenerationResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn slurper_get_job_progress_request<F>(
client: DynNetClient,
args: &SlurperGetJobProgressArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<SlurperGetJobProgressResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/slurper/jobs/{}/progress",
args.account_id,
args.job_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: SlurperGetJobProgressResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn slurper_check_source_connectivity_request<F>(
client: DynNetClient,
args: &SlurperCheckSourceConnectivityArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<SlurperCheckSourceConnectivityResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/slurper/source/connectivity-precheck",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: SlurperCheckSourceConnectivityResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn slurper_check_target_connectivity_request<F>(
client: DynNetClient,
args: &SlurperCheckTargetConnectivityArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<SlurperCheckTargetConnectivityResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/slurper/target/connectivity-precheck",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: SlurperCheckTargetConnectivityResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn tunnel_route_list_tunnel_routes_request<F>(
client: DynNetClient,
args: &TunnelRouteListTunnelRoutesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelTeamnetResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/teamnet/routes",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("comment", args.comment.as_deref());
builder = builder.query("is_deleted", args.is_deleted.as_deref());
builder = builder.query("network_subset", args.network_subset.as_deref());
builder = builder.query("network_superset", args.network_superset.as_deref());
builder = builder.query("existed_at", args.existed_at.as_deref());
builder = builder.query("tunnel_id", args.tunnel_id.as_deref());
builder = builder.query("route_id", args.route_id.as_deref());
builder = builder.query("tun_types", args.tun_types.as_deref());
builder = builder.query("virtual_network_id", args.virtual_network_id.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("page", args.page.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelTeamnetResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn tunnel_route_create_a_tunnel_route_request<F>(
client: DynNetClient,
args: &TunnelRouteCreateATunnelRouteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelRouteResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/teamnet/routes",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelRouteResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn tunnel_route_get_tunnel_route_by_ip_request<F>(
client: DynNetClient,
args: &TunnelRouteGetTunnelRouteByIpArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelTeamnetResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/teamnet/routes/ip/{}",
args.account_id,
args.ip,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("virtual_network_id", args.virtual_network_id.as_deref());
builder = builder.query("default_virtual_network_fallback", args.default_virtual_network_fallback.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelTeamnetResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn tunnel_route_get_tunnel_route_request<F>(
client: DynNetClient,
args: &TunnelRouteGetTunnelRouteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelRouteResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/teamnet/routes/{}",
args.account_id,
args.route_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelRouteResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn tunnel_route_update_a_tunnel_route_request<F>(
client: DynNetClient,
args: &TunnelRouteUpdateATunnelRouteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelRouteResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/teamnet/routes/{}",
args.account_id,
args.route_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::patch(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelRouteResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn tunnel_route_delete_a_tunnel_route_request<F>(
client: DynNetClient,
args: &TunnelRouteDeleteATunnelRouteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelRouteResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/teamnet/routes/{}",
args.account_id,
args.route_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelRouteResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn tunnel_virtual_network_list_virtual_networks_request<F>(
client: DynNetClient,
args: &TunnelVirtualNetworkListVirtualNetworksArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelVnetResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/teamnet/virtual_networks",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("id", args.id.as_deref());
builder = builder.query("name", args.name.as_deref());
builder = builder.query("is_default", args.is_default.as_deref());
builder = builder.query("is_default_network", args.is_default_network.as_deref());
builder = builder.query("is_deleted", args.is_deleted.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelVnetResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn tunnel_virtual_network_create_a_virtual_network_request<F>(
client: DynNetClient,
args: &TunnelVirtualNetworkCreateAVirtualNetworkArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelVnetResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/teamnet/virtual_networks",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelVnetResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn tunnel_virtual_network_get_request<F>(
client: DynNetClient,
args: &TunnelVirtualNetworkGetArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelVnetResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/teamnet/virtual_networks/{}",
args.account_id,
args.virtual_network_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelVnetResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn tunnel_virtual_network_update_request<F>(
client: DynNetClient,
args: &TunnelVirtualNetworkUpdateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelVnetResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/teamnet/virtual_networks/{}",
args.account_id,
args.virtual_network_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::patch(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelVnetResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn tunnel_virtual_network_delete_request<F>(
client: DynNetClient,
args: &TunnelVirtualNetworkDeleteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelVnetResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/teamnet/virtual_networks/{}",
args.account_id,
args.virtual_network_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelVnetResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_list_warp_connector_tunnels_request<F>(
client: DynNetClient,
args: &CloudflareTunnelListWarpConnectorTunnelsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelWarpConnectorResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/warp_connector",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("name", args.name.as_deref());
builder = builder.query("is_deleted", args.is_deleted.as_deref());
builder = builder.query("existed_at", args.existed_at.as_deref());
builder = builder.query("uuid", args.uuid.as_deref());
builder = builder.query("was_active_at", args.was_active_at.as_deref());
builder = builder.query("was_inactive_at", args.was_inactive_at.as_deref());
builder = builder.query("include_prefix", args.include_prefix.as_deref());
builder = builder.query("exclude_prefix", args.exclude_prefix.as_deref());
builder = builder.query("status", args.status.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("page", args.page.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelWarpConnectorResponseCollection = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_create_a_warp_connector_tunnel_request<F>(
client: DynNetClient,
args: &CloudflareTunnelCreateAWarpConnectorTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelWarpConnectorResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/warp_connector",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelWarpConnectorResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_get_a_warp_connector_tunnel_request<F>(
client: DynNetClient,
args: &CloudflareTunnelGetAWarpConnectorTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelWarpConnectorResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/warp_connector/{}",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelWarpConnectorResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_update_a_warp_connector_tunnel_request<F>(
client: DynNetClient,
args: &CloudflareTunnelUpdateAWarpConnectorTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelWarpConnectorResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/warp_connector/{}",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::patch(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelWarpConnectorResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_delete_a_warp_connector_tunnel_request<F>(
client: DynNetClient,
args: &CloudflareTunnelDeleteAWarpConnectorTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelWarpConnectorResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/warp_connector/{}",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelWarpConnectorResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_list_warp_connector_tunnel_connections_request<F>(
client: DynNetClient,
args: &CloudflareTunnelListWarpConnectorTunnelConnectionsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelTunnelWarpConnectorConnectionsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/warp_connector/{}/connections",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelTunnelWarpConnectorConnectionsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_get_warp_connector_tunnel_connector_request<F>(
client: DynNetClient,
args: &CloudflareTunnelGetWarpConnectorTunnelConnectorArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelTunnelWarpConnectorClientResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/warp_connector/{}/connectors/{}",
args.account_id,
args.tunnel_id,
args.connector_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelTunnelWarpConnectorClientResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_manual_failover_warp_connector_tunnel_request<F>(
client: DynNetClient,
args: &CloudflareTunnelManualFailoverWarpConnectorTunnelArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelEmptyResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/warp_connector/{}/failover",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::put(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelEmptyResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn cloudflare_tunnel_get_a_warp_connector_tunnel_token_request<F>(
client: DynNetClient,
args: &CloudflareTunnelGetAWarpConnectorTunnelTokenArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelTunnelResponseToken>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/warp_connector/{}/token",
args.account_id,
args.tunnel_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelTunnelResponseToken = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn zero_trust_accounts_get_connectivity_settings_request<F>(
client: DynNetClient,
args: &ZeroTrustAccountsGetConnectivitySettingsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelZeroTrustConnectivitySettingsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/zerotrust/connectivity_settings",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelZeroTrustConnectivitySettingsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn zero_trust_accounts_patch_connectivity_settings_request<F>(
client: DynNetClient,
args: &ZeroTrustAccountsPatchConnectivitySettingsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelZeroTrustConnectivitySettingsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/zerotrust/connectivity_settings",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::patch(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelZeroTrustConnectivitySettingsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn zero_trust_networks_subnet_create_warp_request<F>(
client: DynNetClient,
args: &ZeroTrustNetworksSubnetCreateWarpArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelSubnetResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/zerotrust/subnets/warp",
args.account_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::post(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelSubnetResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn zero_trust_networks_subnet_get_warp_request<F>(
client: DynNetClient,
args: &ZeroTrustNetworksSubnetGetWarpArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelSubnetResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/zerotrust/subnets/warp/{}",
args.account_id,
args.subnet_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelSubnetResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn zero_trust_networks_subnet_update_warp_request<F>(
client: DynNetClient,
args: &ZeroTrustNetworksSubnetUpdateWarpArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelSubnetResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/zerotrust/subnets/warp/{}",
args.account_id,
args.subnet_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::patch(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.body_json(&args.body)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelSubnetResponseSingle = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn zero_trust_networks_subnet_delete_warp_request<F>(
client: DynNetClient,
args: &ZeroTrustNetworksSubnetDeleteWarpArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TunnelSubnetResponseSingleNullable>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/zerotrust/subnets/warp/{}",
args.account_id,
args.subnet_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::delete(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: TunnelSubnetResponseSingleNullable = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_hijacks_events_request<F>(
client: DynNetClient,
args: &RadarGetBgpHijacksEventsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpHijacksEventsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/hijacks/events",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("eventId", args.event_id.as_deref());
builder = builder.query("hijackerAsn", args.hijacker_asn.as_deref());
builder = builder.query("victimAsn", args.victim_asn.as_deref());
builder = builder.query("involvedAsn", args.involved_asn.as_deref());
builder = builder.query("involvedCountry", args.involved_country.as_deref());
builder = builder.query("prefix", args.prefix.as_deref());
builder = builder.query("minConfidence", args.min_confidence.as_deref());
builder = builder.query("maxConfidence", args.max_confidence.as_deref());
builder = builder.query("dateRange", args.date_range.as_deref());
builder = builder.query("dateStart", args.date_start.as_deref());
builder = builder.query("dateEnd", args.date_end.as_deref());
builder = builder.query("sortBy", args.sort_by.as_deref());
builder = builder.query("sortOrder", args.sort_order.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpHijacksEventsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_ips_timeseries_request<F>(
client: DynNetClient,
args: &RadarGetBgpIpsTimeseriesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpIpsTimeseriesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/ips/timeseries",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("name", args.name.as_deref());
builder = builder.query("dateRange", args.date_range.as_deref());
builder = builder.query("dateStart", args.date_start.as_deref());
builder = builder.query("dateEnd", args.date_end.as_deref());
builder = builder.query("asn", args.asn.as_deref());
builder = builder.query("location", args.location.as_deref());
builder = builder.query("ipVersion", args.ip_version.as_deref());
builder = builder.query("includeDelay", args.include_delay.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpIpsTimeseriesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_route_leak_events_request<F>(
client: DynNetClient,
args: &RadarGetBgpRouteLeakEventsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpRouteLeakEventsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/leaks/events",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("eventId", args.event_id.as_deref());
builder = builder.query("leakAsn", args.leak_asn.as_deref());
builder = builder.query("involvedAsn", args.involved_asn.as_deref());
builder = builder.query("involvedCountry", args.involved_country.as_deref());
builder = builder.query("dateRange", args.date_range.as_deref());
builder = builder.query("dateStart", args.date_start.as_deref());
builder = builder.query("dateEnd", args.date_end.as_deref());
builder = builder.query("sortBy", args.sort_by.as_deref());
builder = builder.query("sortOrder", args.sort_order.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpRouteLeakEventsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_routes_asns_request<F>(
client: DynNetClient,
args: &RadarGetBgpRoutesAsnsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpRoutesAsnsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/routes/ases",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("location", args.location.as_deref());
builder = builder.query("limit", args.limit.as_deref());
builder = builder.query("sortBy", args.sort_by.as_deref());
builder = builder.query("sortOrder", args.sort_order.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpRoutesAsnsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_pfx2as_moas_request<F>(
client: DynNetClient,
args: &RadarGetBgpPfx2AsMoasArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpPfx2asMoasResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/routes/moas",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("origin", args.origin.as_deref());
builder = builder.query("prefix", args.prefix.as_deref());
builder = builder.query("invalid_only", args.invalid_only.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpPfx2asMoasResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_pfx2as_request<F>(
client: DynNetClient,
args: &RadarGetBgpPfx2AsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpPfx2asResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/routes/pfx2as",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("prefix", args.prefix.as_deref());
builder = builder.query("origin", args.origin.as_deref());
builder = builder.query("rpkiStatus", args.rpki_status.as_deref());
builder = builder.query("longestPrefixMatch", args.longest_prefix_match.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpPfx2asResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_routes_stats_request<F>(
client: DynNetClient,
args: &RadarGetBgpRoutesStatsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpRoutesStatsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/routes/stats",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("asn", args.asn.as_deref());
builder = builder.query("location", args.location.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpRoutesStatsResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_rpki_aspa_changes_request<F>(
client: DynNetClient,
args: &RadarGetBgpRpkiAspaChangesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpRpkiAspaChangesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/rpki/aspa/changes",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("dateStart", args.date_start.as_deref());
builder = builder.query("dateEnd", args.date_end.as_deref());
builder = builder.query("asn", args.asn.as_deref());
builder = builder.query("includeAsnInfo", args.include_asn_info.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpRpkiAspaChangesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_rpki_aspa_snapshot_request<F>(
client: DynNetClient,
args: &RadarGetBgpRpkiAspaSnapshotArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpRpkiAspaSnapshotResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/rpki/aspa/snapshot",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("customerAsn", args.customer_asn.as_deref());
builder = builder.query("providerAsn", args.provider_asn.as_deref());
builder = builder.query("date", args.date.as_deref());
builder = builder.query("includeAsnInfo", args.include_asn_info.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpRpkiAspaSnapshotResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_rpki_aspa_timeseries_request<F>(
client: DynNetClient,
args: &RadarGetBgpRpkiAspaTimeseriesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpRpkiAspaTimeseriesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/rpki/aspa/timeseries",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("dateStart", args.date_start.as_deref());
builder = builder.query("dateEnd", args.date_end.as_deref());
builder = builder.query("name", args.name.as_deref());
builder = builder.query("rir", args.rir.as_deref());
builder = builder.query("location", args.location.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpRpkiAspaTimeseriesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_timeseries_request<F>(
client: DynNetClient,
args: &RadarGetBgpTimeseriesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpTimeseriesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/timeseries",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("aggInterval", args.agg_interval.as_deref());
builder = builder.query("name", args.name.as_deref());
builder = builder.query("dateRange", args.date_range.as_deref());
builder = builder.query("dateStart", args.date_start.as_deref());
builder = builder.query("dateEnd", args.date_end.as_deref());
builder = builder.query("prefix", args.prefix.as_deref());
builder = builder.query("updateType", args.update_type.as_deref());
builder = builder.query("asn", args.asn.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpTimeseriesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_top_ases_request<F>(
client: DynNetClient,
args: &RadarGetBgpTopAsesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpTopAsesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/top/ases",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("limit", args.limit.as_deref());
builder = builder.query("name", args.name.as_deref());
builder = builder.query("dateRange", args.date_range.as_deref());
builder = builder.query("dateStart", args.date_start.as_deref());
builder = builder.query("dateEnd", args.date_end.as_deref());
builder = builder.query("asn", args.asn.as_deref());
builder = builder.query("prefix", args.prefix.as_deref());
builder = builder.query("updateType", args.update_type.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpTopAsesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_top_asns_by_prefixes_request<F>(
client: DynNetClient,
args: &RadarGetBgpTopAsnsByPrefixesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpTopAsnsByPrefixesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/top/ases/prefixes",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("country", args.country.as_deref());
builder = builder.query("limit", args.limit.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpTopAsnsByPrefixesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_bgp_top_prefixes_request<F>(
client: DynNetClient,
args: &RadarGetBgpTopPrefixesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetBgpTopPrefixesResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/bgp/top/prefixes",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("limit", args.limit.as_deref());
builder = builder.query("name", args.name.as_deref());
builder = builder.query("dateRange", args.date_range.as_deref());
builder = builder.query("dateStart", args.date_start.as_deref());
builder = builder.query("dateEnd", args.date_end.as_deref());
builder = builder.query("asn", args.asn.as_deref());
builder = builder.query("updateType", args.update_type.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetBgpTopPrefixesResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_quality_index_summary_request<F>(
client: DynNetClient,
args: &RadarGetQualityIndexSummaryArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetQualityIndexSummaryResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/quality/iqi/summary",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("name", args.name.as_deref());
builder = builder.query("dateRange", args.date_range.as_deref());
builder = builder.query("dateStart", args.date_start.as_deref());
builder = builder.query("dateEnd", args.date_end.as_deref());
builder = builder.query("asn", args.asn.as_deref());
builder = builder.query("location", args.location.as_deref());
builder = builder.query("continent", args.continent.as_deref());
builder = builder.query("metric", args.metric.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetQualityIndexSummaryResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn radar_get_quality_index_timeseries_group_request<F>(
client: DynNetClient,
args: &RadarGetQualityIndexTimeseriesGroupArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<RadarGetQualityIndexTimeseriesGroupResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/radar/quality/iqi/timeseries_groups",
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("aggInterval", args.agg_interval.as_deref());
builder = builder.query("name", args.name.as_deref());
builder = builder.query("dateRange", args.date_range.as_deref());
builder = builder.query("dateStart", args.date_start.as_deref());
builder = builder.query("dateEnd", args.date_end.as_deref());
builder = builder.query("asn", args.asn.as_deref());
builder = builder.query("location", args.location.as_deref());
builder = builder.query("continent", args.continent.as_deref());
builder = builder.query("interpolation", args.interpolation.as_deref());
builder = builder.query("metric", args.metric.as_deref());
builder = builder.query("format", args.format.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: RadarGetQualityIndexTimeseriesGroupResponse = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}
pub async fn spectrum_aggregate_analytics_get_current_aggregated_analytics_request<F>(
client: DynNetClient,
args: &SpectrumAggregateAnalyticsGetCurrentAggregatedAnalyticsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<SpectrumAnalyticsQueryResponseAggregate>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/zones/{}/spectrum/analytics/aggregate/current",
args.zone_id,
);
let endpoint_url = format!("{}{}", base_url, path);
let mut builder = PreparedRequestBuilder::get(&endpoint_url)
.map_err(|e| super::shared::ApiError::RequestBuildFailed(e.to_string()))?;
builder = builder.query("appID", args.app_id.as_deref());
builder = builder.query("colo_name", args.colo_name.as_deref());
if let Some(f) = builder_mod {
f(&mut builder);
}
let response = client.send_async(builder.build()).await
.map_err(|e| super::shared::ApiError::RequestSendFailed(e.to_string()))?;
let status: usize = response.get_status().into();
let headers = response.get_headers_ref().clone();
if status < 200 || status >= 300 {
let error_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let body = (!error_bytes.is_empty())
.then(|| String::from_utf8_lossy(&error_bytes).into_owned());
return Err(super::shared::ApiError::HttpStatus { code: status as u16, headers, body });
}
let body_bytes = foundation_netio::shared::client::body_reader::collect_bytes_from_send_safe(response.take_body());
let parsed: SpectrumAnalyticsQueryResponseAggregate = serde_json::from_slice(&body_bytes).map_err(|e: serde_json::Error| super::shared::ApiError::ParseFailed(e.to_string()))?;
Ok(ApiResponse { status: status as u16, headers, body: parsed })
}