import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class DatasetContentVersionValue { DatasetName ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class GlueConfiguration { TableName ! : Value < string > ; DatabaseName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DeltaTimeSessionWindowConfiguration { TimeoutInMinutes ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class OutputFileUriValue { FileName ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Filter { DeltaTime ? : DeltaTime ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DatasetContentDeliveryRule { Destination ! : DatasetContentDeliveryRuleDestination ; EntryName ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Action { ActionName ! : Value < string > ; ContainerAction ? : ContainerAction ; QueryAction ? : QueryAction ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LateDataRuleConfiguration { DeltaTimeSessionWindowConfiguration ? : DeltaTimeSessionWindowConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ContainerAction { Variables ? : List < Variable > ; ExecutionRoleArn ! : Value < string > ; Image ! : Value < string > ; ResourceConfiguration ! : ResourceConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LateDataRule { RuleConfiguration ! : LateDataRuleConfiguration ; RuleName ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class QueryAction { Filters ? : List < Filter > ; SqlQuery ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DatasetContentDeliveryRuleDestination { IotEventsDestinationConfiguration ? : IotEventsDestinationConfiguration ; S3DestinationConfiguration ? : S3DestinationConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VersioningConfiguration { MaxVersions ? : Value < number > ; Unlimited ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Schedule { ScheduleExpression ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RetentionPeriod { NumberOfDays ! : Value < number > ; Unlimited ! : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3DestinationConfiguration { GlueConfiguration ? : GlueConfiguration ; Bucket ! : Value < string > ; Key ! : Value < string > ; RoleArn ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Variable { DatasetContentVersionValue ? : DatasetContentVersionValue ; DoubleValue ? : Value < number > ; OutputFileUriValue ? : OutputFileUriValue ; VariableName ! : Value < string > ; StringValue ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DeltaTime { TimeExpression ! : Value < string > ; OffsetSeconds ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Trigger { Schedule ? : Schedule ; TriggeringDataset ? : TriggeringDataset ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class IotEventsDestinationConfiguration { InputName ! : Value < string > ; RoleArn ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ResourceConfiguration { VolumeSizeInGB ! : Value < number > ; ComputeType ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TriggeringDataset { DatasetName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface DatasetProperties { Actions : List < Action > ; LateDataRules ? : List < LateDataRule > ; DatasetName ? : Value < string > ; ContentDeliveryRules ? : List < DatasetContentDeliveryRule > ; Triggers ? : List < Trigger > ; VersioningConfiguration ? : VersioningConfiguration ; RetentionPeriod ? : RetentionPeriod ; Tags ? : List < ResourceTag > ; } export default class Dataset extends ResourceBase < DatasetProperties > { static DatasetContentVersionValue = DatasetContentVersionValue ; static GlueConfiguration = GlueConfiguration ; static DeltaTimeSessionWindowConfiguration = DeltaTimeSessionWindowConfiguration ; static OutputFileUriValue = OutputFileUriValue ; static Filter = Filter ; static DatasetContentDeliveryRule = DatasetContentDeliveryRule ; static Action = Action ; static LateDataRuleConfiguration = LateDataRuleConfiguration ; static ContainerAction = ContainerAction ; static LateDataRule = LateDataRule ; static QueryAction = QueryAction ; static DatasetContentDeliveryRuleDestination = DatasetContentDeliveryRuleDestination ; static VersioningConfiguration = VersioningConfiguration ; static Schedule = Schedule ; static RetentionPeriod = RetentionPeriod ; static S3DestinationConfiguration = S3DestinationConfiguration ; static Variable = Variable ; static DeltaTime = DeltaTime ; static Trigger = Trigger ; static IotEventsDestinationConfiguration = IotEventsDestinationConfiguration ; static ResourceConfiguration = ResourceConfiguration ; static TriggeringDataset = TriggeringDataset ; constructor ( properties ) { super ( 'AWS::IoTAnalytics::Dataset' , properties ) ; } }