#[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 = "EventSourceMapping", plural = "eventsourcemappings")]
#[kube(namespaced)]
#[kube(status = "EventSourceMappingStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct EventSourceMappingSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "amazonManagedKafkaEventSourceConfig")]
pub amazon_managed_kafka_event_source_config: Option<EventSourceMappingAmazonManagedKafkaEventSourceConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "batchSize")]
pub batch_size: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bisectBatchOnFunctionError")]
pub bisect_batch_on_function_error: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "destinationConfig")]
pub destination_config: Option<EventSourceMappingDestinationConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventSourceARN")]
pub event_source_arn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventSourceRef")]
pub event_source_ref: Option<EventSourceMappingEventSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "filterCriteria")]
pub filter_criteria: Option<EventSourceMappingFilterCriteria>,
#[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<EventSourceMappingFunctionRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionResponseTypes")]
pub function_response_types: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maximumBatchingWindowInSeconds")]
pub maximum_batching_window_in_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maximumRecordAgeInSeconds")]
pub maximum_record_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", rename = "parallelizationFactor")]
pub parallelization_factor: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "queueRefs")]
pub queue_refs: Option<Vec<EventSourceMappingQueueRefs>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub queues: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "scalingConfig")]
pub scaling_config: Option<EventSourceMappingScalingConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "selfManagedEventSource")]
pub self_managed_event_source: Option<EventSourceMappingSelfManagedEventSource>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "selfManagedKafkaEventSourceConfig")]
pub self_managed_kafka_event_source_config: Option<EventSourceMappingSelfManagedKafkaEventSourceConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceAccessConfigurations")]
pub source_access_configurations: Option<Vec<EventSourceMappingSourceAccessConfigurations>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startingPosition")]
pub starting_position: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startingPositionTimestamp")]
pub starting_position_timestamp: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub topics: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tumblingWindowInSeconds")]
pub tumbling_window_in_seconds: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingAmazonManagedKafkaEventSourceConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "consumerGroupID")]
pub consumer_group_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schemaRegistryConfig")]
pub schema_registry_config: Option<EventSourceMappingAmazonManagedKafkaEventSourceConfigSchemaRegistryConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingAmazonManagedKafkaEventSourceConfigSchemaRegistryConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessConfigs")]
pub access_configs: Option<Vec<EventSourceMappingAmazonManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigs>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventRecordFormat")]
pub event_record_format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schemaRegistryURI")]
pub schema_registry_uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schemaValidationConfigs")]
pub schema_validation_configs: Option<Vec<EventSourceMappingAmazonManagedKafkaEventSourceConfigSchemaRegistryConfigSchemaValidationConfigs>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingAmazonManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigs {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "uriRef")]
pub uri_ref: Option<EventSourceMappingAmazonManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigsUriRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingAmazonManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigsUriRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from: Option<EventSourceMappingAmazonManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigsUriRefFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingAmazonManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigsUriRefFrom {
#[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 EventSourceMappingAmazonManagedKafkaEventSourceConfigSchemaRegistryConfigSchemaValidationConfigs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attribute: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingDestinationConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "onFailure")]
pub on_failure: Option<EventSourceMappingDestinationConfigOnFailure>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "onSuccess")]
pub on_success: Option<EventSourceMappingDestinationConfigOnSuccess>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingDestinationConfigOnFailure {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub destination: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingDestinationConfigOnSuccess {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub destination: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingEventSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from: Option<EventSourceMappingEventSourceRefFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingEventSourceRefFrom {
#[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 EventSourceMappingFilterCriteria {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filters: Option<Vec<EventSourceMappingFilterCriteriaFilters>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingFilterCriteriaFilters {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pattern: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingFunctionRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from: Option<EventSourceMappingFunctionRefFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingFunctionRefFrom {
#[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 EventSourceMappingQueueRefs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from: Option<EventSourceMappingQueueRefsFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingQueueRefsFrom {
#[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 EventSourceMappingScalingConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maximumConcurrency")]
pub maximum_concurrency: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingSelfManagedEventSource {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoints: Option<BTreeMap<String, Vec<String>>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingSelfManagedKafkaEventSourceConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "consumerGroupID")]
pub consumer_group_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schemaRegistryConfig")]
pub schema_registry_config: Option<EventSourceMappingSelfManagedKafkaEventSourceConfigSchemaRegistryConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingSelfManagedKafkaEventSourceConfigSchemaRegistryConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessConfigs")]
pub access_configs: Option<Vec<EventSourceMappingSelfManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigs>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventRecordFormat")]
pub event_record_format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schemaRegistryURI")]
pub schema_registry_uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schemaValidationConfigs")]
pub schema_validation_configs: Option<Vec<EventSourceMappingSelfManagedKafkaEventSourceConfigSchemaRegistryConfigSchemaValidationConfigs>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingSelfManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigs {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "uriRef")]
pub uri_ref: Option<EventSourceMappingSelfManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigsUriRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingSelfManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigsUriRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub from: Option<EventSourceMappingSelfManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigsUriRefFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingSelfManagedKafkaEventSourceConfigSchemaRegistryConfigAccessConfigsUriRefFrom {
#[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 EventSourceMappingSelfManagedKafkaEventSourceConfigSchemaRegistryConfigSchemaValidationConfigs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attribute: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingSourceAccessConfigurations {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type_")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "uRI")]
pub u_ri: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")]
pub ack_resource_metadata: Option<EventSourceMappingStatusAckResourceMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "functionARN")]
pub function_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 = "lastProcessingResult")]
pub last_processing_result: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stateTransitionReason")]
pub state_transition_reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uuid: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct EventSourceMappingStatusAckResourceMetadata {
#[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,
}