#[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 = "ClusterPushSecret", plural = "clusterpushsecrets")]
#[kube(status = "ClusterPushSecretStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct ClusterPushSecretSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelectors")]
pub namespace_selectors: Option<Vec<ClusterPushSecretNamespaceSelectors>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pushSecretMetadata")]
pub push_secret_metadata: Option<ClusterPushSecretPushSecretMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pushSecretName")]
pub push_secret_name: Option<String>,
#[serde(rename = "pushSecretSpec")]
pub push_secret_spec: ClusterPushSecretPushSecretSpec,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "refreshTime")]
pub refresh_time: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretNamespaceSelectors {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterPushSecretNamespaceSelectorsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretNamespaceSelectorsMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<Vec<ClusterPushSecretPushSecretSpecData>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deletionPolicy")]
pub deletion_policy: Option<ClusterPushSecretPushSecretSpecDeletionPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "refreshInterval")]
pub refresh_interval: Option<String>,
#[serde(rename = "secretStoreRefs")]
pub secret_store_refs: Vec<ClusterPushSecretPushSecretSpecSecretStoreRefs>,
pub selector: ClusterPushSecretPushSecretSpecSelector,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<ClusterPushSecretPushSecretSpecTemplate>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "updatePolicy")]
pub update_policy: Option<ClusterPushSecretPushSecretSpecUpdatePolicy>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecData {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "conversionStrategy")]
pub conversion_strategy: Option<ClusterPushSecretPushSecretSpecDataConversionStrategy>,
#[serde(rename = "match")]
pub r#match: ClusterPushSecretPushSecretSpecDataMatch,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<serde_json::Value>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterPushSecretPushSecretSpecDataConversionStrategy {
None,
ReverseUnicode,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecDataMatch {
#[serde(rename = "remoteRef")]
pub remote_ref: ClusterPushSecretPushSecretSpecDataMatchRemoteRef,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKey")]
pub secret_key: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecDataMatchRemoteRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub property: Option<String>,
#[serde(rename = "remoteKey")]
pub remote_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterPushSecretPushSecretSpecDeletionPolicy {
Delete,
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecSecretStoreRefs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<ClusterPushSecretPushSecretSpecSecretStoreRefsKind>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ClusterPushSecretPushSecretSpecSecretStoreRefsLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterPushSecretPushSecretSpecSecretStoreRefsKind {
SecretStore,
ClusterSecretStore,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecSecretStoreRefsLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterPushSecretPushSecretSpecSecretStoreRefsLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecSecretStoreRefsLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "generatorRef")]
pub generator_ref: Option<ClusterPushSecretPushSecretSpecSelectorGeneratorRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<ClusterPushSecretPushSecretSpecSelectorSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecSelectorGeneratorRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
pub kind: ClusterPushSecretPushSecretSpecSelectorGeneratorRefKind,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterPushSecretPushSecretSpecSelectorGeneratorRefKind {
#[serde(rename = "ACRAccessToken")]
AcrAccessToken,
ClusterGenerator,
CloudsmithAccessToken,
#[serde(rename = "ECRAuthorizationToken")]
EcrAuthorizationToken,
Fake,
#[serde(rename = "GCRAccessToken")]
GcrAccessToken,
GithubAccessToken,
QuayAccessToken,
Password,
#[serde(rename = "SSHKey")]
SshKey,
#[serde(rename = "STSSessionToken")]
StsSessionToken,
#[serde(rename = "UUID")]
Uuid,
VaultDynamicSecret,
Webhook,
Grafana,
#[serde(rename = "MFA")]
Mfa,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecSelectorSecret {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<ClusterPushSecretPushSecretSpecSelectorSecretSelector>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecSelectorSecretSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterPushSecretPushSecretSpecSelectorSecretSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecSelectorSecretSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "engineVersion")]
pub engine_version: Option<ClusterPushSecretPushSecretSpecTemplateEngineVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mergePolicy")]
pub merge_policy: Option<ClusterPushSecretPushSecretSpecTemplateMergePolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<ClusterPushSecretPushSecretSpecTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "templateFrom")]
pub template_from: Option<Vec<ClusterPushSecretPushSecretSpecTemplateTemplateFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterPushSecretPushSecretSpecTemplateEngineVersion {
#[serde(rename = "v2")]
V2,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterPushSecretPushSecretSpecTemplateMergePolicy {
Replace,
Merge,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecTemplateMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub finalizers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecTemplateTemplateFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<ClusterPushSecretPushSecretSpecTemplateTemplateFromConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub literal: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<ClusterPushSecretPushSecretSpecTemplateTemplateFromSecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecTemplateTemplateFromConfigMap {
pub items: Vec<ClusterPushSecretPushSecretSpecTemplateTemplateFromConfigMapItems>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecTemplateTemplateFromConfigMapItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "templateAs")]
pub template_as: Option<ClusterPushSecretPushSecretSpecTemplateTemplateFromConfigMapItemsTemplateAs>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterPushSecretPushSecretSpecTemplateTemplateFromConfigMapItemsTemplateAs {
Values,
KeysAndValues,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecTemplateTemplateFromSecret {
pub items: Vec<ClusterPushSecretPushSecretSpecTemplateTemplateFromSecretItems>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretPushSecretSpecTemplateTemplateFromSecretItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "templateAs")]
pub template_as: Option<ClusterPushSecretPushSecretSpecTemplateTemplateFromSecretItemsTemplateAs>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterPushSecretPushSecretSpecTemplateTemplateFromSecretItemsTemplateAs {
Values,
KeysAndValues,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterPushSecretPushSecretSpecUpdatePolicy {
Replace,
IfNotExists,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failedNamespaces")]
pub failed_namespaces: Option<Vec<ClusterPushSecretStatusFailedNamespaces>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "provisionedNamespaces")]
pub provisioned_namespaces: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pushSecretName")]
pub push_secret_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterPushSecretStatusFailedNamespaces {
pub namespace: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
}