# Copyright (c) 2012-2021, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
# Resource specification version: 31.0.0


from . import AWSObject
from . import AWSProperty
from troposphere import Tags


class AWSAccount(AWSProperty):
    props = {
        'EmailAddress': (basestring, False),
        'Id': (basestring, False),
        'Name': (basestring, False),
    }


class AssessmentReportsDestination(AWSProperty):
    props = {
        'Destination': (basestring, False),
        'DestinationType': (basestring, False),
    }


class Role(AWSProperty):
    props = {
        'RoleArn': (basestring, False),
        'RoleType': (basestring, False),
    }


class AWSService(AWSProperty):
    props = {
        'ServiceName': (basestring, False),
    }


class Scope(AWSProperty):
    props = {
        'AwsAccounts': ([AWSAccount], False),
        'AwsServices': ([AWSService], False),
    }


class Assessment(AWSObject):
    resource_type = "AWS::AuditManager::Assessment"

    props = {
        'AssessmentReportsDestination':
            (AssessmentReportsDestination, False),
        'AwsAccount': (AWSAccount, False),
        'Description': (basestring, False),
        'FrameworkId': (basestring, False),
        'Name': (basestring, False),
        'Roles': ([Role], False),
        'Scope': (Scope, False),
        'Status': (basestring, False),
        'Tags': (Tags, False),
    }
