use std::sync::Arc;
use crate::core::client::{VimClient, Result};
#[derive(Clone)]
pub struct CryptoManagerKmip {
client: Arc<dyn VimClient>,
mo_id: String,
}
impl CryptoManagerKmip {
pub fn new(client: Arc<dyn VimClient>, mo_id: &str) -> Self {
Self {
client,
mo_id: mo_id.to_string(),
}
}
pub async fn is_kms_cluster_active(&self, cluster: Option<&crate::types::structs::KeyProviderId>) -> Result<bool> {
let input = IsKmsClusterActiveRequestType {cluster, };
let bytes = self.client.invoke("", "CryptoManagerKmip", &self.mo_id, "IsKmsClusterActive", Some(&input)).await?;
let result: bool = crate::core::client::unmarshal(self.client.transport(), &bytes)?;
Ok(result)
}
pub async fn add_key(&self, key: &crate::types::structs::CryptoKeyPlain) -> Result<()> {
let input = AddKeyRequestType {key, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "AddKey", Some(&input)).await
}
pub async fn add_keys(&self, keys: Option<&[crate::types::structs::CryptoKeyPlain]>) -> Result<Option<Vec<crate::types::structs::CryptoKeyResult>>> {
let input = AddKeysRequestType {keys, };
let bytes_opt = self.client.invoke_optional("", "CryptoManagerKmip", &self.mo_id, "AddKeys", Some(&input)).await?;
match bytes_opt {
Some(ref b) => Ok(Some(crate::core::client::unmarshal_array(self.client.transport(), b)?)),
None => Ok(None),
}
}
pub async fn generate_client_csr(&self, cluster: &crate::types::structs::KeyProviderId, request: Option<&crate::types::structs::CryptoManagerKmipCertSignRequest>) -> Result<String> {
let input = GenerateClientCsrRequestType {cluster, request, };
let bytes = self.client.invoke("", "CryptoManagerKmip", &self.mo_id, "GenerateClientCsr", Some(&input)).await?;
let result: String = crate::core::client::unmarshal(self.client.transport(), &bytes)?;
Ok(result)
}
pub async fn generate_key(&self, key_provider: Option<&crate::types::structs::KeyProviderId>, spec: Option<&crate::types::structs::CryptoManagerKmipCustomAttributeSpec>, key_spec: Option<&crate::types::structs::CryptoManagerKmipGenerateKeySpec>) -> Result<crate::types::structs::CryptoKeyResult> {
let input = GenerateKeyRequestType {key_provider, spec, key_spec, };
let bytes = self.client.invoke("", "CryptoManagerKmip", &self.mo_id, "GenerateKey", Some(&input)).await?;
let result: crate::types::structs::CryptoKeyResult = crate::core::client::unmarshal(self.client.transport(), &bytes)?;
Ok(result)
}
pub async fn generate_self_signed_client_cert(&self, cluster: &crate::types::structs::KeyProviderId, request: Option<&crate::types::structs::CryptoManagerKmipCertSignRequest>) -> Result<String> {
let input = GenerateSelfSignedClientCertRequestType {cluster, request, };
let bytes = self.client.invoke("", "CryptoManagerKmip", &self.mo_id, "GenerateSelfSignedClientCert", Some(&input)).await?;
let result: String = crate::core::client::unmarshal(self.client.transport(), &bytes)?;
Ok(result)
}
pub async fn get_default_kms_cluster(&self, entity: Option<&crate::types::structs::ManagedObjectReference>, defaults_to_parent: Option<bool>) -> Result<Option<crate::types::structs::KeyProviderId>> {
let input = GetDefaultKmsClusterRequestType {entity, defaults_to_parent, };
let bytes_opt = self.client.invoke_optional("", "CryptoManagerKmip", &self.mo_id, "GetDefaultKmsCluster", Some(&input)).await?;
match bytes_opt {
Some(ref b) => Ok(Some(crate::core::client::unmarshal(self.client.transport(), b)?)),
None => Ok(None),
}
}
pub async fn list_keys(&self, limit: Option<i32>) -> Result<Option<Vec<crate::types::structs::CryptoKeyId>>> {
let input = ListKeysRequestType {limit, };
let bytes_opt = self.client.invoke_optional("", "CryptoManagerKmip", &self.mo_id, "ListKeys", Some(&input)).await?;
match bytes_opt {
Some(ref b) => Ok(Some(crate::core::client::unmarshal_array(self.client.transport(), b)?)),
None => Ok(None),
}
}
pub async fn list_kmip_servers(&self, limit: Option<i32>) -> Result<Option<Vec<crate::types::structs::KmipClusterInfo>>> {
let input = ListKmipServersRequestType {limit, };
let bytes_opt = self.client.invoke_optional("", "CryptoManagerKmip", &self.mo_id, "ListKmipServers", Some(&input)).await?;
match bytes_opt {
Some(ref b) => Ok(Some(crate::core::client::unmarshal_array(self.client.transport(), b)?)),
None => Ok(None),
}
}
pub async fn list_kms_clusters(&self, include_kms_servers: Option<bool>, management_type_filter: Option<i32>, status_filter: Option<i32>) -> Result<Option<Vec<crate::types::structs::KmipClusterInfo>>> {
let input = ListKmsClustersRequestType {include_kms_servers, management_type_filter, status_filter, };
let bytes_opt = self.client.invoke_optional("", "CryptoManagerKmip", &self.mo_id, "ListKmsClusters", Some(&input)).await?;
match bytes_opt {
Some(ref b) => Ok(Some(crate::core::client::unmarshal_array(self.client.transport(), b)?)),
None => Ok(None),
}
}
pub async fn mark_default(&self, cluster_id: &crate::types::structs::KeyProviderId) -> Result<()> {
let input = MarkDefaultRequestType {cluster_id, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "MarkDefault", Some(&input)).await
}
pub async fn query_crypto_key_status(&self, key_ids: Option<&[crate::types::structs::CryptoKeyId]>, check_key_bit_map: i32) -> Result<Option<Vec<crate::types::structs::CryptoManagerKmipCryptoKeyStatus>>> {
let input = QueryCryptoKeyStatusRequestType {key_ids, check_key_bit_map, };
let bytes_opt = self.client.invoke_optional("", "CryptoManagerKmip", &self.mo_id, "QueryCryptoKeyStatus", Some(&input)).await?;
match bytes_opt {
Some(ref b) => Ok(Some(crate::core::client::unmarshal_array(self.client.transport(), b)?)),
None => Ok(None),
}
}
pub async fn register_kmip_server(&self, server: &crate::types::structs::KmipServerSpec) -> Result<()> {
let input = RegisterKmipServerRequestType {server, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "RegisterKmipServer", Some(&input)).await
}
pub async fn register_kms_cluster(&self, cluster_id: &crate::types::structs::KeyProviderId, management_type: Option<&str>) -> Result<()> {
let input = RegisterKmsClusterRequestType {cluster_id, management_type, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "RegisterKmsCluster", Some(&input)).await
}
pub async fn remove_key(&self, key: &crate::types::structs::CryptoKeyId, force: bool) -> Result<()> {
let input = RemoveKeyRequestType {key, force, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "RemoveKey", Some(&input)).await
}
pub async fn remove_keys(&self, keys: Option<&[crate::types::structs::CryptoKeyId]>, force: bool) -> Result<Option<Vec<crate::types::structs::CryptoKeyResult>>> {
let input = RemoveKeysRequestType {keys, force, };
let bytes_opt = self.client.invoke_optional("", "CryptoManagerKmip", &self.mo_id, "RemoveKeys", Some(&input)).await?;
match bytes_opt {
Some(ref b) => Ok(Some(crate::core::client::unmarshal_array(self.client.transport(), b)?)),
None => Ok(None),
}
}
pub async fn remove_kmip_server(&self, cluster_id: &crate::types::structs::KeyProviderId, server_name: &str) -> Result<()> {
let input = RemoveKmipServerRequestType {cluster_id, server_name, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "RemoveKmipServer", Some(&input)).await
}
pub async fn retrieve_client_cert(&self, cluster: &crate::types::structs::KeyProviderId) -> Result<String> {
let input = RetrieveClientCertRequestType {cluster, };
let bytes = self.client.invoke("", "CryptoManagerKmip", &self.mo_id, "RetrieveClientCert", Some(&input)).await?;
let result: String = crate::core::client::unmarshal(self.client.transport(), &bytes)?;
Ok(result)
}
pub async fn retrieve_client_csr(&self, cluster: &crate::types::structs::KeyProviderId) -> Result<String> {
let input = RetrieveClientCsrRequestType {cluster, };
let bytes = self.client.invoke("", "CryptoManagerKmip", &self.mo_id, "RetrieveClientCsr", Some(&input)).await?;
let result: String = crate::core::client::unmarshal(self.client.transport(), &bytes)?;
Ok(result)
}
pub async fn retrieve_kmip_server_cert(&self, key_provider: &crate::types::structs::KeyProviderId, server: &crate::types::structs::KmipServerInfo) -> Result<crate::types::structs::CryptoManagerKmipServerCertInfo> {
let input = RetrieveKmipServerCertRequestType {key_provider, server, };
let bytes = self.client.invoke("", "CryptoManagerKmip", &self.mo_id, "RetrieveKmipServerCert", Some(&input)).await?;
let result: crate::types::structs::CryptoManagerKmipServerCertInfo = crate::core::client::unmarshal(self.client.transport(), &bytes)?;
Ok(result)
}
pub async fn retrieve_kmip_servers_status_task(&self, clusters: Option<&[crate::types::structs::KmipClusterInfo]>) -> Result<crate::types::structs::ManagedObjectReference> {
let input = RetrieveKmipServersStatusRequestType {clusters, };
let bytes = self.client.invoke("", "CryptoManagerKmip", &self.mo_id, "RetrieveKmipServersStatus_Task", Some(&input)).await?;
let result: crate::types::structs::ManagedObjectReference = crate::core::client::unmarshal(self.client.transport(), &bytes)?;
Ok(result)
}
pub async fn retrieve_self_signed_client_cert(&self, cluster: &crate::types::structs::KeyProviderId) -> Result<String> {
let input = RetrieveSelfSignedClientCertRequestType {cluster, };
let bytes = self.client.invoke("", "CryptoManagerKmip", &self.mo_id, "RetrieveSelfSignedClientCert", Some(&input)).await?;
let result: String = crate::core::client::unmarshal(self.client.transport(), &bytes)?;
Ok(result)
}
pub async fn set_default_kms_cluster(&self, entity: Option<&crate::types::structs::ManagedObjectReference>, cluster_id: Option<&crate::types::structs::KeyProviderId>) -> Result<()> {
let input = SetDefaultKmsClusterRequestType {entity, cluster_id, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "SetDefaultKmsCluster", Some(&input)).await
}
pub async fn set_key_custom_attributes(&self, key_id: &crate::types::structs::CryptoKeyId, spec: &crate::types::structs::CryptoManagerKmipCustomAttributeSpec) -> Result<crate::types::structs::CryptoKeyResult> {
let input = SetKeyCustomAttributesRequestType {key_id, spec, };
let bytes = self.client.invoke("", "CryptoManagerKmip", &self.mo_id, "SetKeyCustomAttributes", Some(&input)).await?;
let result: crate::types::structs::CryptoKeyResult = crate::core::client::unmarshal(self.client.transport(), &bytes)?;
Ok(result)
}
pub async fn unregister_kms_cluster(&self, cluster_id: &crate::types::structs::KeyProviderId) -> Result<()> {
let input = UnregisterKmsClusterRequestType {cluster_id, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "UnregisterKmsCluster", Some(&input)).await
}
pub async fn update_kmip_server(&self, server: &crate::types::structs::KmipServerSpec) -> Result<()> {
let input = UpdateKmipServerRequestType {server, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "UpdateKmipServer", Some(&input)).await
}
pub async fn update_kms_signed_csr_client_cert(&self, cluster: &crate::types::structs::KeyProviderId, certificate: &str) -> Result<()> {
let input = UpdateKmsSignedCsrClientCertRequestType {cluster, certificate, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "UpdateKmsSignedCsrClientCert", Some(&input)).await
}
pub async fn update_self_signed_client_cert(&self, cluster: &crate::types::structs::KeyProviderId, certificate: &str) -> Result<()> {
let input = UpdateSelfSignedClientCertRequestType {cluster, certificate, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "UpdateSelfSignedClientCert", Some(&input)).await
}
pub async fn upload_client_cert(&self, cluster: &crate::types::structs::KeyProviderId, certificate: &str, private_key: &str) -> Result<()> {
let input = UploadClientCertRequestType {cluster, certificate, private_key, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "UploadClientCert", Some(&input)).await
}
pub async fn upload_kmip_server_cert(&self, cluster: &crate::types::structs::KeyProviderId, certificate: &str) -> Result<()> {
let input = UploadKmipServerCertRequestType {cluster, certificate, };
self.client.invoke_void("", "CryptoManagerKmip", &self.mo_id, "UploadKmipServerCert", Some(&input)).await
}
pub async fn enabled(&self) -> Result<bool> {
let pv_opt = self.client.fetch_property_raw("", "CryptoManagerKmip", &self.mo_id, "enabled").await?;
let pv = pv_opt.ok_or_else(|| crate::core::client::VimError::ParseError("property enabled was empty".to_string()))?;
let result: bool = crate::core::client::extract_property(pv)?;
Ok(result)
}
pub async fn kmip_servers(&self) -> Result<Option<Vec<crate::types::structs::KmipClusterInfo>>> {
let pv_opt = self.client.fetch_property_raw("", "CryptoManagerKmip", &self.mo_id, "kmipServers").await?;
match pv_opt {
Some(pv) => Ok(Some(crate::core::client::extract_property(pv)?)),
None => Ok(None),
}
}
}
struct IsKmsClusterActiveRequestType<'a> {
cluster: Option<&'a crate::types::structs::KeyProviderId>,
}
impl<'a> miniserde::Serialize for IsKmsClusterActiveRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(IsKmsClusterActiveRequestTypeSer { data: self, seq: 0 }))
}
}
struct IsKmsClusterActiveRequestTypeSer<'b, 'a> {
data: &'b IsKmsClusterActiveRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for IsKmsClusterActiveRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"IsKmsClusterActiveRequestType")),
1 => {
let Some(ref val) = self.data.cluster else { continue; };
return Some((std::borrow::Cow::Borrowed("cluster"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct AddKeyRequestType<'a> {
key: &'a crate::types::structs::CryptoKeyPlain,
}
impl<'a> miniserde::Serialize for AddKeyRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(AddKeyRequestTypeSer { data: self, seq: 0 }))
}
}
struct AddKeyRequestTypeSer<'b, 'a> {
data: &'b AddKeyRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for AddKeyRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"AddKeyRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("key"), &self.data.key as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct AddKeysRequestType<'a> {
keys: Option<&'a [crate::types::structs::CryptoKeyPlain]>,
}
impl<'a> miniserde::Serialize for AddKeysRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(AddKeysRequestTypeSer { data: self, seq: 0 }))
}
}
struct AddKeysRequestTypeSer<'b, 'a> {
data: &'b AddKeysRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for AddKeysRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"AddKeysRequestType")),
1 => {
let Some(ref val) = self.data.keys else { continue; };
return Some((std::borrow::Cow::Borrowed("keys"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct GenerateClientCsrRequestType<'a> {
cluster: &'a crate::types::structs::KeyProviderId,
request: Option<&'a crate::types::structs::CryptoManagerKmipCertSignRequest>,
}
impl<'a> miniserde::Serialize for GenerateClientCsrRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(GenerateClientCsrRequestTypeSer { data: self, seq: 0 }))
}
}
struct GenerateClientCsrRequestTypeSer<'b, 'a> {
data: &'b GenerateClientCsrRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for GenerateClientCsrRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"GenerateClientCsrRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("cluster"), &self.data.cluster as &dyn miniserde::Serialize)),
2 => {
let Some(ref val) = self.data.request else { continue; };
return Some((std::borrow::Cow::Borrowed("request"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct GenerateKeyRequestType<'a> {
key_provider: Option<&'a crate::types::structs::KeyProviderId>,
spec: Option<&'a crate::types::structs::CryptoManagerKmipCustomAttributeSpec>,
key_spec: Option<&'a crate::types::structs::CryptoManagerKmipGenerateKeySpec>,
}
impl<'a> miniserde::Serialize for GenerateKeyRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(GenerateKeyRequestTypeSer { data: self, seq: 0 }))
}
}
struct GenerateKeyRequestTypeSer<'b, 'a> {
data: &'b GenerateKeyRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for GenerateKeyRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"GenerateKeyRequestType")),
1 => {
let Some(ref val) = self.data.key_provider else { continue; };
return Some((std::borrow::Cow::Borrowed("keyProvider"), val as &dyn miniserde::Serialize));
}
2 => {
let Some(ref val) = self.data.spec else { continue; };
return Some((std::borrow::Cow::Borrowed("spec"), val as &dyn miniserde::Serialize));
}
3 => {
let Some(ref val) = self.data.key_spec else { continue; };
return Some((std::borrow::Cow::Borrowed("keySpec"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct GenerateSelfSignedClientCertRequestType<'a> {
cluster: &'a crate::types::structs::KeyProviderId,
request: Option<&'a crate::types::structs::CryptoManagerKmipCertSignRequest>,
}
impl<'a> miniserde::Serialize for GenerateSelfSignedClientCertRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(GenerateSelfSignedClientCertRequestTypeSer { data: self, seq: 0 }))
}
}
struct GenerateSelfSignedClientCertRequestTypeSer<'b, 'a> {
data: &'b GenerateSelfSignedClientCertRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for GenerateSelfSignedClientCertRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"GenerateSelfSignedClientCertRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("cluster"), &self.data.cluster as &dyn miniserde::Serialize)),
2 => {
let Some(ref val) = self.data.request else { continue; };
return Some((std::borrow::Cow::Borrowed("request"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct GetDefaultKmsClusterRequestType<'a> {
entity: Option<&'a crate::types::structs::ManagedObjectReference>,
defaults_to_parent: Option<bool>,
}
impl<'a> miniserde::Serialize for GetDefaultKmsClusterRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(GetDefaultKmsClusterRequestTypeSer { data: self, seq: 0 }))
}
}
struct GetDefaultKmsClusterRequestTypeSer<'b, 'a> {
data: &'b GetDefaultKmsClusterRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for GetDefaultKmsClusterRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"GetDefaultKmsClusterRequestType")),
1 => {
let Some(ref val) = self.data.entity else { continue; };
return Some((std::borrow::Cow::Borrowed("entity"), val as &dyn miniserde::Serialize));
}
2 => {
let Some(ref val) = self.data.defaults_to_parent else { continue; };
return Some((std::borrow::Cow::Borrowed("defaultsToParent"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct ListKeysRequestType {
limit: Option<i32>,
}
impl miniserde::Serialize for ListKeysRequestType {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(ListKeysRequestTypeSer { data: self, seq: 0 }))
}
}
struct ListKeysRequestTypeSer<'b> {
data: &'b ListKeysRequestType,
seq: usize,
}
impl<'b> miniserde::ser::Map for ListKeysRequestTypeSer<'b> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"ListKeysRequestType")),
1 => {
let Some(ref val) = self.data.limit else { continue; };
return Some((std::borrow::Cow::Borrowed("limit"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct ListKmipServersRequestType {
limit: Option<i32>,
}
impl miniserde::Serialize for ListKmipServersRequestType {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(ListKmipServersRequestTypeSer { data: self, seq: 0 }))
}
}
struct ListKmipServersRequestTypeSer<'b> {
data: &'b ListKmipServersRequestType,
seq: usize,
}
impl<'b> miniserde::ser::Map for ListKmipServersRequestTypeSer<'b> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"ListKmipServersRequestType")),
1 => {
let Some(ref val) = self.data.limit else { continue; };
return Some((std::borrow::Cow::Borrowed("limit"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct ListKmsClustersRequestType {
include_kms_servers: Option<bool>,
management_type_filter: Option<i32>,
status_filter: Option<i32>,
}
impl miniserde::Serialize for ListKmsClustersRequestType {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(ListKmsClustersRequestTypeSer { data: self, seq: 0 }))
}
}
struct ListKmsClustersRequestTypeSer<'b> {
data: &'b ListKmsClustersRequestType,
seq: usize,
}
impl<'b> miniserde::ser::Map for ListKmsClustersRequestTypeSer<'b> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"ListKmsClustersRequestType")),
1 => {
let Some(ref val) = self.data.include_kms_servers else { continue; };
return Some((std::borrow::Cow::Borrowed("includeKmsServers"), val as &dyn miniserde::Serialize));
}
2 => {
let Some(ref val) = self.data.management_type_filter else { continue; };
return Some((std::borrow::Cow::Borrowed("managementTypeFilter"), val as &dyn miniserde::Serialize));
}
3 => {
let Some(ref val) = self.data.status_filter else { continue; };
return Some((std::borrow::Cow::Borrowed("statusFilter"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct MarkDefaultRequestType<'a> {
cluster_id: &'a crate::types::structs::KeyProviderId,
}
impl<'a> miniserde::Serialize for MarkDefaultRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(MarkDefaultRequestTypeSer { data: self, seq: 0 }))
}
}
struct MarkDefaultRequestTypeSer<'b, 'a> {
data: &'b MarkDefaultRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for MarkDefaultRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"MarkDefaultRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("clusterId"), &self.data.cluster_id as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct QueryCryptoKeyStatusRequestType<'a> {
key_ids: Option<&'a [crate::types::structs::CryptoKeyId]>,
check_key_bit_map: i32,
}
impl<'a> miniserde::Serialize for QueryCryptoKeyStatusRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(QueryCryptoKeyStatusRequestTypeSer { data: self, seq: 0 }))
}
}
struct QueryCryptoKeyStatusRequestTypeSer<'b, 'a> {
data: &'b QueryCryptoKeyStatusRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for QueryCryptoKeyStatusRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"QueryCryptoKeyStatusRequestType")),
1 => {
let Some(ref val) = self.data.key_ids else { continue; };
return Some((std::borrow::Cow::Borrowed("keyIds"), val as &dyn miniserde::Serialize));
}
2 => return Some((std::borrow::Cow::Borrowed("checkKeyBitMap"), &self.data.check_key_bit_map as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
}
struct RegisterKmipServerRequestType<'a> {
server: &'a crate::types::structs::KmipServerSpec,
}
impl<'a> miniserde::Serialize for RegisterKmipServerRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(RegisterKmipServerRequestTypeSer { data: self, seq: 0 }))
}
}
struct RegisterKmipServerRequestTypeSer<'b, 'a> {
data: &'b RegisterKmipServerRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for RegisterKmipServerRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"RegisterKmipServerRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("server"), &self.data.server as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct RegisterKmsClusterRequestType<'a> {
cluster_id: &'a crate::types::structs::KeyProviderId,
management_type: Option<&'a str>,
}
impl<'a> miniserde::Serialize for RegisterKmsClusterRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(RegisterKmsClusterRequestTypeSer { data: self, seq: 0 }))
}
}
struct RegisterKmsClusterRequestTypeSer<'b, 'a> {
data: &'b RegisterKmsClusterRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for RegisterKmsClusterRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"RegisterKmsClusterRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("clusterId"), &self.data.cluster_id as &dyn miniserde::Serialize)),
2 => {
let Some(ref val) = self.data.management_type else { continue; };
return Some((std::borrow::Cow::Borrowed("managementType"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct RemoveKeyRequestType<'a> {
key: &'a crate::types::structs::CryptoKeyId,
force: bool,
}
impl<'a> miniserde::Serialize for RemoveKeyRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(RemoveKeyRequestTypeSer { data: self, seq: 0 }))
}
}
struct RemoveKeyRequestTypeSer<'b, 'a> {
data: &'b RemoveKeyRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for RemoveKeyRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"RemoveKeyRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("key"), &self.data.key as &dyn miniserde::Serialize)),
2 => return Some((std::borrow::Cow::Borrowed("force"), &self.data.force as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct RemoveKeysRequestType<'a> {
keys: Option<&'a [crate::types::structs::CryptoKeyId]>,
force: bool,
}
impl<'a> miniserde::Serialize for RemoveKeysRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(RemoveKeysRequestTypeSer { data: self, seq: 0 }))
}
}
struct RemoveKeysRequestTypeSer<'b, 'a> {
data: &'b RemoveKeysRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for RemoveKeysRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"RemoveKeysRequestType")),
1 => {
let Some(ref val) = self.data.keys else { continue; };
return Some((std::borrow::Cow::Borrowed("keys"), val as &dyn miniserde::Serialize));
}
2 => return Some((std::borrow::Cow::Borrowed("force"), &self.data.force as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
}
struct RemoveKmipServerRequestType<'a> {
cluster_id: &'a crate::types::structs::KeyProviderId,
server_name: &'a str,
}
impl<'a> miniserde::Serialize for RemoveKmipServerRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(RemoveKmipServerRequestTypeSer { data: self, seq: 0 }))
}
}
struct RemoveKmipServerRequestTypeSer<'b, 'a> {
data: &'b RemoveKmipServerRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for RemoveKmipServerRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"RemoveKmipServerRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("clusterId"), &self.data.cluster_id as &dyn miniserde::Serialize)),
2 => return Some((std::borrow::Cow::Borrowed("serverName"), &self.data.server_name as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct RetrieveClientCertRequestType<'a> {
cluster: &'a crate::types::structs::KeyProviderId,
}
impl<'a> miniserde::Serialize for RetrieveClientCertRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(RetrieveClientCertRequestTypeSer { data: self, seq: 0 }))
}
}
struct RetrieveClientCertRequestTypeSer<'b, 'a> {
data: &'b RetrieveClientCertRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for RetrieveClientCertRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"RetrieveClientCertRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("cluster"), &self.data.cluster as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct RetrieveClientCsrRequestType<'a> {
cluster: &'a crate::types::structs::KeyProviderId,
}
impl<'a> miniserde::Serialize for RetrieveClientCsrRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(RetrieveClientCsrRequestTypeSer { data: self, seq: 0 }))
}
}
struct RetrieveClientCsrRequestTypeSer<'b, 'a> {
data: &'b RetrieveClientCsrRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for RetrieveClientCsrRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"RetrieveClientCsrRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("cluster"), &self.data.cluster as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct RetrieveKmipServerCertRequestType<'a> {
key_provider: &'a crate::types::structs::KeyProviderId,
server: &'a crate::types::structs::KmipServerInfo,
}
impl<'a> miniserde::Serialize for RetrieveKmipServerCertRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(RetrieveKmipServerCertRequestTypeSer { data: self, seq: 0 }))
}
}
struct RetrieveKmipServerCertRequestTypeSer<'b, 'a> {
data: &'b RetrieveKmipServerCertRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for RetrieveKmipServerCertRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"RetrieveKmipServerCertRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("keyProvider"), &self.data.key_provider as &dyn miniserde::Serialize)),
2 => return Some((std::borrow::Cow::Borrowed("server"), &self.data.server as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct RetrieveKmipServersStatusRequestType<'a> {
clusters: Option<&'a [crate::types::structs::KmipClusterInfo]>,
}
impl<'a> miniserde::Serialize for RetrieveKmipServersStatusRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(RetrieveKmipServersStatusRequestTypeSer { data: self, seq: 0 }))
}
}
struct RetrieveKmipServersStatusRequestTypeSer<'b, 'a> {
data: &'b RetrieveKmipServersStatusRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for RetrieveKmipServersStatusRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"RetrieveKmipServersStatusRequestType")),
1 => {
let Some(ref val) = self.data.clusters else { continue; };
return Some((std::borrow::Cow::Borrowed("clusters"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct RetrieveSelfSignedClientCertRequestType<'a> {
cluster: &'a crate::types::structs::KeyProviderId,
}
impl<'a> miniserde::Serialize for RetrieveSelfSignedClientCertRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(RetrieveSelfSignedClientCertRequestTypeSer { data: self, seq: 0 }))
}
}
struct RetrieveSelfSignedClientCertRequestTypeSer<'b, 'a> {
data: &'b RetrieveSelfSignedClientCertRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for RetrieveSelfSignedClientCertRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"RetrieveSelfSignedClientCertRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("cluster"), &self.data.cluster as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct SetDefaultKmsClusterRequestType<'a> {
entity: Option<&'a crate::types::structs::ManagedObjectReference>,
cluster_id: Option<&'a crate::types::structs::KeyProviderId>,
}
impl<'a> miniserde::Serialize for SetDefaultKmsClusterRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(SetDefaultKmsClusterRequestTypeSer { data: self, seq: 0 }))
}
}
struct SetDefaultKmsClusterRequestTypeSer<'b, 'a> {
data: &'b SetDefaultKmsClusterRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for SetDefaultKmsClusterRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
loop {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"SetDefaultKmsClusterRequestType")),
1 => {
let Some(ref val) = self.data.entity else { continue; };
return Some((std::borrow::Cow::Borrowed("entity"), val as &dyn miniserde::Serialize));
}
2 => {
let Some(ref val) = self.data.cluster_id else { continue; };
return Some((std::borrow::Cow::Borrowed("clusterId"), val as &dyn miniserde::Serialize));
}
_ => return None,
}
}
}
}
struct SetKeyCustomAttributesRequestType<'a> {
key_id: &'a crate::types::structs::CryptoKeyId,
spec: &'a crate::types::structs::CryptoManagerKmipCustomAttributeSpec,
}
impl<'a> miniserde::Serialize for SetKeyCustomAttributesRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(SetKeyCustomAttributesRequestTypeSer { data: self, seq: 0 }))
}
}
struct SetKeyCustomAttributesRequestTypeSer<'b, 'a> {
data: &'b SetKeyCustomAttributesRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for SetKeyCustomAttributesRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"SetKeyCustomAttributesRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("keyId"), &self.data.key_id as &dyn miniserde::Serialize)),
2 => return Some((std::borrow::Cow::Borrowed("spec"), &self.data.spec as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct UnregisterKmsClusterRequestType<'a> {
cluster_id: &'a crate::types::structs::KeyProviderId,
}
impl<'a> miniserde::Serialize for UnregisterKmsClusterRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(UnregisterKmsClusterRequestTypeSer { data: self, seq: 0 }))
}
}
struct UnregisterKmsClusterRequestTypeSer<'b, 'a> {
data: &'b UnregisterKmsClusterRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for UnregisterKmsClusterRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"UnregisterKmsClusterRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("clusterId"), &self.data.cluster_id as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct UpdateKmipServerRequestType<'a> {
server: &'a crate::types::structs::KmipServerSpec,
}
impl<'a> miniserde::Serialize for UpdateKmipServerRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(UpdateKmipServerRequestTypeSer { data: self, seq: 0 }))
}
}
struct UpdateKmipServerRequestTypeSer<'b, 'a> {
data: &'b UpdateKmipServerRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for UpdateKmipServerRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"UpdateKmipServerRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("server"), &self.data.server as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct UpdateKmsSignedCsrClientCertRequestType<'a> {
cluster: &'a crate::types::structs::KeyProviderId,
certificate: &'a str,
}
impl<'a> miniserde::Serialize for UpdateKmsSignedCsrClientCertRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(UpdateKmsSignedCsrClientCertRequestTypeSer { data: self, seq: 0 }))
}
}
struct UpdateKmsSignedCsrClientCertRequestTypeSer<'b, 'a> {
data: &'b UpdateKmsSignedCsrClientCertRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for UpdateKmsSignedCsrClientCertRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"UpdateKmsSignedCsrClientCertRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("cluster"), &self.data.cluster as &dyn miniserde::Serialize)),
2 => return Some((std::borrow::Cow::Borrowed("certificate"), &self.data.certificate as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct UpdateSelfSignedClientCertRequestType<'a> {
cluster: &'a crate::types::structs::KeyProviderId,
certificate: &'a str,
}
impl<'a> miniserde::Serialize for UpdateSelfSignedClientCertRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(UpdateSelfSignedClientCertRequestTypeSer { data: self, seq: 0 }))
}
}
struct UpdateSelfSignedClientCertRequestTypeSer<'b, 'a> {
data: &'b UpdateSelfSignedClientCertRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for UpdateSelfSignedClientCertRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"UpdateSelfSignedClientCertRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("cluster"), &self.data.cluster as &dyn miniserde::Serialize)),
2 => return Some((std::borrow::Cow::Borrowed("certificate"), &self.data.certificate as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct UploadClientCertRequestType<'a> {
cluster: &'a crate::types::structs::KeyProviderId,
certificate: &'a str,
private_key: &'a str,
}
impl<'a> miniserde::Serialize for UploadClientCertRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(UploadClientCertRequestTypeSer { data: self, seq: 0 }))
}
}
struct UploadClientCertRequestTypeSer<'b, 'a> {
data: &'b UploadClientCertRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for UploadClientCertRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"UploadClientCertRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("cluster"), &self.data.cluster as &dyn miniserde::Serialize)),
2 => return Some((std::borrow::Cow::Borrowed("certificate"), &self.data.certificate as &dyn miniserde::Serialize)),
3 => return Some((std::borrow::Cow::Borrowed("privateKey"), &self.data.private_key as &dyn miniserde::Serialize)),
_ => return None,
}
}
}
struct UploadKmipServerCertRequestType<'a> {
cluster: &'a crate::types::structs::KeyProviderId,
certificate: &'a str,
}
impl<'a> miniserde::Serialize for UploadKmipServerCertRequestType<'a> {
fn begin(&self) -> miniserde::ser::Fragment<'_> {
miniserde::ser::Fragment::Map(Box::new(UploadKmipServerCertRequestTypeSer { data: self, seq: 0 }))
}
}
struct UploadKmipServerCertRequestTypeSer<'b, 'a> {
data: &'b UploadKmipServerCertRequestType<'a>,
seq: usize,
}
impl<'b, 'a> miniserde::ser::Map for UploadKmipServerCertRequestTypeSer<'b, 'a> {
fn next(&mut self) -> Option<(std::borrow::Cow<'_, str>, &dyn miniserde::Serialize)> {
let seq = self.seq;
self.seq += 1;
match seq {
0 => return Some((std::borrow::Cow::Borrowed("_typeName"), &"UploadKmipServerCertRequestType")),
1 => return Some((std::borrow::Cow::Borrowed("cluster"), &self.data.cluster as &dyn miniserde::Serialize)),
2 => return Some((std::borrow::Cow::Borrowed("certificate"), &self.data.certificate as &dyn miniserde::Serialize)),
_ => return None,
}
}
}