#![cfg(feature = "cloudflare_certificates")]
#![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::ApiResponse;
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MTlsCertificateManagementUploadMTlsCertificateRequest {
pub ca: TlsCertificatesAndHostnamesCa,
pub certificates: TlsCertificatesAndHostnamesSchemasCertificates,
pub name: Option<TlsCertificatesAndHostnamesSchemasName>,
pub private_key: Option<TlsCertificatesAndHostnamesComponentsSchemasPrivateKey>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct OriginCaCreateCertificateRequest {
pub csr: TlsCertificatesAndHostnamesCsr,
pub hostnames: Vec<String>,
pub request_type: TlsCertificatesAndHostnamesRequestType,
pub requested_validity: Option<TlsCertificatesAndHostnamesRequestedValidity>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesApiResponseCollection {
pub result_info: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesApiResponseCommon {
pub errors: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
pub success: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesApiResponseSingle {
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesAssociationObject {
pub service: Option<TlsCertificatesAndHostnamesService>,
pub status: Option<TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasStatus>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesAssociationResponseCollection {
pub result: Option<Vec<TlsCertificatesAndHostnamesAssociationObject>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesCa {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesCertificateObjectPost {
pub ca: Option<TlsCertificatesAndHostnamesCa>,
pub certificates: Option<TlsCertificatesAndHostnamesSchemasCertificates>,
pub expires_on: Option<TlsCertificatesAndHostnamesSchemasExpiresOn>,
pub id: Option<TlsCertificatesAndHostnamesIdentifier>,
pub issuer: Option<TlsCertificatesAndHostnamesSchemasIssuer>,
pub name: Option<TlsCertificatesAndHostnamesSchemasName>,
pub serial_number: Option<TlsCertificatesAndHostnamesSchemasSerialNumber>,
pub signature: Option<TlsCertificatesAndHostnamesSignature>,
pub updated_at: Option<TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasUpdatedAt>,
pub uploaded_on: Option<TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasUploadedOn>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesCertificateResponseSinglePost {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesCertificateRevokeResponse {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesCertificates {
pub certificate: Option<TlsCertificatesAndHostnamesCertificatesComponentsSchemasCertificate>,
pub csr: TlsCertificatesAndHostnamesCsr,
pub expires_on: Option<TlsCertificatesAndHostnamesComponentsSchemasExpiresOn>,
pub hostnames: Vec<String>,
pub id: Option<TlsCertificatesAndHostnamesIdentifier>,
pub request_type: TlsCertificatesAndHostnamesRequestType,
pub requested_validity: TlsCertificatesAndHostnamesRequestedValidity,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesCertificatesComponentsSchemasCertificate {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesComponentsSchemasCertificateObject {
pub ca: Option<TlsCertificatesAndHostnamesCa>,
pub certificates: Option<TlsCertificatesAndHostnamesSchemasCertificates>,
pub expires_on: Option<TlsCertificatesAndHostnamesSchemasExpiresOn>,
pub id: Option<TlsCertificatesAndHostnamesIdentifier>,
pub issuer: Option<TlsCertificatesAndHostnamesSchemasIssuer>,
pub name: Option<TlsCertificatesAndHostnamesSchemasName>,
pub serial_number: Option<TlsCertificatesAndHostnamesSchemasSerialNumber>,
pub signature: Option<TlsCertificatesAndHostnamesSignature>,
pub uploaded_on: Option<TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasUploadedOn>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesComponentsSchemasExpiresOn {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesComponentsSchemasPrivateKey {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesCsr {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesHostnames {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesIdentifier {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesMessages {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseCollection {
pub result: Option<Vec<TlsCertificatesAndHostnamesComponentsSchemasCertificateObject>>,
pub result_info: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseSingle {
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasStatus {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasUpdatedAt {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasUploadedOn {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesRequestType {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesRequestedValidity {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesSchemasCertificateResponseCollection {
pub result: Option<Vec<TlsCertificatesAndHostnamesCertificates>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesSchemasCertificateResponseSingle {
pub result: Option<TlsCertificatesAndHostnamesCertificates>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesSchemasCertificates {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesSchemasExpiresOn {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesSchemasIssuer {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesSchemasName {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesSchemasSerialNumber {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesService {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct TlsCertificatesAndHostnamesSignature {
#[serde(flatten)]
pub data: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MTlsCertificateManagementListMTlsCertificatesArgs {
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MTlsCertificateManagementUploadMTlsCertificateArgs {
pub account_id: String,
pub body: MTlsCertificateManagementUploadMTlsCertificateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MTlsCertificateManagementGetMTlsCertificateArgs {
pub mtls_certificate_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MTlsCertificateManagementDeleteMTlsCertificateArgs {
pub mtls_certificate_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct MTlsCertificateManagementListMTlsCertificateAssociationsArgs {
pub mtls_certificate_id: String,
pub account_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OriginCaListCertificatesArgs {
pub zone_id: Option<String>,
pub page: Option<String>,
pub per_page: Option<String>,
pub limit: Option<String>,
pub offset: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OriginCaCreateCertificateArgs {
pub body: OriginCaCreateCertificateRequest,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OriginCaGetCertificateArgs {
pub certificate_id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct OriginCaRevokeCertificateArgs {
pub certificate_id: String,
}
pub async fn m_tls_certificate_management_list_m_tls_certificates_request<F>(
client: DynNetClient,
args: &MTlsCertificateManagementListMTlsCertificatesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/mtls_certificates",
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: TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseCollection = 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 m_tls_certificate_management_upload_m_tls_certificate_request<F>(
client: DynNetClient,
args: &MTlsCertificateManagementUploadMTlsCertificateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TlsCertificatesAndHostnamesCertificateResponseSinglePost>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/mtls_certificates",
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: TlsCertificatesAndHostnamesCertificateResponseSinglePost = 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 m_tls_certificate_management_get_m_tls_certificate_request<F>(
client: DynNetClient,
args: &MTlsCertificateManagementGetMTlsCertificateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/mtls_certificates/{}",
args.account_id,
args.mtls_certificate_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: TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseSingle = 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 m_tls_certificate_management_delete_m_tls_certificate_request<F>(
client: DynNetClient,
args: &MTlsCertificateManagementDeleteMTlsCertificateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/mtls_certificates/{}",
args.account_id,
args.mtls_certificate_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: TlsCertificatesAndHostnamesMtlsManagementComponentsSchemasCertificateResponseSingle = 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 m_tls_certificate_management_list_m_tls_certificate_associations_request<F>(
client: DynNetClient,
args: &MTlsCertificateManagementListMTlsCertificateAssociationsArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TlsCertificatesAndHostnamesAssociationResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/accounts/{}/mtls_certificates/{}/associations",
args.account_id,
args.mtls_certificate_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: TlsCertificatesAndHostnamesAssociationResponseCollection = 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 origin_ca_list_certificates_request<F>(
client: DynNetClient,
args: &OriginCaListCertificatesArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TlsCertificatesAndHostnamesSchemasCertificateResponseCollection>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/certificates",
);
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("zone_id", args.zone_id.as_deref());
builder = builder.query("page", args.page.as_deref());
builder = builder.query("per_page", args.per_page.as_deref());
builder = builder.query("limit", args.limit.as_deref());
builder = builder.query("offset", args.offset.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: TlsCertificatesAndHostnamesSchemasCertificateResponseCollection = 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 origin_ca_create_certificate_request<F>(
client: DynNetClient,
args: &OriginCaCreateCertificateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TlsCertificatesAndHostnamesSchemasCertificateResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/certificates",
);
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: TlsCertificatesAndHostnamesSchemasCertificateResponseSingle = 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 origin_ca_get_certificate_request<F>(
client: DynNetClient,
args: &OriginCaGetCertificateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TlsCertificatesAndHostnamesSchemasCertificateResponseSingle>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/certificates/{}",
args.certificate_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: TlsCertificatesAndHostnamesSchemasCertificateResponseSingle = 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 origin_ca_revoke_certificate_request<F>(
client: DynNetClient,
args: &OriginCaRevokeCertificateArgs,
base_url: &str,
builder_mod: Option<F>,
) -> Result<ApiResponse<TlsCertificatesAndHostnamesCertificateRevokeResponse>, super::shared::ApiError>
where
F: FnOnce(&mut PreparedRequestBuilder),
{
let path = format!("/certificates/{}",
args.certificate_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: TlsCertificatesAndHostnamesCertificateRevokeResponse = 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 })
}