speech.operations.get

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

speech.operations.list

valid {
    input.Qs.filter == STRING
    input.Qs.name == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

speech.projects.locations.customClasses.create

valid {
    input.Body.customClass.customClassId == STRING
    input.Body.customClass.items[_].value == STRING
    input.Body.customClass.name == STRING
    input.Body.customClassId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

speech.projects.locations.customClasses.delete

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

speech.projects.locations.customClasses.get

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

speech.projects.locations.customClasses.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

speech.projects.locations.customClasses.patch

valid {
    input.Body.customClassId == STRING
    input.Body.items[_].value == STRING
    input.Body.name == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

speech.projects.locations.operations.get

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

speech.projects.locations.operations.list

valid {
    input.ReqMap.name == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

speech.projects.locations.phraseSets.create

valid {
    input.Body.phraseSet.boost == NUMBER
    input.Body.phraseSet.name == STRING
    input.Body.phraseSet.phrases[_].boost == NUMBER
    input.Body.phraseSet.phrases[_].value == STRING
    input.Body.phraseSetId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

speech.projects.locations.phraseSets.delete

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

speech.projects.locations.phraseSets.get

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

speech.projects.locations.phraseSets.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

speech.projects.locations.phraseSets.patch

valid {
    input.Body.boost == NUMBER
    input.Body.name == STRING
    input.Body.phrases[_].boost == NUMBER
    input.Body.phrases[_].value == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

speech.speech.asyncrecognize

enum_RecognitionConfigEncoding := [ "ENCODING_UNSPECIFIED", "LINEAR16", "FLAC", "MULAW", "AMR", "AMR_WB" ]

valid {
    input.Body.audio.content == STRING
    input.Body.audio.uri == STRING
    input.Body.config.encoding == enum_RecognitionConfigEncoding[_]
    input.Body.config.languageCode == STRING
    input.Body.config.maxAlternatives == INTEGER
    input.Body.config.profanityFilter == BOOLEAN
    input.Body.config.sampleRate == INTEGER
    input.Body.config.speechContext.phrases[_] == STRING
    input.ProviderMetadata.Region == STRING
}

speech.speech.longrunningrecognize

enum_RecognitionConfigEncoding := [ "ENCODING_UNSPECIFIED", "LINEAR16", "FLAC", "MULAW", "AMR", "AMR_WB", "OGG_OPUS", "SPEEX_WITH_HEADER_BYTE", "MP3", "WEBM_OPUS" ]
enum_RecognitionMetadataInteractionType := [ "INTERACTION_TYPE_UNSPECIFIED", "DISCUSSION", "PRESENTATION", "PHONE_CALL", "VOICEMAIL", "PROFESSIONALLY_PRODUCED", "VOICE_SEARCH", "VOICE_COMMAND", "DICTATION" ]
enum_RecognitionMetadataMicrophoneDistance := [ "MICROPHONE_DISTANCE_UNSPECIFIED", "NEARFIELD", "MIDFIELD", "FARFIELD" ]
enum_RecognitionMetadataOriginalMediaType := [ "ORIGINAL_MEDIA_TYPE_UNSPECIFIED", "AUDIO", "VIDEO" ]
enum_RecognitionMetadataRecordingDeviceType := [ "RECORDING_DEVICE_TYPE_UNSPECIFIED", "SMARTPHONE", "PC", "PHONE_LINE", "VEHICLE", "OTHER_OUTDOOR_DEVICE", "OTHER_INDOOR_DEVICE" ]

valid {
    input.Body.audio.content == STRING
    input.Body.audio.uri == STRING
    input.Body.config.adaptation.abnfGrammar.abnfStrings[_] == STRING
    input.Body.config.adaptation.customClasses[_].customClassId == STRING
    input.Body.config.adaptation.customClasses[_].items[_].value == STRING
    input.Body.config.adaptation.customClasses[_].name == STRING
    input.Body.config.adaptation.phraseSetReferences[_] == STRING
    input.Body.config.adaptation.phraseSets[_].boost == NUMBER
    input.Body.config.adaptation.phraseSets[_].name == STRING
    input.Body.config.adaptation.phraseSets[_].phrases[_].boost == NUMBER
    input.Body.config.adaptation.phraseSets[_].phrases[_].value == STRING
    input.Body.config.alternativeLanguageCodes[_] == STRING
    input.Body.config.audioChannelCount == INTEGER
    input.Body.config.diarizationConfig.enableSpeakerDiarization == BOOLEAN
    input.Body.config.diarizationConfig.maxSpeakerCount == INTEGER
    input.Body.config.diarizationConfig.minSpeakerCount == INTEGER
    input.Body.config.enableAutomaticPunctuation == BOOLEAN
    input.Body.config.enableSeparateRecognitionPerChannel == BOOLEAN
    input.Body.config.enableSpokenEmojis == BOOLEAN
    input.Body.config.enableSpokenPunctuation == BOOLEAN
    input.Body.config.enableWordConfidence == BOOLEAN
    input.Body.config.enableWordTimeOffsets == BOOLEAN
    input.Body.config.encoding == enum_RecognitionConfigEncoding[_]
    input.Body.config.languageCode == STRING
    input.Body.config.maxAlternatives == INTEGER
    input.Body.config.metadata.audioTopic == STRING
    input.Body.config.metadata.industryNaicsCodeOfAudio == INTEGER
    input.Body.config.metadata.interactionType == enum_RecognitionMetadataInteractionType[_]
    input.Body.config.metadata.microphoneDistance == enum_RecognitionMetadataMicrophoneDistance[_]
    input.Body.config.metadata.originalMediaType == enum_RecognitionMetadataOriginalMediaType[_]
    input.Body.config.metadata.originalMimeType == STRING
    input.Body.config.metadata.recordingDeviceName == STRING
    input.Body.config.metadata.recordingDeviceType == enum_RecognitionMetadataRecordingDeviceType[_]
    input.Body.config.model == STRING
    input.Body.config.profanityFilter == BOOLEAN
    input.Body.config.sampleRateHertz == INTEGER
    input.Body.config.speechContexts[_].boost == NUMBER
    input.Body.config.speechContexts[_].phrases[_] == STRING
    input.Body.config.transcriptNormalization.entries[_].caseSensitive == BOOLEAN
    input.Body.config.transcriptNormalization.entries[_].replace == STRING
    input.Body.config.transcriptNormalization.entries[_].search == STRING
    input.Body.config.useEnhanced == BOOLEAN
    input.Body.outputConfig.gcsUri == STRING
    input.ProviderMetadata.Region == STRING
}

speech.speech.recognize

enum_RecognitionConfigEncoding := [ "ENCODING_UNSPECIFIED", "LINEAR16", "FLAC", "MULAW", "AMR", "AMR_WB", "OGG_OPUS", "SPEEX_WITH_HEADER_BYTE", "MP3", "WEBM_OPUS" ]
enum_RecognitionMetadataInteractionType := [ "INTERACTION_TYPE_UNSPECIFIED", "DISCUSSION", "PRESENTATION", "PHONE_CALL", "VOICEMAIL", "PROFESSIONALLY_PRODUCED", "VOICE_SEARCH", "VOICE_COMMAND", "DICTATION" ]
enum_RecognitionMetadataMicrophoneDistance := [ "MICROPHONE_DISTANCE_UNSPECIFIED", "NEARFIELD", "MIDFIELD", "FARFIELD" ]
enum_RecognitionMetadataOriginalMediaType := [ "ORIGINAL_MEDIA_TYPE_UNSPECIFIED", "AUDIO", "VIDEO" ]
enum_RecognitionMetadataRecordingDeviceType := [ "RECORDING_DEVICE_TYPE_UNSPECIFIED", "SMARTPHONE", "PC", "PHONE_LINE", "VEHICLE", "OTHER_OUTDOOR_DEVICE", "OTHER_INDOOR_DEVICE" ]

valid {
    input.Body.audio.content == STRING
    input.Body.audio.uri == STRING
    input.Body.config.adaptation.abnfGrammar.abnfStrings[_] == STRING
    input.Body.config.adaptation.customClasses[_].customClassId == STRING
    input.Body.config.adaptation.customClasses[_].items[_].value == STRING
    input.Body.config.adaptation.customClasses[_].name == STRING
    input.Body.config.adaptation.phraseSetReferences[_] == STRING
    input.Body.config.adaptation.phraseSets[_].boost == NUMBER
    input.Body.config.adaptation.phraseSets[_].name == STRING
    input.Body.config.adaptation.phraseSets[_].phrases[_].boost == NUMBER
    input.Body.config.adaptation.phraseSets[_].phrases[_].value == STRING
    input.Body.config.alternativeLanguageCodes[_] == STRING
    input.Body.config.audioChannelCount == INTEGER
    input.Body.config.diarizationConfig.enableSpeakerDiarization == BOOLEAN
    input.Body.config.diarizationConfig.maxSpeakerCount == INTEGER
    input.Body.config.diarizationConfig.minSpeakerCount == INTEGER
    input.Body.config.enableAutomaticPunctuation == BOOLEAN
    input.Body.config.enableSeparateRecognitionPerChannel == BOOLEAN
    input.Body.config.enableSpokenEmojis == BOOLEAN
    input.Body.config.enableSpokenPunctuation == BOOLEAN
    input.Body.config.enableWordConfidence == BOOLEAN
    input.Body.config.enableWordTimeOffsets == BOOLEAN
    input.Body.config.encoding == enum_RecognitionConfigEncoding[_]
    input.Body.config.languageCode == STRING
    input.Body.config.maxAlternatives == INTEGER
    input.Body.config.metadata.audioTopic == STRING
    input.Body.config.metadata.industryNaicsCodeOfAudio == INTEGER
    input.Body.config.metadata.interactionType == enum_RecognitionMetadataInteractionType[_]
    input.Body.config.metadata.microphoneDistance == enum_RecognitionMetadataMicrophoneDistance[_]
    input.Body.config.metadata.originalMediaType == enum_RecognitionMetadataOriginalMediaType[_]
    input.Body.config.metadata.originalMimeType == STRING
    input.Body.config.metadata.recordingDeviceName == STRING
    input.Body.config.metadata.recordingDeviceType == enum_RecognitionMetadataRecordingDeviceType[_]
    input.Body.config.model == STRING
    input.Body.config.profanityFilter == BOOLEAN
    input.Body.config.sampleRateHertz == INTEGER
    input.Body.config.speechContexts[_].boost == NUMBER
    input.Body.config.speechContexts[_].phrases[_] == STRING
    input.Body.config.transcriptNormalization.entries[_].caseSensitive == BOOLEAN
    input.Body.config.transcriptNormalization.entries[_].replace == STRING
    input.Body.config.transcriptNormalization.entries[_].search == STRING
    input.Body.config.useEnhanced == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

speech.speech.syncrecognize

enum_RecognitionConfigEncoding := [ "ENCODING_UNSPECIFIED", "LINEAR16", "FLAC", "MULAW", "AMR", "AMR_WB" ]

valid {
    input.Body.audio.content == STRING
    input.Body.audio.uri == STRING
    input.Body.config.encoding == enum_RecognitionConfigEncoding[_]
    input.Body.config.languageCode == STRING
    input.Body.config.maxAlternatives == INTEGER
    input.Body.config.profanityFilter == BOOLEAN
    input.Body.config.sampleRate == INTEGER
    input.Body.config.speechContext.phrases[_] == STRING
    input.ProviderMetadata.Region == STRING
}