use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum RecorderStatus {
#[serde(rename = "Pending")]
Pending,
#[serde(rename = "Success")]
Success,
#[serde(rename = "Failure")]
Failure,
#[serde(rename = "NotApplicable")]
NotApplicable,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SelectResourceConfigResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub results: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub query_info: Option<QueryInfo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
impl SelectResourceConfigResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
results: vec![],
query_info: Some(QueryInfo::fixture()),
next_token: Some("test-next_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct QueryInfo {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub select_fields: Vec<FieldInfo>,
}
impl QueryInfo {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
select_fields: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct FieldInfo {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl FieldInfo {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: Some("test-name".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeConfigurationRecordersResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub configuration_recorders: Vec<ConfigurationRecorder>,
}
impl DescribeConfigurationRecordersResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
configuration_recorders: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ConfigurationRecorder {
#[serde(rename = "arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "roleARN")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "recordingGroup")]
#[serde(skip_serializing_if = "Option::is_none")]
pub recording_group: Option<RecordingGroup>,
}
impl ConfigurationRecorder {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
arn: Some("test-arn".into()),
name: Some("test-configuration_recorder".into()),
role_arn: Some("test-role_arn".into()),
recording_group: Some(RecordingGroup::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct RecordingGroup {
#[serde(rename = "allSupported")]
#[serde(skip_serializing_if = "Option::is_none")]
pub all_supported: Option<bool>,
#[serde(rename = "includeGlobalResourceTypes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub include_global_resource_types: Option<bool>,
#[serde(rename = "recordingStrategy")]
#[serde(skip_serializing_if = "Option::is_none")]
pub recording_strategy: Option<RecordingStrategy>,
}
impl RecordingGroup {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
all_supported: Some(false),
include_global_resource_types: Some(false),
recording_strategy: Some(RecordingStrategy::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct RecordingStrategy {
#[serde(rename = "useOnly")]
#[serde(skip_serializing_if = "Option::is_none")]
pub use_only: Option<String>,
}
impl RecordingStrategy {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
use_only: Some("test-use_only".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeConfigurationRecorderStatusResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub configuration_recorders_status: Vec<ConfigurationRecorderStatus>,
}
impl DescribeConfigurationRecorderStatusResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
configuration_recorders_status: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ConfigurationRecorderStatus {
#[serde(rename = "arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "recording")]
#[serde(skip_serializing_if = "Option::is_none")]
pub recording: Option<bool>,
#[serde(rename = "lastStatus")]
#[serde(skip_serializing_if = "Option::is_none")]
pub last_status: Option<RecorderStatus>,
#[serde(rename = "lastErrorCode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub last_error_code: Option<String>,
#[serde(rename = "lastErrorMessage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub last_error_message: Option<String>,
}
impl ConfigurationRecorderStatus {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
arn: Some("test-arn".into()),
name: Some("test-configuration_recorder_status".into()),
recording: Some(false),
last_error_code: Some("test-last_error_code".into()),
last_error_message: Some("test-last_error_message".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SelectResourceConfigRequest {
pub expression: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
impl SelectResourceConfigRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
expression: "test-expression".into(),
limit: Some(100),
next_token: Some("test-next_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeConfigurationRecordersRequest {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub configuration_recorder_names: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub service_principal: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
}
impl DescribeConfigurationRecordersRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
configuration_recorder_names: vec![],
service_principal: Some("test-service_principal".into()),
arn: Some("test-arn".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeConfigurationRecorderStatusRequest {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub configuration_recorder_names: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub service_principal: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
}
impl DescribeConfigurationRecorderStatusRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
configuration_recorder_names: vec![],
service_principal: Some("test-service_principal".into()),
arn: Some("test-arn".into()),
}
}
}