devops_armory/cloud/gcp/gke/healthcheck/
models.rs1use 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