KINESISANALYTICSV2

AddApplicationCloudWatchLoggingOption

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.CloudWatchLoggingOption.LogStreamARN == STRING
    input.Body.ConditionalToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AddApplicationInput

enum_RecordFormatType := [ "JSON", "CSV" ]

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.Input.NamePrefix == STRING
    input.Body.Input.InputProcessingConfiguration.InputLambdaProcessor.ResourceARN == STRING
    input.Body.Input.KinesisStreamsInput.ResourceARN == STRING
    input.Body.Input.KinesisFirehoseInput.ResourceARN == STRING
    input.Body.Input.InputParallelism.Count == INTEGER
    input.Body.Input.InputSchema.RecordFormat.RecordFormatType == enum_RecordFormatType[_]
    input.Body.Input.InputSchema.RecordFormat.MappingParameters.JSONMappingParameters.RecordRowPath == STRING
    input.Body.Input.InputSchema.RecordFormat.MappingParameters.CSVMappingParameters.RecordRowDelimiter == STRING
    input.Body.Input.InputSchema.RecordFormat.MappingParameters.CSVMappingParameters.RecordColumnDelimiter == STRING
    input.Body.Input.InputSchema.RecordEncoding == STRING
    input.Body.Input.InputSchema.RecordColumns[_].Name == STRING
    input.Body.Input.InputSchema.RecordColumns[_].Mapping == STRING
    input.Body.Input.InputSchema.RecordColumns[_].SqlType == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AddApplicationInputProcessingConfiguration

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.InputId == STRING
    input.Body.InputProcessingConfiguration.InputLambdaProcessor.ResourceARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AddApplicationOutput

enum_RecordFormatType := [ "JSON", "CSV" ]

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.Output.Name == STRING
    input.Body.Output.KinesisStreamsOutput.ResourceARN == STRING
    input.Body.Output.KinesisFirehoseOutput.ResourceARN == STRING
    input.Body.Output.LambdaOutput.ResourceARN == STRING
    input.Body.Output.DestinationSchema.RecordFormatType == enum_RecordFormatType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AddApplicationReferenceDataSource

enum_RecordFormatType := [ "JSON", "CSV" ]

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.ReferenceDataSource.TableName == STRING
    input.Body.ReferenceDataSource.S3ReferenceDataSource.BucketARN == STRING
    input.Body.ReferenceDataSource.S3ReferenceDataSource.FileKey == STRING
    input.Body.ReferenceDataSource.ReferenceSchema.RecordFormat.RecordFormatType == enum_RecordFormatType[_]
    input.Body.ReferenceDataSource.ReferenceSchema.RecordFormat.MappingParameters.JSONMappingParameters.RecordRowPath == STRING
    input.Body.ReferenceDataSource.ReferenceSchema.RecordFormat.MappingParameters.CSVMappingParameters.RecordRowDelimiter == STRING
    input.Body.ReferenceDataSource.ReferenceSchema.RecordFormat.MappingParameters.CSVMappingParameters.RecordColumnDelimiter == STRING
    input.Body.ReferenceDataSource.ReferenceSchema.RecordEncoding == STRING
    input.Body.ReferenceDataSource.ReferenceSchema.RecordColumns[_].Name == STRING
    input.Body.ReferenceDataSource.ReferenceSchema.RecordColumns[_].Mapping == STRING
    input.Body.ReferenceDataSource.ReferenceSchema.RecordColumns[_].SqlType == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AddApplicationVpcConfiguration

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.VpcConfiguration.SubnetIds[_] == STRING
    input.Body.VpcConfiguration.SecurityGroupIds[_] == STRING
    input.Body.ConditionalToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateApplication

enum_ApplicationMode := [ "STREAMING", "INTERACTIVE" ]
enum_ArtifactType := [ "UDF", "DEPENDENCY_JAR" ]
enum_CodeContentType := [ "PLAINTEXT", "ZIPFILE" ]
enum_ConfigurationType := [ "DEFAULT", "CUSTOM" ]
enum_LogLevel := [ "INFO", "WARN", "ERROR", "DEBUG" ]
enum_MetricsLevel := [ "APPLICATION", "TASK", "OPERATOR", "PARALLELISM" ]
enum_RecordFormatType := [ "JSON", "CSV" ]
enum_RuntimeEnvironment := [ "SQL-1_0", "FLINK-1_6", "FLINK-1_8", "ZEPPELIN-FLINK-1_0", "FLINK-1_11", "FLINK-1_13", "ZEPPELIN-FLINK-2_0", "FLINK-1_15", "ZEPPELIN-FLINK-3_0", "FLINK-1_18" ]

