use rustify_derive::Endpoint;
use super::responses::{ListCaCertificateRoleResponse, ReadCaCertificateRoleResponse};
#[derive(Builder, Debug, Default, Endpoint)]
#[endpoint(
path = "/auth/{self.mount}/certs/{self.name}",
method = "POST",
builder = "true"
)]
#[builder(setter(into, strip_option), default)]
pub struct CreateCaCertificateRoleRequest {
#[endpoint(skip)]
pub mount: String,
#[endpoint(skip)]
pub name: String,
pub certificate: String,
pub allowed_common_names: Option<Vec<String>>,
pub allowed_dns_sans: Option<Vec<String>>,
pub allowed_email_sans: Option<Vec<String>>,
pub allowed_uri_sans: Option<Vec<String>>,
pub allowed_organizational_units: Option<Vec<String>>,
pub required_extensions: Option<Vec<String>>,
pub allowed_metadata_extensions: Option<Vec<String>>,
pub ocsp_enabled: Option<bool>,
pub ocsp_ca_certificates: Option<String>,
pub ocsp_servers_override: Option<Vec<String>>,
pub ocsp_fail_open: Option<bool>,
pub ocsp_query_all_servers: Option<bool>,
pub display_name: Option<String>,
pub token_ttl: Option<String>,
pub token_max_ttl: Option<String>,
pub token_policies: Option<Vec<String>>,
pub token_bound_cidrs: Option<Vec<String>>,
pub token_explicit_max_ttl: Option<String>,
pub token_no_default_policy: Option<bool>,
pub token_num_uses: Option<u64>,
pub token_period: Option<String>,
pub token_type: Option<String>,
}
#[derive(Builder, Debug, Default, Endpoint)]
#[endpoint(
path = "/auth/{self.mount}/certs/{self.name}",
response = "ReadCaCertificateRoleResponse",
builder = "true"
)]
#[builder(setter(into, strip_option), default)]
pub struct ReadCaCertificateRoleRequest {
#[endpoint(skip)]
pub mount: String,
#[endpoint(skip)]
pub name: String,
}
#[derive(Builder, Debug, Default, Endpoint)]
#[endpoint(
path = "/auth/{self.mount}/certs/{self.name}",
method = "DELETE",
builder = "true"
)]
#[builder(setter(into, strip_option), default)]
pub struct DeleteCaCertificateRoleRequest {
#[endpoint(skip)]
pub mount: String,
#[endpoint(skip)]
pub name: String,
}
#[derive(Builder, Debug, Default, Endpoint)]
#[endpoint(
path = "/auth/{self.mount}/certs",
method = "LIST",
response = "ListCaCertificateRoleResponse",
builder = "true"
)]
#[builder(setter(into, strip_option), default)]
pub struct ListCaCertificateRoleRequest {
#[endpoint(skip)]
pub mount: String,
}
#[derive(Builder, Debug, Default, Endpoint)]
#[endpoint(path = "/auth/{self.mount}/config", method = "POST", builder = "true")]
#[builder(setter(into, strip_option), default)]
pub struct ConfigureTlsCertificateMethod {
#[endpoint(skip)]
pub mount: String,
disable_binding: Option<bool>,
enable_identity_alias_metadata: Option<bool>,
ocsp_cache_size: Option<u64>,
role_cache_size: Option<u64>,
}
#[derive(Builder, Debug, Default, Endpoint)]
#[endpoint(path = "/auth/{self.mount}/login", method = "POST", builder = "true")]
#[builder(setter(into, strip_option), default)]
pub struct LoginRequest {
#[endpoint(skip)]
pub mount: String,
pub cert_name: String,
}