#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "keda.sh", version = "v1alpha1", kind = "TriggerAuthentication", plural = "triggerauthentications")]
#[kube(namespaced)]
#[kube(status = "TriggerAuthenticationStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct TriggerAuthenticationSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "awsSecretManager")]
pub aws_secret_manager: Option<TriggerAuthenticationAwsSecretManager>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureKeyVault")]
pub azure_key_vault: Option<TriggerAuthenticationAzureKeyVault>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "boundServiceAccountToken")]
pub bound_service_account_token: Option<Vec<TriggerAuthenticationBoundServiceAccountToken>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapTargetRef")]
pub config_map_target_ref: Option<Vec<TriggerAuthenticationConfigMapTargetRef>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<TriggerAuthenticationEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gcpSecretManager")]
pub gcp_secret_manager: Option<TriggerAuthenticationGcpSecretManager>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hashiCorpVault")]
pub hashi_corp_vault: Option<TriggerAuthenticationHashiCorpVault>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podIdentity")]
pub pod_identity: Option<TriggerAuthenticationPodIdentity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretTargetRef")]
pub secret_target_ref: Option<Vec<TriggerAuthenticationSecretTargetRef>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManager {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<TriggerAuthenticationAwsSecretManagerCredentials>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podIdentity")]
pub pod_identity: Option<TriggerAuthenticationAwsSecretManagerPodIdentity>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
pub secrets: Vec<TriggerAuthenticationAwsSecretManagerSecrets>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerCredentials {
#[serde(rename = "accessKey")]
pub access_key: TriggerAuthenticationAwsSecretManagerCredentialsAccessKey,
#[serde(rename = "accessSecretKey")]
pub access_secret_key: TriggerAuthenticationAwsSecretManagerCredentialsAccessSecretKey,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessToken")]
pub access_token: Option<TriggerAuthenticationAwsSecretManagerCredentialsAccessToken>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerCredentialsAccessKey {
#[serde(rename = "valueFrom")]
pub value_from: TriggerAuthenticationAwsSecretManagerCredentialsAccessKeyValueFrom,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerCredentialsAccessKeyValueFrom {
#[serde(rename = "secretKeyRef")]
pub secret_key_ref: TriggerAuthenticationAwsSecretManagerCredentialsAccessKeyValueFromSecretKeyRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerCredentialsAccessKeyValueFromSecretKeyRef {
pub key: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerCredentialsAccessSecretKey {
#[serde(rename = "valueFrom")]
pub value_from: TriggerAuthenticationAwsSecretManagerCredentialsAccessSecretKeyValueFrom,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerCredentialsAccessSecretKeyValueFrom {
#[serde(rename = "secretKeyRef")]
pub secret_key_ref: TriggerAuthenticationAwsSecretManagerCredentialsAccessSecretKeyValueFromSecretKeyRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerCredentialsAccessSecretKeyValueFromSecretKeyRef {
pub key: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerCredentialsAccessToken {
#[serde(rename = "valueFrom")]
pub value_from: TriggerAuthenticationAwsSecretManagerCredentialsAccessTokenValueFrom,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerCredentialsAccessTokenValueFrom {
#[serde(rename = "secretKeyRef")]
pub secret_key_ref: TriggerAuthenticationAwsSecretManagerCredentialsAccessTokenValueFromSecretKeyRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerCredentialsAccessTokenValueFromSecretKeyRef {
pub key: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerPodIdentity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")]
pub identity_authority_host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")]
pub identity_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")]
pub identity_owner: Option<TriggerAuthenticationAwsSecretManagerPodIdentityIdentityOwner>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")]
pub identity_tenant_id: Option<String>,
pub provider: TriggerAuthenticationAwsSecretManagerPodIdentityProvider,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleArn")]
pub role_arn: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum TriggerAuthenticationAwsSecretManagerPodIdentityIdentityOwner {
#[serde(rename = "keda")]
Keda,
#[serde(rename = "workload")]
Workload,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum TriggerAuthenticationAwsSecretManagerPodIdentityProvider {
#[serde(rename = "azure-workload")]
AzureWorkload,
#[serde(rename = "gcp")]
Gcp,
#[serde(rename = "aws")]
Aws,
#[serde(rename = "aws-eks")]
AwsEks,
#[serde(rename = "none")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAwsSecretManagerSecrets {
pub name: String,
pub parameter: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKey")]
pub secret_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "versionId")]
pub version_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "versionStage")]
pub version_stage: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAzureKeyVault {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud: Option<TriggerAuthenticationAzureKeyVaultCloud>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<TriggerAuthenticationAzureKeyVaultCredentials>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podIdentity")]
pub pod_identity: Option<TriggerAuthenticationAzureKeyVaultPodIdentity>,
pub secrets: Vec<TriggerAuthenticationAzureKeyVaultSecrets>,
#[serde(rename = "vaultUri")]
pub vault_uri: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAzureKeyVaultCloud {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "activeDirectoryEndpoint")]
pub active_directory_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keyVaultResourceURL")]
pub key_vault_resource_url: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAzureKeyVaultCredentials {
#[serde(rename = "clientId")]
pub client_id: String,
#[serde(rename = "clientSecret")]
pub client_secret: TriggerAuthenticationAzureKeyVaultCredentialsClientSecret,
#[serde(rename = "tenantId")]
pub tenant_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAzureKeyVaultCredentialsClientSecret {
#[serde(rename = "valueFrom")]
pub value_from: TriggerAuthenticationAzureKeyVaultCredentialsClientSecretValueFrom,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAzureKeyVaultCredentialsClientSecretValueFrom {
#[serde(rename = "secretKeyRef")]
pub secret_key_ref: TriggerAuthenticationAzureKeyVaultCredentialsClientSecretValueFromSecretKeyRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAzureKeyVaultCredentialsClientSecretValueFromSecretKeyRef {
pub key: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct TriggerAuthenticationAzureKeyVaultPodIdentity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")]
pub identity_authority_host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")]
pub identity_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")]
pub identity_owner: Option<TriggerAuthenticationAzureKeyVaultPodIdentityIdentityOwner>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")]
pub identity_tenant_id: Option<String>,
pub provider: TriggerAuthenticationAzureKeyVaultPodIdentityProvider,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleArn")]
pub role_arn: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum TriggerAuthenticationAzureKeyVaultPodIdentityIdentityOwner {
#[serde(rename = "keda")]
Keda,
#[serde(rename = "workload")]
Workload,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum TriggerAuthenticationAzureKeyVaultPodIdentityProvider {
#[serde(rename = "azure-workload")]
AzureWorkload,
#[serde(rename = "gcp")]
Gcp,
#[serde(rename = "aws")]
Aws,
#[serde(rename = "aws-eks")]
AwsEks,
#[serde(rename = "none")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationAzureKeyVaultSecrets {
pub name: String,
pub parameter: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationBoundServiceAccountToken {
pub parameter: String,
#[serde(rename = "serviceAccountName")]
pub service_account_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationConfigMapTargetRef {
pub key: String,
pub name: String,
pub parameter: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationEnv {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
pub name: String,
pub parameter: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationGcpSecretManager {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<TriggerAuthenticationGcpSecretManagerCredentials>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podIdentity")]
pub pod_identity: Option<TriggerAuthenticationGcpSecretManagerPodIdentity>,
pub secrets: Vec<TriggerAuthenticationGcpSecretManagerSecrets>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationGcpSecretManagerCredentials {
#[serde(rename = "clientSecret")]
pub client_secret: TriggerAuthenticationGcpSecretManagerCredentialsClientSecret,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationGcpSecretManagerCredentialsClientSecret {
#[serde(rename = "valueFrom")]
pub value_from: TriggerAuthenticationGcpSecretManagerCredentialsClientSecretValueFrom,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationGcpSecretManagerCredentialsClientSecretValueFrom {
#[serde(rename = "secretKeyRef")]
pub secret_key_ref: TriggerAuthenticationGcpSecretManagerCredentialsClientSecretValueFromSecretKeyRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationGcpSecretManagerCredentialsClientSecretValueFromSecretKeyRef {
pub key: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct TriggerAuthenticationGcpSecretManagerPodIdentity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")]
pub identity_authority_host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")]
pub identity_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")]
pub identity_owner: Option<TriggerAuthenticationGcpSecretManagerPodIdentityIdentityOwner>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")]
pub identity_tenant_id: Option<String>,
pub provider: TriggerAuthenticationGcpSecretManagerPodIdentityProvider,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleArn")]
pub role_arn: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum TriggerAuthenticationGcpSecretManagerPodIdentityIdentityOwner {
#[serde(rename = "keda")]
Keda,
#[serde(rename = "workload")]
Workload,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum TriggerAuthenticationGcpSecretManagerPodIdentityProvider {
#[serde(rename = "azure-workload")]
AzureWorkload,
#[serde(rename = "gcp")]
Gcp,
#[serde(rename = "aws")]
Aws,
#[serde(rename = "aws-eks")]
AwsEks,
#[serde(rename = "none")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationGcpSecretManagerSecrets {
pub id: String,
pub parameter: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationHashiCorpVault {
pub address: String,
pub authentication: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<TriggerAuthenticationHashiCorpVaultCredential>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
pub secrets: Vec<TriggerAuthenticationHashiCorpVaultSecrets>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationHashiCorpVaultCredential {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationHashiCorpVaultSecrets {
pub key: String,
pub parameter: String,
pub path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pkiData")]
pub pki_data: Option<TriggerAuthenticationHashiCorpVaultSecretsPkiData>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationHashiCorpVaultSecretsPkiData {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "altNames")]
pub alt_names: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "commonName")]
pub common_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipSans")]
pub ip_sans: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "otherSans")]
pub other_sans: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "uriSans")]
pub uri_sans: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct TriggerAuthenticationPodIdentity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityAuthorityHost")]
pub identity_authority_host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityId")]
pub identity_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityOwner")]
pub identity_owner: Option<TriggerAuthenticationPodIdentityIdentityOwner>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityTenantId")]
pub identity_tenant_id: Option<String>,
pub provider: TriggerAuthenticationPodIdentityProvider,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "roleArn")]
pub role_arn: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum TriggerAuthenticationPodIdentityIdentityOwner {
#[serde(rename = "keda")]
Keda,
#[serde(rename = "workload")]
Workload,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum TriggerAuthenticationPodIdentityProvider {
#[serde(rename = "azure-workload")]
AzureWorkload,
#[serde(rename = "gcp")]
Gcp,
#[serde(rename = "aws")]
Aws,
#[serde(rename = "aws-eks")]
AwsEks,
#[serde(rename = "none")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationSecretTargetRef {
pub key: String,
pub name: String,
pub parameter: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TriggerAuthenticationStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scaledjobs: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scaledobjects: Option<String>,
}