#[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 = "lambda.services.k8s.aws", version = "v1alpha1", kind = "Alias", plural = "aliases")]
#[kube(namespaced)]
#[kube(status = "AliasStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct AliasSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionEventInvokeConfig")]
pub function_event_invoke_config: Option<AliasFunctionEventInvokeConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionName")]
pub function_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionRef")]
pub function_ref: Option<AliasFunctionRef>,
#[serde(rename = "functionVersion")]
pub function_version: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub permissions: Option<Vec<AliasPermissions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "provisionedConcurrencyConfig")]
pub provisioned_concurrency_config: Option<AliasProvisionedConcurrencyConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "routingConfig")]
pub routing_config: Option<AliasRoutingConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AliasFunctionEventInvokeConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "destinationConfig")]
pub destination_config: Option<AliasFunctionEventInvokeConfigDestinationConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionName")]
pub function_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maximumEventAgeInSeconds")]
pub maximum_event_age_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maximumRetryAttempts")]
pub maximum_retry_attempts: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub qualifier: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AliasFunctionEventInvokeConfigDestinationConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "onFailure")]
pub on_failure: Option<AliasFunctionEventInvokeConfigDestinationConfigOnFailure>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "onSuccess")]
pub on_success: Option<AliasFunctionEventInvokeConfigDestinationConfigOnSuccess>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AliasFunctionEventInvokeConfigDestinationConfigOnFailure {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub destination: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AliasFunctionEventInvokeConfigDestinationConfigOnSuccess {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub destination: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AliasFunctionRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from: Option<AliasFunctionRefFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AliasFunctionRefFrom {
#[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 AliasPermissions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub action: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventSourceToken")]
pub event_source_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionURLAuthType")]
pub function_url_auth_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub principal: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "principalOrgID")]
pub principal_org_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "revisionID")]
pub revision_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceARN")]
pub source_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceAccount")]
pub source_account: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "statementID")]
pub statement_id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AliasProvisionedConcurrencyConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionName")]
pub function_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "provisionedConcurrentExecutions")]
pub provisioned_concurrent_executions: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub qualifier: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AliasRoutingConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalVersionWeights")]
pub additional_version_weights: Option<BTreeMap<String, f64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AliasStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")]
pub ack_resource_metadata: Option<AliasStatusAckResourceMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "revisionID")]
pub revision_id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct AliasStatusAckResourceMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "ownerAccountID")]
pub owner_account_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub partition: Option<String>,
pub region: String,
}