cluster_api_rs/api/
capi_ipaddressclaim.rs1#[allow(unused_imports)]
6mod prelude {
7 pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
8 pub use kube::CustomResource;
9 pub use schemars::JsonSchema;
10 pub use serde::{Deserialize, Serialize};
11}
12use self::prelude::*;
13
14#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq, JsonSchema)]
16#[kube(
17 group = "ipam.cluster.x-k8s.io",
18 version = "v1beta1",
19 kind = "IPAddressClaim",
20 plural = "ipaddressclaims"
21)]
22#[kube(namespaced)]
23#[kube(status = "IPAddressClaimStatus")]
24#[kube(derive = "Default")]
25#[kube(derive = "PartialEq")]
26pub struct IPAddressClaimSpec {
27 #[serde(
29 default,
30 skip_serializing_if = "Option::is_none",
31 rename = "clusterName"
32 )]
33 pub cluster_name: Option<String>,
34 #[serde(rename = "poolRef")]
36 pub pool_ref: IPAddressClaimPoolRef,
37}
38
39#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq, JsonSchema)]
41pub struct IPAddressClaimPoolRef {
42 #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
46 pub api_group: Option<String>,
47 pub kind: String,
49 pub name: String,
51}
52
53#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq, JsonSchema)]
55pub struct IPAddressClaimStatus {
56 #[serde(
58 default,
59 skip_serializing_if = "Option::is_none",
60 rename = "addressRef"
61 )]
62 pub address_ref: Option<IPAddressClaimStatusAddressRef>,
63 #[serde(default, skip_serializing_if = "Option::is_none")]
65 pub conditions: Option<Vec<Condition>>,
66}
67
68#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq, JsonSchema)]
70pub struct IPAddressClaimStatusAddressRef {
71 #[serde(default, skip_serializing_if = "Option::is_none")]
77 pub name: Option<String>,
78}