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    pub tcpHealthCheck: HttpHealthCheck
43}
44
45#[derive(Debug, Serialize, Deserialize)]
46pub struct HttpHealthCheck {
47    pub port: u16,
48    pub requestPath: String,
49}
50
51#[derive(Debug, Serialize, Deserialize)]
52pub struct TargetRef {
53    pub group: String,
54    pub kind: String,
55    pub name: String,
56}
57