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