#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "external-secrets.io", version = "v1alpha1", kind = "ClusterSecretStore", plural = "clustersecretstores")]
#[kube(status = "ClusterSecretStoreStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct ClusterSecretStoreSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub controller: Option<String>,
pub provider: ClusterSecretStoreProvider,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "retrySettings")]
pub retry_settings: Option<ClusterSecretStoreRetrySettings>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProvider {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub akeyless: Option<ClusterSecretStoreProviderAkeyless>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alibaba: Option<ClusterSecretStoreProviderAlibaba>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub aws: Option<ClusterSecretStoreProviderAws>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azurekv: Option<ClusterSecretStoreProviderAzurekv>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fake: Option<ClusterSecretStoreProviderFake>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gcpsm: Option<ClusterSecretStoreProviderGcpsm>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab: Option<ClusterSecretStoreProviderGitlab>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ibm: Option<ClusterSecretStoreProviderIbm>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kubernetes: Option<ClusterSecretStoreProviderKubernetes>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oracle: Option<ClusterSecretStoreProviderOracle>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub passworddepot: Option<ClusterSecretStoreProviderPassworddepot>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault: Option<ClusterSecretStoreProviderVault>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub webhook: Option<ClusterSecretStoreProviderWebhook>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub yandexlockbox: Option<ClusterSecretStoreProviderYandexlockbox>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAkeyless {
#[serde(rename = "akeylessGWApiURL")]
pub akeyless_gw_api_url: String,
#[serde(rename = "authSecretRef")]
pub auth_secret_ref: ClusterSecretStoreProviderAkeylessAuthSecretRef,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caBundle")]
pub ca_bundle: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caProvider")]
pub ca_provider: Option<ClusterSecretStoreProviderAkeylessCaProvider>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAkeylessAuthSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "kubernetesAuth")]
pub kubernetes_auth: Option<ClusterSecretStoreProviderAkeylessAuthSecretRefKubernetesAuth>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<ClusterSecretStoreProviderAkeylessAuthSecretRefSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAkeylessAuthSecretRefKubernetesAuth {
#[serde(rename = "accessID")]
pub access_id: String,
#[serde(rename = "k8sConfName")]
pub k8s_conf_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<ClusterSecretStoreProviderAkeylessAuthSecretRefKubernetesAuthSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountRef")]
pub service_account_ref: Option<ClusterSecretStoreProviderAkeylessAuthSecretRefKubernetesAuthServiceAccountRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAkeylessAuthSecretRefKubernetesAuthSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAkeylessAuthSecretRefKubernetesAuthServiceAccountRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audiences: Option<Vec<String>>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAkeylessAuthSecretRefSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessID")]
pub access_id: Option<ClusterSecretStoreProviderAkeylessAuthSecretRefSecretRefAccessId>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessType")]
pub access_type: Option<ClusterSecretStoreProviderAkeylessAuthSecretRefSecretRefAccessType>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessTypeParam")]
pub access_type_param: Option<ClusterSecretStoreProviderAkeylessAuthSecretRefSecretRefAccessTypeParam>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAkeylessAuthSecretRefSecretRefAccessId {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAkeylessAuthSecretRefSecretRefAccessType {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAkeylessAuthSecretRefSecretRefAccessTypeParam {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct ClusterSecretStoreProviderAkeylessCaProvider {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(rename = "type")]
pub r#type: ClusterSecretStoreProviderAkeylessCaProviderType,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterSecretStoreProviderAkeylessCaProviderType {
Secret,
ConfigMap,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAlibaba {
pub auth: ClusterSecretStoreProviderAlibabaAuth,
#[serde(rename = "regionID")]
pub region_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAlibabaAuth {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rrsa: Option<ClusterSecretStoreProviderAlibabaAuthRrsa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<ClusterSecretStoreProviderAlibabaAuthSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAlibabaAuthRrsa {
#[serde(rename = "oidcProviderArn")]
pub oidc_provider_arn: String,
#[serde(rename = "oidcTokenFilePath")]
pub oidc_token_file_path: String,
#[serde(rename = "roleArn")]
pub role_arn: String,
#[serde(rename = "sessionName")]
pub session_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAlibabaAuthSecretRef {
#[serde(rename = "accessKeyIDSecretRef")]
pub access_key_id_secret_ref: ClusterSecretStoreProviderAlibabaAuthSecretRefAccessKeyIdSecretRef,
#[serde(rename = "accessKeySecretSecretRef")]
pub access_key_secret_secret_ref: ClusterSecretStoreProviderAlibabaAuthSecretRefAccessKeySecretSecretRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAlibabaAuthSecretRefAccessKeyIdSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAlibabaAuthSecretRefAccessKeySecretSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct ClusterSecretStoreProviderAws {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth: Option<ClusterSecretStoreProviderAwsAuth>,
pub region: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
pub service: ClusterSecretStoreProviderAwsService,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAwsAuth {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt: Option<ClusterSecretStoreProviderAwsAuthJwt>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<ClusterSecretStoreProviderAwsAuthSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAwsAuthJwt {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountRef")]
pub service_account_ref: Option<ClusterSecretStoreProviderAwsAuthJwtServiceAccountRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAwsAuthJwtServiceAccountRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audiences: Option<Vec<String>>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAwsAuthSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessKeyIDSecretRef")]
pub access_key_id_secret_ref: Option<ClusterSecretStoreProviderAwsAuthSecretRefAccessKeyIdSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretAccessKeySecretRef")]
pub secret_access_key_secret_ref: Option<ClusterSecretStoreProviderAwsAuthSecretRefSecretAccessKeySecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAwsAuthSecretRefAccessKeyIdSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAwsAuthSecretRefSecretAccessKeySecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterSecretStoreProviderAwsService {
SecretsManager,
ParameterStore,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAzurekv {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authSecretRef")]
pub auth_secret_ref: Option<ClusterSecretStoreProviderAzurekvAuthSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authType")]
pub auth_type: Option<ClusterSecretStoreProviderAzurekvAuthType>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")]
pub identity_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountRef")]
pub service_account_ref: Option<ClusterSecretStoreProviderAzurekvServiceAccountRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tenantId")]
pub tenant_id: Option<String>,
#[serde(rename = "vaultUrl")]
pub vault_url: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAzurekvAuthSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientId")]
pub client_id: Option<ClusterSecretStoreProviderAzurekvAuthSecretRefClientId>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientSecret")]
pub client_secret: Option<ClusterSecretStoreProviderAzurekvAuthSecretRefClientSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAzurekvAuthSecretRefClientId {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAzurekvAuthSecretRefClientSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterSecretStoreProviderAzurekvAuthType {
ServicePrincipal,
ManagedIdentity,
WorkloadIdentity,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderAzurekvServiceAccountRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audiences: Option<Vec<String>>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderFake {
pub data: Vec<ClusterSecretStoreProviderFakeData>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderFakeData {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueMap")]
pub value_map: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderGcpsm {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth: Option<ClusterSecretStoreProviderGcpsmAuth>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "projectID")]
pub project_id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderGcpsmAuth {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<ClusterSecretStoreProviderGcpsmAuthSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workloadIdentity")]
pub workload_identity: Option<ClusterSecretStoreProviderGcpsmAuthWorkloadIdentity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderGcpsmAuthSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretAccessKeySecretRef")]
pub secret_access_key_secret_ref: Option<ClusterSecretStoreProviderGcpsmAuthSecretRefSecretAccessKeySecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderGcpsmAuthSecretRefSecretAccessKeySecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderGcpsmAuthWorkloadIdentity {
#[serde(rename = "clusterLocation")]
pub cluster_location: String,
#[serde(rename = "clusterName")]
pub cluster_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterProjectID")]
pub cluster_project_id: Option<String>,
#[serde(rename = "serviceAccountRef")]
pub service_account_ref: ClusterSecretStoreProviderGcpsmAuthWorkloadIdentityServiceAccountRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderGcpsmAuthWorkloadIdentityServiceAccountRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audiences: Option<Vec<String>>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderGitlab {
pub auth: ClusterSecretStoreProviderGitlabAuth,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "projectID")]
pub project_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderGitlabAuth {
#[serde(rename = "SecretRef")]
pub secret_ref: ClusterSecretStoreProviderGitlabAuthSecretRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderGitlabAuthSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessToken")]
pub access_token: Option<ClusterSecretStoreProviderGitlabAuthSecretRefAccessToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderGitlabAuthSecretRefAccessToken {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderIbm {
pub auth: ClusterSecretStoreProviderIbmAuth,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceUrl")]
pub service_url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderIbmAuth {
#[serde(rename = "secretRef")]
pub secret_ref: ClusterSecretStoreProviderIbmAuthSecretRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderIbmAuthSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretApiKeySecretRef")]
pub secret_api_key_secret_ref: Option<ClusterSecretStoreProviderIbmAuthSecretRefSecretApiKeySecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderIbmAuthSecretRefSecretApiKeySecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderKubernetes {
pub auth: ClusterSecretStoreProviderKubernetesAuth,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "remoteNamespace")]
pub remote_namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server: Option<ClusterSecretStoreProviderKubernetesServer>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderKubernetesAuth {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<ClusterSecretStoreProviderKubernetesAuthCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<ClusterSecretStoreProviderKubernetesAuthServiceAccount>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<ClusterSecretStoreProviderKubernetesAuthToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderKubernetesAuthCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientCert")]
pub client_cert: Option<ClusterSecretStoreProviderKubernetesAuthCertClientCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientKey")]
pub client_key: Option<ClusterSecretStoreProviderKubernetesAuthCertClientKey>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderKubernetesAuthCertClientCert {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderKubernetesAuthCertClientKey {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderKubernetesAuthServiceAccount {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<ClusterSecretStoreProviderKubernetesAuthServiceAccountServiceAccount>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderKubernetesAuthServiceAccountServiceAccount {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audiences: Option<Vec<String>>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderKubernetesAuthToken {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bearerToken")]
pub bearer_token: Option<ClusterSecretStoreProviderKubernetesAuthTokenBearerToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderKubernetesAuthTokenBearerToken {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderKubernetesServer {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caBundle")]
pub ca_bundle: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caProvider")]
pub ca_provider: Option<ClusterSecretStoreProviderKubernetesServerCaProvider>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct ClusterSecretStoreProviderKubernetesServerCaProvider {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(rename = "type")]
pub r#type: ClusterSecretStoreProviderKubernetesServerCaProviderType,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterSecretStoreProviderKubernetesServerCaProviderType {
Secret,
ConfigMap,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderOracle {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth: Option<ClusterSecretStoreProviderOracleAuth>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub compartment: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "encryptionKey")]
pub encryption_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "principalType")]
pub principal_type: Option<ClusterSecretStoreProviderOraclePrincipalType>,
pub region: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountRef")]
pub service_account_ref: Option<ClusterSecretStoreProviderOracleServiceAccountRef>,
pub vault: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderOracleAuth {
#[serde(rename = "secretRef")]
pub secret_ref: ClusterSecretStoreProviderOracleAuthSecretRef,
pub tenancy: String,
pub user: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderOracleAuthSecretRef {
pub fingerprint: ClusterSecretStoreProviderOracleAuthSecretRefFingerprint,
pub privatekey: ClusterSecretStoreProviderOracleAuthSecretRefPrivatekey,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderOracleAuthSecretRefFingerprint {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderOracleAuthSecretRefPrivatekey {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterSecretStoreProviderOraclePrincipalType {
#[serde(rename = "")]
KopiumEmpty,
UserPrincipal,
InstancePrincipal,
Workload,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderOracleServiceAccountRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audiences: Option<Vec<String>>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderPassworddepot {
pub auth: ClusterSecretStoreProviderPassworddepotAuth,
pub database: String,
pub host: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderPassworddepotAuth {
#[serde(rename = "secretRef")]
pub secret_ref: ClusterSecretStoreProviderPassworddepotAuthSecretRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderPassworddepotAuthSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<ClusterSecretStoreProviderPassworddepotAuthSecretRefCredentials>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderPassworddepotAuthSecretRefCredentials {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVault {
pub auth: ClusterSecretStoreProviderVaultAuth,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caBundle")]
pub ca_bundle: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caProvider")]
pub ca_provider: Option<ClusterSecretStoreProviderVaultCaProvider>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "forwardInconsistent")]
pub forward_inconsistent: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readYourWrites")]
pub read_your_writes: Option<bool>,
pub server: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<ClusterSecretStoreProviderVaultVersion>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuth {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appRole")]
pub app_role: Option<ClusterSecretStoreProviderVaultAuthAppRole>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cert: Option<ClusterSecretStoreProviderVaultAuthCert>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub jwt: Option<ClusterSecretStoreProviderVaultAuthJwt>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kubernetes: Option<ClusterSecretStoreProviderVaultAuthKubernetes>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ldap: Option<ClusterSecretStoreProviderVaultAuthLdap>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tokenSecretRef")]
pub token_secret_ref: Option<ClusterSecretStoreProviderVaultAuthTokenSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthAppRole {
pub path: String,
#[serde(rename = "roleId")]
pub role_id: String,
#[serde(rename = "secretRef")]
pub secret_ref: ClusterSecretStoreProviderVaultAuthAppRoleSecretRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthAppRoleSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientCert")]
pub client_cert: Option<ClusterSecretStoreProviderVaultAuthCertClientCert>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<ClusterSecretStoreProviderVaultAuthCertSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthCertClientCert {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthCertSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthJwt {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "kubernetesServiceAccountToken")]
pub kubernetes_service_account_token: Option<ClusterSecretStoreProviderVaultAuthJwtKubernetesServiceAccountToken>,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<ClusterSecretStoreProviderVaultAuthJwtSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthJwtKubernetesServiceAccountToken {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audiences: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "expirationSeconds")]
pub expiration_seconds: Option<i64>,
#[serde(rename = "serviceAccountRef")]
pub service_account_ref: ClusterSecretStoreProviderVaultAuthJwtKubernetesServiceAccountTokenServiceAccountRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthJwtKubernetesServiceAccountTokenServiceAccountRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audiences: Option<Vec<String>>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthJwtSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthKubernetes {
#[serde(rename = "mountPath")]
pub mount_path: String,
pub role: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<ClusterSecretStoreProviderVaultAuthKubernetesSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountRef")]
pub service_account_ref: Option<ClusterSecretStoreProviderVaultAuthKubernetesServiceAccountRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthKubernetesSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthKubernetesServiceAccountRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audiences: Option<Vec<String>>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthLdap {
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<ClusterSecretStoreProviderVaultAuthLdapSecretRef>,
pub username: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthLdapSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderVaultAuthTokenSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct ClusterSecretStoreProviderVaultCaProvider {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(rename = "type")]
pub r#type: ClusterSecretStoreProviderVaultCaProviderType,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterSecretStoreProviderVaultCaProviderType {
Secret,
ConfigMap,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterSecretStoreProviderVaultVersion {
#[serde(rename = "v1")]
V1,
#[serde(rename = "v2")]
V2,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderWebhook {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caBundle")]
pub ca_bundle: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caProvider")]
pub ca_provider: Option<ClusterSecretStoreProviderWebhookCaProvider>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub method: Option<String>,
pub result: ClusterSecretStoreProviderWebhookResult,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secrets: Option<Vec<ClusterSecretStoreProviderWebhookSecrets>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<String>,
pub url: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct ClusterSecretStoreProviderWebhookCaProvider {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(rename = "type")]
pub r#type: ClusterSecretStoreProviderWebhookCaProviderType,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterSecretStoreProviderWebhookCaProviderType {
Secret,
ConfigMap,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderWebhookResult {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jsonPath")]
pub json_path: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderWebhookSecrets {
pub name: String,
#[serde(rename = "secretRef")]
pub secret_ref: ClusterSecretStoreProviderWebhookSecretsSecretRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderWebhookSecretsSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderYandexlockbox {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiEndpoint")]
pub api_endpoint: Option<String>,
pub auth: ClusterSecretStoreProviderYandexlockboxAuth,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caProvider")]
pub ca_provider: Option<ClusterSecretStoreProviderYandexlockboxCaProvider>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderYandexlockboxAuth {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authorizedKeySecretRef")]
pub authorized_key_secret_ref: Option<ClusterSecretStoreProviderYandexlockboxAuthAuthorizedKeySecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderYandexlockboxAuthAuthorizedKeySecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderYandexlockboxCaProvider {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certSecretRef")]
pub cert_secret_ref: Option<ClusterSecretStoreProviderYandexlockboxCaProviderCertSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreProviderYandexlockboxCaProviderCertSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreRetrySettings {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxRetries")]
pub max_retries: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "retryInterval")]
pub retry_interval: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterSecretStoreStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
}