Skip to main content

devops_armory/cloud/gcp/gke/healthcheck/
models.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
4pub struct HealthCheckPolicy {
5    api_version: String,
6    kind: String,
7    metadata: Metadata,
8    spec: HealthCheckPolicySpec,
9}
10
11#[derive(Debug, Serialize, Deserialize)]
12pub struct Metadata {
13    name: String,
14    namespace: String,
15}
16
17#[derive(Debug, Serialize, Deserialize)]
18pub struct HealthCheckPolicySpec {
19    default: DefaultHealthCheckConfig,
20    target_ref: TargetRef,
21}
22
23#[derive(Debug, Serialize, Deserialize)]
24pub struct DefaultHealthCheckConfig {
25    check_interval_sec: u32,
26    timeout_sec: u32,
27    healthy_threshold: u32,
28    unhealthy_threshold: u32,
29    log_config: LogConfig,
30    config: HealthCheckConfig,
31}
32
33#[derive(Debug, Serialize, Deserialize)]
34pub struct LogConfig {
35    enabled: bool,
36}
37
38#[derive(Debug, Serialize, Deserialize)]
39pub struct HealthCheckConfig {
40    r#type: String, 
41    http_health_check: HttpHealthCheck,
42}
43
44#[derive(Debug, Serialize, Deserialize)]
45pub struct HttpHealthCheck {
46    port: u16,
47    request_path: String,
48}
49
50#[derive(Debug, Serialize, Deserialize)]
51pub struct TargetRef {
52    group: String,
53    kind: String,
54    name: String,
55}
56