CreateBotVersion

valid {
    input.Body.checksum == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateIntentVersion

valid {
    input.Body.checksum == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSlotTypeVersion

valid {
    input.Body.checksum == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteBot

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

DeleteBotAlias

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

DeleteBotChannelAssociation

valid {
    input.ReqMap.name == STRING
    input.ReqMap.botName == STRING
    input.ReqMap.aliasName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteBotVersion

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

DeleteIntent

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

DeleteIntentVersion

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

DeleteSlotType

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

DeleteSlotTypeVersion

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

DeleteUtterances

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

GetBot

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

GetBotAlias

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

GetBotAliases

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

GetBotChannelAssociation

valid {
    input.ReqMap.name == STRING
    input.ReqMap.botName == STRING
    input.ReqMap.aliasName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetBotChannelAssociations

valid {
    input.ReqMap.botName == STRING
    input.ReqMap.aliasName == STRING
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nameContains == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetBotVersions

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

GetBots

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

GetBuiltinIntent

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

GetBuiltinIntents

enum_Locale := [ "de-DE", "en-AU", "en-GB", "en-IN", "en-US", "es-419", "es-ES", "es-US", "fr-FR", "fr-CA", "it-IT", "ja-JP", "ko-KR" ]

valid {
    input.Qs.locale == enum_Locale[_]
    input.Qs.signatureContains == STRING
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetBuiltinSlotTypes

enum_Locale := [ "de-DE", "en-AU", "en-GB", "en-IN", "en-US", "es-419", "es-ES", "es-US", "fr-FR", "fr-CA", "it-IT", "ja-JP", "ko-KR" ]

valid {
    input.Qs.locale == enum_Locale[_]
    input.Qs.signatureContains == STRING
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetExport

enum_ExportType := [ "ALEXA_SKILLS_KIT", "LEX" ]
enum_ResourceType := [ "BOT", "INTENT", "SLOT_TYPE" ]

valid {
    input.Qs.name == STRING
    input.Qs.version == STRING
    input.Qs.resourceType == enum_ResourceType[_]
    input.Qs.exportType == enum_ExportType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetImport

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

GetIntent

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

GetIntentVersions

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

GetIntents

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

GetMigration

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

GetMigrations

enum_MigrationSortAttribute := [ "V1_BOT_NAME", "MIGRATION_DATE_TIME" ]
enum_MigrationStatus := [ "IN_PROGRESS", "COMPLETED", "FAILED" ]
enum_SortOrder := [ "ASCENDING", "DESCENDING" ]

valid {
    input.Qs.sortByAttribute == enum_MigrationSortAttribute[_]
    input.Qs.sortByOrder == enum_SortOrder[_]
    input.Qs.v1BotNameContains == STRING
    input.Qs.migrationStatusEquals == enum_MigrationStatus[_]
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetSlotType

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

GetSlotTypeVersions

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

GetSlotTypes

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

GetUtterancesView

enum_StatusType := [ "Detected", "Missed" ]

valid {
    input.ReqMap.botname == STRING
    input.Qs.bot_versions[_] == STRING
    input.Qs.status_type == enum_StatusType[_]
    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
}

PutBot

enum_ContentType := [ "PlainText", "SSML", "CustomPayload" ]
enum_Locale := [ "de-DE", "en-AU", "en-GB", "en-IN", "en-US", "es-419", "es-ES", "es-US", "fr-FR", "fr-CA", "it-IT", "ja-JP", "ko-KR" ]
enum_ProcessBehavior := [ "SAVE", "BUILD" ]

valid {
    input.Body.description == STRING
    input.Body.intents[_].intentName == STRING
    input.Body.intents[_].intentVersion == STRING
    input.Body.enableModelImprovements == BOOLEAN
    input.Body.nluIntentConfidenceThreshold == DOUBLE
    input.Body.clarificationPrompt.messages[_].contentType == enum_ContentType[_]
    input.Body.clarificationPrompt.messages[_].content == STRING
    input.Body.clarificationPrompt.messages[_].groupNumber == INTEGER
    input.Body.clarificationPrompt.maxAttempts == INTEGER
    input.Body.clarificationPrompt.responseCard == STRING
    input.Body.abortStatement.messages[_].contentType == enum_ContentType[_]
    input.Body.abortStatement.messages[_].content == STRING
    input.Body.abortStatement.messages[_].groupNumber == INTEGER
    input.Body.abortStatement.responseCard == STRING
    input.Body.idleSessionTTLInSeconds == INTEGER
    input.Body.voiceId == STRING
    input.Body.checksum == STRING
    input.Body.processBehavior == enum_ProcessBehavior[_]
    input.Body.locale == enum_Locale[_]
    input.Body.childDirected == BOOLEAN
    input.Body.detectSentiment == BOOLEAN
    input.Body.createVersion == BOOLEAN
    input.Body.tags[_].key == STRING
    input.Body.tags[_].value == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutBotAlias

enum_Destination := [ "CLOUDWATCH_LOGS", "S3" ]
enum_LogType := [ "AUDIO", "TEXT" ]

valid {
    input.Body.description == STRING
    input.Body.botVersion == STRING
    input.Body.checksum == STRING
    input.Body.conversationLogs.logSettings[_].logType == enum_LogType[_]
    input.Body.conversationLogs.logSettings[_].destination == enum_Destination[_]
    input.Body.conversationLogs.logSettings[_].kmsKeyArn == STRING
    input.Body.conversationLogs.logSettings[_].resourceArn == STRING
    input.Body.conversationLogs.iamRoleArn == STRING
    input.Body.tags[_].key == STRING
    input.Body.tags[_].value == STRING
    input.ReqMap.name == STRING
    input.ReqMap.botName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutIntent

enum_ContentType := [ "PlainText", "SSML", "CustomPayload" ]
enum_FulfillmentActivityType := [ "ReturnIntent", "CodeHook" ]
enum_ObfuscationSetting := [ "NONE", "DEFAULT_OBFUSCATION" ]
enum_SlotConstraint := [ "Required", "Optional" ]

valid {
    input.Body.description == STRING
    input.Body.slots[_].name == STRING
    input.Body.slots[_].description == STRING
    input.Body.slots[_].slotConstraint == enum_SlotConstraint[_]
    input.Body.slots[_].slotType == STRING
    input.Body.slots[_].slotTypeVersion == STRING
    input.Body.slots[_].valueElicitationPrompt.messages[_].contentType == enum_ContentType[_]
    input.Body.slots[_].valueElicitationPrompt.messages[_].content == STRING
    input.Body.slots[_].valueElicitationPrompt.messages[_].groupNumber == INTEGER
    input.Body.slots[_].valueElicitationPrompt.maxAttempts == INTEGER
    input.Body.slots[_].valueElicitationPrompt.responseCard == STRING
    input.Body.slots[_].priority == INTEGER
    input.Body.slots[_].sampleUtterances[_] == STRING
    input.Body.slots[_].responseCard == STRING
    input.Body.slots[_].obfuscationSetting == enum_ObfuscationSetting[_]
    input.Body.slots[_].defaultValueSpec.defaultValueList[_].defaultValue == STRING
    input.Body.sampleUtterances[_] == STRING
    input.Body.confirmationPrompt.messages[_].contentType == enum_ContentType[_]
    input.Body.confirmationPrompt.messages[_].content == STRING
    input.Body.confirmationPrompt.messages[_].groupNumber == INTEGER
    input.Body.confirmationPrompt.maxAttempts == INTEGER
    input.Body.confirmationPrompt.responseCard == STRING
    input.Body.rejectionStatement.messages[_].contentType == enum_ContentType[_]
    input.Body.rejectionStatement.messages[_].content == STRING
    input.Body.rejectionStatement.messages[_].groupNumber == INTEGER
    input.Body.rejectionStatement.responseCard == STRING
    input.Body.followUpPrompt.prompt.messages[_].contentType == enum_ContentType[_]
    input.Body.followUpPrompt.prompt.messages[_].content == STRING
    input.Body.followUpPrompt.prompt.messages[_].groupNumber == INTEGER
    input.Body.followUpPrompt.prompt.maxAttempts == INTEGER
    input.Body.followUpPrompt.prompt.responseCard == STRING
    input.Body.followUpPrompt.rejectionStatement.messages[_].contentType == enum_ContentType[_]
    input.Body.followUpPrompt.rejectionStatement.messages[_].content == STRING
    input.Body.followUpPrompt.rejectionStatement.messages[_].groupNumber == INTEGER
    input.Body.followUpPrompt.rejectionStatement.responseCard == STRING
    input.Body.conclusionStatement.messages[_].contentType == enum_ContentType[_]
    input.Body.conclusionStatement.messages[_].content == STRING
    input.Body.conclusionStatement.messages[_].groupNumber == INTEGER
    input.Body.conclusionStatement.responseCard == STRING
    input.Body.dialogCodeHook.uri == STRING
    input.Body.dialogCodeHook.messageVersion == STRING
    input.Body.fulfillmentActivity.type == enum_FulfillmentActivityType[_]
    input.Body.fulfillmentActivity.codeHook.uri == STRING
    input.Body.fulfillmentActivity.codeHook.messageVersion == STRING
    input.Body.parentIntentSignature == STRING
    input.Body.checksum == STRING
    input.Body.createVersion == BOOLEAN
    input.Body.kendraConfiguration.kendraIndex == STRING
    input.Body.kendraConfiguration.queryFilterString == STRING
    input.Body.kendraConfiguration.role == STRING
    input.Body.inputContexts[_].name == STRING
    input.Body.outputContexts[_].name == STRING
    input.Body.outputContexts[_].timeToLiveInSeconds == INTEGER
    input.Body.outputContexts[_].turnsToLive == INTEGER
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutSlotType

enum_SlotValueSelectionStrategy := [ "ORIGINAL_VALUE", "TOP_RESOLUTION" ]

valid {
    input.Body.description == STRING
    input.Body.enumerationValues[_].value == STRING
    input.Body.enumerationValues[_].synonyms[_] == STRING
    input.Body.checksum == STRING
    input.Body.valueSelectionStrategy == enum_SlotValueSelectionStrategy[_]
    input.Body.createVersion == BOOLEAN
    input.Body.parentSlotTypeSignature == STRING
    input.Body.slotTypeConfigurations[_].regexConfiguration.pattern == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartImport

enum_MergeStrategy := [ "OVERWRITE_LATEST", "FAIL_ON_CONFLICT" ]
enum_ResourceType := [ "BOT", "INTENT", "SLOT_TYPE" ]

valid {
    input.Body.payload == BLOB
    input.Body.resourceType == enum_ResourceType[_]
    input.Body.mergeStrategy == enum_MergeStrategy[_]
    input.Body.tags[_].key == STRING
    input.Body.tags[_].value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartMigration

enum_MigrationStrategy := [ "CREATE_NEW", "UPDATE_EXISTING" ]

valid {
    input.Body.v1BotName == STRING
    input.Body.v1BotVersion == STRING
    input.Body.v2BotName == STRING
    input.Body.v2BotRole == STRING
    input.Body.migrationStrategy == enum_MigrationStrategy[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.tags[_].key == STRING
    input.Body.tags[_].value == 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
}