CLEANROOMSML

CreateAudienceModel

valid {
    input.Body.description == STRING
    input.Body.kmsKeyArn == STRING
    input.Body.name == STRING
    input.Body.tags.STRING == STRING
    input.Body.trainingDataEndTime == TIMESTAMP
    input.Body.trainingDataStartTime == TIMESTAMP
    input.Body.trainingDatasetArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConfiguredAudienceModel

enum_AudienceSizeType := [ "ABSOLUTE", "PERCENTAGE" ]
enum_SharedAudienceMetrics := [ "ALL", "NONE" ]
enum_TagOnCreatePolicy := [ "FROM_PARENT_RESOURCE", "NONE" ]

valid {
    input.Body.audienceModelArn == STRING
    input.Body.audienceSizeConfig.audienceSizeBins[_] == INTEGER
    input.Body.audienceSizeConfig.audienceSizeType == enum_AudienceSizeType[_]
    input.Body.childResourceTagOnCreatePolicy == enum_TagOnCreatePolicy[_]
    input.Body.description == STRING
    input.Body.minMatchingSeedSize == INTEGER
    input.Body.name == STRING
    input.Body.outputConfig.destination.s3Destination.s3Uri == STRING
    input.Body.outputConfig.roleArn == STRING
    input.Body.sharedAudienceMetrics[_] == enum_SharedAudienceMetrics[_]
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTrainingDataset

enum_ColumnType := [ "USER_ID", "ITEM_ID", "TIMESTAMP", "CATEGORICAL_FEATURE", "NUMERICAL_FEATURE" ]
enum_DatasetType := [ "INTERACTIONS" ]

valid {
    input.Body.description == STRING
    input.Body.name == STRING
    input.Body.roleArn == STRING
    input.Body.tags.STRING == STRING
    input.Body.trainingData[_].inputConfig.dataSource.glueDataSource.catalogId == STRING
    input.Body.trainingData[_].inputConfig.dataSource.glueDataSource.databaseName == STRING
    input.Body.trainingData[_].inputConfig.dataSource.glueDataSource.tableName == STRING
    input.Body.trainingData[_].inputConfig.schema[_].columnName == STRING
    input.Body.trainingData[_].inputConfig.schema[_].columnTypes[_] == enum_ColumnType[_]
    input.Body.trainingData[_].type == enum_DatasetType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAudienceGenerationJob

valid {
    input.ReqMap.audienceGenerationJobArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAudienceModel

valid {
    input.ReqMap.audienceModelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteConfiguredAudienceModel

valid {
    input.ReqMap.configuredAudienceModelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteConfiguredAudienceModelPolicy

valid {
    input.ReqMap.configuredAudienceModelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTrainingDataset

valid {
    input.ReqMap.trainingDatasetArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAudienceGenerationJob

valid {
    input.ReqMap.audienceGenerationJobArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAudienceModel

valid {
    input.ReqMap.audienceModelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetConfiguredAudienceModel

valid {
    input.ReqMap.configuredAudienceModelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetConfiguredAudienceModelPolicy

valid {
    input.ReqMap.configuredAudienceModelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetTrainingDataset

valid {
    input.ReqMap.trainingDatasetArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAudienceExportJobs

valid {
    input.Qs.audienceGenerationJobArn == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAudienceGenerationJobs

valid {
    input.Qs.collaborationId == STRING
    input.Qs.configuredAudienceModelArn == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAudienceModels

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListConfiguredAudienceModels

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.ReqMap.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTrainingDatasets

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutConfiguredAudienceModelPolicy

enum_PolicyExistenceCondition := [ "POLICY_MUST_EXIST", "POLICY_MUST_NOT_EXIST" ]

valid {
    input.Body.configuredAudienceModelPolicy == STRING
    input.Body.policyExistenceCondition == enum_PolicyExistenceCondition[_]
    input.Body.previousPolicyHash == STRING
    input.ReqMap.configuredAudienceModelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartAudienceExportJob

enum_AudienceSizeType := [ "ABSOLUTE", "PERCENTAGE" ]

valid {
    input.Body.audienceGenerationJobArn == STRING
    input.Body.audienceSize.type == enum_AudienceSizeType[_]
    input.Body.audienceSize.value == INTEGER
    input.Body.description == STRING
    input.Body.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartAudienceGenerationJob

valid {
    input.Body.collaborationId == STRING
    input.Body.configuredAudienceModelArn == STRING
    input.Body.description == STRING
    input.Body.includeSeedInOutput == BOOLEAN
    input.Body.name == STRING
    input.Body.seedAudience.dataSource.s3Uri == STRING
    input.Body.seedAudience.roleArn == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.ReqMap.resourceArn == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateConfiguredAudienceModel

enum_AudienceSizeType := [ "ABSOLUTE", "PERCENTAGE" ]
enum_SharedAudienceMetrics := [ "ALL", "NONE" ]

valid {
    input.Body.audienceModelArn == STRING
    input.Body.audienceSizeConfig.audienceSizeBins[_] == INTEGER
    input.Body.audienceSizeConfig.audienceSizeType == enum_AudienceSizeType[_]
    input.Body.description == STRING
    input.Body.minMatchingSeedSize == INTEGER
    input.Body.outputConfig.destination.s3Destination.s3Uri == STRING
    input.Body.outputConfig.roleArn == STRING
    input.Body.sharedAudienceMetrics[_] == enum_SharedAudienceMetrics[_]
    input.ReqMap.configuredAudienceModelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}