# Copyright (c) 2012-2024, 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
[docs]class ExternalUrlConfig(AWSProperty):
"""
`ExternalUrlConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-externalurlconfig.html>`__
"""
props: PropsDictType = {
"AccessUrl": (str, True),
"ApprovedOrigins": ([str], False),
}
[docs]class ApplicationSourceConfig(AWSProperty):
"""
`ApplicationSourceConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-applicationsourceconfig.html>`__
"""
props: PropsDictType = {
"ExternalUrlConfig": (ExternalUrlConfig, True),
}
[docs]class Application(AWSObject):
"""
`Application <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html>`__
"""
resource_type = "AWS::AppIntegrations::Application"
props: PropsDictType = {
"ApplicationSourceConfig": (ApplicationSourceConfig, True),
"Description": (str, True),
"Name": (str, True),
"Namespace": (str, False),
"Permissions": ([str], False),
"Tags": (Tags, False),
}
[docs]class FileConfiguration(AWSProperty):
"""
`FileConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-fileconfiguration.html>`__
"""
props: PropsDictType = {
"Filters": (dict, False),
"Folders": ([str], True),
}
[docs]class ScheduleConfig(AWSProperty):
"""
`ScheduleConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-scheduleconfig.html>`__
"""
props: PropsDictType = {
"FirstExecutionFrom": (str, False),
"Object": (str, False),
"ScheduleExpression": (str, True),
}
[docs]class DataIntegration(AWSObject):
"""
`DataIntegration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html>`__
"""
resource_type = "AWS::AppIntegrations::DataIntegration"
props: PropsDictType = {
"Description": (str, False),
"FileConfiguration": (FileConfiguration, False),
"KmsKey": (str, True),
"Name": (str, True),
"ObjectConfiguration": (dict, False),
"ScheduleConfig": (ScheduleConfig, False),
"SourceURI": (str, True),
"Tags": (Tags, False),
}
[docs]class EventFilter(AWSProperty):
"""
`EventFilter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-eventintegration-eventfilter.html>`__
"""
props: PropsDictType = {
"Source": (str, True),
}
[docs]class EventIntegration(AWSObject):
"""
`EventIntegration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html>`__
"""
resource_type = "AWS::AppIntegrations::EventIntegration"
props: PropsDictType = {
"Description": (str, False),
"EventBridgeBus": (str, True),
"EventFilter": (EventFilter, True),
"Name": (str, True),
"Tags": (Tags, False),
}