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    pub apiVersion: String,
6    pub kind: String,
7    pub metadata: Metadata,
8    pub spec: HealthCheckPolicySpec,
9}
10
11#[derive(Debug, Serialize, Deserialize)]
12pub struct Metadata {
13    pub name: String,
14    pub namespace: String,
15}
16
17#[derive(Debug, Serialize, Deserialize)]
18pub struct HealthCheckPolicySpec {
19    pub default: DefaultHealthCheckConfig,
20    pub targetRef: TargetRef,
21}
22
23#[derive(Debug, Serialize, Deserialize)]
24pub struct DefaultHealthCheckConfig {
25    pub checkIntervalSec: u32,
26    pub timeoutSec: u32,
27    pub healthyThreshold: u32,
28    pub unhealthyThreshold: u32,
29    pub logConfig: LogConfig,
30    pub config: HealthCheckConfig,
31}
32
33#[derive(Debug, Serialize, Deserialize)]
34pub struct LogConfig {
35    pub enabled: bool,
36}
37
38#[derive(Debug, Serialize, Deserialize)]
39pub struct HealthCheckConfig {
40    pub r#type: String, 
41    pub httpHealthCheck: HttpHealthCheck,
42}
43
44#[derive(Debug, Serialize, Deserialize)]
45pub struct HttpHealthCheck {
46    pub port: u16,
47    pub requestPath: String,
48}
49
50#[derive(Debug, Serialize, Deserialize)]
51pub struct TargetRef {
52    pub group: String,
53    pub kind: String,
54    pub name: String,
55}
56