azure_svc_codesigning 0.17.0

generated REST API bindings
Documentation
#![allow(non_camel_case_types)]
#![allow(unused_imports)]
use serde::de::{value, Deserializer, IntoDeserializer};
use serde::{Deserialize, Serialize, Serializer};
use std::str::FromStr;
#[doc = "The error object."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureCoreFoundationsError {
    #[doc = "One of a server-defined set of error codes."]
    pub code: String,
    #[doc = "A human-readable representation of the error."]
    pub message: String,
    #[doc = "The target of the error."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub target: Option<String>,
    #[doc = "An array of details about specific errors that led to this reported error."]
    #[serde(
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub details: Vec<AzureCoreFoundationsError>,
    #[doc = "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub innererror: Option<AzureCoreFoundationsInnerError>,
}
impl AzureCoreFoundationsError {
    pub fn new(code: String, message: String) -> Self {
        Self {
            code,
            message,
            target: None,
            details: Vec::new(),
            innererror: None,
        }
    }
}
#[doc = "A response containing error details."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureCoreFoundationsErrorResponse {
    #[doc = "The error object."]
    pub error: AzureCoreFoundationsError,
}
impl azure_core::Continuable for AzureCoreFoundationsErrorResponse {
    type Continuation = String;
    fn continuation(&self) -> Option<Self::Continuation> {
        None
    }
}
impl AzureCoreFoundationsErrorResponse {
    pub fn new(error: AzureCoreFoundationsError) -> Self {
        Self { error }
    }
}
#[doc = "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureCoreFoundationsInnerError {
    #[doc = "One of a server-defined set of error codes."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub code: Option<String>,
    #[doc = "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub innererror: Option<Box<AzureCoreFoundationsInnerError>>,
}
impl AzureCoreFoundationsInnerError {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Enum describing allowed operation states."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "AzureCoreFoundationsOperationState")]
pub enum AzureCoreFoundationsOperationState {
    InProgress,
    Succeeded,
    Failed,
    Canceled,
    #[serde(skip_deserializing)]
    UnknownValue(String),
}
impl FromStr for AzureCoreFoundationsOperationState {
    type Err = value::Error;
    fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
        Self::deserialize(s.into_deserializer())
    }
}
impl<'de> Deserialize<'de> for AzureCoreFoundationsOperationState {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: Deserializer<'de>,
    {
        let s = String::deserialize(deserializer)?;
        let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
        Ok(deserialized)
    }
}
impl Serialize for AzureCoreFoundationsOperationState {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        match self {
            Self::InProgress => serializer.serialize_unit_variant("AzureCoreFoundationsOperationState", 0u32, "InProgress"),
            Self::Succeeded => serializer.serialize_unit_variant("AzureCoreFoundationsOperationState", 1u32, "Succeeded"),
            Self::Failed => serializer.serialize_unit_variant("AzureCoreFoundationsOperationState", 2u32, "Failed"),
            Self::Canceled => serializer.serialize_unit_variant("AzureCoreFoundationsOperationState", 3u32, "Canceled"),
            Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
        }
    }
}
#[doc = "Azure CodeSigning certificate profile configured on a codesign account."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CertificateProfile {
    #[doc = "Azure Codesigning certificate profile name under a codesign account."]
    #[serde(rename = "certificateProfileName")]
    pub certificate_profile_name: String,
}
impl CertificateProfile {
    pub fn new(certificate_profile_name: String) -> Self {
        Self { certificate_profile_name }
    }
}
#[doc = "The codesign operation status response."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CodeSignOperationStatus {
    #[doc = "Unique Id of the operation."]
    pub id: String,
    #[doc = "The sign status model."]
    #[serde(rename = "signResult", default, skip_serializing_if = "Option::is_none")]
    pub sign_result: Option<CodeSignResult>,
}
impl CodeSignOperationStatus {
    pub fn new(id: String) -> Self {
        Self { id, sign_result: None }
    }
}
#[doc = "The sign status model."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CodeSignResult {
    #[doc = "Response Id of the codesign operation."]
    #[serde(rename = "operationId")]
    pub operation_id: String,
    #[doc = "Digital signature of the requested content digest."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub signature: Option<String>,
    #[doc = "Signing certificate corresponding to the private key used to codesign the requested\ndigest."]
    #[serde(rename = "signingCertificate", default, skip_serializing_if = "Option::is_none")]
    pub signing_certificate: Option<String>,
}
impl CodeSignResult {
    pub fn new(operation_id: String) -> Self {
        Self {
            operation_id,
            signature: None,
            signing_certificate: None,
        }
    }
}
#[doc = "Azure CodeSigning customer account created upon registration on the service."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CodeSigningAccount {
    #[doc = "Azure CodeSigning account name."]
    #[serde(rename = "codeSigningAccountName")]
    pub code_signing_account_name: String,
}
impl CodeSigningAccount {
    pub fn new(code_signing_account_name: String) -> Self {
        Self { code_signing_account_name }
    }
}
#[doc = "The codesign request information to be signed by the service."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CodeSigningSubmissionOptions {
    #[doc = "Algorithms supported for signing."]
    #[serde(rename = "signatureAlgorithm")]
    pub signature_algorithm: SignatureAlgorithm,
    #[doc = "Content digest to codesign."]
    pub digest: String,
    #[doc = "List of full file digital signatures."]
    #[serde(
        rename = "fileHashList",
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub file_hash_list: Vec<String>,
    #[doc = "List of authenticode digital signatures."]
    #[serde(
        rename = "authenticodeHashList",
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub authenticode_hash_list: Vec<String>,
}
impl CodeSigningSubmissionOptions {
    pub fn new(signature_algorithm: SignatureAlgorithm, digest: String) -> Self {
        Self {
            signature_algorithm,
            digest,
            file_hash_list: Vec::new(),
            authenticode_hash_list: Vec::new(),
        }
    }
}
#[doc = "Extended key usage object identifier that are allowed."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ExtendedKeyUsage {
    #[doc = "An element of ekus."]
    pub ekus: Vec<String>,
}
impl ExtendedKeyUsage {
    pub fn new(ekus: Vec<String>) -> Self {
        Self { ekus }
    }
}
#[doc = "Paged collection of ExtendedKeyUsage items"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PagedExtendedKeyUsage {
    #[doc = "The ExtendedKeyUsage items on this page"]
    pub value: Vec<ExtendedKeyUsage>,
    #[doc = "The link to the next page of items"]
    #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
    pub next_link: Option<String>,
}
impl azure_core::Continuable for PagedExtendedKeyUsage {
    type Continuation = String;
    fn continuation(&self) -> Option<Self::Continuation> {
        self.next_link.clone().filter(|value| !value.is_empty())
    }
}
impl PagedExtendedKeyUsage {
    pub fn new(value: Vec<ExtendedKeyUsage>) -> Self {
        Self { value, next_link: None }
    }
}
#[doc = "Algorithms supported for signing."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "SignatureAlgorithm")]
pub enum SignatureAlgorithm {
    #[serde(rename = "RS256")]
    Rs256,
    #[serde(rename = "RS384")]
    Rs384,
    #[serde(rename = "RS512")]
    Rs512,
    #[serde(rename = "PS256")]
    Ps256,
    #[serde(rename = "PS384")]
    Ps384,
    #[serde(rename = "PS512")]
    Ps512,
    #[serde(rename = "ES256")]
    Es256,
    #[serde(rename = "ES384")]
    Es384,
    #[serde(rename = "ES512")]
    Es512,
    #[serde(rename = "ES256K")]
    Es256k,
    #[serde(skip_deserializing)]
    UnknownValue(String),
}
impl FromStr for SignatureAlgorithm {
    type Err = value::Error;
    fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
        Self::deserialize(s.into_deserializer())
    }
}
impl<'de> Deserialize<'de> for SignatureAlgorithm {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: Deserializer<'de>,
    {
        let s = String::deserialize(deserializer)?;
        let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
        Ok(deserialized)
    }
}
impl Serialize for SignatureAlgorithm {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        match self {
            Self::Rs256 => serializer.serialize_unit_variant("SignatureAlgorithm", 0u32, "RS256"),
            Self::Rs384 => serializer.serialize_unit_variant("SignatureAlgorithm", 1u32, "RS384"),
            Self::Rs512 => serializer.serialize_unit_variant("SignatureAlgorithm", 2u32, "RS512"),
            Self::Ps256 => serializer.serialize_unit_variant("SignatureAlgorithm", 3u32, "PS256"),
            Self::Ps384 => serializer.serialize_unit_variant("SignatureAlgorithm", 4u32, "PS384"),
            Self::Ps512 => serializer.serialize_unit_variant("SignatureAlgorithm", 5u32, "PS512"),
            Self::Es256 => serializer.serialize_unit_variant("SignatureAlgorithm", 6u32, "ES256"),
            Self::Es384 => serializer.serialize_unit_variant("SignatureAlgorithm", 7u32, "ES384"),
            Self::Es512 => serializer.serialize_unit_variant("SignatureAlgorithm", 8u32, "ES512"),
            Self::Es256k => serializer.serialize_unit_variant("SignatureAlgorithm", 9u32, "ES256K"),
            Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
        }
    }
}
#[doc = "Versions info."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Versions")]
pub enum Versions {
    #[serde(rename = "2023-06-15-preview")]
    N2023_06_15_preview,
    #[serde(skip_deserializing)]
    UnknownValue(String),
}
impl FromStr for Versions {
    type Err = value::Error;
    fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
        Self::deserialize(s.into_deserializer())
    }
}
impl<'de> Deserialize<'de> for Versions {
    fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
    where
        D: Deserializer<'de>,
    {
        let s = String::deserialize(deserializer)?;
        let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
        Ok(deserialized)
    }
}
impl Serialize for Versions {
    fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        match self {
            Self::N2023_06_15_preview => serializer.serialize_unit_variant("Versions", 0u32, "2023-06-15-preview"),
            Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
        }
    }
}