#![cfg(feature = "cloudflare_magic_wan")]
#![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::AddressingApiResponseCollection;
use super::shared::DosApiResponseCommon;
use super::shared::AddressingApiResponseCommon;
use super::shared::ApiResponse;
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingAccountIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingAddressMapIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingAddressMaps {
pub can_delete: Option<AddressingCanDelete>,
pub can_modify_ips: Option<AddressingCanModifyIps>,
pub created_at: Option<AddressingTimestamp>,
pub default_sni: Option<AddressingDefaultSni>,
pub description: Option<AddressingSchemasDescription>,
pub enabled: Option<AddressingEnabled>,
pub id: Option<AddressingAddressMapIdentifier>,
pub modified_at: Option<AddressingTimestamp>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingAddressMapsMembershipRequest {
pub identifier: Option<AddressingIdentifier>,
pub kind: Option<AddressingKind>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingAdvertised {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingAdvertisedModifiedAtNullable {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingApiResponseSingle {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingApproved {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingAsn {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingAutoGenerated {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingCanDelete {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingCanModifyIps {
#[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 AddressingComponentsSchemasResponseCollection {
pub result: Option<Vec<AddressingAddressMaps>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingComponentsSchemasSingleResponse {
pub result: Option<AddressingAddressMaps>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingCreatedAt {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingDefaultSni {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingDelegateLoaCreation {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingDelegatedAccountIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingDelegationIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingDescription {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingEnabled {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingFilename {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingFullResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingIdResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingIpAddress {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingIpamDelegations {
pub cidr: Option<AddressingCidr>,
pub created_at: Option<AddressingTimestamp>,
pub delegated_account_id: Option<AddressingDelegatedAccountIdentifier>,
pub id: Option<AddressingDelegationIdentifier>,
pub modified_at: Option<AddressingTimestamp>,
pub parent_prefix_id: Option<AddressingPrefixIdentifier>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingIpamPrefixes {
pub account_id: Option<AddressingAccountIdentifier>,
pub advertised: Option<AddressingAdvertised>,
pub advertised_modified_at: Option<AddressingAdvertisedModifiedAtNullable>,
pub approved: Option<AddressingApproved>,
pub asn: Option<AddressingAsn>,
pub cidr: Option<AddressingCidr>,
pub created_at: Option<AddressingTimestamp>,
pub delegate_loa_creation: Option<AddressingDelegateLoaCreation>,
pub description: Option<AddressingDescription>,
pub id: Option<AddressingPrefixIdentifier>,
pub irr_validation_state: Option<AddressingValidationState>,
pub loa_document_id: Option<AddressingLoaDocumentIdentifier>,
pub modified_at: Option<AddressingTimestamp>,
pub on_demand_enabled: Option<AddressingOnDemandEnabled>,
pub on_demand_locked: Option<AddressingOnDemandLocked>,
pub ownership_validation_state: Option<AddressingValidationState>,
pub ownership_validation_token: Option<AddressingOwnershipValidationToken>,
pub rpki_validation_state: Option<AddressingValidationState>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingKind {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingLease {
pub active_from: Option<String>,
pub cidrs: Option<Vec<AddressingSchemasCidr>>,
pub created_at: Option<AddressingCreatedAt>,
pub id: Option<AddressingLeaseId>,
pub modified_at: Option<AddressingModifiedAt>,
pub owner_id: Option<AddressingLeaseOwnerId>,
pub purpose: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingLeaseId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingLeaseOwnerId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingLeasesComponentsSchemasResponseCollection {
pub result: Option<Vec<AddressingLease>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingLoaDocumentIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingLoaUploadResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingMembershipRequests {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[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 AddressingModifiedAt {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingOnDemandEnabled {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingOnDemandLocked {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingOwnershipValidationToken {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingPrefixIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingResponseCollection {
pub result: Option<Vec<AddressingIpamPrefixes>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingSchemasCidr {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingSchemasDescription {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingSchemasResponseCollection {
pub result: Option<Vec<AddressingIpamDelegations>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingSchemasSingleResponse {
pub result: Option<AddressingIpamDelegations>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingSingleResponse {
pub result: Option<AddressingIpamPrefixes>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingSizeBytes {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[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 AddressingValidationState {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingVerified {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AddressingVerifiedAt {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosApiResponseCollection {
pub result_info: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosInfraPrefix {
pub comment: String,
pub created_on: String,
pub enabled: bool,
pub id: String,
pub modified_on: String,
pub prefix: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosInfraPrefixListResponse {
pub result: Option<Vec<DosInfraPrefix>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosInfraPrefixResponse {
pub result: Option<DosInfraPrefix>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosInfraPrefixUpdate {
pub comment: Option<String>,
pub enabled: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosNewInfraPrefix {
pub comment: String,
pub enabled: bool,
pub prefix: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosNewPrefix {
pub comment: String,
pub excluded: bool,
pub prefix: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosPrefix {
pub comment: String,
pub created_on: String,
pub excluded: bool,
pub id: String,
pub modified_on: String,
pub prefix: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosPrefixListResponse {
pub result: Option<Vec<DosPrefix>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosPrefixResponse {
pub result: Option<DosPrefix>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosPrefixUpdate {
pub comment: Option<String>,
pub excluded: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosProtectionStatus {
pub enabled: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosProtectionStatusResponse {
pub result: Option<DosProtectionStatus>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DosUpdateProtectionStatus {
pub enabled: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct IpAddressManagementAddressMapsCreateAddressMapRequest {
pub description: Option<AddressingSchemasDescription>,
pub enabled: Option<AddressingEnabled>,
pub ips: Option<Vec<AddressingIpAddress>>,
pub memberships: Option<Vec<AddressingAddressMapsMembershipRequest>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct IpAddressManagementAddressMapsUpdateAddressMapRequest {
pub default_sni: Option<AddressingDefaultSni>,
pub description: Option<AddressingSchemasDescription>,
pub enabled: Option<AddressingEnabled>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct IpAddressManagementPrefixDelegationCreatePrefixDelegationRequest {
pub cidr: AddressingCidr,
pub delegated_account_id: AddressingDelegatedAccountIdentifier,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct IpAddressManagementPrefixesAddPrefixRequest {
pub asn: AddressingAsn,
pub cidr: AddressingCidr,
pub delegate_loa_creation: Option<AddressingDelegateLoaCreation>,
pub description: Option<AddressingDescription>,
pub loa_document_id: Option<AddressingLoaDocumentIdentifier>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct IpAddressManagementPrefixesUpdatePrefixDescriptionRequest {
pub description: AddressingDescription,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAccountApp {
pub account_app_id: MagicAccountAppId,
pub hostnames: Option<Vec<String>>,
pub ip_subnets: Option<Vec<serde_json::Value>>,
pub name: Option<MagicAppName>,
pub source_subnets: Option<Vec<serde_json::Value>>,
#[serde(rename = "type")]
pub r#type: Option<MagicAppType>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAccountAppId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAcl {
pub description: Option<String>,
pub forward_locally: Option<MagicForwardLocally>,
pub id: Option<MagicIdentifier>,
pub lan_1: Option<MagicLanAclConfiguration>,
pub lan_2: Option<MagicLanAclConfiguration>,
pub name: Option<String>,
pub protocols: Option<Vec<String>>,
pub unidirectional: Option<MagicUnidirectional>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAclDeletedResponse {
pub result: Option<MagicAcl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAclModifiedResponse {
pub result: Option<MagicAcl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAclPortRange {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAclSingleResponse {
pub result: Option<MagicAcl>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAclSubnet {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAclUpdateRequest {
pub description: Option<String>,
pub forward_locally: Option<MagicForwardLocally>,
pub lan_1: Option<MagicLanAclConfiguration>,
pub lan_2: Option<MagicLanAclConfiguration>,
pub name: Option<String>,
pub protocols: Option<Vec<String>>,
pub unidirectional: Option<MagicUnidirectional>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAclsAddSingleRequest {
pub description: Option<String>,
pub forward_locally: Option<MagicForwardLocally>,
pub lan_1: MagicLanAclConfiguration,
pub lan_2: MagicLanAclConfiguration,
pub name: String,
pub protocols: Option<Vec<String>>,
pub unidirectional: Option<MagicUnidirectional>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAclsCollectionResponse {
pub result: Option<Vec<MagicAcl>>,
}
#[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 MagicApp {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppAddSingleRequest {
pub hostnames: Option<Vec<String>>,
pub ip_subnets: Option<Vec<serde_json::Value>>,
pub name: MagicAppName,
pub source_subnets: Option<Vec<serde_json::Value>>,
#[serde(rename = "type")]
pub r#type: MagicAppType,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppBreakout {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppBreakoutPreferredWans {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppConfig {
pub breakout: Option<MagicAppBreakout>,
pub id: MagicIdentifier,
pub preferred_wans: Option<Vec<MagicIdentifier>>,
pub priority: Option<MagicAppPriority>,
pub site_id: MagicIdentifier,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppConfigAddSingleRequest {
pub breakout: Option<MagicAppBreakout>,
pub preferred_wans: Option<Vec<MagicIdentifier>>,
pub priority: Option<MagicAppPriority>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppConfigSingleResponse {
pub result: Option<MagicAppConfig>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppConfigUpdateRequest {
pub account_app_id: Option<MagicAccountAppId>,
pub breakout: Option<MagicAppBreakout>,
pub managed_app_id: Option<MagicManagedAppId>,
pub preferred_wans: Option<Vec<MagicIdentifier>>,
pub priority: Option<MagicAppPriority>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppConfigsCollectionResponse {
pub result: Option<Vec<MagicAppConfig>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppHostnames {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppPriority {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppSingleResponse {
pub result: Option<MagicAccountApp>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppSourceSubnets {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppSubnets {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppType {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppUpdateRequest {
pub hostnames: Option<Vec<String>>,
pub ip_subnets: Option<Vec<serde_json::Value>>,
pub name: Option<MagicAppName>,
pub source_subnets: Option<Vec<serde_json::Value>>,
#[serde(rename = "type")]
pub r#type: Option<MagicAppType>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppsCollectionResponse {
pub result: Option<Vec<MagicApp>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppsResponseArray {
pub errors: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub result: Option<Vec<serde_json::Value>>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicAppsResponseObject {
pub errors: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub result: Option<serde_json::Value>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicBondId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicCidr {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicColoName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicColoNames {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicColoRegion {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicColoRegions {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicConnectorId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicCreateRouteRequest {
pub description: Option<MagicDescription>,
pub nexthop: MagicNexthop,
pub prefix: MagicPrefix,
pub priority: MagicPriority,
pub scope: Option<MagicScope>,
pub weight: Option<MagicWeight>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicCreateRouteResponse {
pub result: Option<MagicRoute>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicCreatedOn {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicDescription {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicForwardLocally {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicIpAddress {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicLan {
pub bond_id: Option<MagicBondId>,
pub ha_link: Option<bool>,
pub id: Option<MagicIdentifier>,
pub is_breakout: Option<bool>,
pub is_prioritized: Option<bool>,
pub name: Option<String>,
pub nat: Option<MagicNat>,
pub physport: Option<MagicPort>,
pub routed_subnets: Option<Vec<MagicRoutedSubnet>>,
pub site_id: Option<MagicIdentifier>,
pub static_addressing: Option<MagicLanStaticAddressing>,
pub vlan_tag: Option<MagicVlanTag>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicLanAclConfiguration {
pub lan_id: String,
pub lan_name: Option<String>,
pub port_ranges: Option<Vec<MagicAclPortRange>>,
pub ports: Option<Vec<MagicPort>>,
pub subnets: Option<Vec<MagicAclSubnet>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicLanDeletedResponse {
pub result: Option<MagicLan>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicLanDhcpRelay {
pub server_addresses: Option<Vec<MagicIpAddress>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicLanDhcpServer {
pub dhcp_pool_end: Option<MagicIpAddress>,
pub dhcp_pool_start: Option<MagicIpAddress>,
pub dns_server: Option<MagicIpAddress>,
pub dns_servers: Option<Vec<MagicIpAddress>>,
pub reservations: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicLanModifiedResponse {
pub result: Option<MagicLan>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicLanSingleResponse {
pub result: Option<MagicLan>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicLanStaticAddressing {
pub address: MagicCidr,
pub dhcp_relay: Option<MagicLanDhcpRelay>,
pub dhcp_server: Option<MagicLanDhcpServer>,
pub secondary_address: Option<MagicCidr>,
pub virtual_address: Option<MagicCidr>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicLanUpdateRequest {
pub bond_id: Option<MagicBondId>,
pub is_breakout: Option<bool>,
pub is_prioritized: Option<bool>,
pub name: Option<String>,
pub nat: Option<MagicNat>,
pub physport: Option<MagicPort>,
pub routed_subnets: Option<Vec<MagicRoutedSubnet>>,
pub static_addressing: Option<MagicLanStaticAddressing>,
pub vlan_tag: Option<MagicVlanTag>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicLansAddSingleRequest {
pub bond_id: Option<MagicBondId>,
pub ha_link: Option<bool>,
pub is_breakout: Option<bool>,
pub is_prioritized: Option<bool>,
pub name: Option<String>,
pub nat: Option<MagicNat>,
pub physport: Option<MagicPort>,
pub routed_subnets: Option<Vec<MagicRoutedSubnet>>,
pub static_addressing: Option<MagicLanStaticAddressing>,
pub vlan_tag: Option<MagicVlanTag>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicLansCollectionResponse {
pub result: Option<Vec<MagicLan>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicManagedApp {
pub hostnames: Option<Vec<String>>,
pub ip_subnets: Option<Vec<serde_json::Value>>,
pub managed_app_id: MagicManagedAppId,
pub name: Option<MagicAppName>,
pub source_subnets: Option<Vec<serde_json::Value>>,
#[serde(rename = "type")]
pub r#type: Option<MagicAppType>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicManagedAppId {
#[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 MagicModifiedOn {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicMultipleRouteDeleteResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicMultipleRouteModifiedResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicNat {
pub static_prefix: Option<MagicCidr>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicNetflowConfig {
pub active_timeout: Option<i64>,
pub collector_ip: String,
pub collector_port: Option<i64>,
pub inactive_timeout: Option<i64>,
pub sampling_rate: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicNetflowConfigRequest {
pub active_timeout: Option<i64>,
pub collector_ip: Option<String>,
pub collector_port: Option<i64>,
pub inactive_timeout: Option<i64>,
pub sampling_rate: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicNetflowConfigSingleResponse {
pub result: Option<MagicNetflowConfig>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicNexthop {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicPort {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicPrefix {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicPriority {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRoute {
pub created_on: Option<MagicCreatedOn>,
pub description: Option<MagicDescription>,
pub id: MagicIdentifier,
pub modified_on: Option<MagicModifiedOn>,
pub nexthop: MagicNexthop,
pub prefix: MagicPrefix,
pub priority: MagicPriority,
pub scope: Option<MagicScope>,
pub weight: Option<MagicWeight>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRouteAddSingleRequest {
pub description: Option<MagicDescription>,
pub nexthop: MagicNexthop,
pub prefix: MagicPrefix,
pub priority: MagicPriority,
pub scope: Option<MagicScope>,
pub weight: Option<MagicWeight>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRouteDeleteId {
pub id: MagicIdentifier,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRouteDeleteManyRequest {
pub routes: Vec<MagicRouteDeleteId>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRouteDeletedResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRouteModifiedResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRouteSingleResponse {
pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRouteUpdateManyRequest {
pub routes: Vec<MagicRouteUpdateSingleRequest>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRouteUpdateRequest {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRouteUpdateSingleRequest {
pub id: MagicIdentifier,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRoutedSubnet {
pub nat: Option<MagicNat>,
pub next_hop: MagicIpAddress,
pub prefix: MagicCidr,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicRoutesCollectionResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicScope {
pub colo_names: Option<Vec<MagicColoName>>,
pub colo_regions: Option<Vec<MagicColoRegion>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSecondaryConnectorId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSite {
pub connector_id: Option<MagicConnectorId>,
pub description: Option<String>,
pub ha_mode: Option<bool>,
pub id: Option<MagicIdentifier>,
pub location: Option<MagicSiteLocation>,
pub name: Option<MagicSiteName>,
pub secondary_connector_id: Option<MagicSecondaryConnectorId>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSiteDeletedResponse {
pub result: Option<MagicSite>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSiteLocation {
pub lat: Option<String>,
pub lon: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSiteModifiedResponse {
pub result: Option<MagicSite>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSiteName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSiteSingleResponse {
pub result: Option<MagicSite>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSiteUpdateRequest {
pub connector_id: Option<MagicConnectorId>,
pub description: Option<String>,
pub location: Option<MagicSiteLocation>,
pub name: Option<MagicSiteName>,
pub secondary_connector_id: Option<MagicSecondaryConnectorId>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSitesAddSingleRequest {
pub connector_id: Option<MagicConnectorId>,
pub description: Option<String>,
pub ha_mode: Option<bool>,
pub location: Option<MagicSiteLocation>,
pub name: MagicSiteName,
pub secondary_connector_id: Option<MagicSecondaryConnectorId>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicSitesCollectionResponse {
pub result: Option<Vec<MagicSite>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicUnidirectional {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicVlanTag {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicWan {
pub health_check_rate: Option<String>,
pub id: Option<MagicIdentifier>,
pub name: Option<String>,
pub physport: Option<MagicPort>,
pub priority: Option<i64>,
pub site_id: Option<MagicIdentifier>,
pub static_addressing: Option<MagicWanStaticAddressing>,
pub vlan_tag: Option<MagicVlanTag>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicWanDeletedResponse {
pub result: Option<MagicWan>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicWanModifiedResponse {
pub result: Option<MagicWan>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicWanSingleResponse {
pub result: Option<MagicWan>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicWanStaticAddressing {
pub address: MagicCidr,
pub gateway_address: MagicIpAddress,
pub secondary_address: Option<MagicCidr>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicWanUpdateRequest {
pub name: Option<String>,
pub physport: Option<MagicPort>,
pub priority: Option<i64>,
pub static_addressing: Option<MagicWanStaticAddressing>,
pub vlan_tag: Option<MagicVlanTag>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicWansAddSingleRequest {
pub name: Option<String>,
pub physport: MagicPort,
pub priority: Option<i64>,
pub static_addressing: Option<MagicWanStaticAddressing>,
pub vlan_tag: Option<MagicVlanTag>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicWansCollectionResponse {
pub result: Option<Vec<MagicWan>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MagicWeight {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnApplyProgress {
pub done: i64,
pub total: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnAwsTrustPolicy {
pub aws_trust_policy: String,
pub item_type: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnAzureSetup {
pub azure_consent_url: String,
pub integration_identity_tag: String,
pub item_type: String,
pub tag_cli_command: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnCidrPrefix {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnCloudPlatformClient {
pub client_type: String,
pub id: McnPlatformClientId,
pub name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnCloudType {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnConduitRouteId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnConduitTunnelId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnCost {
pub currency: String,
pub monthly_cost: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnCostDiff {
pub currency: String,
pub current_monthly_cost: f64,
pub diff: f64,
pub proposed_monthly_cost: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnCreateOnrampRequest {
pub adopted_hub_id: Option<McnResourceId>,
pub attached_hubs: Option<Vec<McnResourceId>>,
pub attached_vpcs: Option<Vec<McnResourceId>>,
pub cloud_asn: Option<i64>,
pub cloud_type: McnOnrampCloudType,
pub description: Option<String>,
pub dynamic_routing: bool,
pub hub_provider_id: Option<McnProviderId>,
pub install_routes_in_cloud: bool,
pub install_routes_in_magic_wan: bool,
pub manage_hub_to_hub_attachments: Option<bool>,
pub manage_vpc_to_hub_attachments: Option<bool>,
pub name: String,
pub region: Option<String>,
#[serde(rename = "type")]
pub r#type: McnOnrampType,
pub vpc: Option<McnResourceId>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnCreateOnrampResponse {
pub result: Option<McnOnramp>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnCreateProviderRequest {
pub cloud_type: McnCloudType,
pub description: Option<String>,
pub friendly_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnCreateProviderResponse {
pub result: Option<McnProvider>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnDeleteOnrampResponse {
pub result: Option<McnDeletedOnramp>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnDeleteProviderResponse {
pub result: Option<McnDeletedProvider>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnDeletedOnramp {
pub id: McnOnrampId,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnDeletedProvider {
pub id: McnProviderId,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnError {
pub code: i64,
pub documentation_url: Option<String>,
pub message: String,
pub meta: Option<McnErrorMeta>,
pub source: Option<McnErrorSource>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnErrorMeta {
pub l10n_key: Option<String>,
pub loggable_error: Option<String>,
pub template_data: Option<serde_json::Value>,
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnErrorSource {
pub parameter: Option<String>,
pub parameter_value_index: Option<i64>,
pub pointer: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnGcpSetup {
pub integration_identity_tag: String,
pub item_type: String,
pub tag_cli_command: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnGetMagicWanAddressSpaceResponse {
pub result: Option<McnMagicWanAddressSpace>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnGetOnrampResponse {
pub result: Option<McnOnramp>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnGoodResponse {
pub errors: Option<Vec<McnError>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnListOnrampsResponse {
pub result: Option<Vec<McnOnramp>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnMagicWanAddressSpace {
pub prefixes: Vec<McnCidrPrefix>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnOnramp {
pub attached_hubs: Option<Vec<McnResourceId>>,
pub attached_vpcs: Option<Vec<McnResourceId>>,
pub cloud_asn: Option<i64>,
pub cloud_type: McnOnrampCloudType,
pub description: Option<String>,
pub dynamic_routing: bool,
pub hub: Option<McnResourceId>,
pub id: McnOnrampId,
pub install_routes_in_cloud: bool,
pub install_routes_in_magic_wan: bool,
pub last_applied_at: Option<String>,
pub last_exported_at: Option<String>,
pub last_planned_at: Option<String>,
pub manage_hub_to_hub_attachments: Option<bool>,
pub manage_vpc_to_hub_attachments: Option<bool>,
pub name: String,
pub planned_monthly_cost_estimate: Option<McnCostDiff>,
pub planned_resources: Option<Vec<McnResourceDiff>>,
pub planned_resources_unavailable: Option<bool>,
pub post_apply_monthly_cost_estimate: Option<McnCost>,
pub post_apply_resources: Option<serde_json::Value>,
pub post_apply_resources_unavailable: Option<bool>,
pub region: Option<String>,
pub status: Option<McnOnrampStatus>,
#[serde(rename = "type")]
pub r#type: McnOnrampType,
pub updated_at: String,
pub vpc: Option<McnResourceId>,
pub vpcs_by_id: Option<serde_json::Value>,
pub vpcs_by_id_unavailable: Option<Vec<McnResourceId>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnOnrampCloudType {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnOnrampId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnOnrampLifecycleState {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnOnrampStatus {
pub apply_progress: McnApplyProgress,
pub lifecycle_errors: Option<serde_json::Value>,
pub lifecycle_state: McnOnrampLifecycleState,
pub plan_progress: McnPlanProgress,
pub routes: Vec<McnConduitRouteId>,
pub tunnels: Vec<McnConduitTunnelId>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnOnrampType {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnPlanProgress {
pub done: i64,
pub total: i64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnPlannedAction {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnPlatformClientId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnProvider {
pub aws_arn: Option<String>,
pub azure_subscription_id: Option<String>,
pub azure_tenant_id: Option<String>,
pub cloud_type: McnCloudType,
pub description: Option<String>,
pub friendly_name: String,
pub gcp_project_id: Option<String>,
pub gcp_service_account_email: Option<String>,
pub id: McnProviderId,
pub last_updated: String,
pub lifecycle_state: McnProviderLifecycleState,
pub state: McnProviderDiscoveryStatus,
pub state_v2: McnProviderDiscoveryStatus,
pub status: Option<McnProviderStatus>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnProviderDiscoveryProgress {
pub done: i64,
pub total: i64,
pub unit: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnProviderDiscoveryStatus {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnProviderId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnProviderInitialSetupResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnProviderLifecycleState {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnProviderStatus {
pub credentials_good_since: Option<String>,
pub credentials_missing_since: Option<String>,
pub credentials_rejected_since: Option<String>,
pub discovery_message: Option<String>,
pub discovery_message_v2: Option<String>,
pub discovery_progress: McnProviderDiscoveryProgress,
pub discovery_progress_v2: McnProviderDiscoveryProgress,
pub in_use_by: Option<Vec<McnCloudPlatformClient>>,
pub last_discovery_completed_at: Option<String>,
pub last_discovery_completed_at_v2: Option<String>,
pub last_discovery_started_at: Option<String>,
pub last_discovery_started_at_v2: Option<String>,
pub last_discovery_status: McnProviderDiscoveryStatus,
pub last_discovery_status_v2: McnProviderDiscoveryStatus,
pub last_updated: Option<String>,
pub regions: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnReadAccountProviderResponse {
pub result: Option<McnProvider>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnReadAccountProvidersResponse {
pub result: Option<Vec<McnProvider>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnResourceDiff {
pub diff: McnYamlDiff,
pub keys_require_replace: Vec<String>,
pub monthly_cost_estimate_diff: McnCostDiff,
pub planned_action: McnPlannedAction,
pub resource: McnResourcePreview,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnResourceId {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnResourcePreview {
pub cloud_type: McnCloudType,
pub detail: String,
pub id: McnResourceId,
pub name: String,
pub resource_type: McnResourceType,
pub title: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnResourceType {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnResponse {
pub messages: Vec<McnError>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnUpdateMagicWanAddressSpaceRequest {
pub prefixes: Vec<McnCidrPrefix>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnUpdateMagicWanAddressSpaceResponse {
pub result: Option<McnMagicWanAddressSpace>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnUpdateOnrampRequest {
pub attached_hubs: Option<Vec<McnResourceId>>,
pub attached_vpcs: Option<Vec<McnResourceId>>,
pub description: Option<String>,
pub install_routes_in_cloud: Option<bool>,
pub install_routes_in_magic_wan: Option<bool>,
pub manage_hub_to_hub_attachments: Option<bool>,
pub manage_vpc_to_hub_attachments: Option<bool>,
pub name: Option<String>,
pub vpc: Option<McnResourceId>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnUpdateOnrampResponse {
pub result: Option<McnOnramp>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnUpdateProviderRequest {
pub aws_arn: Option<String>,
pub azure_subscription_id: Option<String>,
pub azure_tenant_id: Option<String>,
pub description: Option<String>,
pub friendly_name: Option<String>,
pub gcp_project_id: Option<String>,
pub gcp_service_account_email: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnUpdateProviderResponse {
pub result: Option<McnProvider>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct McnYamlDiff {
pub diff: String,
pub left_description: String,
pub left_yaml: String,
pub right_description: String,
pub right_yaml: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCodedMessage {
pub code: f64,
pub message: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerConnector {
pub activated: bool,
pub device: Option<MconnCustomerDevice>,
pub id: MconnUuid,
pub interrupt_window_days_of_week: Vec<MconnDayOfWeek>,
pub interrupt_window_duration_hours: f64,
pub interrupt_window_embargo_dates: Vec<MconnEmbargoDate>,
pub interrupt_window_hour_of_day: f64,
pub last_heartbeat: Option<String>,
pub last_seen_version: Option<String>,
pub last_updated: String,
pub license_key: Option<String>,
pub notes: String,
pub timezone: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerConnectorCreateRequest {
pub device: MconnCustomerDeviceOptions,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerConnectorCreateResponse {
pub result: Option<MconnCustomerConnector>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerConnectorDeleteResponse {
pub result: Option<MconnCustomerConnector>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerConnectorFetchResponse {
pub result: Option<MconnCustomerConnector>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerConnectorFields {
pub activated: Option<bool>,
pub interrupt_window_days_of_week: Option<Vec<MconnDayOfWeek>>,
pub interrupt_window_duration_hours: Option<f64>,
pub interrupt_window_embargo_dates: Option<Vec<MconnEmbargoDate>>,
pub interrupt_window_hour_of_day: Option<f64>,
pub notes: Option<String>,
pub timezone: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerConnectorListResponse {
pub result: Option<Vec<MconnCustomerConnector>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerConnectorUpdateRequest {
pub provision_license: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerConnectorUpdateResponse {
pub result: Option<MconnCustomerConnector>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerDevice {
pub id: MconnUuid,
pub serial_number: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerDeviceOptions {
pub id: Option<String>,
pub provision_license: Option<bool>,
pub serial_number: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerEventGetSuccess {
pub result: MconnRecordedEvent,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerEventsGetLatestResult {
pub count: f64,
pub items: Vec<MconnRecordedEvent>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerEventsGetLatestSuccess {
pub result: MconnCustomerEventsGetLatestResult,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerEventsGetResult {
pub count: f64,
pub cursor: Option<String>,
pub items: Vec<MconnEventMetadata>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerEventsGetSuccess {
pub result: MconnCustomerEventsGetResult,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerSnapshotGetSuccess {
pub result: MconnSnapshot,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerSnapshotsGetLatestResult {
pub count: f64,
pub items: Vec<MconnSnapshot>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerSnapshotsGetLatestSuccess {
pub result: MconnCustomerSnapshotsGetLatestResult,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerSnapshotsGetResult {
pub count: f64,
pub cursor: Option<String>,
pub items: Vec<MconnSnapshotMetadata>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnCustomerSnapshotsGetSuccess {
pub result: MconnCustomerSnapshotsGetResult,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnDayOfWeek {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnEmbargoDate {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnEnvelope {
pub errors: Option<Vec<MconnCodedMessage>>,
pub messages: Option<Vec<MconnCodedMessage>>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnEvent {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnEventMetadata {
pub a: f64,
pub k: String,
pub n: f64,
pub t: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnGoodResponse {
pub errors: Option<Vec<MconnCodedMessage>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnRecordedEvent {
pub e: MconnEvent,
pub n: f64,
pub t: f64,
pub v: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnResponse {
pub messages: Vec<MconnCodedMessage>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnSnapshot {
pub bonds: Option<Vec<MconnSnapshotBond>>,
pub count_reclaim_failures: f64,
pub count_reclaimed_paths: f64,
pub count_record_failed: f64,
pub count_transmit_failures: f64,
pub cpu_count: Option<f64>,
pub cpu_pressure_10s: Option<f64>,
pub cpu_pressure_300s: Option<f64>,
pub cpu_pressure_60s: Option<f64>,
pub cpu_pressure_total_us: Option<f64>,
pub cpu_time_guest_ms: Option<f64>,
pub cpu_time_guest_nice_ms: Option<f64>,
pub cpu_time_idle_ms: Option<f64>,
pub cpu_time_iowait_ms: Option<f64>,
pub cpu_time_irq_ms: Option<f64>,
pub cpu_time_nice_ms: Option<f64>,
pub cpu_time_softirq_ms: Option<f64>,
pub cpu_time_steal_ms: Option<f64>,
pub cpu_time_system_ms: Option<f64>,
pub cpu_time_user_ms: Option<f64>,
pub delta: Option<f64>,
pub dhcp_leases: Option<Vec<MconnSnapshotDhcpLease>>,
pub disks: Option<Vec<MconnSnapshotDisk>>,
pub epsilon: Option<f64>,
pub ha_state: Option<String>,
pub ha_value: Option<f64>,
pub interfaces: Option<Vec<MconnSnapshotInterface>>,
pub io_pressure_full_10s: Option<f64>,
pub io_pressure_full_300s: Option<f64>,
pub io_pressure_full_60s: Option<f64>,
pub io_pressure_full_total_us: Option<f64>,
pub io_pressure_some_10s: Option<f64>,
pub io_pressure_some_300s: Option<f64>,
pub io_pressure_some_60s: Option<f64>,
pub io_pressure_some_total_us: Option<f64>,
pub kernel_btime: Option<f64>,
pub kernel_ctxt: Option<f64>,
pub kernel_processes: Option<f64>,
pub kernel_processes_blocked: Option<f64>,
pub kernel_processes_running: Option<f64>,
pub load_average_15m: Option<f64>,
pub load_average_1m: Option<f64>,
pub load_average_5m: Option<f64>,
pub load_average_cur: Option<f64>,
pub load_average_max: Option<f64>,
pub memory_active_bytes: Option<f64>,
pub memory_anon_hugepages_bytes: Option<f64>,
pub memory_anon_pages_bytes: Option<f64>,
pub memory_available_bytes: Option<f64>,
pub memory_bounce_bytes: Option<f64>,
pub memory_buffers_bytes: Option<f64>,
pub memory_cached_bytes: Option<f64>,
pub memory_cma_free_bytes: Option<f64>,
pub memory_cma_total_bytes: Option<f64>,
pub memory_commit_limit_bytes: Option<f64>,
pub memory_committed_as_bytes: Option<f64>,
pub memory_dirty_bytes: Option<f64>,
pub memory_free_bytes: Option<f64>,
pub memory_high_free_bytes: Option<f64>,
pub memory_high_total_bytes: Option<f64>,
pub memory_hugepages_free: Option<f64>,
pub memory_hugepages_rsvd: Option<f64>,
pub memory_hugepages_surp: Option<f64>,
pub memory_hugepages_total: Option<f64>,
pub memory_hugepagesize_bytes: Option<f64>,
pub memory_inactive_bytes: Option<f64>,
pub memory_k_reclaimable_bytes: Option<f64>,
pub memory_kernel_stack_bytes: Option<f64>,
pub memory_low_free_bytes: Option<f64>,
pub memory_low_total_bytes: Option<f64>,
pub memory_mapped_bytes: Option<f64>,
pub memory_page_tables_bytes: Option<f64>,
pub memory_per_cpu_bytes: Option<f64>,
pub memory_pressure_full_10s: Option<f64>,
pub memory_pressure_full_300s: Option<f64>,
pub memory_pressure_full_60s: Option<f64>,
pub memory_pressure_full_total_us: Option<f64>,
pub memory_pressure_some_10s: Option<f64>,
pub memory_pressure_some_300s: Option<f64>,
pub memory_pressure_some_60s: Option<f64>,
pub memory_pressure_some_total_us: Option<f64>,
pub memory_s_reclaimable_bytes: Option<f64>,
pub memory_s_unreclaim_bytes: Option<f64>,
pub memory_secondary_page_tables_bytes: Option<f64>,
pub memory_shmem_bytes: Option<f64>,
pub memory_shmem_hugepages_bytes: Option<f64>,
pub memory_shmem_pmd_mapped_bytes: Option<f64>,
pub memory_slab_bytes: Option<f64>,
pub memory_swap_cached_bytes: Option<f64>,
pub memory_swap_free_bytes: Option<f64>,
pub memory_swap_total_bytes: Option<f64>,
pub memory_total_bytes: Option<f64>,
pub memory_vmalloc_chunk_bytes: Option<f64>,
pub memory_vmalloc_total_bytes: Option<f64>,
pub memory_vmalloc_used_bytes: Option<f64>,
pub memory_writeback_bytes: Option<f64>,
pub memory_writeback_tmp_bytes: Option<f64>,
pub memory_z_swap_bytes: Option<f64>,
pub memory_z_swapped_bytes: Option<f64>,
pub mounts: Option<Vec<MconnSnapshotMount>>,
pub netdevs: Option<Vec<MconnSnapshotNetdev>>,
pub platform: Option<String>,
pub snmp_icmp_in_addr_mask_reps: Option<f64>,
pub snmp_icmp_in_addr_masks: Option<f64>,
pub snmp_icmp_in_csum_errors: Option<f64>,
pub snmp_icmp_in_dest_unreachs: Option<f64>,
pub snmp_icmp_in_echo_reps: Option<f64>,
pub snmp_icmp_in_echos: Option<f64>,
pub snmp_icmp_in_errors: Option<f64>,
pub snmp_icmp_in_msgs: Option<f64>,
pub snmp_icmp_in_parm_probs: Option<f64>,
pub snmp_icmp_in_redirects: Option<f64>,
pub snmp_icmp_in_src_quenchs: Option<f64>,
pub snmp_icmp_in_time_excds: Option<f64>,
pub snmp_icmp_in_timestamp_reps: Option<f64>,
pub snmp_icmp_in_timestamps: Option<f64>,
pub snmp_icmp_out_addr_mask_reps: Option<f64>,
pub snmp_icmp_out_addr_masks: Option<f64>,
pub snmp_icmp_out_dest_unreachs: Option<f64>,
pub snmp_icmp_out_echo_reps: Option<f64>,
pub snmp_icmp_out_echos: Option<f64>,
pub snmp_icmp_out_errors: Option<f64>,
pub snmp_icmp_out_msgs: Option<f64>,
pub snmp_icmp_out_parm_probs: Option<f64>,
pub snmp_icmp_out_redirects: Option<f64>,
pub snmp_icmp_out_src_quenchs: Option<f64>,
pub snmp_icmp_out_time_excds: Option<f64>,
pub snmp_icmp_out_timestamp_reps: Option<f64>,
pub snmp_icmp_out_timestamps: Option<f64>,
pub snmp_ip_default_ttl: Option<f64>,
pub snmp_ip_forw_datagrams: Option<f64>,
pub snmp_ip_forwarding_enabled: Option<bool>,
pub snmp_ip_frag_creates: Option<f64>,
pub snmp_ip_frag_fails: Option<f64>,
pub snmp_ip_frag_oks: Option<f64>,
pub snmp_ip_in_addr_errors: Option<f64>,
pub snmp_ip_in_delivers: Option<f64>,
pub snmp_ip_in_discards: Option<f64>,
pub snmp_ip_in_hdr_errors: Option<f64>,
pub snmp_ip_in_receives: Option<f64>,
pub snmp_ip_in_unknown_protos: Option<f64>,
pub snmp_ip_out_discards: Option<f64>,
pub snmp_ip_out_no_routes: Option<f64>,
pub snmp_ip_out_requests: Option<f64>,
pub snmp_ip_reasm_fails: Option<f64>,
pub snmp_ip_reasm_oks: Option<f64>,
pub snmp_ip_reasm_reqds: Option<f64>,
pub snmp_ip_reasm_timeout: Option<f64>,
pub snmp_tcp_active_opens: Option<f64>,
pub snmp_tcp_attempt_fails: Option<f64>,
pub snmp_tcp_curr_estab: Option<f64>,
pub snmp_tcp_estab_resets: Option<f64>,
pub snmp_tcp_in_csum_errors: Option<f64>,
pub snmp_tcp_in_errs: Option<f64>,
pub snmp_tcp_in_segs: Option<f64>,
pub snmp_tcp_max_conn: Option<f64>,
pub snmp_tcp_out_rsts: Option<f64>,
pub snmp_tcp_out_segs: Option<f64>,
pub snmp_tcp_passive_opens: Option<f64>,
pub snmp_tcp_retrans_segs: Option<f64>,
pub snmp_tcp_rto_max: Option<f64>,
pub snmp_tcp_rto_min: Option<f64>,
pub snmp_udp_in_datagrams: Option<f64>,
pub snmp_udp_in_errors: Option<f64>,
pub snmp_udp_no_ports: Option<f64>,
pub snmp_udp_out_datagrams: Option<f64>,
pub system_boot_time_s: Option<f64>,
pub t: f64,
pub thermals: Option<Vec<MconnSnapshotThermal>>,
pub tunnels: Option<Vec<MconnSnapshotTunnel>>,
pub uptime_idle_ms: Option<f64>,
pub uptime_total_ms: Option<f64>,
pub v: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnSnapshotBond {
pub name: String,
pub status: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnSnapshotDhcpLease {
pub client_id: String,
pub expiry_time: f64,
pub hostname: String,
pub interface_name: String,
pub ip_address: String,
pub mac_address: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnSnapshotDisk {
pub discards: Option<f64>,
pub discards_merged: Option<f64>,
pub flushes: Option<f64>,
pub in_progress: f64,
pub major: f64,
pub merged: f64,
pub minor: f64,
pub name: String,
pub reads: f64,
pub sectors_discarded: Option<f64>,
pub sectors_read: f64,
pub sectors_written: f64,
pub time_discarding_ms: Option<f64>,
pub time_flushing_ms: Option<f64>,
pub time_in_progress_ms: f64,
pub time_reading_ms: f64,
pub time_writing_ms: f64,
pub weighted_time_in_progress_ms: f64,
pub writes: f64,
pub writes_merged: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnSnapshotInterface {
pub ip_addresses: Option<Vec<MconnSnapshotInterfaceAddress>>,
pub name: String,
pub operstate: String,
pub speed: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnSnapshotInterfaceAddress {
pub interface_name: String,
pub ip_address: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnSnapshotMetadata {
pub a: f64,
pub t: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnSnapshotMount {
pub available_bytes: Option<f64>,
pub file_system: String,
pub is_read_only: Option<bool>,
pub is_removable: Option<bool>,
pub kind: String,
pub mount_point: String,
pub name: String,
pub total_bytes: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnSnapshotNetdev {
pub name: String,
pub recv_bytes: f64,
pub recv_compressed: f64,
pub recv_drop: f64,
pub recv_errs: f64,
pub recv_fifo: f64,
pub recv_frame: f64,
pub recv_multicast: f64,
pub recv_packets: f64,
pub sent_bytes: f64,
pub sent_carrier: f64,
pub sent_colls: f64,
pub sent_compressed: f64,
pub sent_drop: f64,
pub sent_errs: f64,
pub sent_fifo: f64,
pub sent_packets: f64,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnSnapshotThermal {
pub critical_celcius: Option<f64>,
pub current_celcius: Option<f64>,
pub label: String,
pub max_celcius: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnSnapshotTunnel {
pub health_state: String,
pub health_value: f64,
pub interface_name: String,
pub probed_mtu: Option<f64>,
pub recent_healthy_pings: Option<f64>,
pub recent_unhealthy_pings: Option<f64>,
pub tunnel_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MconnUuid {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementAddressMapsListAddressMapsArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementAddressMapsCreateAddressMapArgs {
pub account_id: String,
pub body: IpAddressManagementAddressMapsCreateAddressMapRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementAddressMapsAddressMapDetailsArgs {
pub address_map_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementAddressMapsUpdateAddressMapArgs {
pub address_map_id: String,
pub account_id: String,
pub body: IpAddressManagementAddressMapsUpdateAddressMapRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementAddressMapsDeleteAddressMapArgs {
pub address_map_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementAddressMapsAddAnIpToAnAddressMapArgs {
pub ip_address: String,
pub address_map_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementAddressMapsRemoveAnIpFromAnAddressMapArgs {
pub ip_address: String,
pub address_map_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementListLeasesArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesUploadLoaDocumentArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesDownloadLoaDocumentArgs {
pub loa_document_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesListPrefixesArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesAddPrefixArgs {
pub account_id: String,
pub body: IpAddressManagementPrefixesAddPrefixRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesPrefixDetailsArgs {
pub prefix_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesUpdatePrefixDescriptionArgs {
pub prefix_id: String,
pub account_id: String,
pub body: IpAddressManagementPrefixesUpdatePrefixDescriptionRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesDeletePrefixArgs {
pub prefix_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixDelegationListPrefixDelegationsArgs {
pub prefix_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixDelegationCreatePrefixDelegationArgs {
pub prefix_id: String,
pub account_id: String,
pub body: IpAddressManagementPrefixDelegationCreatePrefixDelegationRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixDelegationDeletePrefixDelegationArgs {
pub delegation_id: String,
pub prefix_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IpAddressManagementPrefixesValidatePrefixArgs {
pub prefix_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ListAllowlistPrefixesForAccountArgs {
pub account_id: String,
pub page: Option<String>,
pub per_page: Option<String>,
pub order: Option<String>,
pub direction: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CreateAllowlistedPrefixArgs {
pub account_id: String,
pub body: DosNewInfraPrefix,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeleteAllowlistPrefixesForAccountArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetAllowlistPrefixArgs {
pub account_id: String,
pub prefix_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct UpdateAllowlistPrefixArgs {
pub account_id: String,
pub prefix_id: String,
pub body: DosInfraPrefixUpdate,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeleteAllowlistPrefixArgs {
pub account_id: String,
pub prefix_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ListPrefixesForAccountArgs {
pub account_id: String,
pub page: Option<String>,
pub per_page: Option<String>,
pub order: Option<String>,
pub direction: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct CreatePrefixArgs {
pub account_id: String,
pub body: DosNewPrefix,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeletePrefixesForAccountArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct BulkCreatePrefixesArgs {
pub account_id: String,
pub body: Vec<DosNewPrefix>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetPrefixArgs {
pub account_id: String,
pub prefix_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct UpdatePrefixArgs {
pub account_id: String,
pub prefix_id: String,
pub body: DosPrefixUpdate,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct DeletePrefixArgs {
pub account_id: String,
pub prefix_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct GetProtectionStatusArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct UpdateProtectionStatusArgs {
pub account_id: String,
pub body: DosUpdateProtectionStatus,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicAccountAppsListAppsArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicAccountAppsAddAppArgs {
pub account_id: String,
pub body: MagicAppAddSingleRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicAccountAppsUpdateAppArgs {
pub account_id: String,
pub account_app_id: String,
pub body: MagicAppUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicAccountAppsPatchAppArgs {
pub account_id: String,
pub account_app_id: String,
pub body: MagicAppUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicAccountAppsDeleteAppArgs {
pub account_id: String,
pub account_app_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsListArgs {
pub account_id: String,
pub order_by: Option<String>,
pub desc: Option<String>,
pub status: Option<String>,
pub vpcs: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsCreateArgs {
pub account_id: String,
pub body: McnCreateOnrampRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsMwanAddrSpaceReadArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsMwanAddrSpaceUpdateArgs {
pub account_id: String,
pub body: McnUpdateMagicWanAddressSpaceRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsMwanAddrSpacePatchArgs {
pub account_id: String,
pub body: McnUpdateMagicWanAddressSpaceRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsReadArgs {
pub account_id: String,
pub onramp_id: String,
pub status: Option<String>,
pub vpcs: Option<String>,
pub post_apply_resources: Option<String>,
pub planned_resources: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsUpdateArgs {
pub account_id: String,
pub onramp_id: String,
pub body: McnUpdateOnrampRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsPatchArgs {
pub account_id: String,
pub onramp_id: String,
pub body: McnUpdateOnrampRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsDeleteArgs {
pub account_id: String,
pub onramp_id: String,
pub destroy: Option<String>,
pub force: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsApplyArgs {
pub account_id: String,
pub onramp_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsExportArgs {
pub account_id: String,
pub onramp_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OnrampsPlanArgs {
pub account_id: String,
pub onramp_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ProvidersListArgs {
pub account_id: String,
pub status: Option<String>,
pub order_by: Option<String>,
pub desc: Option<String>,
pub cloudflare: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ProvidersCreateArgs {
pub account_id: String,
pub body: McnCreateProviderRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ProvidersDiscoverAllArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ProvidersReadArgs {
pub account_id: String,
pub provider_id: String,
pub status: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ProvidersUpdateArgs {
pub account_id: String,
pub provider_id: String,
pub body: McnUpdateProviderRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ProvidersPatchArgs {
pub account_id: String,
pub provider_id: String,
pub body: McnUpdateProviderRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ProvidersDeleteArgs {
pub account_id: String,
pub provider_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ProvidersDiscoverArgs {
pub account_id: String,
pub provider_id: String,
pub v2: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ProvidersInitialSetupArgs {
pub account_id: String,
pub provider_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorListArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorCreateArgs {
pub account_id: String,
pub body: MconnCustomerConnectorCreateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorFetchArgs {
pub account_id: String,
pub connector_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorReplaceArgs {
pub account_id: String,
pub connector_id: String,
pub body: MconnCustomerConnectorUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorUpdateArgs {
pub account_id: String,
pub connector_id: String,
pub body: MconnCustomerConnectorUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorDeleteArgs {
pub account_id: String,
pub connector_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorTelemetryEventsListArgs {
pub account_id: String,
pub connector_id: String,
pub from: Option<String>,
pub to: Option<String>,
pub limit: Option<String>,
pub cursor: Option<String>,
pub k: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorTelemetryEventsListLatestArgs {
pub account_id: String,
pub connector_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorTelemetryEventsGetArgs {
pub account_id: String,
pub connector_id: String,
pub event_t: String,
pub event_n: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorTelemetrySnapshotsListArgs {
pub account_id: String,
pub connector_id: String,
pub from: Option<String>,
pub to: Option<String>,
pub limit: Option<String>,
pub cursor: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorTelemetrySnapshotsListLatestArgs {
pub account_id: String,
pub connector_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MconnConnectorTelemetrySnapshotsGetArgs {
pub account_id: String,
pub connector_id: String,
pub snapshot_t: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicStaticRoutesListRoutesArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicStaticRoutesCreateRoutesArgs {
pub account_id: String,
pub body: MagicCreateRouteRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicStaticRoutesUpdateManyRoutesArgs {
pub account_id: String,
pub body: MagicRouteUpdateManyRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicStaticRoutesDeleteManyRoutesArgs {
pub account_id: String,
pub body: MagicRouteDeleteManyRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicStaticRoutesRouteDetailsArgs {
pub route_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicStaticRoutesUpdateRouteArgs {
pub route_id: String,
pub account_id: String,
pub body: MagicRouteUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicStaticRoutesDeleteRouteArgs {
pub route_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSitesListSitesArgs {
pub account_id: String,
pub connectorid: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSitesCreateSiteArgs {
pub account_id: String,
pub body: MagicSitesAddSingleRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSitesSiteDetailsArgs {
pub site_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSitesUpdateSiteArgs {
pub site_id: String,
pub account_id: String,
pub body: MagicSiteUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSitesPatchSiteArgs {
pub site_id: String,
pub account_id: String,
pub body: MagicSiteUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSitesDeleteSiteArgs {
pub site_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteAclsListAclsArgs {
pub account_id: String,
pub site_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteAclsCreateAclArgs {
pub account_id: String,
pub site_id: String,
pub body: MagicAclsAddSingleRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteAclsAclDetailsArgs {
pub site_id: String,
pub account_id: String,
pub acl_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteAclsUpdateAclArgs {
pub site_id: String,
pub account_id: String,
pub acl_id: String,
pub body: MagicAclUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteAclsPatchAclArgs {
pub site_id: String,
pub account_id: String,
pub acl_id: String,
pub body: MagicAclUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteAclsDeleteAclArgs {
pub site_id: String,
pub account_id: String,
pub acl_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteAppConfigsListAppConfigsArgs {
pub account_id: String,
pub site_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteAppConfigsAddAppConfigArgs {
pub account_id: String,
pub site_id: String,
pub body: MagicAppConfigAddSingleRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteAppConfigsUpdateAppConfigArgs {
pub account_id: String,
pub site_id: String,
pub app_config_id: String,
pub body: MagicAppConfigUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteAppConfigsPatchAppConfigArgs {
pub account_id: String,
pub site_id: String,
pub app_config_id: String,
pub body: MagicAppConfigUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteAppConfigsDeleteAppConfigArgs {
pub account_id: String,
pub site_id: String,
pub app_config_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteLansListLansArgs {
pub account_id: String,
pub site_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteLansCreateLanArgs {
pub account_id: String,
pub site_id: String,
pub body: MagicLansAddSingleRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteLansLanDetailsArgs {
pub site_id: String,
pub account_id: String,
pub lan_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteLansUpdateLanArgs {
pub site_id: String,
pub account_id: String,
pub lan_id: String,
pub body: MagicLanUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteLansPatchLanArgs {
pub site_id: String,
pub account_id: String,
pub lan_id: String,
pub body: MagicLanUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteLansDeleteLanArgs {
pub site_id: String,
pub account_id: String,
pub lan_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteNetflowConfigDetailsArgs {
pub account_id: String,
pub site_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteNetflowConfigCreateNetflowConfigArgs {
pub account_id: String,
pub site_id: String,
pub body: MagicNetflowConfigRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteNetflowConfigUpdateNetflowConfigArgs {
pub account_id: String,
pub site_id: String,
pub body: MagicNetflowConfigRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteNetflowConfigPatchNetflowConfigArgs {
pub account_id: String,
pub site_id: String,
pub body: MagicNetflowConfigRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteNetflowConfigDeleteNetflowConfigArgs {
pub account_id: String,
pub site_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteWansListWansArgs {
pub account_id: String,
pub site_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteWansCreateWanArgs {
pub account_id: String,
pub site_id: String,
pub body: MagicWansAddSingleRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteWansWanDetailsArgs {
pub site_id: String,
pub account_id: String,
pub wan_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteWansUpdateWanArgs {
pub site_id: String,
pub account_id: String,
pub wan_id: String,
pub body: MagicWanUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteWansPatchWanArgs {
pub site_id: String,
pub account_id: String,
pub wan_id: String,
pub body: MagicWanUpdateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MagicSiteWansDeleteWanArgs {
pub site_id: String,
pub account_id: String,
pub wan_id: String,
}
pub async fn ip_address_management_address_maps_list_address_maps_request<F>(
client: DynNetClient,
args: &IpAddressManagementAddressMapsListAddressMapsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingComponentsSchemasResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/address_maps",
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: AddressingComponentsSchemasResponseCollection = 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_address_maps_create_address_map_request<F>(
client: DynNetClient,
args: &IpAddressManagementAddressMapsCreateAddressMapArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingFullResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/address_maps",
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: AddressingFullResponse = 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_address_maps_address_map_details_request<F>(
client: DynNetClient,
args: &IpAddressManagementAddressMapsAddressMapDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingFullResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/address_maps/{}",
args.account_id,
args.address_map_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: AddressingFullResponse = 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_address_maps_update_address_map_request<F>(
client: DynNetClient,
args: &IpAddressManagementAddressMapsUpdateAddressMapArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingComponentsSchemasSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/address_maps/{}",
args.account_id,
args.address_map_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: AddressingComponentsSchemasSingleResponse = 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_address_maps_delete_address_map_request<F>(
client: DynNetClient,
args: &IpAddressManagementAddressMapsDeleteAddressMapArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingApiResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/address_maps/{}",
args.account_id,
args.address_map_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: AddressingApiResponseCollection = 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_address_maps_add_an_ip_to_an_address_map_request<F>(
client: DynNetClient,
args: &IpAddressManagementAddressMapsAddAnIpToAnAddressMapArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingApiResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/address_maps/{}/ips/{}",
args.account_id,
args.address_map_id,
args.ip_address,
);
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: AddressingApiResponseCollection = 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_address_maps_remove_an_ip_from_an_address_map_request<F>(
client: DynNetClient,
args: &IpAddressManagementAddressMapsRemoveAnIpFromAnAddressMapArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingApiResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/address_maps/{}/ips/{}",
args.account_id,
args.address_map_id,
args.ip_address,
);
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: AddressingApiResponseCollection = 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_list_leases_request<F>(
client: DynNetClient,
args: &IpAddressManagementListLeasesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingLeasesComponentsSchemasResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/leases",
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: AddressingLeasesComponentsSchemasResponseCollection = 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_upload_loa_document_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesUploadLoaDocumentArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingLoaUploadResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/loa_documents",
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()))?;
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: AddressingLoaUploadResponse = 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_download_loa_document_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesDownloadLoaDocumentArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<()>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/loa_documents/{}/download",
args.account_id,
args.loa_document_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 });
}
Ok(ApiResponse { status: status as u16, headers, body: () })
}
pub async fn ip_address_management_prefixes_list_prefixes_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesListPrefixesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes",
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: AddressingResponseCollection = 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_add_prefix_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesAddPrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes",
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: AddressingSingleResponse = 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_prefix_details_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesPrefixDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/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: AddressingSingleResponse = 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_prefix_description_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesUpdatePrefixDescriptionArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes/{}",
args.account_id,
args.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: AddressingSingleResponse = 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_prefix_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesDeletePrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingApiResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes/{}",
args.account_id,
args.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: AddressingApiResponseSingle = 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_prefix_delegation_list_prefix_delegations_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixDelegationListPrefixDelegationsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingSchemasResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes/{}/delegations",
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: AddressingSchemasResponseCollection = 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_prefix_delegation_create_prefix_delegation_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixDelegationCreatePrefixDelegationArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingSchemasSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes/{}/delegations",
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: AddressingSchemasSingleResponse = 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_prefix_delegation_delete_prefix_delegation_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixDelegationDeletePrefixDelegationArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingIdResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes/{}/delegations/{}",
args.account_id,
args.prefix_id,
args.delegation_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: AddressingIdResponse = 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_validate_prefix_request<F>(
client: DynNetClient,
args: &IpAddressManagementPrefixesValidatePrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<AddressingSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/addressing/prefixes/{}/validate",
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()))?;
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: AddressingSingleResponse = 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_allowlist_prefixes_for_account_request<F>(
client: DynNetClient,
args: &ListAllowlistPrefixesForAccountArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosInfraPrefixListResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/allowlist",
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("order", args.order.as_deref());
builder = builder.query("direction", args.direction.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: DosInfraPrefixListResponse = 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_allowlisted_prefix_request<F>(
client: DynNetClient,
args: &CreateAllowlistedPrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosInfraPrefixResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/allowlist",
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: DosInfraPrefixResponse = 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_allowlist_prefixes_for_account_request<F>(
client: DynNetClient,
args: &DeleteAllowlistPrefixesForAccountArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosApiResponseCommon>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/allowlist",
args.account_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: DosApiResponseCommon = 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_allowlist_prefix_request<F>(
client: DynNetClient,
args: &GetAllowlistPrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosInfraPrefixResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/allowlist/{}",
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: DosInfraPrefixResponse = 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_allowlist_prefix_request<F>(
client: DynNetClient,
args: &UpdateAllowlistPrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosInfraPrefixResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/allowlist/{}",
args.account_id,
args.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: DosInfraPrefixResponse = 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_allowlist_prefix_request<F>(
client: DynNetClient,
args: &DeleteAllowlistPrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosApiResponseCommon>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/allowlist/{}",
args.account_id,
args.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: DosApiResponseCommon = 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_prefixes_for_account_request<F>(
client: DynNetClient,
args: &ListPrefixesForAccountArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosPrefixListResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/prefixes",
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("order", args.order.as_deref());
builder = builder.query("direction", args.direction.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: DosPrefixListResponse = 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_prefix_request<F>(
client: DynNetClient,
args: &CreatePrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosPrefixResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/prefixes",
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: DosPrefixResponse = 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_prefixes_for_account_request<F>(
client: DynNetClient,
args: &DeletePrefixesForAccountArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosApiResponseCommon>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/prefixes",
args.account_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: DosApiResponseCommon = 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 bulk_create_prefixes_request<F>(
client: DynNetClient,
args: &BulkCreatePrefixesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosPrefixListResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/prefixes/bulk",
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: DosPrefixListResponse = 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_prefix_request<F>(
client: DynNetClient,
args: &GetPrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosPrefixResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/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: DosPrefixResponse = 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_prefix_request<F>(
client: DynNetClient,
args: &UpdatePrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosPrefixResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/prefixes/{}",
args.account_id,
args.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: DosPrefixResponse = 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_prefix_request<F>(
client: DynNetClient,
args: &DeletePrefixArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosApiResponseCommon>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/prefixes/{}",
args.account_id,
args.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: DosApiResponseCommon = 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_protection_status_request<F>(
client: DynNetClient,
args: &GetProtectionStatusArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosProtectionStatusResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/tcp_protection_status",
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: DosProtectionStatusResponse = 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_protection_status_request<F>(
client: DynNetClient,
args: &UpdateProtectionStatusArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<DosProtectionStatusResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/advanced_tcp_protection/configs/tcp_protection_status",
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: DosProtectionStatusResponse = 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_account_apps_list_apps_request<F>(
client: DynNetClient,
args: &MagicAccountAppsListAppsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAppsCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/apps",
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: MagicAppsCollectionResponse = 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_account_apps_add_app_request<F>(
client: DynNetClient,
args: &MagicAccountAppsAddAppArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAppSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/apps",
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: MagicAppSingleResponse = 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_account_apps_update_app_request<F>(
client: DynNetClient,
args: &MagicAccountAppsUpdateAppArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAppSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/apps/{}",
args.account_id,
args.account_app_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: MagicAppSingleResponse = 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_account_apps_patch_app_request<F>(
client: DynNetClient,
args: &MagicAccountAppsPatchAppArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAppSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/apps/{}",
args.account_id,
args.account_app_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: MagicAppSingleResponse = 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_account_apps_delete_app_request<F>(
client: DynNetClient,
args: &MagicAccountAppsDeleteAppArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAppSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/apps/{}",
args.account_id,
args.account_app_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: MagicAppSingleResponse = 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 onramps_list_request<F>(
client: DynNetClient,
args: &OnrampsListArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnListOnrampsResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps",
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("order_by", args.order_by.as_deref());
builder = builder.query("desc", args.desc.as_deref());
builder = builder.query("status", args.status.as_deref());
builder = builder.query("vpcs", args.vpcs.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: McnListOnrampsResponse = 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 onramps_create_request<F>(
client: DynNetClient,
args: &OnrampsCreateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnCreateOnrampResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps",
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: McnCreateOnrampResponse = 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 onramps_mwan_addr_space_read_request<F>(
client: DynNetClient,
args: &OnrampsMwanAddrSpaceReadArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnGetMagicWanAddressSpaceResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps/magic_wan_address_space",
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: McnGetMagicWanAddressSpaceResponse = 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 onramps_mwan_addr_space_update_request<F>(
client: DynNetClient,
args: &OnrampsMwanAddrSpaceUpdateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnUpdateMagicWanAddressSpaceResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps/magic_wan_address_space",
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: McnUpdateMagicWanAddressSpaceResponse = 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 onramps_mwan_addr_space_patch_request<F>(
client: DynNetClient,
args: &OnrampsMwanAddrSpacePatchArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnUpdateMagicWanAddressSpaceResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps/magic_wan_address_space",
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: McnUpdateMagicWanAddressSpaceResponse = 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 onramps_read_request<F>(
client: DynNetClient,
args: &OnrampsReadArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnGetOnrampResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps/{}",
args.account_id,
args.onramp_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("status", args.status.as_deref());
builder = builder.query("vpcs", args.vpcs.as_deref());
builder = builder.query("post_apply_resources", args.post_apply_resources.as_deref());
builder = builder.query("planned_resources", args.planned_resources.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: McnGetOnrampResponse = 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 onramps_update_request<F>(
client: DynNetClient,
args: &OnrampsUpdateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnUpdateOnrampResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps/{}",
args.account_id,
args.onramp_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: McnUpdateOnrampResponse = 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 onramps_patch_request<F>(
client: DynNetClient,
args: &OnrampsPatchArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnUpdateOnrampResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps/{}",
args.account_id,
args.onramp_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: McnUpdateOnrampResponse = 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 onramps_delete_request<F>(
client: DynNetClient,
args: &OnrampsDeleteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnDeleteOnrampResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps/{}",
args.account_id,
args.onramp_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("destroy", args.destroy.as_deref());
builder = builder.query("force", args.force.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: McnDeleteOnrampResponse = 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 onramps_apply_request<F>(
client: DynNetClient,
args: &OnrampsApplyArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnGoodResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps/{}/apply",
args.account_id,
args.onramp_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: McnGoodResponse = 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 onramps_export_request<F>(
client: DynNetClient,
args: &OnrampsExportArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<()>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps/{}/export",
args.account_id,
args.onramp_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 });
}
Ok(ApiResponse { status: status as u16, headers, body: () })
}
pub async fn onramps_plan_request<F>(
client: DynNetClient,
args: &OnrampsPlanArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnGoodResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/onramps/{}/plan",
args.account_id,
args.onramp_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: McnGoodResponse = 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 providers_list_request<F>(
client: DynNetClient,
args: &ProvidersListArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnReadAccountProvidersResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/providers",
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("status", args.status.as_deref());
builder = builder.query("order_by", args.order_by.as_deref());
builder = builder.query("desc", args.desc.as_deref());
builder = builder.query("cloudflare", args.cloudflare.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: McnReadAccountProvidersResponse = 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 providers_create_request<F>(
client: DynNetClient,
args: &ProvidersCreateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnCreateProviderResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/providers",
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: McnCreateProviderResponse = 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 providers_discover_all_request<F>(
client: DynNetClient,
args: &ProvidersDiscoverAllArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnGoodResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/providers/discover",
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()))?;
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: McnGoodResponse = 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 providers_read_request<F>(
client: DynNetClient,
args: &ProvidersReadArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnReadAccountProviderResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/providers/{}",
args.account_id,
args.provider_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("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: McnReadAccountProviderResponse = 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 providers_update_request<F>(
client: DynNetClient,
args: &ProvidersUpdateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnUpdateProviderResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/providers/{}",
args.account_id,
args.provider_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: McnUpdateProviderResponse = 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 providers_patch_request<F>(
client: DynNetClient,
args: &ProvidersPatchArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnUpdateProviderResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/providers/{}",
args.account_id,
args.provider_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: McnUpdateProviderResponse = 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 providers_delete_request<F>(
client: DynNetClient,
args: &ProvidersDeleteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnDeleteProviderResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/providers/{}",
args.account_id,
args.provider_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: McnDeleteProviderResponse = 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 providers_discover_request<F>(
client: DynNetClient,
args: &ProvidersDiscoverArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnGoodResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/providers/{}/discover",
args.account_id,
args.provider_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.query("v2", args.v2.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: McnGoodResponse = 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 providers_initial_setup_request<F>(
client: DynNetClient,
args: &ProvidersInitialSetupArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<McnProviderInitialSetupResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/cloud/providers/{}/initial_setup",
args.account_id,
args.provider_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: McnProviderInitialSetupResponse = 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 mconn_connector_list_request<F>(
client: DynNetClient,
args: &MconnConnectorListArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerConnectorListResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors",
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: MconnCustomerConnectorListResponse = 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 mconn_connector_create_request<F>(
client: DynNetClient,
args: &MconnConnectorCreateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerConnectorCreateResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors",
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: MconnCustomerConnectorCreateResponse = 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 mconn_connector_fetch_request<F>(
client: DynNetClient,
args: &MconnConnectorFetchArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerConnectorFetchResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors/{}",
args.account_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: MconnCustomerConnectorFetchResponse = 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 mconn_connector_replace_request<F>(
client: DynNetClient,
args: &MconnConnectorReplaceArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerConnectorUpdateResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors/{}",
args.account_id,
args.connector_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: MconnCustomerConnectorUpdateResponse = 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 mconn_connector_update_request<F>(
client: DynNetClient,
args: &MconnConnectorUpdateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerConnectorUpdateResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors/{}",
args.account_id,
args.connector_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: MconnCustomerConnectorUpdateResponse = 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 mconn_connector_delete_request<F>(
client: DynNetClient,
args: &MconnConnectorDeleteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerConnectorDeleteResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors/{}",
args.account_id,
args.connector_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: MconnCustomerConnectorDeleteResponse = 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 mconn_connector_telemetry_events_list_request<F>(
client: DynNetClient,
args: &MconnConnectorTelemetryEventsListArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerEventsGetSuccess>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors/{}/telemetry/events",
args.account_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()))?;
builder = builder.query("from", args.from.as_deref());
builder = builder.query("to", args.to.as_deref());
builder = builder.query("limit", args.limit.as_deref());
builder = builder.query("cursor", args.cursor.as_deref());
builder = builder.query("k", args.k.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: MconnCustomerEventsGetSuccess = 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 mconn_connector_telemetry_events_list_latest_request<F>(
client: DynNetClient,
args: &MconnConnectorTelemetryEventsListLatestArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerEventsGetLatestSuccess>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors/{}/telemetry/events/latest",
args.account_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: MconnCustomerEventsGetLatestSuccess = 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 mconn_connector_telemetry_events_get_request<F>(
client: DynNetClient,
args: &MconnConnectorTelemetryEventsGetArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerEventGetSuccess>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors/{}/telemetry/events/{}.{}",
args.account_id,
args.connector_id,
args.event_t,
args.event_n,
);
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: MconnCustomerEventGetSuccess = 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 mconn_connector_telemetry_snapshots_list_request<F>(
client: DynNetClient,
args: &MconnConnectorTelemetrySnapshotsListArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerSnapshotsGetSuccess>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors/{}/telemetry/snapshots",
args.account_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()))?;
builder = builder.query("from", args.from.as_deref());
builder = builder.query("to", args.to.as_deref());
builder = builder.query("limit", args.limit.as_deref());
builder = builder.query("cursor", args.cursor.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: MconnCustomerSnapshotsGetSuccess = 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 mconn_connector_telemetry_snapshots_list_latest_request<F>(
client: DynNetClient,
args: &MconnConnectorTelemetrySnapshotsListLatestArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerSnapshotsGetLatestSuccess>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors/{}/telemetry/snapshots/latest",
args.account_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: MconnCustomerSnapshotsGetLatestSuccess = 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 mconn_connector_telemetry_snapshots_get_request<F>(
client: DynNetClient,
args: &MconnConnectorTelemetrySnapshotsGetArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MconnCustomerSnapshotGetSuccess>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/connectors/{}/telemetry/snapshots/{}",
args.account_id,
args.connector_id,
args.snapshot_t,
);
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: MconnCustomerSnapshotGetSuccess = 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_static_routes_list_routes_request<F>(
client: DynNetClient,
args: &MagicStaticRoutesListRoutesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicRoutesCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/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()))?;
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: MagicRoutesCollectionResponse = 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_static_routes_create_routes_request<F>(
client: DynNetClient,
args: &MagicStaticRoutesCreateRoutesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicCreateRouteResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/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: MagicCreateRouteResponse = 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_static_routes_update_many_routes_request<F>(
client: DynNetClient,
args: &MagicStaticRoutesUpdateManyRoutesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicMultipleRouteModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/routes",
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: MagicMultipleRouteModifiedResponse = 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_static_routes_delete_many_routes_request<F>(
client: DynNetClient,
args: &MagicStaticRoutesDeleteManyRoutesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicMultipleRouteDeleteResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/routes",
args.account_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.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: MagicMultipleRouteDeleteResponse = 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_static_routes_route_details_request<F>(
client: DynNetClient,
args: &MagicStaticRoutesRouteDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicRouteSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/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: MagicRouteSingleResponse = 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_static_routes_update_route_request<F>(
client: DynNetClient,
args: &MagicStaticRoutesUpdateRouteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicRouteModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/routes/{}",
args.account_id,
args.route_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: MagicRouteModifiedResponse = 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_static_routes_delete_route_request<F>(
client: DynNetClient,
args: &MagicStaticRoutesDeleteRouteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicRouteDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/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: MagicRouteDeletedResponse = 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_sites_list_sites_request<F>(
client: DynNetClient,
args: &MagicSitesListSitesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSitesCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites",
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("connectorid", args.connectorid.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: MagicSitesCollectionResponse = 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_sites_create_site_request<F>(
client: DynNetClient,
args: &MagicSitesCreateSiteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSiteSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites",
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: MagicSiteSingleResponse = 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_sites_site_details_request<F>(
client: DynNetClient,
args: &MagicSitesSiteDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSiteSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}",
args.account_id,
args.site_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: MagicSiteSingleResponse = 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_sites_update_site_request<F>(
client: DynNetClient,
args: &MagicSitesUpdateSiteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSiteModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}",
args.account_id,
args.site_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: MagicSiteModifiedResponse = 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_sites_patch_site_request<F>(
client: DynNetClient,
args: &MagicSitesPatchSiteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSiteModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}",
args.account_id,
args.site_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: MagicSiteModifiedResponse = 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_sites_delete_site_request<F>(
client: DynNetClient,
args: &MagicSitesDeleteSiteArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicSiteDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}",
args.account_id,
args.site_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: MagicSiteDeletedResponse = 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_site_acls_list_acls_request<F>(
client: DynNetClient,
args: &MagicSiteAclsListAclsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAclsCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/acls",
args.account_id,
args.site_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: MagicAclsCollectionResponse = 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_site_acls_create_acl_request<F>(
client: DynNetClient,
args: &MagicSiteAclsCreateAclArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAclSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/acls",
args.account_id,
args.site_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: MagicAclSingleResponse = 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_site_acls_acl_details_request<F>(
client: DynNetClient,
args: &MagicSiteAclsAclDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAclSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/acls/{}",
args.account_id,
args.site_id,
args.acl_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: MagicAclSingleResponse = 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_site_acls_update_acl_request<F>(
client: DynNetClient,
args: &MagicSiteAclsUpdateAclArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAclModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/acls/{}",
args.account_id,
args.site_id,
args.acl_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: MagicAclModifiedResponse = 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_site_acls_patch_acl_request<F>(
client: DynNetClient,
args: &MagicSiteAclsPatchAclArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAclModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/acls/{}",
args.account_id,
args.site_id,
args.acl_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: MagicAclModifiedResponse = 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_site_acls_delete_acl_request<F>(
client: DynNetClient,
args: &MagicSiteAclsDeleteAclArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAclDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/acls/{}",
args.account_id,
args.site_id,
args.acl_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: MagicAclDeletedResponse = 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_site_app_configs_list_app_configs_request<F>(
client: DynNetClient,
args: &MagicSiteAppConfigsListAppConfigsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAppConfigsCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/app_configs",
args.account_id,
args.site_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: MagicAppConfigsCollectionResponse = 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_site_app_configs_add_app_config_request<F>(
client: DynNetClient,
args: &MagicSiteAppConfigsAddAppConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAppConfigSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/app_configs",
args.account_id,
args.site_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: MagicAppConfigSingleResponse = 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_site_app_configs_update_app_config_request<F>(
client: DynNetClient,
args: &MagicSiteAppConfigsUpdateAppConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAppConfigSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/app_configs/{}",
args.account_id,
args.site_id,
args.app_config_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: MagicAppConfigSingleResponse = 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_site_app_configs_patch_app_config_request<F>(
client: DynNetClient,
args: &MagicSiteAppConfigsPatchAppConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAppConfigSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/app_configs/{}",
args.account_id,
args.site_id,
args.app_config_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: MagicAppConfigSingleResponse = 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_site_app_configs_delete_app_config_request<F>(
client: DynNetClient,
args: &MagicSiteAppConfigsDeleteAppConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicAppConfigSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/app_configs/{}",
args.account_id,
args.site_id,
args.app_config_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: MagicAppConfigSingleResponse = 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_site_lans_list_lans_request<F>(
client: DynNetClient,
args: &MagicSiteLansListLansArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicLansCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/lans",
args.account_id,
args.site_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: MagicLansCollectionResponse = 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_site_lans_create_lan_request<F>(
client: DynNetClient,
args: &MagicSiteLansCreateLanArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicLansCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/lans",
args.account_id,
args.site_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: MagicLansCollectionResponse = 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_site_lans_lan_details_request<F>(
client: DynNetClient,
args: &MagicSiteLansLanDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicLanSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/lans/{}",
args.account_id,
args.site_id,
args.lan_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: MagicLanSingleResponse = 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_site_lans_update_lan_request<F>(
client: DynNetClient,
args: &MagicSiteLansUpdateLanArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicLanModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/lans/{}",
args.account_id,
args.site_id,
args.lan_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: MagicLanModifiedResponse = 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_site_lans_patch_lan_request<F>(
client: DynNetClient,
args: &MagicSiteLansPatchLanArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicLanModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/lans/{}",
args.account_id,
args.site_id,
args.lan_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: MagicLanModifiedResponse = 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_site_lans_delete_lan_request<F>(
client: DynNetClient,
args: &MagicSiteLansDeleteLanArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicLanDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/lans/{}",
args.account_id,
args.site_id,
args.lan_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: MagicLanDeletedResponse = 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_site_netflow_config_details_request<F>(
client: DynNetClient,
args: &MagicSiteNetflowConfigDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicNetflowConfigSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/netflow_config",
args.account_id,
args.site_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: MagicNetflowConfigSingleResponse = 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_site_netflow_config_create_netflow_config_request<F>(
client: DynNetClient,
args: &MagicSiteNetflowConfigCreateNetflowConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicNetflowConfigSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/netflow_config",
args.account_id,
args.site_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: MagicNetflowConfigSingleResponse = 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_site_netflow_config_update_netflow_config_request<F>(
client: DynNetClient,
args: &MagicSiteNetflowConfigUpdateNetflowConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicNetflowConfigSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/netflow_config",
args.account_id,
args.site_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: MagicNetflowConfigSingleResponse = 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_site_netflow_config_patch_netflow_config_request<F>(
client: DynNetClient,
args: &MagicSiteNetflowConfigPatchNetflowConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicNetflowConfigSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/netflow_config",
args.account_id,
args.site_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: MagicNetflowConfigSingleResponse = 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_site_netflow_config_delete_netflow_config_request<F>(
client: DynNetClient,
args: &MagicSiteNetflowConfigDeleteNetflowConfigArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicNetflowConfigSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/netflow_config",
args.account_id,
args.site_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: MagicNetflowConfigSingleResponse = 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_site_wans_list_wans_request<F>(
client: DynNetClient,
args: &MagicSiteWansListWansArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicWansCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/wans",
args.account_id,
args.site_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: MagicWansCollectionResponse = 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_site_wans_create_wan_request<F>(
client: DynNetClient,
args: &MagicSiteWansCreateWanArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicWansCollectionResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/wans",
args.account_id,
args.site_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: MagicWansCollectionResponse = 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_site_wans_wan_details_request<F>(
client: DynNetClient,
args: &MagicSiteWansWanDetailsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicWanSingleResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/wans/{}",
args.account_id,
args.site_id,
args.wan_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: MagicWanSingleResponse = 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_site_wans_update_wan_request<F>(
client: DynNetClient,
args: &MagicSiteWansUpdateWanArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicWanModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/wans/{}",
args.account_id,
args.site_id,
args.wan_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: MagicWanModifiedResponse = 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_site_wans_patch_wan_request<F>(
client: DynNetClient,
args: &MagicSiteWansPatchWanArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicWanModifiedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/wans/{}",
args.account_id,
args.site_id,
args.wan_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: MagicWanModifiedResponse = 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_site_wans_delete_wan_request<F>(
client: DynNetClient,
args: &MagicSiteWansDeleteWanArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<MagicWanDeletedResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/magic/sites/{}/wans/{}",
args.account_id,
args.site_id,
args.wan_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: MagicWanDeletedResponse = 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 })
}