valid {
    input.Body.ApplicationName == STRING
    input.Body.ApplicationDescription == STRING
    input.Body.RuntimeEnvironment == enum_RuntimeEnvironment[_]
    input.Body.ServiceExecutionRole == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].NamePrefix == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].InputProcessingConfiguration.InputLambdaProcessor.ResourceARN == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].KinesisStreamsInput.ResourceARN == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].KinesisFirehoseInput.ResourceARN == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].InputParallelism.Count == INTEGER
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].InputSchema.RecordFormat.RecordFormatType == enum_RecordFormatType[_]
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].InputSchema.RecordFormat.MappingParameters.JSONMappingParameters.RecordRowPath == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].InputSchema.RecordFormat.MappingParameters.CSVMappingParameters.RecordRowDelimiter == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].InputSchema.RecordFormat.MappingParameters.CSVMappingParameters.RecordColumnDelimiter == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].InputSchema.RecordEncoding == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].InputSchema.RecordColumns[_].Name == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].InputSchema.RecordColumns[_].Mapping == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Inputs[_].InputSchema.RecordColumns[_].SqlType == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Outputs[_].Name == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Outputs[_].KinesisStreamsOutput.ResourceARN == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Outputs[_].KinesisFirehoseOutput.ResourceARN == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Outputs[_].LambdaOutput.ResourceARN == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.Outputs[_].DestinationSchema.RecordFormatType == enum_RecordFormatType[_]
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.ReferenceDataSources[_].TableName == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.ReferenceDataSources[_].S3ReferenceDataSource.BucketARN == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.ReferenceDataSources[_].S3ReferenceDataSource.FileKey == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.ReferenceDataSources[_].ReferenceSchema.RecordFormat.RecordFormatType == enum_RecordFormatType[_]
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.ReferenceDataSources[_].ReferenceSchema.RecordFormat.MappingParameters.JSONMappingParameters.RecordRowPath == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.ReferenceDataSources[_].ReferenceSchema.RecordFormat.MappingParameters.CSVMappingParameters.RecordRowDelimiter == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.ReferenceDataSources[_].ReferenceSchema.RecordFormat.MappingParameters.CSVMappingParameters.RecordColumnDelimiter == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.ReferenceDataSources[_].ReferenceSchema.RecordEncoding == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.ReferenceDataSources[_].ReferenceSchema.RecordColumns[_].Name == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.ReferenceDataSources[_].ReferenceSchema.RecordColumns[_].Mapping == STRING
    input.Body.ApplicationConfiguration.SqlApplicationConfiguration.ReferenceDataSources[_].ReferenceSchema.RecordColumns[_].SqlType == STRING
    input.Body.ApplicationConfiguration.FlinkApplicationConfiguration.CheckpointConfiguration.ConfigurationType == enum_ConfigurationType[_]
    input.Body.ApplicationConfiguration.FlinkApplicationConfiguration.CheckpointConfiguration.CheckpointingEnabled == BOOLEAN
    input.Body.ApplicationConfiguration.FlinkApplicationConfiguration.CheckpointConfiguration.CheckpointInterval == LONG
    input.Body.ApplicationConfiguration.FlinkApplicationConfiguration.CheckpointConfiguration.MinPauseBetweenCheckpoints == LONG
    input.Body.ApplicationConfiguration.FlinkApplicationConfiguration.MonitoringConfiguration.ConfigurationType == enum_ConfigurationType[_]
    input.Body.ApplicationConfiguration.FlinkApplicationConfiguration.MonitoringConfiguration.MetricsLevel == enum_MetricsLevel[_]
    input.Body.ApplicationConfiguration.FlinkApplicationConfiguration.MonitoringConfiguration.LogLevel == enum_LogLevel[_]
    input.Body.ApplicationConfiguration.FlinkApplicationConfiguration.ParallelismConfiguration.ConfigurationType == enum_ConfigurationType[_]
    input.Body.ApplicationConfiguration.FlinkApplicationConfiguration.ParallelismConfiguration.Parallelism == INTEGER
    input.Body.ApplicationConfiguration.FlinkApplicationConfiguration.ParallelismConfiguration.ParallelismPerKPU == INTEGER
    input.Body.ApplicationConfiguration.FlinkApplicationConfiguration.ParallelismConfiguration.AutoScalingEnabled == BOOLEAN
    input.Body.ApplicationConfiguration.EnvironmentProperties.PropertyGroups[_].PropertyGroupId == STRING
    input.Body.ApplicationConfiguration.EnvironmentProperties.PropertyGroups[_].PropertyMap.STRING == STRING
    input.Body.ApplicationConfiguration.ApplicationCodeConfiguration.CodeContent.TextContent == STRING
    input.Body.ApplicationConfiguration.ApplicationCodeConfiguration.CodeContent.ZipFileContent == BLOB
    input.Body.ApplicationConfiguration.ApplicationCodeConfiguration.CodeContent.S3ContentLocation.BucketARN == STRING
    input.Body.ApplicationConfiguration.ApplicationCodeConfiguration.CodeContent.S3ContentLocation.FileKey == STRING
    input.Body.ApplicationConfiguration.ApplicationCodeConfiguration.CodeContent.S3ContentLocation.ObjectVersion == STRING
    input.Body.ApplicationConfiguration.ApplicationCodeConfiguration.CodeContentType == enum_CodeContentType[_]
    input.Body.ApplicationConfiguration.ApplicationSnapshotConfiguration.SnapshotsEnabled == BOOLEAN
    input.Body.ApplicationConfiguration.VpcConfigurations[_].SubnetIds[_] == STRING
    input.Body.ApplicationConfiguration.VpcConfigurations[_].SecurityGroupIds[_] == STRING
    input.Body.ApplicationConfiguration.ZeppelinApplicationConfiguration.MonitoringConfiguration.LogLevel == enum_LogLevel[_]
    input.Body.ApplicationConfiguration.ZeppelinApplicationConfiguration.CatalogConfiguration.GlueDataCatalogConfiguration.DatabaseARN == STRING
    input.Body.ApplicationConfiguration.ZeppelinApplicationConfiguration.DeployAsApplicationConfiguration.S3ContentLocation.BucketARN == STRING
    input.Body.ApplicationConfiguration.ZeppelinApplicationConfiguration.DeployAsApplicationConfiguration.S3ContentLocation.BasePath == STRING
    input.Body.ApplicationConfiguration.ZeppelinApplicationConfiguration.CustomArtifactsConfiguration[_].ArtifactType == enum_ArtifactType[_]
    input.Body.ApplicationConfiguration.ZeppelinApplicationConfiguration.CustomArtifactsConfiguration[_].S3ContentLocation.BucketARN == STRING
    input.Body.ApplicationConfiguration.ZeppelinApplicationConfiguration.CustomArtifactsConfiguration[_].S3ContentLocation.FileKey == STRING
    input.Body.ApplicationConfiguration.ZeppelinApplicationConfiguration.CustomArtifactsConfiguration[_].S3ContentLocation.ObjectVersion == STRING
    input.Body.ApplicationConfiguration.ZeppelinApplicationConfiguration.CustomArtifactsConfiguration[_].MavenReference.GroupId == STRING
    input.Body.ApplicationConfiguration.ZeppelinApplicationConfiguration.CustomArtifactsConfiguration[_].MavenReference.ArtifactId == STRING
    input.Body.ApplicationConfiguration.ZeppelinApplicationConfiguration.CustomArtifactsConfiguration[_].MavenReference.Version == STRING
    input.Body.CloudWatchLoggingOptions[_].LogStreamARN == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.ApplicationMode == enum_ApplicationMode[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateApplicationPresignedUrl

enum_UrlType := [ "FLINK_DASHBOARD_URL", "ZEPPELIN_UI_URL" ]

valid {
    input.Body.ApplicationName == STRING
    input.Body.UrlType == enum_UrlType[_]
    input.Body.SessionExpirationDurationInSeconds == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateApplicationSnapshot

valid {
    input.Body.ApplicationName == STRING
    input.Body.SnapshotName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplication

valid {
    input.Body.ApplicationName == STRING
    input.Body.CreateTimestamp == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplicationCloudWatchLoggingOption

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.CloudWatchLoggingOptionId == STRING
    input.Body.ConditionalToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplicationInputProcessingConfiguration

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.InputId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplicationOutput

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.OutputId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplicationReferenceDataSource

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.ReferenceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplicationSnapshot

valid {
    input.Body.ApplicationName == STRING
    input.Body.SnapshotName == STRING
    input.Body.SnapshotCreationTimestamp == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplicationVpcConfiguration

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.VpcConfigurationId == STRING
    input.Body.ConditionalToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeApplication

valid {
    input.Body.ApplicationName == STRING
    input.Body.IncludeAdditionalDetails == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeApplicationSnapshot

valid {
    input.Body.ApplicationName == STRING
    input.Body.SnapshotName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeApplicationVersion

valid {
    input.Body.ApplicationName == STRING
    input.Body.ApplicationVersionId == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DiscoverInputSchema

enum_InputStartingPosition := [ "NOW", "TRIM_HORIZON", "LAST_STOPPED_POINT" ]

valid {
    input.Body.ResourceARN == STRING
    input.Body.ServiceExecutionRole == STRING
    input.Body.InputStartingPositionConfiguration.InputStartingPosition == enum_InputStartingPosition[_]
    input.Body.S3Configuration.BucketARN == STRING
    input.Body.S3Configuration.FileKey == STRING
    input.Body.InputProcessingConfiguration.InputLambdaProcessor.ResourceARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListApplicationSnapshots

valid {
    input.Body.ApplicationName == STRING
    input.Body.Limit == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListApplicationVersions

valid {
    input.Body.ApplicationName == STRING
    input.Body.Limit == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListApplications

valid {
    input.Body.Limit == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.Body.ResourceARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RollbackApplication

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartApplication

enum_ApplicationRestoreType := [ "SKIP_RESTORE_FROM_SNAPSHOT", "RESTORE_FROM_LATEST_SNAPSHOT", "RESTORE_FROM_CUSTOM_SNAPSHOT" ]
enum_InputStartingPosition := [ "NOW", "TRIM_HORIZON", "LAST_STOPPED_POINT" ]

valid {
    input.Body.ApplicationName == STRING
    input.Body.RunConfiguration.FlinkRunConfiguration.AllowNonRestoredState == BOOLEAN
    input.Body.RunConfiguration.SqlRunConfigurations[_].InputId == STRING
    input.Body.RunConfiguration.SqlRunConfigurations[_].InputStartingPositionConfiguration.InputStartingPosition == enum_InputStartingPosition[_]
    input.Body.RunConfiguration.ApplicationRestoreConfiguration.ApplicationRestoreType == enum_ApplicationRestoreType[_]
    input.Body.RunConfiguration.ApplicationRestoreConfiguration.SnapshotName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopApplication

valid {
    input.Body.ApplicationName == STRING
    input.Body.Force == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.ResourceARN == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.Body.ResourceARN == STRING
    input.Body.TagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateApplication

enum_ApplicationRestoreType := [ "SKIP_RESTORE_FROM_SNAPSHOT", "RESTORE_FROM_LATEST_SNAPSHOT", "RESTORE_FROM_CUSTOM_SNAPSHOT" ]
enum_ArtifactType := [ "UDF", "DEPENDENCY_JAR" ]
enum_CodeContentType := [ "PLAINTEXT", "ZIPFILE" ]
enum_ConfigurationType := [ "DEFAULT", "CUSTOM" ]
enum_LogLevel := [ "INFO", "WARN", "ERROR", "DEBUG" ]
enum_MetricsLevel := [ "APPLICATION", "TASK", "OPERATOR", "PARALLELISM" ]
enum_RecordFormatType := [ "JSON", "CSV" ]
enum_RuntimeEnvironment := [ "SQL-1_0", "FLINK-1_6", "FLINK-1_8", "ZEPPELIN-FLINK-1_0", "FLINK-1_11", "FLINK-1_13", "ZEPPELIN-FLINK-2_0", "FLINK-1_15", "ZEPPELIN-FLINK-3_0", "FLINK-1_18" ]

valid {
    input.Body.ApplicationName == STRING
    input.Body.CurrentApplicationVersionId == LONG
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].InputId == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].NamePrefixUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].InputProcessingConfigurationUpdate.InputLambdaProcessorUpdate.ResourceARNUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].KinesisStreamsInputUpdate.ResourceARNUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].KinesisFirehoseInputUpdate.ResourceARNUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].InputSchemaUpdate.RecordFormatUpdate.RecordFormatType == enum_RecordFormatType[_]
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].InputSchemaUpdate.RecordFormatUpdate.MappingParameters.JSONMappingParameters.RecordRowPath == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].InputSchemaUpdate.RecordFormatUpdate.MappingParameters.CSVMappingParameters.RecordRowDelimiter == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].InputSchemaUpdate.RecordFormatUpdate.MappingParameters.CSVMappingParameters.RecordColumnDelimiter == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].InputSchemaUpdate.RecordEncodingUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].InputSchemaUpdate.RecordColumnUpdates[_].Name == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].InputSchemaUpdate.RecordColumnUpdates[_].Mapping == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].InputSchemaUpdate.RecordColumnUpdates[_].SqlType == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.InputUpdates[_].InputParallelismUpdate.CountUpdate == INTEGER
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.OutputUpdates[_].OutputId == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.OutputUpdates[_].NameUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.OutputUpdates[_].KinesisStreamsOutputUpdate.ResourceARNUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.OutputUpdates[_].KinesisFirehoseOutputUpdate.ResourceARNUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.OutputUpdates[_].LambdaOutputUpdate.ResourceARNUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.OutputUpdates[_].DestinationSchemaUpdate.RecordFormatType == enum_RecordFormatType[_]
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].ReferenceId == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].TableNameUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].S3ReferenceDataSourceUpdate.BucketARNUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].S3ReferenceDataSourceUpdate.FileKeyUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].ReferenceSchemaUpdate.RecordFormat.RecordFormatType == enum_RecordFormatType[_]
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].ReferenceSchemaUpdate.RecordFormat.MappingParameters.JSONMappingParameters.RecordRowPath == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].ReferenceSchemaUpdate.RecordFormat.MappingParameters.CSVMappingParameters.RecordRowDelimiter == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].ReferenceSchemaUpdate.RecordFormat.MappingParameters.CSVMappingParameters.RecordColumnDelimiter == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].ReferenceSchemaUpdate.RecordEncoding == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].ReferenceSchemaUpdate.RecordColumns[_].Name == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].ReferenceSchemaUpdate.RecordColumns[_].Mapping == STRING
    input.Body.ApplicationConfigurationUpdate.SqlApplicationConfigurationUpdate.ReferenceDataSourceUpdates[_].ReferenceSchemaUpdate.RecordColumns[_].SqlType == STRING
    input.Body.ApplicationConfigurationUpdate.ApplicationCodeConfigurationUpdate.CodeContentTypeUpdate == enum_CodeContentType[_]
    input.Body.ApplicationConfigurationUpdate.ApplicationCodeConfigurationUpdate.CodeContentUpdate.TextContentUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.ApplicationCodeConfigurationUpdate.CodeContentUpdate.ZipFileContentUpdate == BLOB
    input.Body.ApplicationConfigurationUpdate.ApplicationCodeConfigurationUpdate.CodeContentUpdate.S3ContentLocationUpdate.BucketARNUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.ApplicationCodeConfigurationUpdate.CodeContentUpdate.S3ContentLocationUpdate.FileKeyUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.ApplicationCodeConfigurationUpdate.CodeContentUpdate.S3ContentLocationUpdate.ObjectVersionUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.FlinkApplicationConfigurationUpdate.CheckpointConfigurationUpdate.ConfigurationTypeUpdate == enum_ConfigurationType[_]
    input.Body.ApplicationConfigurationUpdate.FlinkApplicationConfigurationUpdate.CheckpointConfigurationUpdate.CheckpointingEnabledUpdate == BOOLEAN
    input.Body.ApplicationConfigurationUpdate.FlinkApplicationConfigurationUpdate.CheckpointConfigurationUpdate.CheckpointIntervalUpdate == LONG
    input.Body.ApplicationConfigurationUpdate.FlinkApplicationConfigurationUpdate.CheckpointConfigurationUpdate.MinPauseBetweenCheckpointsUpdate == LONG
    input.Body.ApplicationConfigurationUpdate.FlinkApplicationConfigurationUpdate.MonitoringConfigurationUpdate.ConfigurationTypeUpdate == enum_ConfigurationType[_]
    input.Body.ApplicationConfigurationUpdate.FlinkApplicationConfigurationUpdate.MonitoringConfigurationUpdate.MetricsLevelUpdate == enum_MetricsLevel[_]
    input.Body.ApplicationConfigurationUpdate.FlinkApplicationConfigurationUpdate.MonitoringConfigurationUpdate.LogLevelUpdate == enum_LogLevel[_]
    input.Body.ApplicationConfigurationUpdate.FlinkApplicationConfigurationUpdate.ParallelismConfigurationUpdate.ConfigurationTypeUpdate == enum_ConfigurationType[_]
    input.Body.ApplicationConfigurationUpdate.FlinkApplicationConfigurationUpdate.ParallelismConfigurationUpdate.ParallelismUpdate == INTEGER
    input.Body.ApplicationConfigurationUpdate.FlinkApplicationConfigurationUpdate.ParallelismConfigurationUpdate.ParallelismPerKPUUpdate == INTEGER
    input.Body.ApplicationConfigurationUpdate.FlinkApplicationConfigurationUpdate.ParallelismConfigurationUpdate.AutoScalingEnabledUpdate == BOOLEAN
    input.Body.ApplicationConfigurationUpdate.EnvironmentPropertyUpdates.PropertyGroups[_].PropertyGroupId == STRING
    input.Body.ApplicationConfigurationUpdate.EnvironmentPropertyUpdates.PropertyGroups[_].PropertyMap.STRING == STRING
    input.Body.ApplicationConfigurationUpdate.ApplicationSnapshotConfigurationUpdate.SnapshotsEnabledUpdate == BOOLEAN
    input.Body.ApplicationConfigurationUpdate.VpcConfigurationUpdates[_].VpcConfigurationId == STRING
    input.Body.ApplicationConfigurationUpdate.VpcConfigurationUpdates[_].SubnetIdUpdates[_] == STRING
    input.Body.ApplicationConfigurationUpdate.VpcConfigurationUpdates[_].SecurityGroupIdUpdates[_] == STRING
    input.Body.ApplicationConfigurationUpdate.ZeppelinApplicationConfigurationUpdate.MonitoringConfigurationUpdate.LogLevelUpdate == enum_LogLevel[_]
    input.Body.ApplicationConfigurationUpdate.ZeppelinApplicationConfigurationUpdate.CatalogConfigurationUpdate.GlueDataCatalogConfigurationUpdate.DatabaseARNUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.ZeppelinApplicationConfigurationUpdate.DeployAsApplicationConfigurationUpdate.S3ContentLocationUpdate.BucketARNUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.ZeppelinApplicationConfigurationUpdate.DeployAsApplicationConfigurationUpdate.S3ContentLocationUpdate.BasePathUpdate == STRING
    input.Body.ApplicationConfigurationUpdate.ZeppelinApplicationConfigurationUpdate.CustomArtifactsConfigurationUpdate[_].ArtifactType == enum_ArtifactType[_]
    input.Body.ApplicationConfigurationUpdate.ZeppelinApplicationConfigurationUpdate.CustomArtifactsConfigurationUpdate[_].S3ContentLocation.BucketARN == STRING
    input.Body.ApplicationConfigurationUpdate.ZeppelinApplicationConfigurationUpdate.CustomArtifactsConfigurationUpdate[_].S3ContentLocation.FileKey == STRING
    input.Body.ApplicationConfigurationUpdate.ZeppelinApplicationConfigurationUpdate.CustomArtifactsConfigurationUpdate[_].S3ContentLocation.ObjectVersion == STRING
    input.Body.ApplicationConfigurationUpdate.ZeppelinApplicationConfigurationUpdate.CustomArtifactsConfigurationUpdate[_].MavenReference.GroupId == STRING
    input.Body.ApplicationConfigurationUpdate.ZeppelinApplicationConfigurationUpdate.CustomArtifactsConfigurationUpdate[_].MavenReference.ArtifactId == STRING
    input.Body.ApplicationConfigurationUpdate.ZeppelinApplicationConfigurationUpdate.CustomArtifactsConfigurationUpdate[_].MavenReference.Version == STRING
    input.Body.ServiceExecutionRoleUpdate == STRING
    input.Body.RunConfigurationUpdate.FlinkRunConfiguration.AllowNonRestoredState == BOOLEAN
    input.Body.RunConfigurationUpdate.ApplicationRestoreConfiguration.ApplicationRestoreType == enum_ApplicationRestoreType[_]
    input.Body.RunConfigurationUpdate.ApplicationRestoreConfiguration.SnapshotName == STRING
    input.Body.CloudWatchLoggingOptionUpdates[_].CloudWatchLoggingOptionId == STRING
    input.Body.CloudWatchLoggingOptionUpdates[_].LogStreamARNUpdate == STRING
    input.Body.ConditionalToken == STRING
    input.Body.RuntimeEnvironmentUpdate == enum_RuntimeEnvironment[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateApplicationMaintenanceConfiguration

valid {
    input.Body.ApplicationName == STRING
    input.Body.ApplicationMaintenanceConfigurationUpdate.ApplicationMaintenanceWindowStartTimeUpdate == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}