#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "external-secrets.io", version = "v1", kind = "ClusterExternalSecret", plural = "clusterexternalsecrets")]
#[kube(status = "ClusterExternalSecretStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct ClusterExternalSecretSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalSecretMetadata")]
pub external_secret_metadata: Option<ClusterExternalSecretExternalSecretMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalSecretName")]
pub external_secret_name: Option<String>,
#[serde(rename = "externalSecretSpec")]
pub external_secret_spec: ClusterExternalSecretExternalSecretSpec,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<ClusterExternalSecretNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelectors")]
pub namespace_selectors: Option<Vec<ClusterExternalSecretNamespaceSelectors>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "refreshTime")]
pub refresh_time: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretMetadata {
#[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 ClusterExternalSecretExternalSecretSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<Vec<ClusterExternalSecretExternalSecretSpecData>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataFrom")]
pub data_from: Option<Vec<ClusterExternalSecretExternalSecretSpecDataFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "refreshInterval")]
pub refresh_interval: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "refreshPolicy")]
pub refresh_policy: Option<ClusterExternalSecretExternalSecretSpecRefreshPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretStoreRef")]
pub secret_store_ref: Option<ClusterExternalSecretExternalSecretSpecSecretStoreRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<ClusterExternalSecretExternalSecretSpecTarget>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecData {
#[serde(rename = "remoteRef")]
pub remote_ref: ClusterExternalSecretExternalSecretSpecDataRemoteRef,
#[serde(rename = "secretKey")]
pub secret_key: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceRef")]
pub source_ref: Option<ClusterExternalSecretExternalSecretSpecDataSourceRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataRemoteRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "conversionStrategy")]
pub conversion_strategy: Option<ClusterExternalSecretExternalSecretSpecDataRemoteRefConversionStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "decodingStrategy")]
pub decoding_strategy: Option<ClusterExternalSecretExternalSecretSpecDataRemoteRefDecodingStrategy>,
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "metadataPolicy")]
pub metadata_policy: Option<ClusterExternalSecretExternalSecretSpecDataRemoteRefMetadataPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub property: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataRemoteRefConversionStrategy {
Default,
Unicode,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataRemoteRefDecodingStrategy {
Auto,
Base64,
#[serde(rename = "Base64URL")]
Base64Url,
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataRemoteRefMetadataPolicy {
None,
Fetch,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "generatorRef")]
pub generator_ref: Option<ClusterExternalSecretExternalSecretSpecDataSourceRefGeneratorRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storeRef")]
pub store_ref: Option<ClusterExternalSecretExternalSecretSpecDataSourceRefStoreRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataSourceRefGeneratorRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
pub kind: ClusterExternalSecretExternalSecretSpecDataSourceRefGeneratorRefKind,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataSourceRefGeneratorRefKind {
#[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 ClusterExternalSecretExternalSecretSpecDataSourceRefStoreRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<ClusterExternalSecretExternalSecretSpecDataSourceRefStoreRefKind>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataSourceRefStoreRefKind {
SecretStore,
ClusterSecretStore,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataFrom {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extract: Option<ClusterExternalSecretExternalSecretSpecDataFromExtract>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub find: Option<ClusterExternalSecretExternalSecretSpecDataFromFind>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rewrite: Option<Vec<ClusterExternalSecretExternalSecretSpecDataFromRewrite>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceRef")]
pub source_ref: Option<ClusterExternalSecretExternalSecretSpecDataFromSourceRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataFromExtract {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "conversionStrategy")]
pub conversion_strategy: Option<ClusterExternalSecretExternalSecretSpecDataFromExtractConversionStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "decodingStrategy")]
pub decoding_strategy: Option<ClusterExternalSecretExternalSecretSpecDataFromExtractDecodingStrategy>,
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "metadataPolicy")]
pub metadata_policy: Option<ClusterExternalSecretExternalSecretSpecDataFromExtractMetadataPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub property: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataFromExtractConversionStrategy {
Default,
Unicode,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataFromExtractDecodingStrategy {
Auto,
Base64,
#[serde(rename = "Base64URL")]
Base64Url,
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataFromExtractMetadataPolicy {
None,
Fetch,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataFromFind {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "conversionStrategy")]
pub conversion_strategy: Option<ClusterExternalSecretExternalSecretSpecDataFromFindConversionStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "decodingStrategy")]
pub decoding_strategy: Option<ClusterExternalSecretExternalSecretSpecDataFromFindDecodingStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<ClusterExternalSecretExternalSecretSpecDataFromFindName>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataFromFindConversionStrategy {
Default,
Unicode,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataFromFindDecodingStrategy {
Auto,
Base64,
#[serde(rename = "Base64URL")]
Base64Url,
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataFromFindName {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub regexp: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataFromRewrite {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub merge: Option<ClusterExternalSecretExternalSecretSpecDataFromRewriteMerge>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub regexp: Option<ClusterExternalSecretExternalSecretSpecDataFromRewriteRegexp>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub transform: Option<ClusterExternalSecretExternalSecretSpecDataFromRewriteTransform>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataFromRewriteMerge {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "conflictPolicy")]
pub conflict_policy: Option<ClusterExternalSecretExternalSecretSpecDataFromRewriteMergeConflictPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub into: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub priority: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "priorityPolicy")]
pub priority_policy: Option<ClusterExternalSecretExternalSecretSpecDataFromRewriteMergePriorityPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub strategy: Option<ClusterExternalSecretExternalSecretSpecDataFromRewriteMergeStrategy>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataFromRewriteMergeConflictPolicy {
Ignore,
Error,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataFromRewriteMergePriorityPolicy {
IgnoreNotFound,
Strict,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataFromRewriteMergeStrategy {
Extract,
#[serde(rename = "JSON")]
Json,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataFromRewriteRegexp {
pub source: String,
pub target: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataFromRewriteTransform {
pub template: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataFromSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "generatorRef")]
pub generator_ref: Option<ClusterExternalSecretExternalSecretSpecDataFromSourceRefGeneratorRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storeRef")]
pub store_ref: Option<ClusterExternalSecretExternalSecretSpecDataFromSourceRefStoreRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecDataFromSourceRefGeneratorRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
pub kind: ClusterExternalSecretExternalSecretSpecDataFromSourceRefGeneratorRefKind,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataFromSourceRefGeneratorRefKind {
#[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 ClusterExternalSecretExternalSecretSpecDataFromSourceRefStoreRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<ClusterExternalSecretExternalSecretSpecDataFromSourceRefStoreRefKind>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecDataFromSourceRefStoreRefKind {
SecretStore,
ClusterSecretStore,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecRefreshPolicy {
CreatedOnce,
Periodic,
OnChange,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecSecretStoreRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<ClusterExternalSecretExternalSecretSpecSecretStoreRefKind>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecSecretStoreRefKind {
SecretStore,
ClusterSecretStore,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecTarget {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "creationPolicy")]
pub creation_policy: Option<ClusterExternalSecretExternalSecretSpecTargetCreationPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deletionPolicy")]
pub deletion_policy: Option<ClusterExternalSecretExternalSecretSpecTargetDeletionPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub immutable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub manifest: Option<ClusterExternalSecretExternalSecretSpecTargetManifest>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<ClusterExternalSecretExternalSecretSpecTargetTemplate>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecTargetCreationPolicy {
Owner,
Orphan,
Merge,
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecTargetDeletionPolicy {
Delete,
Merge,
Retain,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecTargetManifest {
#[serde(rename = "apiVersion")]
pub api_version: String,
pub kind: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecTargetTemplate {
#[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<ClusterExternalSecretExternalSecretSpecTargetTemplateEngineVersion>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mergePolicy")]
pub merge_policy: Option<ClusterExternalSecretExternalSecretSpecTargetTemplateMergePolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<ClusterExternalSecretExternalSecretSpecTargetTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "templateFrom")]
pub template_from: Option<Vec<ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFrom>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecTargetTemplateEngineVersion {
#[serde(rename = "v2")]
V2,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecTargetTemplateMergePolicy {
Replace,
Merge,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecTargetTemplateMetadata {
#[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 ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")]
pub config_map: Option<ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub literal: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromSecret>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromConfigMap {
pub items: Vec<ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromConfigMapItems>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromConfigMapItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "templateAs")]
pub template_as: Option<ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromConfigMapItemsTemplateAs>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromConfigMapItemsTemplateAs {
Values,
KeysAndValues,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromSecret {
pub items: Vec<ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromSecretItems>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromSecretItems {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "templateAs")]
pub template_as: Option<ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromSecretItemsTemplateAs>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterExternalSecretExternalSecretSpecTargetTemplateTemplateFromSecretItemsTemplateAs {
Values,
KeysAndValues,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterExternalSecretNamespaceSelectorMatchExpressions>>,
#[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 ClusterExternalSecretNamespaceSelectorMatchExpressions {
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 ClusterExternalSecretNamespaceSelectors {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterExternalSecretNamespaceSelectorsMatchExpressions>>,
#[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 ClusterExternalSecretNamespaceSelectorsMatchExpressions {
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 ClusterExternalSecretStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<ClusterExternalSecretStatusConditions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalSecretName")]
pub external_secret_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failedNamespaces")]
pub failed_namespaces: Option<Vec<ClusterExternalSecretStatusFailedNamespaces>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "provisionedNamespaces")]
pub provisioned_namespaces: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretStatusConditions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
pub status: String,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterExternalSecretStatusFailedNamespaces {
pub namespace: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
}