/*
* Hanzo Cloud API
*
* The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
*
* The version of the OpenAPI document: v1
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct S3Health {
/// Error is why the probe is degraded, in plain words. Absent when it is not.
#[serde(rename = "error", skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
/// Presign is whether presigned upload and download URLs can be minted, which needs a PUBLIC endpoint on top of the credentials. False does not make the surface degraded — listing and creating still work. NOT omitempty. On the ready path the untyped probe wrote this key unconditionally, and omitting a false one would turn what a healthy-but-presignless deployment reports from \"presign: false\" into silence — two different facts. The degraded body now carries it too, which is the one delta of typing this: the probe answers ONE shape under both of its statuses, which is what makes a single declared Out honest.
#[serde(rename = "presign", skip_serializing_if = "Option::is_none")]
pub presign: Option<bool>,
/// Ready is whether this deployment can serve object operations at all: true only when admin credentials are configured.
#[serde(rename = "ready", skip_serializing_if = "Option::is_none")]
pub ready: Option<bool>,
/// Service names the subsystem this probe is for. Always \"s3\".
#[serde(rename = "service", skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
/// Status is \"ok\" when the store is reachable in principle, \"degraded\" when it is not. It is the field to read; the HTTP status carries the same fact for a caller that only looks at the code.
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
impl S3Health {
pub fn new() -> S3Health {
S3Health {
error: None,
presign: None,
ready: None,
service: None,
status: None,
}
}
}