devops_armory/cloud/gcp/gke/service/
models.rs1use serde_derive::{Serialize, Deserialize};
2
3#[derive(Serialize, Deserialize, Default,Debug)]
4pub struct Service {
5 pub apiVersion: String,
6 pub kind: String,
7 pub metadata: ServiceMetadata,
8 pub spec: ServiceSpecTemplateSpec
9}
10
11#[derive(Serialize, Deserialize, Default,Debug)]
12pub struct ServiceMetadata {
13 pub name: String,
14 pub namespace: String,
15 pub annotations: ServiceAnnotations
16}
17
18#[derive(Serialize, Deserialize, Default,Debug)]
19pub struct ServiceSpec {
20 pub template: ServiceSpecTemplate,
21}
22
23#[derive(Serialize, Deserialize, Default,Debug)]
24pub struct ServiceAnnotations {
25 #[serde(rename = "cloud.google.com/backend-config")]
26 pub cloud_google_com_backend_config: String,
27}
28
29#[derive(Serialize, Deserialize, Default,Debug)]
30pub struct ServiceSpecTemplate {
31 pub spec: ServiceSpecTemplateSpec,
32}
33
34#[derive(Serialize, Deserialize, Default,Debug)]
35pub struct ServiceSpecTemplateSpec {
36 pub selector: ServiceSpecTemplateSpecSelector,
37 pub ports: Vec<ServiceSpecTemplateSpecPorts>
38}
39
40#[derive(Serialize, Deserialize, Default,Debug)]
41pub struct ServiceSpecTemplateSpecSelector {
42 pub app: String,
43}
44
45#[derive(Serialize, Deserialize, Default,Debug)]
46pub struct ServiceSpecTemplateSpecPorts {
47 pub name: String,
48 pub protocol: String,
49 pub port: i32,
50 pub targetPort: i32
51}