# Copyright (c) 2012-2022, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, integer
[docs]class CFNKubernetesAuditLogsConfiguration(AWSProperty):
"""
`CFNKubernetesAuditLogsConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnkubernetesauditlogsconfiguration.html>`__
"""
props: PropsDictType = {
"Enable": (boolean, True),
}
[docs]class CFNKubernetesConfiguration(AWSProperty):
"""
`CFNKubernetesConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnkubernetesconfiguration.html>`__
"""
props: PropsDictType = {
"AuditLogs": (CFNKubernetesAuditLogsConfiguration, True),
}
[docs]class CFNScanEc2InstanceWithFindingsConfiguration(AWSProperty):
"""
`CFNScanEc2InstanceWithFindingsConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnscanec2instancewithfindingsconfiguration.html>`__
"""
props: PropsDictType = {
"EbsVolumes": (boolean, False),
}
[docs]class CFNMalwareProtectionConfiguration(AWSProperty):
"""
`CFNMalwareProtectionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnmalwareprotectionconfiguration.html>`__
"""
props: PropsDictType = {
"ScanEc2InstanceWithFindings": (
CFNScanEc2InstanceWithFindingsConfiguration,
False,
),
}
[docs]class CFNS3LogsConfiguration(AWSProperty):
"""
`CFNS3LogsConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfns3logsconfiguration.html>`__
"""
props: PropsDictType = {
"Enable": (boolean, True),
}
[docs]class CFNDataSourceConfigurations(AWSProperty):
"""
`CFNDataSourceConfigurations <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfndatasourceconfigurations.html>`__
"""
props: PropsDictType = {
"Kubernetes": (CFNKubernetesConfiguration, False),
"MalwareProtection": (CFNMalwareProtectionConfiguration, False),
"S3Logs": (CFNS3LogsConfiguration, False),
}
[docs]class CFNFeatureAdditionalConfiguration(AWSProperty):
"""
`CFNFeatureAdditionalConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnfeatureadditionalconfiguration.html>`__
"""
props: PropsDictType = {
"Name": (str, False),
"Status": (str, False),
}
[docs]class CFNFeatureConfiguration(AWSProperty):
"""
`CFNFeatureConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-detector-cfnfeatureconfiguration.html>`__
"""
props: PropsDictType = {
"AdditionalConfiguration": ([CFNFeatureAdditionalConfiguration], False),
"Name": (str, True),
"Status": (str, True),
}
[docs]class TagItem(AWSProperty):
"""
`TagItem <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-threatintelset-tagitem.html>`__
"""
props: PropsDictType = {
"Key": (str, True),
"Value": (str, True),
}
[docs]class Detector(AWSObject):
"""
`Detector <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html>`__
"""
resource_type = "AWS::GuardDuty::Detector"
props: PropsDictType = {
"DataSources": (CFNDataSourceConfigurations, False),
"Enable": (boolean, True),
"Features": ([CFNFeatureConfiguration], False),
"FindingPublishingFrequency": (str, False),
"Tags": ([TagItem], False),
}
[docs]class Condition(AWSProperty):
"""
`Condition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html>`__
"""
props: PropsDictType = {
"Eq": ([str], False),
"Equals": ([str], False),
"GreaterThan": (integer, False),
"GreaterThanOrEqual": (integer, False),
"Gt": (integer, False),
"Gte": (integer, False),
"LessThan": (integer, False),
"LessThanOrEqual": (integer, False),
"Lt": (integer, False),
"Lte": (integer, False),
"Neq": ([str], False),
"NotEquals": ([str], False),
}
[docs]class FindingCriteria(AWSProperty):
"""
`FindingCriteria <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-findingcriteria.html>`__
"""
props: PropsDictType = {
"Criterion": (dict, False),
}
[docs]class Filter(AWSObject):
"""
`Filter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html>`__
"""
resource_type = "AWS::GuardDuty::Filter"
props: PropsDictType = {
"Action": (str, False),
"Description": (str, False),
"DetectorId": (str, False),
"FindingCriteria": (FindingCriteria, True),
"Name": (str, False),
"Rank": (integer, False),
"Tags": (Tags, False),
}
[docs]class IPSet(AWSObject):
"""
`IPSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html>`__
"""
resource_type = "AWS::GuardDuty::IPSet"
props: PropsDictType = {
"Activate": (boolean, False),
"DetectorId": (str, False),
"Format": (str, True),
"Location": (str, True),
"Name": (str, False),
"Tags": ([TagItem], False),
}
[docs]class Master(AWSObject):
"""
`Master <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html>`__
"""
resource_type = "AWS::GuardDuty::Master"
props: PropsDictType = {
"DetectorId": (str, True),
"InvitationId": (str, False),
"MasterId": (str, True),
}
[docs]class Member(AWSObject):
"""
`Member <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html>`__
"""
resource_type = "AWS::GuardDuty::Member"
props: PropsDictType = {
"DetectorId": (str, False),
"DisableEmailNotification": (boolean, False),
"Email": (str, True),
"MemberId": (str, False),
"Message": (str, False),
"Status": (str, False),
}
[docs]class ThreatIntelSet(AWSObject):
"""
`ThreatIntelSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html>`__
"""
resource_type = "AWS::GuardDuty::ThreatIntelSet"
props: PropsDictType = {
"Activate": (boolean, False),
"DetectorId": (str, False),
"Format": (str, True),
"Location": (str, True),
"Name": (str, False),
"Tags": ([TagItem], False),
}