#[derive(Debug, Default)]
pub struct CustomDataIdentifier {
properties: CustomDataIdentifierProperties
}
#[derive(Debug, Default)]
pub struct CustomDataIdentifierProperties {
pub description: Option<::Value<String>>,
pub ignore_words: Option<::ValueList<String>>,
pub keywords: Option<::ValueList<String>>,
pub maximum_match_distance: Option<::Value<u32>>,
pub name: ::Value<String>,
pub regex: ::Value<String>,
}
impl ::serde::Serialize for CustomDataIdentifierProperties {
fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
let mut map = ::serde::Serializer::serialize_map(s, None)?;
if let Some(ref description) = self.description {
::serde::ser::SerializeMap::serialize_entry(&mut map, "Description", description)?;
}
if let Some(ref ignore_words) = self.ignore_words {
::serde::ser::SerializeMap::serialize_entry(&mut map, "IgnoreWords", ignore_words)?;
}
if let Some(ref keywords) = self.keywords {
::serde::ser::SerializeMap::serialize_entry(&mut map, "Keywords", keywords)?;
}
if let Some(ref maximum_match_distance) = self.maximum_match_distance {
::serde::ser::SerializeMap::serialize_entry(&mut map, "MaximumMatchDistance", maximum_match_distance)?;
}
::serde::ser::SerializeMap::serialize_entry(&mut map, "Name", &self.name)?;
::serde::ser::SerializeMap::serialize_entry(&mut map, "Regex", &self.regex)?;
::serde::ser::SerializeMap::end(map)
}
}
impl<'de> ::serde::Deserialize<'de> for CustomDataIdentifierProperties {
fn deserialize<D: ::serde::Deserializer<'de>>(d: D) -> Result<CustomDataIdentifierProperties, D::Error> {
struct Visitor;
impl<'de> ::serde::de::Visitor<'de> for Visitor {
type Value = CustomDataIdentifierProperties;
fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
write!(f, "a struct of type CustomDataIdentifierProperties")
}
fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
let mut description: Option<::Value<String>> = None;
let mut ignore_words: Option<::ValueList<String>> = None;
let mut keywords: Option<::ValueList<String>> = None;
let mut maximum_match_distance: Option<::Value<u32>> = None;
let mut name: Option<::Value<String>> = None;
let mut regex: Option<::Value<String>> = None;
while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
match __cfn_key.as_ref() {
"Description" => {
description = ::serde::de::MapAccess::next_value(&mut map)?;
}
"IgnoreWords" => {
ignore_words = ::serde::de::MapAccess::next_value(&mut map)?;
}
"Keywords" => {
keywords = ::serde::de::MapAccess::next_value(&mut map)?;
}
"MaximumMatchDistance" => {
maximum_match_distance = ::serde::de::MapAccess::next_value(&mut map)?;
}
"Name" => {
name = ::serde::de::MapAccess::next_value(&mut map)?;
}
"Regex" => {
regex = ::serde::de::MapAccess::next_value(&mut map)?;
}
_ => {}
}
}
Ok(CustomDataIdentifierProperties {
description: description,
ignore_words: ignore_words,
keywords: keywords,
maximum_match_distance: maximum_match_distance,
name: name.ok_or(::serde::de::Error::missing_field("Name"))?,
regex: regex.ok_or(::serde::de::Error::missing_field("Regex"))?,
})
}
}
d.deserialize_map(Visitor)
}
}
impl ::Resource for CustomDataIdentifier {
type Properties = CustomDataIdentifierProperties;
const TYPE: &'static str = "AWS::Macie::CustomDataIdentifier";
fn properties(&self) -> &CustomDataIdentifierProperties {
&self.properties
}
fn properties_mut(&mut self) -> &mut CustomDataIdentifierProperties {
&mut self.properties
}
}
impl ::private::Sealed for CustomDataIdentifier {}
impl From<CustomDataIdentifierProperties> for CustomDataIdentifier {
fn from(properties: CustomDataIdentifierProperties) -> CustomDataIdentifier {
CustomDataIdentifier { properties }
}
}
#[derive(Debug, Default)]
pub struct FindingsFilter {
properties: FindingsFilterProperties
}
#[derive(Debug, Default)]
pub struct FindingsFilterProperties {
pub action: Option<::Value<String>>,
pub description: Option<::Value<String>>,
pub finding_criteria: ::Value<self::findings_filter::FindingCriteria>,
pub name: ::Value<String>,
pub position: Option<::Value<u32>>,
}
impl ::serde::Serialize for FindingsFilterProperties {
fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
let mut map = ::serde::Serializer::serialize_map(s, None)?;
if let Some(ref action) = self.action {
::serde::ser::SerializeMap::serialize_entry(&mut map, "Action", action)?;
}
if let Some(ref description) = self.description {
::serde::ser::SerializeMap::serialize_entry(&mut map, "Description", description)?;
}
::serde::ser::SerializeMap::serialize_entry(&mut map, "FindingCriteria", &self.finding_criteria)?;
::serde::ser::SerializeMap::serialize_entry(&mut map, "Name", &self.name)?;
if let Some(ref position) = self.position {
::serde::ser::SerializeMap::serialize_entry(&mut map, "Position", position)?;
}
::serde::ser::SerializeMap::end(map)
}
}
impl<'de> ::serde::Deserialize<'de> for FindingsFilterProperties {
fn deserialize<D: ::serde::Deserializer<'de>>(d: D) -> Result<FindingsFilterProperties, D::Error> {
struct Visitor;
impl<'de> ::serde::de::Visitor<'de> for Visitor {
type Value = FindingsFilterProperties;
fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
write!(f, "a struct of type FindingsFilterProperties")
}
fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
let mut action: Option<::Value<String>> = None;
let mut description: Option<::Value<String>> = None;
let mut finding_criteria: Option<::Value<self::findings_filter::FindingCriteria>> = None;
let mut name: Option<::Value<String>> = None;
let mut position: Option<::Value<u32>> = None;
while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
match __cfn_key.as_ref() {
"Action" => {
action = ::serde::de::MapAccess::next_value(&mut map)?;
}
"Description" => {
description = ::serde::de::MapAccess::next_value(&mut map)?;
}
"FindingCriteria" => {
finding_criteria = ::serde::de::MapAccess::next_value(&mut map)?;
}
"Name" => {
name = ::serde::de::MapAccess::next_value(&mut map)?;
}
"Position" => {
position = ::serde::de::MapAccess::next_value(&mut map)?;
}
_ => {}
}
}
Ok(FindingsFilterProperties {
action: action,
description: description,
finding_criteria: finding_criteria.ok_or(::serde::de::Error::missing_field("FindingCriteria"))?,
name: name.ok_or(::serde::de::Error::missing_field("Name"))?,
position: position,
})
}
}
d.deserialize_map(Visitor)
}
}
impl ::Resource for FindingsFilter {
type Properties = FindingsFilterProperties;
const TYPE: &'static str = "AWS::Macie::FindingsFilter";
fn properties(&self) -> &FindingsFilterProperties {
&self.properties
}
fn properties_mut(&mut self) -> &mut FindingsFilterProperties {
&mut self.properties
}
}
impl ::private::Sealed for FindingsFilter {}
impl From<FindingsFilterProperties> for FindingsFilter {
fn from(properties: FindingsFilterProperties) -> FindingsFilter {
FindingsFilter { properties }
}
}
#[derive(Debug, Default)]
pub struct Session {
properties: SessionProperties
}
#[derive(Debug, Default)]
pub struct SessionProperties {
pub finding_publishing_frequency: Option<::Value<String>>,
pub status: Option<::Value<String>>,
}
impl ::serde::Serialize for SessionProperties {
fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
let mut map = ::serde::Serializer::serialize_map(s, None)?;
if let Some(ref finding_publishing_frequency) = self.finding_publishing_frequency {
::serde::ser::SerializeMap::serialize_entry(&mut map, "FindingPublishingFrequency", finding_publishing_frequency)?;
}
if let Some(ref status) = self.status {
::serde::ser::SerializeMap::serialize_entry(&mut map, "Status", status)?;
}
::serde::ser::SerializeMap::end(map)
}
}
impl<'de> ::serde::Deserialize<'de> for SessionProperties {
fn deserialize<D: ::serde::Deserializer<'de>>(d: D) -> Result<SessionProperties, D::Error> {
struct Visitor;
impl<'de> ::serde::de::Visitor<'de> for Visitor {
type Value = SessionProperties;
fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
write!(f, "a struct of type SessionProperties")
}
fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
let mut finding_publishing_frequency: Option<::Value<String>> = None;
let mut status: Option<::Value<String>> = None;
while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
match __cfn_key.as_ref() {
"FindingPublishingFrequency" => {
finding_publishing_frequency = ::serde::de::MapAccess::next_value(&mut map)?;
}
"Status" => {
status = ::serde::de::MapAccess::next_value(&mut map)?;
}
_ => {}
}
}
Ok(SessionProperties {
finding_publishing_frequency: finding_publishing_frequency,
status: status,
})
}
}
d.deserialize_map(Visitor)
}
}
impl ::Resource for Session {
type Properties = SessionProperties;
const TYPE: &'static str = "AWS::Macie::Session";
fn properties(&self) -> &SessionProperties {
&self.properties
}
fn properties_mut(&mut self) -> &mut SessionProperties {
&mut self.properties
}
}
impl ::private::Sealed for Session {}
impl From<SessionProperties> for Session {
fn from(properties: SessionProperties) -> Session {
Session { properties }
}
}
pub mod findings_filter {
#[derive(Debug, Default)]
pub struct Criterion {
}
impl ::codec::SerializeValue for Criterion {
fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
let map = ::serde::Serializer::serialize_map(s, None)?;
::serde::ser::SerializeMap::end(map)
}
}
impl ::codec::DeserializeValue for Criterion {
fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<Criterion, D::Error> {
struct Visitor;
impl<'de> ::serde::de::Visitor<'de> for Visitor {
type Value = Criterion;
fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
write!(f, "a struct of type Criterion")
}
fn visit_map<A: ::serde::de::MapAccess<'de>>(self, _map: A) -> Result<Self::Value, A::Error> {
Ok(Criterion {})
}
}
d.deserialize_map(Visitor)
}
}
#[derive(Debug, Default)]
pub struct FindingCriteria {
pub criterion: Option<::Value<Criterion>>,
}
impl ::codec::SerializeValue for FindingCriteria {
fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
let mut map = ::serde::Serializer::serialize_map(s, None)?;
if let Some(ref criterion) = self.criterion {
::serde::ser::SerializeMap::serialize_entry(&mut map, "Criterion", criterion)?;
}
::serde::ser::SerializeMap::end(map)
}
}
impl ::codec::DeserializeValue for FindingCriteria {
fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<FindingCriteria, D::Error> {
struct Visitor;
impl<'de> ::serde::de::Visitor<'de> for Visitor {
type Value = FindingCriteria;
fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
write!(f, "a struct of type FindingCriteria")
}
fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
let mut criterion: Option<::Value<Criterion>> = None;
while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
match __cfn_key.as_ref() {
"Criterion" => {
criterion = ::serde::de::MapAccess::next_value(&mut map)?;
}
_ => {}
}
}
Ok(FindingCriteria {
criterion: criterion,
})
}
}
d.deserialize_map(Visitor)
}
}
#[derive(Debug, Default)]
pub struct FindingsFilterListItem {
pub id: Option<::Value<String>>,
pub name: Option<::Value<String>>,
}
impl ::codec::SerializeValue for FindingsFilterListItem {
fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
let mut map = ::serde::Serializer::serialize_map(s, None)?;
if let Some(ref id) = self.id {
::serde::ser::SerializeMap::serialize_entry(&mut map, "Id", id)?;
}
if let Some(ref name) = self.name {
::serde::ser::SerializeMap::serialize_entry(&mut map, "Name", name)?;
}
::serde::ser::SerializeMap::end(map)
}
}
impl ::codec::DeserializeValue for FindingsFilterListItem {
fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<FindingsFilterListItem, D::Error> {
struct Visitor;
impl<'de> ::serde::de::Visitor<'de> for Visitor {
type Value = FindingsFilterListItem;
fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
write!(f, "a struct of type FindingsFilterListItem")
}
fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
let mut id: Option<::Value<String>> = None;
let mut name: Option<::Value<String>> = None;
while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
match __cfn_key.as_ref() {
"Id" => {
id = ::serde::de::MapAccess::next_value(&mut map)?;
}
"Name" => {
name = ::serde::de::MapAccess::next_value(&mut map)?;
}
_ => {}
}
}
Ok(FindingsFilterListItem {
id: id,
name: name,
})
}
}
d.deserialize_map(Visitor)
}
}
}