#[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 = "Version", plural = "versions")]
#[kube(namespaced)]
#[kube(status = "VersionStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct VersionSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "codeSHA256")]
pub code_sha256: Option<String>,
#[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<VersionFunctionEventInvokeConfig>,
#[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<VersionFunctionRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "provisionedConcurrencyConfig")]
pub provisioned_concurrency_config: Option<VersionProvisionedConcurrencyConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "revisionID")]
pub revision_id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionFunctionEventInvokeConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "destinationConfig")]
pub destination_config: Option<VersionFunctionEventInvokeConfigDestinationConfig>,
#[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 VersionFunctionEventInvokeConfigDestinationConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "onFailure")]
pub on_failure: Option<VersionFunctionEventInvokeConfigDestinationConfigOnFailure>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "onSuccess")]
pub on_success: Option<VersionFunctionEventInvokeConfigDestinationConfigOnSuccess>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionFunctionEventInvokeConfigDestinationConfigOnFailure {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub destination: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionFunctionEventInvokeConfigDestinationConfigOnSuccess {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub destination: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionFunctionRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from: Option<VersionFunctionRefFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionFunctionRefFrom {
#[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 VersionProvisionedConcurrencyConfig {
#[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 VersionStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")]
pub ack_resource_metadata: Option<VersionStatusAckResourceMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub architectures: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "codeSize")]
pub code_size: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deadLetterConfig")]
pub dead_letter_config: Option<VersionStatusDeadLetterConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "durableConfig")]
pub durable_config: Option<VersionStatusDurableConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub environment: Option<VersionStatusEnvironment>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ephemeralStorage")]
pub ephemeral_storage: Option<VersionStatusEphemeralStorage>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileSystemConfigs")]
pub file_system_configs: Option<Vec<VersionStatusFileSystemConfigs>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionARN")]
pub function_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub handler: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imageConfigResponse")]
pub image_config_response: Option<VersionStatusImageConfigResponse>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyARN")]
pub kms_key_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastModified")]
pub last_modified: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastUpdateStatus")]
pub last_update_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastUpdateStatusReason")]
pub last_update_status_reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastUpdateStatusReasonCode")]
pub last_update_status_reason_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub layers: Option<Vec<VersionStatusLayers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "masterARN")]
pub master_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "memorySize")]
pub memory_size: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "packageType")]
pub package_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub qualifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub runtime: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "signingJobARN")]
pub signing_job_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "signingProfileVersionARN")]
pub signing_profile_version_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "snapStart")]
pub snap_start: Option<VersionStatusSnapStart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stateReason")]
pub state_reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stateReasonCode")]
pub state_reason_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tenancyConfig")]
pub tenancy_config: Option<VersionStatusTenancyConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tracingConfig")]
pub tracing_config: Option<VersionStatusTracingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "vpcConfig")]
pub vpc_config: Option<VersionStatusVpcConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusAckResourceMetadata {
#[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,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusDeadLetterConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetARN")]
pub target_arn: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusDurableConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "executionTimeout")]
pub execution_timeout: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "retentionPeriodInDays")]
pub retention_period_in_days: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusEnvironment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<VersionStatusEnvironmentError>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub variables: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusEnvironmentError {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "errorCode")]
pub error_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusEphemeralStorage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusFileSystemConfigs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localMountPath")]
pub local_mount_path: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusImageConfigResponse {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<VersionStatusImageConfigResponseError>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imageConfig")]
pub image_config: Option<VersionStatusImageConfigResponseImageConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusImageConfigResponseError {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "errorCode")]
pub error_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusImageConfigResponseImageConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "entryPoint")]
pub entry_point: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDirectory")]
pub working_directory: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusLayers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "codeSize")]
pub code_size: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "signingJobARN")]
pub signing_job_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "signingProfileVersionARN")]
pub signing_profile_version_arn: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusSnapStart {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "applyOn")]
pub apply_on: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "optimizationStatus")]
pub optimization_status: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusTenancyConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tenantIsolationMode")]
pub tenant_isolation_mode: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusTracingConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub mode: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct VersionStatusVpcConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ipv6AllowedForDualStack")]
pub ipv6_allowed_for_dual_stack: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityGroupIDs")]
pub security_group_i_ds: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subnetIDs")]
pub subnet_i_ds: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "vpcID")]
pub vpc_id: Option<String>,
}