BCM-DATA-EXPORTS

CreateExport

enum_CompressionOption := [ "GZIP", "PARQUET" ]
enum_FormatOption := [ "TEXT_OR_CSV", "PARQUET" ]
enum_FrequencyOption := [ "SYNCHRONOUS" ]
enum_OverwriteOption := [ "CREATE_NEW_REPORT", "OVERWRITE_REPORT" ]
enum_S3OutputType := [ "CUSTOM" ]

valid {
    input.Body.Export.DataQuery.QueryStatement == STRING
    input.Body.Export.DataQuery.TableConfigurations.STRING.STRING == STRING
    input.Body.Export.Description == STRING
    input.Body.Export.DestinationConfigurations.S3Destination.S3Bucket == STRING
    input.Body.Export.DestinationConfigurations.S3Destination.S3OutputConfigurations.Compression == enum_CompressionOption[_]
    input.Body.Export.DestinationConfigurations.S3Destination.S3OutputConfigurations.Format == enum_FormatOption[_]
    input.Body.Export.DestinationConfigurations.S3Destination.S3OutputConfigurations.OutputType == enum_S3OutputType[_]
    input.Body.Export.DestinationConfigurations.S3Destination.S3OutputConfigurations.Overwrite == enum_OverwriteOption[_]
    input.Body.Export.DestinationConfigurations.S3Destination.S3Prefix == STRING
    input.Body.Export.DestinationConfigurations.S3Destination.S3Region == STRING
    input.Body.Export.ExportArn == STRING
    input.Body.Export.Name == STRING
    input.Body.Export.RefreshCadence.Frequency == enum_FrequencyOption[_]
    input.Body.ResourceTags[_].Key == STRING
    input.Body.ResourceTags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteExport

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

GetExecution

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

GetExport

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

GetTable

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

ListExecutions

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

ListExports

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

ListTables

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

ListTagsForResource

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

TagResource

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

UntagResource

valid {
    input.Body.ResourceArn == STRING
    input.Body.ResourceTagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateExport

enum_CompressionOption := [ "GZIP", "PARQUET" ]
enum_FormatOption := [ "TEXT_OR_CSV", "PARQUET" ]
enum_FrequencyOption := [ "SYNCHRONOUS" ]
enum_OverwriteOption := [ "CREATE_NEW_REPORT", "OVERWRITE_REPORT" ]
enum_S3OutputType := [ "CUSTOM" ]

valid {
    input.Body.Export.DataQuery.QueryStatement == STRING
    input.Body.Export.DataQuery.TableConfigurations.STRING.STRING == STRING
    input.Body.Export.Description == STRING
    input.Body.Export.DestinationConfigurations.S3Destination.S3Bucket == STRING
    input.Body.Export.DestinationConfigurations.S3Destination.S3OutputConfigurations.Compression == enum_CompressionOption[_]
    input.Body.Export.DestinationConfigurations.S3Destination.S3OutputConfigurations.Format == enum_FormatOption[_]
    input.Body.Export.DestinationConfigurations.S3Destination.S3OutputConfigurations.OutputType == enum_S3OutputType[_]
    input.Body.Export.DestinationConfigurations.S3Destination.S3OutputConfigurations.Overwrite == enum_OverwriteOption[_]
    input.Body.Export.DestinationConfigurations.S3Destination.S3Prefix == STRING
    input.Body.Export.DestinationConfigurations.S3Destination.S3Region == STRING
    input.Body.Export.ExportArn == STRING
    input.Body.Export.Name == STRING
    input.Body.Export.RefreshCadence.Frequency == enum_FrequencyOption[_]
    input.Body.ExportArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}