google-cloud-speech-v2 0.13.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e71b10b5509a21133736a96a709c9611a19b386c65a21d18f5beed55c676c378
4
- data.tar.gz: 40ca64ebc4b35368af8f36c8b0a87560af61fd26d5da6637941424d0fd7854c9
3
+ metadata.gz: 468a643ca3b807aaa028eff3ce7f4a0073a0ad1cdb9086153cbe1727977a9e1e
4
+ data.tar.gz: 01abf07db845ba466796ef63c4b5d64715438d7618e0d58dbd75e16fffa2eb4c
5
5
  SHA512:
6
- metadata.gz: 5285fe97b32ebf2d0fa1df6a664eb5cefa9172254f5b854c7473d55167517a7b5127a9d124002d0db33209e3a9e7fadd038c1e75a2083364ed57ec07b04f5706
7
- data.tar.gz: 451403350bd5a7e8af4a757a0ab2111e9e9604fc201b3db31f24fcb03e78c6ed933f944c8bddcf296271aa7f489083a448536413f07585f350d26f23b6d72ed8
6
+ metadata.gz: 1ccba1ad0df57e6dd3608aa97afaa6fd7105031735affe9289dccc9acd88fc48aff0382b045e456c60749510d0ac4a5f8e4db05edbb14148c3cdf9124875f6ee
7
+ data.tar.gz: 12413196c793b74d561e835e5fec91353a03561df3eeaa71f646d1a4c0d975aaefe9cf4cff1169aa43191e817e730b545153172b57ecfa9d65f89b8b4981feb1
data/README.md CHANGED
@@ -43,33 +43,43 @@ for class and method documentation.
43
43
  See also the [Product Documentation](https://cloud.google.com/speech-to-text)
44
44
  for general usage information.
45
45
 
46
- ## Enabling Logging
47
-
48
- To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
49
- The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
50
- or a [`Google::Cloud::Logging::Logger`](https://cloud.google.com/ruby/docs/reference/google-cloud-logging/latest)
51
- that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
52
- and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
53
-
54
- Configuring a Ruby stdlib logger:
46
+ ## Debug Logging
47
+
48
+ This library comes with opt-in Debug Logging that can help you troubleshoot
49
+ your application's integration with the API. When logging is activated, key
50
+ events such as requests and responses, along with data payloads and metadata
51
+ such as headers and client configuration, are logged to the standard error
52
+ stream.
53
+
54
+ **WARNING:** Client Library Debug Logging includes your data payloads in
55
+ plaintext, which could include sensitive data such as PII for yourself or your
56
+ customers, private keys, or other security data that could be compromising if
57
+ leaked. Always practice good data hygiene with your application logs, and follow
58
+ the principle of least access. Google also recommends that Client Library Debug
59
+ Logging be enabled only temporarily during active debugging, and not used
60
+ permanently in production.
61
+
62
+ To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
63
+ to the value `all`. Alternatively, you can set the value to a comma-delimited
64
+ list of client library gem names. This will select the default logging behavior,
65
+ which writes logs to the standard error stream. On a local workstation, this may
66
+ result in logs appearing on the console. When running on a Google Cloud hosting
67
+ service such as [Google Cloud Run](https://cloud.google.com/run), this generally
68
+ results in logs appearing alongside your application logs in the
69
+ [Google Cloud Logging](https://cloud.google.com/logging/) service.
70
+
71
+ You can customize logging by modifying the `logger` configuration when
72
+ constructing a client object. For example:
55
73
 
56
74
  ```ruby
75
+ require "google/cloud/speech/v2"
57
76
  require "logger"
58
77
 
59
- module MyLogger
60
- LOGGER = Logger.new $stderr, level: Logger::WARN
61
- def logger
62
- LOGGER
63
- end
64
- end
65
-
66
- # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
67
- module GRPC
68
- extend MyLogger
78
+ client = ::Google::Cloud::Speech::V2::Speech::Client.new do |config|
79
+ config.logger = Logger.new "my-app.log"
69
80
  end
70
81
  ```
71
82
 
72
-
73
83
  ## Google Cloud Samples
74
84
 
75
85
  To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
@@ -16,7 +16,7 @@ require 'google/protobuf/timestamp_pb'
16
16
  require 'google/rpc/status_pb'
17
17
 
18
18
 
19
- descriptor_data = "\n)google/cloud/speech/v2/cloud_speech.proto\x12\x16google.cloud.speech.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xbe\x01\n\x17\x43reateRecognizerRequest\x12;\n\nrecognizer\x18\x01 \x01(\x0b\x32\".google.cloud.speech.v2.RecognizerB\x03\xe0\x41\x02\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x15\n\rrecognizer_id\x18\x03 \x01(\t\x12\x38\n\x06parent\x18\x04 \x01(\tB(\xe0\x41\x02\xfa\x41\"\x12 speech.googleapis.com/Recognizer\"\xe7\x0c\n\x11OperationMetadata\x12/\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08resource\x18\x03 \x01(\t\x12\x0e\n\x06method\x18\x04 \x01(\t\x12<\n\x0ckms_key_name\x18\x06 \x01(\tB&\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12K\n\x14kms_key_version_name\x18\x07 \x01(\tB-\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12P\n\x17\x62\x61tch_recognize_request\x18\x08 \x01(\x0b\x32-.google.cloud.speech.v2.BatchRecognizeRequestH\x00\x12T\n\x19\x63reate_recognizer_request\x18\t \x01(\x0b\x32/.google.cloud.speech.v2.CreateRecognizerRequestH\x00\x12T\n\x19update_recognizer_request\x18\n \x01(\x0b\x32/.google.cloud.speech.v2.UpdateRecognizerRequestH\x00\x12T\n\x19\x64\x65lete_recognizer_request\x18\x0b \x01(\x0b\x32/.google.cloud.speech.v2.DeleteRecognizerRequestH\x00\x12X\n\x1bundelete_recognizer_request\x18\x0c \x01(\x0b\x32\x31.google.cloud.speech.v2.UndeleteRecognizerRequestH\x00\x12W\n\x1b\x63reate_custom_class_request\x18\r \x01(\x0b\x32\x30.google.cloud.speech.v2.CreateCustomClassRequestH\x00\x12W\n\x1bupdate_custom_class_request\x18\x0e \x01(\x0b\x32\x30.google.cloud.speech.v2.UpdateCustomClassRequestH\x00\x12W\n\x1b\x64\x65lete_custom_class_request\x18\x0f \x01(\x0b\x32\x30.google.cloud.speech.v2.DeleteCustomClassRequestH\x00\x12[\n\x1dundelete_custom_class_request\x18\x10 \x01(\x0b\x32\x32.google.cloud.speech.v2.UndeleteCustomClassRequestH\x00\x12S\n\x19\x63reate_phrase_set_request\x18\x11 \x01(\x0b\x32..google.cloud.speech.v2.CreatePhraseSetRequestH\x00\x12S\n\x19update_phrase_set_request\x18\x12 \x01(\x0b\x32..google.cloud.speech.v2.UpdatePhraseSetRequestH\x00\x12S\n\x19\x64\x65lete_phrase_set_request\x18\x13 \x01(\x0b\x32..google.cloud.speech.v2.DeletePhraseSetRequestH\x00\x12W\n\x1bundelete_phrase_set_request\x18\x14 \x01(\x0b\x32\x30.google.cloud.speech.v2.UndeletePhraseSetRequestH\x00\x12P\n\x15update_config_request\x18\x15 \x01(\x0b\x32+.google.cloud.speech.v2.UpdateConfigRequestB\x02\x18\x01H\x00\x12\x18\n\x10progress_percent\x18\x16 \x01(\x05\x12R\n\x18\x62\x61tch_recognize_metadata\x18\x17 \x01(\x0b\x32..google.cloud.speech.v2.BatchRecognizeMetadataH\x01\x42\t\n\x07requestB\n\n\x08metadata\"\x90\x01\n\x16ListRecognizersRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x14\n\x0cshow_deleted\x18\x04 \x01(\x08\"k\n\x17ListRecognizersResponse\x12\x37\n\x0brecognizers\x18\x01 \x03(\x0b\x32\".google.cloud.speech.v2.Recognizer\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"N\n\x14GetRecognizerRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\"\x9e\x01\n\x17UpdateRecognizerRequest\x12;\n\nrecognizer\x18\x01 \x01(\x0b\x32\".google.cloud.speech.v2.RecognizerB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\"\x8d\x01\n\x17\x44\x65leteRecognizerRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\"x\n\x19UndeleteRecognizerRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x04 \x01(\t\"\xc5\x07\n\nRecognizer\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x08\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x14\n\x05model\x18\x04 \x01(\tB\x05\x18\x01\xe0\x41\x01\x12\x1d\n\x0elanguage_codes\x18\x11 \x03(\tB\x05\x18\x01\xe0\x41\x01\x12M\n\x1a\x64\x65\x66\x61ult_recognition_config\x18\x06 \x01(\x0b\x32).google.cloud.speech.v2.RecognitionConfig\x12H\n\x0b\x61nnotations\x18\x07 \x03(\x0b\x32\x33.google.cloud.speech.v2.Recognizer.AnnotationsEntry\x12<\n\x05state\x18\x08 \x01(\x0e\x32(.google.cloud.speech.v2.Recognizer.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x64\x65lete_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04\x65tag\x18\x0c \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0breconciling\x18\r \x01(\x08\x42\x03\xe0\x41\x03\x12?\n\x0ckms_key_name\x18\x0f \x01(\tB)\xe0\x41\x03\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12N\n\x14kms_key_version_name\x18\x10 \x01(\tB0\xe0\x41\x03\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0b\n\x07\x44\x45LETED\x10\x04:j\xea\x41g\n speech.googleapis.com/Recognizer\x12@projects/{project}/locations/{location}/recognizers/{recognizer}R\x01\x01\"\x1a\n\x18\x41utoDetectDecodingConfig\"\xf9\x01\n\x16\x45xplicitDecodingConfig\x12S\n\x08\x65ncoding\x18\x01 \x01(\x0e\x32<.google.cloud.speech.v2.ExplicitDecodingConfig.AudioEncodingB\x03\xe0\x41\x02\x12\x19\n\x11sample_rate_hertz\x18\x02 \x01(\x05\x12\x1b\n\x13\x61udio_channel_count\x18\x03 \x01(\x05\"R\n\rAudioEncoding\x12\x1e\n\x1a\x41UDIO_ENCODING_UNSPECIFIED\x10\x00\x12\x0c\n\x08LINEAR16\x10\x01\x12\t\n\x05MULAW\x10\x02\x12\x08\n\x04\x41LAW\x10\x03\"Z\n\x18SpeakerDiarizationConfig\x12\x1e\n\x11min_speaker_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02\x12\x1e\n\x11max_speaker_count\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02\"\xf8\x03\n\x13RecognitionFeatures\x12\x18\n\x10profanity_filter\x18\x01 \x01(\x08\x12 \n\x18\x65nable_word_time_offsets\x18\x02 \x01(\x08\x12\x1e\n\x16\x65nable_word_confidence\x18\x03 \x01(\x08\x12$\n\x1c\x65nable_automatic_punctuation\x18\x04 \x01(\x08\x12!\n\x19\x65nable_spoken_punctuation\x18\x0e \x01(\x08\x12\x1c\n\x14\x65nable_spoken_emojis\x18\x0f \x01(\x08\x12X\n\x12multi_channel_mode\x18\x11 \x01(\x0e\x32<.google.cloud.speech.v2.RecognitionFeatures.MultiChannelMode\x12L\n\x12\x64iarization_config\x18\t \x01(\x0b\x32\x30.google.cloud.speech.v2.SpeakerDiarizationConfig\x12\x18\n\x10max_alternatives\x18\x10 \x01(\x05\"\\\n\x10MultiChannelMode\x12\"\n\x1eMULTI_CHANNEL_MODE_UNSPECIFIED\x10\x00\x12$\n SEPARATE_RECOGNITION_PER_CHANNEL\x10\x01\"\xa3\x01\n\x17TranscriptNormalization\x12\x46\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x35.google.cloud.speech.v2.TranscriptNormalization.Entry\x1a@\n\x05\x45ntry\x12\x0e\n\x06search\x18\x01 \x01(\t\x12\x0f\n\x07replace\x18\x02 \x01(\t\x12\x16\n\x0e\x63\x61se_sensitive\x18\x03 \x01(\x08\"1\n\x11TranslationConfig\x12\x1c\n\x0ftarget_language\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\xbf\x02\n\x10SpeechAdaptation\x12Q\n\x0bphrase_sets\x18\x01 \x03(\x0b\x32<.google.cloud.speech.v2.SpeechAdaptation.AdaptationPhraseSet\x12;\n\x0e\x63ustom_classes\x18\x02 \x03(\x0b\x32#.google.cloud.speech.v2.CustomClass\x1a\x9a\x01\n\x13\x41\x64\x61ptationPhraseSet\x12:\n\nphrase_set\x18\x01 \x01(\tB$\xfa\x41!\n\x1fspeech.googleapis.com/PhraseSetH\x00\x12>\n\x11inline_phrase_set\x18\x02 \x01(\x0b\x32!.google.cloud.speech.v2.PhraseSetH\x00\x42\x07\n\x05value\"\x9e\x04\n\x11RecognitionConfig\x12P\n\x14\x61uto_decoding_config\x18\x07 \x01(\x0b\x32\x30.google.cloud.speech.v2.AutoDetectDecodingConfigH\x00\x12R\n\x18\x65xplicit_decoding_config\x18\x08 \x01(\x0b\x32..google.cloud.speech.v2.ExplicitDecodingConfigH\x00\x12\x12\n\x05model\x18\t \x01(\tB\x03\xe0\x41\x01\x12\x1b\n\x0elanguage_codes\x18\n \x03(\tB\x03\xe0\x41\x01\x12=\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0b\x32+.google.cloud.speech.v2.RecognitionFeatures\x12<\n\nadaptation\x18\x06 \x01(\x0b\x32(.google.cloud.speech.v2.SpeechAdaptation\x12V\n\x18transcript_normalization\x18\x0b \x01(\x0b\x32/.google.cloud.speech.v2.TranscriptNormalizationB\x03\xe0\x41\x01\x12J\n\x12translation_config\x18\x0f \x01(\x0b\x32).google.cloud.speech.v2.TranslationConfigB\x03\xe0\x41\x01\x42\x11\n\x0f\x64\x65\x63oding_config\"\xee\x01\n\x10RecognizeRequest\x12<\n\nrecognizer\x18\x03 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\x12\x39\n\x06\x63onfig\x18\x01 \x01(\x0b\x32).google.cloud.speech.v2.RecognitionConfig\x12/\n\x0b\x63onfig_mask\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x11\n\x07\x63ontent\x18\x05 \x01(\x0cH\x00\x12\r\n\x03uri\x18\x06 \x01(\tH\x00\x42\x0e\n\x0c\x61udio_source\"u\n\x1bRecognitionResponseMetadata\x12\x1c\n\nrequest_id\x18\t \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x38\n\x15total_billed_duration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\"w\n\x1cSpeechRecognitionAlternative\x12\x12\n\ntranscript\x18\x01 \x01(\t\x12\x12\n\nconfidence\x18\x02 \x01(\x02\x12/\n\x05words\x18\x03 \x03(\x0b\x32 .google.cloud.speech.v2.WordInfo\"\xa3\x01\n\x08WordInfo\x12/\n\x0cstart_offset\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\nend_offset\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0c\n\x04word\x18\x03 \x01(\t\x12\x12\n\nconfidence\x18\x04 \x01(\x02\x12\x15\n\rspeaker_label\x18\x06 \x01(\t\"\xcc\x01\n\x17SpeechRecognitionResult\x12J\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32\x34.google.cloud.speech.v2.SpeechRecognitionAlternative\x12\x13\n\x0b\x63hannel_tag\x18\x02 \x01(\x05\x12\x34\n\x11result_end_offset\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\rlanguage_code\x18\x05 \x01(\tB\x03\xe0\x41\x03\"\x9c\x01\n\x11RecognizeResponse\x12@\n\x07results\x18\x03 \x03(\x0b\x32/.google.cloud.speech.v2.SpeechRecognitionResult\x12\x45\n\x08metadata\x18\x02 \x01(\x0b\x32\x33.google.cloud.speech.v2.RecognitionResponseMetadata\"\xd1\x02\n\x1cStreamingRecognitionFeatures\x12$\n\x1c\x65nable_voice_activity_events\x18\x01 \x01(\x08\x12\x17\n\x0finterim_results\x18\x02 \x01(\x08\x12i\n\x16voice_activity_timeout\x18\x03 \x01(\x0b\x32I.google.cloud.speech.v2.StreamingRecognitionFeatures.VoiceActivityTimeout\x1a\x86\x01\n\x14VoiceActivityTimeout\x12\x37\n\x14speech_start_timeout\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12speech_end_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xdf\x01\n\x1aStreamingRecognitionConfig\x12>\n\x06\x63onfig\x18\x01 \x01(\x0b\x32).google.cloud.speech.v2.RecognitionConfigB\x03\xe0\x41\x02\x12/\n\x0b\x63onfig_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12P\n\x12streaming_features\x18\x02 \x01(\x0b\x32\x34.google.cloud.speech.v2.StreamingRecognitionFeatures\"\xcf\x01\n\x19StreamingRecognizeRequest\x12<\n\nrecognizer\x18\x03 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\x12N\n\x10streaming_config\x18\x06 \x01(\x0b\x32\x32.google.cloud.speech.v2.StreamingRecognitionConfigH\x00\x12\x0f\n\x05\x61udio\x18\x05 \x01(\x0cH\x00\x42\x13\n\x11streaming_request\"\x88\x04\n\x15\x42\x61tchRecognizeRequest\x12<\n\nrecognizer\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\x12\x39\n\x06\x63onfig\x18\x04 \x01(\x0b\x32).google.cloud.speech.v2.RecognitionConfig\x12/\n\x0b\x63onfig_mask\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x41\n\x05\x66iles\x18\x03 \x03(\x0b\x32\x32.google.cloud.speech.v2.BatchRecognizeFileMetadata\x12R\n\x19recognition_output_config\x18\x06 \x01(\x0b\x32/.google.cloud.speech.v2.RecognitionOutputConfig\x12]\n\x13processing_strategy\x18\x07 \x01(\x0e\x32@.google.cloud.speech.v2.BatchRecognizeRequest.ProcessingStrategy\"O\n\x12ProcessingStrategy\x12#\n\x1fPROCESSING_STRATEGY_UNSPECIFIED\x10\x00\x12\x14\n\x10\x44YNAMIC_BATCHING\x10\x01\"\x1e\n\x0fGcsOutputConfig\x12\x0b\n\x03uri\x18\x01 \x01(\t\"\x14\n\x12InlineOutputConfig\"\x1e\n\x1cNativeOutputFileFormatConfig\"\x1b\n\x19VttOutputFileFormatConfig\"\x1b\n\x19SrtOutputFileFormatConfig\"\xda\x01\n\x12OutputFormatConfig\x12\x44\n\x06native\x18\x01 \x01(\x0b\x32\x34.google.cloud.speech.v2.NativeOutputFileFormatConfig\x12>\n\x03vtt\x18\x02 \x01(\x0b\x32\x31.google.cloud.speech.v2.VttOutputFileFormatConfig\x12>\n\x03srt\x18\x03 \x01(\x0b\x32\x31.google.cloud.speech.v2.SrtOutputFileFormatConfig\"\x86\x02\n\x17RecognitionOutputConfig\x12\x44\n\x11gcs_output_config\x18\x01 \x01(\x0b\x32\'.google.cloud.speech.v2.GcsOutputConfigH\x00\x12L\n\x16inline_response_config\x18\x02 \x01(\x0b\x32*.google.cloud.speech.v2.InlineOutputConfigH\x00\x12M\n\x14output_format_config\x18\x03 \x01(\x0b\x32*.google.cloud.speech.v2.OutputFormatConfigB\x03\xe0\x41\x01\x42\x08\n\x06output\"\x82\x02\n\x16\x42\x61tchRecognizeResponse\x12L\n\x07results\x18\x01 \x03(\x0b\x32;.google.cloud.speech.v2.BatchRecognizeResponse.ResultsEntry\x12\x38\n\x15total_billed_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a`\n\x0cResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12?\n\x05value\x18\x02 \x01(\x0b\x32\x30.google.cloud.speech.v2.BatchRecognizeFileResult:\x02\x38\x01\"\xa0\x01\n\x15\x42\x61tchRecognizeResults\x12@\n\x07results\x18\x01 \x03(\x0b\x32/.google.cloud.speech.v2.SpeechRecognitionResult\x12\x45\n\x08metadata\x18\x02 \x01(\x0b\x32\x33.google.cloud.speech.v2.RecognitionResponseMetadata\"Q\n\x12\x43loudStorageResult\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x16\n\x0evtt_format_uri\x18\x02 \x01(\t\x12\x16\n\x0esrt_format_uri\x18\x03 \x01(\t\"}\n\x0cInlineResult\x12\x41\n\ntranscript\x18\x01 \x01(\x0b\x32-.google.cloud.speech.v2.BatchRecognizeResults\x12\x14\n\x0cvtt_captions\x18\x02 \x01(\t\x12\x14\n\x0csrt_captions\x18\x03 \x01(\t\"\xf1\x02\n\x18\x42\x61tchRecognizeFileResult\x12!\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x45\n\x08metadata\x18\x03 \x01(\x0b\x32\x33.google.cloud.speech.v2.RecognitionResponseMetadata\x12J\n\x14\x63loud_storage_result\x18\x05 \x01(\x0b\x32*.google.cloud.speech.v2.CloudStorageResultH\x00\x12=\n\rinline_result\x18\x06 \x01(\x0b\x32$.google.cloud.speech.v2.InlineResultH\x00\x12\x0f\n\x03uri\x18\x01 \x01(\tB\x02\x18\x01\x12\x45\n\ntranscript\x18\x04 \x01(\x0b\x32-.google.cloud.speech.v2.BatchRecognizeResultsB\x02\x18\x01\x42\x08\n\x06result\"o\n#BatchRecognizeTranscriptionMetadata\x12\x18\n\x10progress_percent\x18\x01 \x01(\x05\x12!\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0b\n\x03uri\x18\x03 \x01(\t\"\xfe\x01\n\x16\x42\x61tchRecognizeMetadata\x12i\n\x16transcription_metadata\x18\x01 \x03(\x0b\x32I.google.cloud.speech.v2.BatchRecognizeMetadata.TranscriptionMetadataEntry\x1ay\n\x1aTranscriptionMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12J\n\x05value\x18\x02 \x01(\x0b\x32;.google.cloud.speech.v2.BatchRecognizeTranscriptionMetadata:\x02\x38\x01\"\xa7\x01\n\x1a\x42\x61tchRecognizeFileMetadata\x12\r\n\x03uri\x18\x01 \x01(\tH\x00\x12\x39\n\x06\x63onfig\x18\x04 \x01(\x0b\x32).google.cloud.speech.v2.RecognitionConfig\x12/\n\x0b\x63onfig_mask\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x0e\n\x0c\x61udio_source\"\xf4\x01\n\x1aStreamingRecognitionResult\x12J\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32\x34.google.cloud.speech.v2.SpeechRecognitionAlternative\x12\x10\n\x08is_final\x18\x02 \x01(\x08\x12\x11\n\tstability\x18\x03 \x01(\x02\x12\x34\n\x11result_end_offset\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x13\n\x0b\x63hannel_tag\x18\x05 \x01(\x05\x12\x1a\n\rlanguage_code\x18\x06 \x01(\tB\x03\xe0\x41\x03\"\xc7\x03\n\x1aStreamingRecognizeResponse\x12\x43\n\x07results\x18\x06 \x03(\x0b\x32\x32.google.cloud.speech.v2.StreamingRecognitionResult\x12]\n\x11speech_event_type\x18\x03 \x01(\x0e\x32\x42.google.cloud.speech.v2.StreamingRecognizeResponse.SpeechEventType\x12\x36\n\x13speech_event_offset\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x45\n\x08metadata\x18\x05 \x01(\x0b\x32\x33.google.cloud.speech.v2.RecognitionResponseMetadata\"\x85\x01\n\x0fSpeechEventType\x12!\n\x1dSPEECH_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x45ND_OF_SINGLE_UTTERANCE\x10\x01\x12\x19\n\x15SPEECH_ACTIVITY_BEGIN\x10\x02\x12\x17\n\x13SPEECH_ACTIVITY_END\x10\x03\"\xe8\x01\n\x06\x43onfig\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x08\x12?\n\x0ckms_key_name\x18\x02 \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03:Q\xea\x41N\n\x1cspeech.googleapis.com/Config\x12.projects/{project}/locations/{location}/config\"F\n\x10GetConfigRequest\x12\x32\n\x04name\x18\x01 \x01(\tB$\xe0\x41\x02\xfa\x41\x1e\n\x1cspeech.googleapis.com/Config\"{\n\x13UpdateConfigRequest\x12\x33\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x1e.google.cloud.speech.v2.ConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xad\x07\n\x0b\x43ustomClass\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x08\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12<\n\x05items\x18\x05 \x03(\x0b\x32-.google.cloud.speech.v2.CustomClass.ClassItem\x12=\n\x05state\x18\x0f \x01(\x0e\x32).google.cloud.speech.v2.CustomClass.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x64\x65lete_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12N\n\x0b\x61nnotations\x18\n \x03(\x0b\x32\x34.google.cloud.speech.v2.CustomClass.AnnotationsEntryB\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x0b \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0breconciling\x18\x0c \x01(\x08\x42\x03\xe0\x41\x03\x12?\n\x0ckms_key_name\x18\r \x01(\tB)\xe0\x41\x03\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12N\n\x14kms_key_version_name\x18\x0e \x01(\tB0\xe0\x41\x03\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x1a\x1a\n\tClassItem\x12\r\n\x05value\x18\x01 \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0b\n\x07\x44\x45LETED\x10\x04:o\xea\x41l\n!speech.googleapis.com/CustomClass\x12\x44projects/{project}/locations/{location}/customClasses/{custom_class}R\x01\x01\"\xae\x07\n\tPhraseSet\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x08\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x39\n\x07phrases\x18\x03 \x03(\x0b\x32(.google.cloud.speech.v2.PhraseSet.Phrase\x12\r\n\x05\x62oost\x18\x04 \x01(\x02\x12\x14\n\x0c\x64isplay_name\x18\x05 \x01(\t\x12;\n\x05state\x18\x0f \x01(\x0e\x32\'.google.cloud.speech.v2.PhraseSet.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x64\x65lete_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12G\n\x0b\x61nnotations\x18\n \x03(\x0b\x32\x32.google.cloud.speech.v2.PhraseSet.AnnotationsEntry\x12\x11\n\x04\x65tag\x18\x0b \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0breconciling\x18\x0c \x01(\x08\x42\x03\xe0\x41\x03\x12?\n\x0ckms_key_name\x18\r \x01(\tB)\xe0\x41\x03\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12N\n\x14kms_key_version_name\x18\x0e \x01(\tB0\xe0\x41\x03\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x1a&\n\x06Phrase\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05\x62oost\x18\x02 \x01(\x02\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0b\n\x07\x44\x45LETED\x10\x04:h\xea\x41\x65\n\x1fspeech.googleapis.com/PhraseSet\x12?projects/{project}/locations/{location}/phraseSets/{phrase_set}R\x01\x01\"\xc5\x01\n\x18\x43reateCustomClassRequest\x12>\n\x0c\x63ustom_class\x18\x01 \x01(\x0b\x32#.google.cloud.speech.v2.CustomClassB\x03\xe0\x41\x02\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x17\n\x0f\x63ustom_class_id\x18\x03 \x01(\t\x12\x39\n\x06parent\x18\x04 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!speech.googleapis.com/CustomClass\"\x92\x01\n\x18ListCustomClassesRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x14\n\x0cshow_deleted\x18\x04 \x01(\x08\"q\n\x19ListCustomClassesResponse\x12;\n\x0e\x63ustom_classes\x18\x01 \x03(\x0b\x32#.google.cloud.speech.v2.CustomClass\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"P\n\x15GetCustomClassRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!speech.googleapis.com/CustomClass\"\xa2\x01\n\x18UpdateCustomClassRequest\x12>\n\x0c\x63ustom_class\x18\x01 \x01(\x0b\x32#.google.cloud.speech.v2.CustomClassB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\"\x8f\x01\n\x18\x44\x65leteCustomClassRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!speech.googleapis.com/CustomClass\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\"z\n\x1aUndeleteCustomClassRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!speech.googleapis.com/CustomClass\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x04 \x01(\t\"\xbb\x01\n\x16\x43reatePhraseSetRequest\x12:\n\nphrase_set\x18\x01 \x01(\x0b\x32!.google.cloud.speech.v2.PhraseSetB\x03\xe0\x41\x02\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x15\n\rphrase_set_id\x18\x03 \x01(\t\x12\x37\n\x06parent\x18\x04 \x01(\tB\'\xe0\x41\x02\xfa\x41!\x12\x1fspeech.googleapis.com/PhraseSet\"\x8f\x01\n\x15ListPhraseSetsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x14\n\x0cshow_deleted\x18\x04 \x01(\x08\"i\n\x16ListPhraseSetsResponse\x12\x36\n\x0bphrase_sets\x18\x01 \x03(\x0b\x32!.google.cloud.speech.v2.PhraseSet\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"L\n\x13GetPhraseSetRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspeech.googleapis.com/PhraseSet\"\x9c\x01\n\x16UpdatePhraseSetRequest\x12:\n\nphrase_set\x18\x01 \x01(\x0b\x32!.google.cloud.speech.v2.PhraseSetB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\"\x8b\x01\n\x16\x44\x65letePhraseSetRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspeech.googleapis.com/PhraseSet\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\"v\n\x18UndeletePhraseSetRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspeech.googleapis.com/PhraseSet\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x04 \x01(\t2\xbf%\n\x06Speech\x12\xec\x01\n\x10\x43reateRecognizer\x12/.google.cloud.speech.v2.CreateRecognizerRequest\x1a\x1d.google.longrunning.Operation\"\x87\x01\xca\x41\x1f\n\nRecognizer\x12\x11OperationMetadata\xda\x41\x1fparent,recognizer,recognizer_id\x82\xd3\xe4\x93\x02=\"//v2/{parent=projects/*/locations/*}/recognizers:\nrecognizer\x12\xb4\x01\n\x0fListRecognizers\x12..google.cloud.speech.v2.ListRecognizersRequest\x1a/.google.cloud.speech.v2.ListRecognizersResponse\"@\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x31\x12//v2/{parent=projects/*/locations/*}/recognizers\x12\xa1\x01\n\rGetRecognizer\x12,.google.cloud.speech.v2.GetRecognizerRequest\x1a\".google.cloud.speech.v2.Recognizer\">\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31\x12//v2/{name=projects/*/locations/*/recognizers/*}\x12\xee\x01\n\x10UpdateRecognizer\x12/.google.cloud.speech.v2.UpdateRecognizerRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41\x1f\n\nRecognizer\x12\x11OperationMetadata\xda\x41\x16recognizer,update_mask\x82\xd3\xe4\x93\x02H2:/v2/{recognizer.name=projects/*/locations/*/recognizers/*}:\nrecognizer\x12\xc4\x01\n\x10\x44\x65leteRecognizer\x12/.google.cloud.speech.v2.DeleteRecognizerRequest\x1a\x1d.google.longrunning.Operation\"`\xca\x41\x1f\n\nRecognizer\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31*//v2/{name=projects/*/locations/*/recognizers/*}\x12\xd4\x01\n\x12UndeleteRecognizer\x12\x31.google.cloud.speech.v2.UndeleteRecognizerRequest\x1a\x1d.google.longrunning.Operation\"l\xca\x41\x1f\n\nRecognizer\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02=\"8/v2/{name=projects/*/locations/*/recognizers/*}:undelete:\x01*\x12\xf9\x01\n\tRecognize\x12(.google.cloud.speech.v2.RecognizeRequest\x1a).google.cloud.speech.v2.RecognizeResponse\"\x96\x01\xda\x41%recognizer,config,config_mask,content\xda\x41!recognizer,config,config_mask,uri\x82\xd3\xe4\x93\x02\x44\"?/v2/{recognizer=projects/*/locations/*/recognizers/*}:recognize:\x01*\x12\x81\x01\n\x12StreamingRecognize\x12\x31.google.cloud.speech.v2.StreamingRecognizeRequest\x1a\x32.google.cloud.speech.v2.StreamingRecognizeResponse\"\x00(\x01\x30\x01\x12\x84\x02\n\x0e\x42\x61tchRecognize\x12-.google.cloud.speech.v2.BatchRecognizeRequest\x1a\x1d.google.longrunning.Operation\"\xa3\x01\xca\x41+\n\x16\x42\x61tchRecognizeResponse\x12\x11OperationMetadata\xda\x41#recognizer,config,config_mask,files\x82\xd3\xe4\x93\x02I\"D/v2/{recognizer=projects/*/locations/*/recognizers/*}:batchRecognize:\x01*\x12\x8e\x01\n\tGetConfig\x12(.google.cloud.speech.v2.GetConfigRequest\x1a\x1e.google.cloud.speech.v2.Config\"7\xda\x41\x04name\x82\xd3\xe4\x93\x02*\x12(/v2/{name=projects/*/locations/*/config}\x12\xb1\x01\n\x0cUpdateConfig\x12+.google.cloud.speech.v2.UpdateConfigRequest\x1a\x1e.google.cloud.speech.v2.Config\"T\xda\x41\x12\x63onfig,update_mask\x82\xd3\xe4\x93\x02\x39\x32//v2/{config.name=projects/*/locations/*/config}:\x06\x63onfig\x12\xf7\x01\n\x11\x43reateCustomClass\x12\x30.google.cloud.speech.v2.CreateCustomClassRequest\x1a\x1d.google.longrunning.Operation\"\x90\x01\xca\x41 \n\x0b\x43ustomClass\x12\x11OperationMetadata\xda\x41#parent,custom_class,custom_class_id\x82\xd3\xe4\x93\x02\x41\"1/v2/{parent=projects/*/locations/*}/customClasses:\x0c\x63ustom_class\x12\xbc\x01\n\x11ListCustomClasses\x12\x30.google.cloud.speech.v2.ListCustomClassesRequest\x1a\x31.google.cloud.speech.v2.ListCustomClassesResponse\"B\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x33\x12\x31/v2/{parent=projects/*/locations/*}/customClasses\x12\xa6\x01\n\x0eGetCustomClass\x12-.google.cloud.speech.v2.GetCustomClassRequest\x1a#.google.cloud.speech.v2.CustomClass\"@\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33\x12\x31/v2/{name=projects/*/locations/*/customClasses/*}\x12\xf9\x01\n\x11UpdateCustomClass\x12\x30.google.cloud.speech.v2.UpdateCustomClassRequest\x1a\x1d.google.longrunning.Operation\"\x92\x01\xca\x41 \n\x0b\x43ustomClass\x12\x11OperationMetadata\xda\x41\x18\x63ustom_class,update_mask\x82\xd3\xe4\x93\x02N2>/v2/{custom_class.name=projects/*/locations/*/customClasses/*}:\x0c\x63ustom_class\x12\xc9\x01\n\x11\x44\x65leteCustomClass\x12\x30.google.cloud.speech.v2.DeleteCustomClassRequest\x1a\x1d.google.longrunning.Operation\"c\xca\x41 \n\x0b\x43ustomClass\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33*1/v2/{name=projects/*/locations/*/customClasses/*}\x12\xd9\x01\n\x13UndeleteCustomClass\x12\x32.google.cloud.speech.v2.UndeleteCustomClassRequest\x1a\x1d.google.longrunning.Operation\"o\xca\x41 \n\x0b\x43ustomClass\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02?\":/v2/{name=projects/*/locations/*/customClasses/*}:undelete:\x01*\x12\xe8\x01\n\x0f\x43reatePhraseSet\x12..google.cloud.speech.v2.CreatePhraseSetRequest\x1a\x1d.google.longrunning.Operation\"\x85\x01\xca\x41\x1e\n\tPhraseSet\x12\x11OperationMetadata\xda\x41\x1fparent,phrase_set,phrase_set_id\x82\xd3\xe4\x93\x02<\"./v2/{parent=projects/*/locations/*}/phraseSets:\nphrase_set\x12\xb0\x01\n\x0eListPhraseSets\x12-.google.cloud.speech.v2.ListPhraseSetsRequest\x1a..google.cloud.speech.v2.ListPhraseSetsResponse\"?\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x30\x12./v2/{parent=projects/*/locations/*}/phraseSets\x12\x9d\x01\n\x0cGetPhraseSet\x12+.google.cloud.speech.v2.GetPhraseSetRequest\x1a!.google.cloud.speech.v2.PhraseSet\"=\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30\x12./v2/{name=projects/*/locations/*/phraseSets/*}\x12\xea\x01\n\x0fUpdatePhraseSet\x12..google.cloud.speech.v2.UpdatePhraseSetRequest\x1a\x1d.google.longrunning.Operation\"\x87\x01\xca\x41\x1e\n\tPhraseSet\x12\x11OperationMetadata\xda\x41\x16phrase_set,update_mask\x82\xd3\xe4\x93\x02G29/v2/{phrase_set.name=projects/*/locations/*/phraseSets/*}:\nphrase_set\x12\xc0\x01\n\x0f\x44\x65letePhraseSet\x12..google.cloud.speech.v2.DeletePhraseSetRequest\x1a\x1d.google.longrunning.Operation\"^\xca\x41\x1e\n\tPhraseSet\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30*./v2/{name=projects/*/locations/*/phraseSets/*}\x12\xd0\x01\n\x11UndeletePhraseSet\x12\x30.google.cloud.speech.v2.UndeletePhraseSetRequest\x1a\x1d.google.longrunning.Operation\"j\xca\x41\x1e\n\tPhraseSet\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02<\"7/v2/{name=projects/*/locations/*/phraseSets/*}:undelete:\x01*\x1aI\xca\x41\x15speech.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x89\x03\n\x1a\x63om.google.cloud.speech.v2B\x10\x43loudSpeechProtoP\x01Z2cloud.google.com/go/speech/apiv2/speechpb;speechpb\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\xea\x41\xa6\x01\n(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}b\x06proto3"
19
+ descriptor_data = "\n)google/cloud/speech/v2/cloud_speech.proto\x12\x16google.cloud.speech.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xbe\x01\n\x17\x43reateRecognizerRequest\x12;\n\nrecognizer\x18\x01 \x01(\x0b\x32\".google.cloud.speech.v2.RecognizerB\x03\xe0\x41\x02\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x15\n\rrecognizer_id\x18\x03 \x01(\t\x12\x38\n\x06parent\x18\x04 \x01(\tB(\xe0\x41\x02\xfa\x41\"\x12 speech.googleapis.com/Recognizer\"\xe7\x0c\n\x11OperationMetadata\x12/\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08resource\x18\x03 \x01(\t\x12\x0e\n\x06method\x18\x04 \x01(\t\x12<\n\x0ckms_key_name\x18\x06 \x01(\tB&\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12K\n\x14kms_key_version_name\x18\x07 \x01(\tB-\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12P\n\x17\x62\x61tch_recognize_request\x18\x08 \x01(\x0b\x32-.google.cloud.speech.v2.BatchRecognizeRequestH\x00\x12T\n\x19\x63reate_recognizer_request\x18\t \x01(\x0b\x32/.google.cloud.speech.v2.CreateRecognizerRequestH\x00\x12T\n\x19update_recognizer_request\x18\n \x01(\x0b\x32/.google.cloud.speech.v2.UpdateRecognizerRequestH\x00\x12T\n\x19\x64\x65lete_recognizer_request\x18\x0b \x01(\x0b\x32/.google.cloud.speech.v2.DeleteRecognizerRequestH\x00\x12X\n\x1bundelete_recognizer_request\x18\x0c \x01(\x0b\x32\x31.google.cloud.speech.v2.UndeleteRecognizerRequestH\x00\x12W\n\x1b\x63reate_custom_class_request\x18\r \x01(\x0b\x32\x30.google.cloud.speech.v2.CreateCustomClassRequestH\x00\x12W\n\x1bupdate_custom_class_request\x18\x0e \x01(\x0b\x32\x30.google.cloud.speech.v2.UpdateCustomClassRequestH\x00\x12W\n\x1b\x64\x65lete_custom_class_request\x18\x0f \x01(\x0b\x32\x30.google.cloud.speech.v2.DeleteCustomClassRequestH\x00\x12[\n\x1dundelete_custom_class_request\x18\x10 \x01(\x0b\x32\x32.google.cloud.speech.v2.UndeleteCustomClassRequestH\x00\x12S\n\x19\x63reate_phrase_set_request\x18\x11 \x01(\x0b\x32..google.cloud.speech.v2.CreatePhraseSetRequestH\x00\x12S\n\x19update_phrase_set_request\x18\x12 \x01(\x0b\x32..google.cloud.speech.v2.UpdatePhraseSetRequestH\x00\x12S\n\x19\x64\x65lete_phrase_set_request\x18\x13 \x01(\x0b\x32..google.cloud.speech.v2.DeletePhraseSetRequestH\x00\x12W\n\x1bundelete_phrase_set_request\x18\x14 \x01(\x0b\x32\x30.google.cloud.speech.v2.UndeletePhraseSetRequestH\x00\x12P\n\x15update_config_request\x18\x15 \x01(\x0b\x32+.google.cloud.speech.v2.UpdateConfigRequestB\x02\x18\x01H\x00\x12\x18\n\x10progress_percent\x18\x16 \x01(\x05\x12R\n\x18\x62\x61tch_recognize_metadata\x18\x17 \x01(\x0b\x32..google.cloud.speech.v2.BatchRecognizeMetadataH\x01\x42\t\n\x07requestB\n\n\x08metadata\"\x90\x01\n\x16ListRecognizersRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x14\n\x0cshow_deleted\x18\x04 \x01(\x08\"k\n\x17ListRecognizersResponse\x12\x37\n\x0brecognizers\x18\x01 \x03(\x0b\x32\".google.cloud.speech.v2.Recognizer\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"N\n\x14GetRecognizerRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\"\x9e\x01\n\x17UpdateRecognizerRequest\x12;\n\nrecognizer\x18\x01 \x01(\x0b\x32\".google.cloud.speech.v2.RecognizerB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\"\x8d\x01\n\x17\x44\x65leteRecognizerRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\"x\n\x19UndeleteRecognizerRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x04 \x01(\t\"\xc5\x07\n\nRecognizer\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x08\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x14\n\x05model\x18\x04 \x01(\tB\x05\x18\x01\xe0\x41\x01\x12\x1d\n\x0elanguage_codes\x18\x11 \x03(\tB\x05\x18\x01\xe0\x41\x01\x12M\n\x1a\x64\x65\x66\x61ult_recognition_config\x18\x06 \x01(\x0b\x32).google.cloud.speech.v2.RecognitionConfig\x12H\n\x0b\x61nnotations\x18\x07 \x03(\x0b\x32\x33.google.cloud.speech.v2.Recognizer.AnnotationsEntry\x12<\n\x05state\x18\x08 \x01(\x0e\x32(.google.cloud.speech.v2.Recognizer.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x64\x65lete_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04\x65tag\x18\x0c \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0breconciling\x18\r \x01(\x08\x42\x03\xe0\x41\x03\x12?\n\x0ckms_key_name\x18\x0f \x01(\tB)\xe0\x41\x03\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12N\n\x14kms_key_version_name\x18\x10 \x01(\tB0\xe0\x41\x03\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0b\n\x07\x44\x45LETED\x10\x04:j\xea\x41g\n speech.googleapis.com/Recognizer\x12@projects/{project}/locations/{location}/recognizers/{recognizer}R\x01\x01\"\x1a\n\x18\x41utoDetectDecodingConfig\"\xf0\x02\n\x16\x45xplicitDecodingConfig\x12S\n\x08\x65ncoding\x18\x01 \x01(\x0e\x32<.google.cloud.speech.v2.ExplicitDecodingConfig.AudioEncodingB\x03\xe0\x41\x02\x12\x1e\n\x11sample_rate_hertz\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12 \n\x13\x61udio_channel_count\x18\x03 \x01(\x05\x42\x03\xe0\x41\x01\"\xbe\x01\n\rAudioEncoding\x12\x1e\n\x1a\x41UDIO_ENCODING_UNSPECIFIED\x10\x00\x12\x0c\n\x08LINEAR16\x10\x01\x12\t\n\x05MULAW\x10\x02\x12\x08\n\x04\x41LAW\x10\x03\x12\x07\n\x03\x41MR\x10\x04\x12\n\n\x06\x41MR_WB\x10\x05\x12\x08\n\x04\x46LAC\x10\x06\x12\x07\n\x03MP3\x10\x07\x12\x0c\n\x08OGG_OPUS\x10\x08\x12\r\n\tWEBM_OPUS\x10\t\x12\x0b\n\x07MP4_AAC\x10\n\x12\x0b\n\x07M4A_AAC\x10\x0b\x12\x0b\n\x07MOV_AAC\x10\x0c\"Z\n\x18SpeakerDiarizationConfig\x12\x1e\n\x11min_speaker_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02\x12\x1e\n\x11max_speaker_count\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02\"\xf8\x03\n\x13RecognitionFeatures\x12\x18\n\x10profanity_filter\x18\x01 \x01(\x08\x12 \n\x18\x65nable_word_time_offsets\x18\x02 \x01(\x08\x12\x1e\n\x16\x65nable_word_confidence\x18\x03 \x01(\x08\x12$\n\x1c\x65nable_automatic_punctuation\x18\x04 \x01(\x08\x12!\n\x19\x65nable_spoken_punctuation\x18\x0e \x01(\x08\x12\x1c\n\x14\x65nable_spoken_emojis\x18\x0f \x01(\x08\x12X\n\x12multi_channel_mode\x18\x11 \x01(\x0e\x32<.google.cloud.speech.v2.RecognitionFeatures.MultiChannelMode\x12L\n\x12\x64iarization_config\x18\t \x01(\x0b\x32\x30.google.cloud.speech.v2.SpeakerDiarizationConfig\x12\x18\n\x10max_alternatives\x18\x10 \x01(\x05\"\\\n\x10MultiChannelMode\x12\"\n\x1eMULTI_CHANNEL_MODE_UNSPECIFIED\x10\x00\x12$\n SEPARATE_RECOGNITION_PER_CHANNEL\x10\x01\"\xa3\x01\n\x17TranscriptNormalization\x12\x46\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x35.google.cloud.speech.v2.TranscriptNormalization.Entry\x1a@\n\x05\x45ntry\x12\x0e\n\x06search\x18\x01 \x01(\t\x12\x0f\n\x07replace\x18\x02 \x01(\t\x12\x16\n\x0e\x63\x61se_sensitive\x18\x03 \x01(\x08\"1\n\x11TranslationConfig\x12\x1c\n\x0ftarget_language\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\xbf\x02\n\x10SpeechAdaptation\x12Q\n\x0bphrase_sets\x18\x01 \x03(\x0b\x32<.google.cloud.speech.v2.SpeechAdaptation.AdaptationPhraseSet\x12;\n\x0e\x63ustom_classes\x18\x02 \x03(\x0b\x32#.google.cloud.speech.v2.CustomClass\x1a\x9a\x01\n\x13\x41\x64\x61ptationPhraseSet\x12:\n\nphrase_set\x18\x01 \x01(\tB$\xfa\x41!\n\x1fspeech.googleapis.com/PhraseSetH\x00\x12>\n\x11inline_phrase_set\x18\x02 \x01(\x0b\x32!.google.cloud.speech.v2.PhraseSetH\x00\x42\x07\n\x05value\"\x9e\x04\n\x11RecognitionConfig\x12P\n\x14\x61uto_decoding_config\x18\x07 \x01(\x0b\x32\x30.google.cloud.speech.v2.AutoDetectDecodingConfigH\x00\x12R\n\x18\x65xplicit_decoding_config\x18\x08 \x01(\x0b\x32..google.cloud.speech.v2.ExplicitDecodingConfigH\x00\x12\x12\n\x05model\x18\t \x01(\tB\x03\xe0\x41\x01\x12\x1b\n\x0elanguage_codes\x18\n \x03(\tB\x03\xe0\x41\x01\x12=\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0b\x32+.google.cloud.speech.v2.RecognitionFeatures\x12<\n\nadaptation\x18\x06 \x01(\x0b\x32(.google.cloud.speech.v2.SpeechAdaptation\x12V\n\x18transcript_normalization\x18\x0b \x01(\x0b\x32/.google.cloud.speech.v2.TranscriptNormalizationB\x03\xe0\x41\x01\x12J\n\x12translation_config\x18\x0f \x01(\x0b\x32).google.cloud.speech.v2.TranslationConfigB\x03\xe0\x41\x01\x42\x11\n\x0f\x64\x65\x63oding_config\"\xee\x01\n\x10RecognizeRequest\x12<\n\nrecognizer\x18\x03 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\x12\x39\n\x06\x63onfig\x18\x01 \x01(\x0b\x32).google.cloud.speech.v2.RecognitionConfig\x12/\n\x0b\x63onfig_mask\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x11\n\x07\x63ontent\x18\x05 \x01(\x0cH\x00\x12\r\n\x03uri\x18\x06 \x01(\tH\x00\x42\x0e\n\x0c\x61udio_source\"u\n\x1bRecognitionResponseMetadata\x12\x1c\n\nrequest_id\x18\t \x01(\tB\x08\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x38\n\x15total_billed_duration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\"w\n\x1cSpeechRecognitionAlternative\x12\x12\n\ntranscript\x18\x01 \x01(\t\x12\x12\n\nconfidence\x18\x02 \x01(\x02\x12/\n\x05words\x18\x03 \x03(\x0b\x32 .google.cloud.speech.v2.WordInfo\"\xa3\x01\n\x08WordInfo\x12/\n\x0cstart_offset\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\nend_offset\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0c\n\x04word\x18\x03 \x01(\t\x12\x12\n\nconfidence\x18\x04 \x01(\x02\x12\x15\n\rspeaker_label\x18\x06 \x01(\t\"\xcc\x01\n\x17SpeechRecognitionResult\x12J\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32\x34.google.cloud.speech.v2.SpeechRecognitionAlternative\x12\x13\n\x0b\x63hannel_tag\x18\x02 \x01(\x05\x12\x34\n\x11result_end_offset\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1a\n\rlanguage_code\x18\x05 \x01(\tB\x03\xe0\x41\x03\"\x9c\x01\n\x11RecognizeResponse\x12@\n\x07results\x18\x03 \x03(\x0b\x32/.google.cloud.speech.v2.SpeechRecognitionResult\x12\x45\n\x08metadata\x18\x02 \x01(\x0b\x32\x33.google.cloud.speech.v2.RecognitionResponseMetadata\"\xd1\x02\n\x1cStreamingRecognitionFeatures\x12$\n\x1c\x65nable_voice_activity_events\x18\x01 \x01(\x08\x12\x17\n\x0finterim_results\x18\x02 \x01(\x08\x12i\n\x16voice_activity_timeout\x18\x03 \x01(\x0b\x32I.google.cloud.speech.v2.StreamingRecognitionFeatures.VoiceActivityTimeout\x1a\x86\x01\n\x14VoiceActivityTimeout\x12\x37\n\x14speech_start_timeout\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12speech_end_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xdf\x01\n\x1aStreamingRecognitionConfig\x12>\n\x06\x63onfig\x18\x01 \x01(\x0b\x32).google.cloud.speech.v2.RecognitionConfigB\x03\xe0\x41\x02\x12/\n\x0b\x63onfig_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12P\n\x12streaming_features\x18\x02 \x01(\x0b\x32\x34.google.cloud.speech.v2.StreamingRecognitionFeatures\"\xcf\x01\n\x19StreamingRecognizeRequest\x12<\n\nrecognizer\x18\x03 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\x12N\n\x10streaming_config\x18\x06 \x01(\x0b\x32\x32.google.cloud.speech.v2.StreamingRecognitionConfigH\x00\x12\x0f\n\x05\x61udio\x18\x05 \x01(\x0cH\x00\x42\x13\n\x11streaming_request\"\x88\x04\n\x15\x42\x61tchRecognizeRequest\x12<\n\nrecognizer\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n speech.googleapis.com/Recognizer\x12\x39\n\x06\x63onfig\x18\x04 \x01(\x0b\x32).google.cloud.speech.v2.RecognitionConfig\x12/\n\x0b\x63onfig_mask\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x41\n\x05\x66iles\x18\x03 \x03(\x0b\x32\x32.google.cloud.speech.v2.BatchRecognizeFileMetadata\x12R\n\x19recognition_output_config\x18\x06 \x01(\x0b\x32/.google.cloud.speech.v2.RecognitionOutputConfig\x12]\n\x13processing_strategy\x18\x07 \x01(\x0e\x32@.google.cloud.speech.v2.BatchRecognizeRequest.ProcessingStrategy\"O\n\x12ProcessingStrategy\x12#\n\x1fPROCESSING_STRATEGY_UNSPECIFIED\x10\x00\x12\x14\n\x10\x44YNAMIC_BATCHING\x10\x01\"\x1e\n\x0fGcsOutputConfig\x12\x0b\n\x03uri\x18\x01 \x01(\t\"\x14\n\x12InlineOutputConfig\"\x1e\n\x1cNativeOutputFileFormatConfig\"\x1b\n\x19VttOutputFileFormatConfig\"\x1b\n\x19SrtOutputFileFormatConfig\"\xda\x01\n\x12OutputFormatConfig\x12\x44\n\x06native\x18\x01 \x01(\x0b\x32\x34.google.cloud.speech.v2.NativeOutputFileFormatConfig\x12>\n\x03vtt\x18\x02 \x01(\x0b\x32\x31.google.cloud.speech.v2.VttOutputFileFormatConfig\x12>\n\x03srt\x18\x03 \x01(\x0b\x32\x31.google.cloud.speech.v2.SrtOutputFileFormatConfig\"\x86\x02\n\x17RecognitionOutputConfig\x12\x44\n\x11gcs_output_config\x18\x01 \x01(\x0b\x32\'.google.cloud.speech.v2.GcsOutputConfigH\x00\x12L\n\x16inline_response_config\x18\x02 \x01(\x0b\x32*.google.cloud.speech.v2.InlineOutputConfigH\x00\x12M\n\x14output_format_config\x18\x03 \x01(\x0b\x32*.google.cloud.speech.v2.OutputFormatConfigB\x03\xe0\x41\x01\x42\x08\n\x06output\"\x82\x02\n\x16\x42\x61tchRecognizeResponse\x12L\n\x07results\x18\x01 \x03(\x0b\x32;.google.cloud.speech.v2.BatchRecognizeResponse.ResultsEntry\x12\x38\n\x15total_billed_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a`\n\x0cResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12?\n\x05value\x18\x02 \x01(\x0b\x32\x30.google.cloud.speech.v2.BatchRecognizeFileResult:\x02\x38\x01\"\xa0\x01\n\x15\x42\x61tchRecognizeResults\x12@\n\x07results\x18\x01 \x03(\x0b\x32/.google.cloud.speech.v2.SpeechRecognitionResult\x12\x45\n\x08metadata\x18\x02 \x01(\x0b\x32\x33.google.cloud.speech.v2.RecognitionResponseMetadata\"Q\n\x12\x43loudStorageResult\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x16\n\x0evtt_format_uri\x18\x02 \x01(\t\x12\x16\n\x0esrt_format_uri\x18\x03 \x01(\t\"}\n\x0cInlineResult\x12\x41\n\ntranscript\x18\x01 \x01(\x0b\x32-.google.cloud.speech.v2.BatchRecognizeResults\x12\x14\n\x0cvtt_captions\x18\x02 \x01(\t\x12\x14\n\x0csrt_captions\x18\x03 \x01(\t\"\xf1\x02\n\x18\x42\x61tchRecognizeFileResult\x12!\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x45\n\x08metadata\x18\x03 \x01(\x0b\x32\x33.google.cloud.speech.v2.RecognitionResponseMetadata\x12J\n\x14\x63loud_storage_result\x18\x05 \x01(\x0b\x32*.google.cloud.speech.v2.CloudStorageResultH\x00\x12=\n\rinline_result\x18\x06 \x01(\x0b\x32$.google.cloud.speech.v2.InlineResultH\x00\x12\x0f\n\x03uri\x18\x01 \x01(\tB\x02\x18\x01\x12\x45\n\ntranscript\x18\x04 \x01(\x0b\x32-.google.cloud.speech.v2.BatchRecognizeResultsB\x02\x18\x01\x42\x08\n\x06result\"o\n#BatchRecognizeTranscriptionMetadata\x12\x18\n\x10progress_percent\x18\x01 \x01(\x05\x12!\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0b\n\x03uri\x18\x03 \x01(\t\"\xfe\x01\n\x16\x42\x61tchRecognizeMetadata\x12i\n\x16transcription_metadata\x18\x01 \x03(\x0b\x32I.google.cloud.speech.v2.BatchRecognizeMetadata.TranscriptionMetadataEntry\x1ay\n\x1aTranscriptionMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12J\n\x05value\x18\x02 \x01(\x0b\x32;.google.cloud.speech.v2.BatchRecognizeTranscriptionMetadata:\x02\x38\x01\"\xa7\x01\n\x1a\x42\x61tchRecognizeFileMetadata\x12\r\n\x03uri\x18\x01 \x01(\tH\x00\x12\x39\n\x06\x63onfig\x18\x04 \x01(\x0b\x32).google.cloud.speech.v2.RecognitionConfig\x12/\n\x0b\x63onfig_mask\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x0e\n\x0c\x61udio_source\"\xf4\x01\n\x1aStreamingRecognitionResult\x12J\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32\x34.google.cloud.speech.v2.SpeechRecognitionAlternative\x12\x10\n\x08is_final\x18\x02 \x01(\x08\x12\x11\n\tstability\x18\x03 \x01(\x02\x12\x34\n\x11result_end_offset\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x13\n\x0b\x63hannel_tag\x18\x05 \x01(\x05\x12\x1a\n\rlanguage_code\x18\x06 \x01(\tB\x03\xe0\x41\x03\"\xc7\x03\n\x1aStreamingRecognizeResponse\x12\x43\n\x07results\x18\x06 \x03(\x0b\x32\x32.google.cloud.speech.v2.StreamingRecognitionResult\x12]\n\x11speech_event_type\x18\x03 \x01(\x0e\x32\x42.google.cloud.speech.v2.StreamingRecognizeResponse.SpeechEventType\x12\x36\n\x13speech_event_offset\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x45\n\x08metadata\x18\x05 \x01(\x0b\x32\x33.google.cloud.speech.v2.RecognitionResponseMetadata\"\x85\x01\n\x0fSpeechEventType\x12!\n\x1dSPEECH_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x45ND_OF_SINGLE_UTTERANCE\x10\x01\x12\x19\n\x15SPEECH_ACTIVITY_BEGIN\x10\x02\x12\x17\n\x13SPEECH_ACTIVITY_END\x10\x03\"\xe8\x01\n\x06\x43onfig\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x08\x12?\n\x0ckms_key_name\x18\x02 \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03:Q\xea\x41N\n\x1cspeech.googleapis.com/Config\x12.projects/{project}/locations/{location}/config\"F\n\x10GetConfigRequest\x12\x32\n\x04name\x18\x01 \x01(\tB$\xe0\x41\x02\xfa\x41\x1e\n\x1cspeech.googleapis.com/Config\"{\n\x13UpdateConfigRequest\x12\x33\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x1e.google.cloud.speech.v2.ConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xad\x07\n\x0b\x43ustomClass\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x08\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12<\n\x05items\x18\x05 \x03(\x0b\x32-.google.cloud.speech.v2.CustomClass.ClassItem\x12=\n\x05state\x18\x0f \x01(\x0e\x32).google.cloud.speech.v2.CustomClass.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x64\x65lete_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12N\n\x0b\x61nnotations\x18\n \x03(\x0b\x32\x34.google.cloud.speech.v2.CustomClass.AnnotationsEntryB\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x0b \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0breconciling\x18\x0c \x01(\x08\x42\x03\xe0\x41\x03\x12?\n\x0ckms_key_name\x18\r \x01(\tB)\xe0\x41\x03\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12N\n\x14kms_key_version_name\x18\x0e \x01(\tB0\xe0\x41\x03\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x1a\x1a\n\tClassItem\x12\r\n\x05value\x18\x01 \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0b\n\x07\x44\x45LETED\x10\x04:o\xea\x41l\n!speech.googleapis.com/CustomClass\x12\x44projects/{project}/locations/{location}/customClasses/{custom_class}R\x01\x01\"\xae\x07\n\tPhraseSet\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x08\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x39\n\x07phrases\x18\x03 \x03(\x0b\x32(.google.cloud.speech.v2.PhraseSet.Phrase\x12\r\n\x05\x62oost\x18\x04 \x01(\x02\x12\x14\n\x0c\x64isplay_name\x18\x05 \x01(\t\x12;\n\x05state\x18\x0f \x01(\x0e\x32\'.google.cloud.speech.v2.PhraseSet.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x64\x65lete_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12G\n\x0b\x61nnotations\x18\n \x03(\x0b\x32\x32.google.cloud.speech.v2.PhraseSet.AnnotationsEntry\x12\x11\n\x04\x65tag\x18\x0b \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0breconciling\x18\x0c \x01(\x08\x42\x03\xe0\x41\x03\x12?\n\x0ckms_key_name\x18\r \x01(\tB)\xe0\x41\x03\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12N\n\x14kms_key_version_name\x18\x0e \x01(\tB0\xe0\x41\x03\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x1a&\n\x06Phrase\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05\x62oost\x18\x02 \x01(\x02\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"7\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0b\n\x07\x44\x45LETED\x10\x04:h\xea\x41\x65\n\x1fspeech.googleapis.com/PhraseSet\x12?projects/{project}/locations/{location}/phraseSets/{phrase_set}R\x01\x01\"\xc5\x01\n\x18\x43reateCustomClassRequest\x12>\n\x0c\x63ustom_class\x18\x01 \x01(\x0b\x32#.google.cloud.speech.v2.CustomClassB\x03\xe0\x41\x02\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x17\n\x0f\x63ustom_class_id\x18\x03 \x01(\t\x12\x39\n\x06parent\x18\x04 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!speech.googleapis.com/CustomClass\"\x92\x01\n\x18ListCustomClassesRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x14\n\x0cshow_deleted\x18\x04 \x01(\x08\"q\n\x19ListCustomClassesResponse\x12;\n\x0e\x63ustom_classes\x18\x01 \x03(\x0b\x32#.google.cloud.speech.v2.CustomClass\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"P\n\x15GetCustomClassRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!speech.googleapis.com/CustomClass\"\xa2\x01\n\x18UpdateCustomClassRequest\x12>\n\x0c\x63ustom_class\x18\x01 \x01(\x0b\x32#.google.cloud.speech.v2.CustomClassB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\"\x8f\x01\n\x18\x44\x65leteCustomClassRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!speech.googleapis.com/CustomClass\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\"z\n\x1aUndeleteCustomClassRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!speech.googleapis.com/CustomClass\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x04 \x01(\t\"\xbb\x01\n\x16\x43reatePhraseSetRequest\x12:\n\nphrase_set\x18\x01 \x01(\x0b\x32!.google.cloud.speech.v2.PhraseSetB\x03\xe0\x41\x02\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x15\n\rphrase_set_id\x18\x03 \x01(\t\x12\x37\n\x06parent\x18\x04 \x01(\tB\'\xe0\x41\x02\xfa\x41!\x12\x1fspeech.googleapis.com/PhraseSet\"\x8f\x01\n\x15ListPhraseSetsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x14\n\x0cshow_deleted\x18\x04 \x01(\x08\"i\n\x16ListPhraseSetsResponse\x12\x36\n\x0bphrase_sets\x18\x01 \x03(\x0b\x32!.google.cloud.speech.v2.PhraseSet\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"L\n\x13GetPhraseSetRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspeech.googleapis.com/PhraseSet\"\x9c\x01\n\x16UpdatePhraseSetRequest\x12:\n\nphrase_set\x18\x01 \x01(\x0b\x32!.google.cloud.speech.v2.PhraseSetB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\"\x8b\x01\n\x16\x44\x65letePhraseSetRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspeech.googleapis.com/PhraseSet\x12\x15\n\rvalidate_only\x18\x02 \x01(\x08\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\"v\n\x18UndeletePhraseSetRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspeech.googleapis.com/PhraseSet\x12\x15\n\rvalidate_only\x18\x03 \x01(\x08\x12\x0c\n\x04\x65tag\x18\x04 \x01(\t2\xbf%\n\x06Speech\x12\xec\x01\n\x10\x43reateRecognizer\x12/.google.cloud.speech.v2.CreateRecognizerRequest\x1a\x1d.google.longrunning.Operation\"\x87\x01\xca\x41\x1f\n\nRecognizer\x12\x11OperationMetadata\xda\x41\x1fparent,recognizer,recognizer_id\x82\xd3\xe4\x93\x02=\"//v2/{parent=projects/*/locations/*}/recognizers:\nrecognizer\x12\xb4\x01\n\x0fListRecognizers\x12..google.cloud.speech.v2.ListRecognizersRequest\x1a/.google.cloud.speech.v2.ListRecognizersResponse\"@\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x31\x12//v2/{parent=projects/*/locations/*}/recognizers\x12\xa1\x01\n\rGetRecognizer\x12,.google.cloud.speech.v2.GetRecognizerRequest\x1a\".google.cloud.speech.v2.Recognizer\">\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31\x12//v2/{name=projects/*/locations/*/recognizers/*}\x12\xee\x01\n\x10UpdateRecognizer\x12/.google.cloud.speech.v2.UpdateRecognizerRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41\x1f\n\nRecognizer\x12\x11OperationMetadata\xda\x41\x16recognizer,update_mask\x82\xd3\xe4\x93\x02H2:/v2/{recognizer.name=projects/*/locations/*/recognizers/*}:\nrecognizer\x12\xc4\x01\n\x10\x44\x65leteRecognizer\x12/.google.cloud.speech.v2.DeleteRecognizerRequest\x1a\x1d.google.longrunning.Operation\"`\xca\x41\x1f\n\nRecognizer\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31*//v2/{name=projects/*/locations/*/recognizers/*}\x12\xd4\x01\n\x12UndeleteRecognizer\x12\x31.google.cloud.speech.v2.UndeleteRecognizerRequest\x1a\x1d.google.longrunning.Operation\"l\xca\x41\x1f\n\nRecognizer\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02=\"8/v2/{name=projects/*/locations/*/recognizers/*}:undelete:\x01*\x12\xf9\x01\n\tRecognize\x12(.google.cloud.speech.v2.RecognizeRequest\x1a).google.cloud.speech.v2.RecognizeResponse\"\x96\x01\xda\x41%recognizer,config,config_mask,content\xda\x41!recognizer,config,config_mask,uri\x82\xd3\xe4\x93\x02\x44\"?/v2/{recognizer=projects/*/locations/*/recognizers/*}:recognize:\x01*\x12\x81\x01\n\x12StreamingRecognize\x12\x31.google.cloud.speech.v2.StreamingRecognizeRequest\x1a\x32.google.cloud.speech.v2.StreamingRecognizeResponse\"\x00(\x01\x30\x01\x12\x84\x02\n\x0e\x42\x61tchRecognize\x12-.google.cloud.speech.v2.BatchRecognizeRequest\x1a\x1d.google.longrunning.Operation\"\xa3\x01\xca\x41+\n\x16\x42\x61tchRecognizeResponse\x12\x11OperationMetadata\xda\x41#recognizer,config,config_mask,files\x82\xd3\xe4\x93\x02I\"D/v2/{recognizer=projects/*/locations/*/recognizers/*}:batchRecognize:\x01*\x12\x8e\x01\n\tGetConfig\x12(.google.cloud.speech.v2.GetConfigRequest\x1a\x1e.google.cloud.speech.v2.Config\"7\xda\x41\x04name\x82\xd3\xe4\x93\x02*\x12(/v2/{name=projects/*/locations/*/config}\x12\xb1\x01\n\x0cUpdateConfig\x12+.google.cloud.speech.v2.UpdateConfigRequest\x1a\x1e.google.cloud.speech.v2.Config\"T\xda\x41\x12\x63onfig,update_mask\x82\xd3\xe4\x93\x02\x39\x32//v2/{config.name=projects/*/locations/*/config}:\x06\x63onfig\x12\xf7\x01\n\x11\x43reateCustomClass\x12\x30.google.cloud.speech.v2.CreateCustomClassRequest\x1a\x1d.google.longrunning.Operation\"\x90\x01\xca\x41 \n\x0b\x43ustomClass\x12\x11OperationMetadata\xda\x41#parent,custom_class,custom_class_id\x82\xd3\xe4\x93\x02\x41\"1/v2/{parent=projects/*/locations/*}/customClasses:\x0c\x63ustom_class\x12\xbc\x01\n\x11ListCustomClasses\x12\x30.google.cloud.speech.v2.ListCustomClassesRequest\x1a\x31.google.cloud.speech.v2.ListCustomClassesResponse\"B\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x33\x12\x31/v2/{parent=projects/*/locations/*}/customClasses\x12\xa6\x01\n\x0eGetCustomClass\x12-.google.cloud.speech.v2.GetCustomClassRequest\x1a#.google.cloud.speech.v2.CustomClass\"@\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33\x12\x31/v2/{name=projects/*/locations/*/customClasses/*}\x12\xf9\x01\n\x11UpdateCustomClass\x12\x30.google.cloud.speech.v2.UpdateCustomClassRequest\x1a\x1d.google.longrunning.Operation\"\x92\x01\xca\x41 \n\x0b\x43ustomClass\x12\x11OperationMetadata\xda\x41\x18\x63ustom_class,update_mask\x82\xd3\xe4\x93\x02N2>/v2/{custom_class.name=projects/*/locations/*/customClasses/*}:\x0c\x63ustom_class\x12\xc9\x01\n\x11\x44\x65leteCustomClass\x12\x30.google.cloud.speech.v2.DeleteCustomClassRequest\x1a\x1d.google.longrunning.Operation\"c\xca\x41 \n\x0b\x43ustomClass\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33*1/v2/{name=projects/*/locations/*/customClasses/*}\x12\xd9\x01\n\x13UndeleteCustomClass\x12\x32.google.cloud.speech.v2.UndeleteCustomClassRequest\x1a\x1d.google.longrunning.Operation\"o\xca\x41 \n\x0b\x43ustomClass\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02?\":/v2/{name=projects/*/locations/*/customClasses/*}:undelete:\x01*\x12\xe8\x01\n\x0f\x43reatePhraseSet\x12..google.cloud.speech.v2.CreatePhraseSetRequest\x1a\x1d.google.longrunning.Operation\"\x85\x01\xca\x41\x1e\n\tPhraseSet\x12\x11OperationMetadata\xda\x41\x1fparent,phrase_set,phrase_set_id\x82\xd3\xe4\x93\x02<\"./v2/{parent=projects/*/locations/*}/phraseSets:\nphrase_set\x12\xb0\x01\n\x0eListPhraseSets\x12-.google.cloud.speech.v2.ListPhraseSetsRequest\x1a..google.cloud.speech.v2.ListPhraseSetsResponse\"?\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x30\x12./v2/{parent=projects/*/locations/*}/phraseSets\x12\x9d\x01\n\x0cGetPhraseSet\x12+.google.cloud.speech.v2.GetPhraseSetRequest\x1a!.google.cloud.speech.v2.PhraseSet\"=\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30\x12./v2/{name=projects/*/locations/*/phraseSets/*}\x12\xea\x01\n\x0fUpdatePhraseSet\x12..google.cloud.speech.v2.UpdatePhraseSetRequest\x1a\x1d.google.longrunning.Operation\"\x87\x01\xca\x41\x1e\n\tPhraseSet\x12\x11OperationMetadata\xda\x41\x16phrase_set,update_mask\x82\xd3\xe4\x93\x02G29/v2/{phrase_set.name=projects/*/locations/*/phraseSets/*}:\nphrase_set\x12\xc0\x01\n\x0f\x44\x65letePhraseSet\x12..google.cloud.speech.v2.DeletePhraseSetRequest\x1a\x1d.google.longrunning.Operation\"^\xca\x41\x1e\n\tPhraseSet\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30*./v2/{name=projects/*/locations/*/phraseSets/*}\x12\xd0\x01\n\x11UndeletePhraseSet\x12\x30.google.cloud.speech.v2.UndeletePhraseSetRequest\x1a\x1d.google.longrunning.Operation\"j\xca\x41\x1e\n\tPhraseSet\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02<\"7/v2/{name=projects/*/locations/*/phraseSets/*}:undelete:\x01*\x1aI\xca\x41\x15speech.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x89\x03\n\x1a\x63om.google.cloud.speech.v2B\x10\x43loudSpeechProtoP\x01Z2cloud.google.com/go/speech/apiv2/speechpb;speechpb\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\xea\x41\xa6\x01\n(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}b\x06proto3"
20
20
 
21
21
  pool = Google::Protobuf::DescriptorPool.generated_pool
22
22
 
@@ -170,14 +170,26 @@ module Google
170
170
  universe_domain: @config.universe_domain,
171
171
  channel_args: @config.channel_args,
172
172
  interceptors: @config.interceptors,
173
- channel_pool_config: @config.channel_pool
173
+ channel_pool_config: @config.channel_pool,
174
+ logger: @config.logger
174
175
  )
175
176
 
177
+ @speech_stub.stub_logger&.info do |entry|
178
+ entry.set_system_name
179
+ entry.set_service
180
+ entry.message = "Created client for #{entry.service}"
181
+ entry.set_credentials_fields credentials
182
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
183
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
184
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
185
+ end
186
+
176
187
  @location_client = Google::Cloud::Location::Locations::Client.new do |config|
177
188
  config.credentials = credentials
178
189
  config.quota_project = @quota_project_id
179
190
  config.endpoint = @speech_stub.endpoint
180
191
  config.universe_domain = @speech_stub.universe_domain
192
+ config.logger = @speech_stub.logger if config.respond_to? :logger=
181
193
  end
182
194
  end
183
195
 
@@ -195,6 +207,15 @@ module Google
195
207
  #
196
208
  attr_reader :location_client
197
209
 
210
+ ##
211
+ # The logger used for request/response debug logging.
212
+ #
213
+ # @return [Logger]
214
+ #
215
+ def logger
216
+ @speech_stub.logger
217
+ end
218
+
198
219
  # Service calls
199
220
 
200
221
  ##
@@ -297,7 +318,7 @@ module Google
297
318
  @speech_stub.call_rpc :create_recognizer, request, options: options do |response, operation|
298
319
  response = ::Gapic::Operation.new response, @operations_client, options: options
299
320
  yield response, operation if block_given?
300
- return response
321
+ throw :response, response
301
322
  end
302
323
  rescue ::GRPC::BadStatus => e
303
324
  raise ::Google::Cloud::Error.from_error(e)
@@ -403,7 +424,7 @@ module Google
403
424
  @speech_stub.call_rpc :list_recognizers, request, options: options do |response, operation|
404
425
  response = ::Gapic::PagedEnumerable.new @speech_stub, :list_recognizers, request, response, operation, options
405
426
  yield response, operation if block_given?
406
- return response
427
+ throw :response, response
407
428
  end
408
429
  rescue ::GRPC::BadStatus => e
409
430
  raise ::Google::Cloud::Error.from_error(e)
@@ -493,7 +514,6 @@ module Google
493
514
 
494
515
  @speech_stub.call_rpc :get_recognizer, request, options: options do |response, operation|
495
516
  yield response, operation if block_given?
496
- return response
497
517
  end
498
518
  rescue ::GRPC::BadStatus => e
499
519
  raise ::Google::Cloud::Error.from_error(e)
@@ -596,7 +616,7 @@ module Google
596
616
  @speech_stub.call_rpc :update_recognizer, request, options: options do |response, operation|
597
617
  response = ::Gapic::Operation.new response, @operations_client, options: options
598
618
  yield response, operation if block_given?
599
- return response
619
+ throw :response, response
600
620
  end
601
621
  rescue ::GRPC::BadStatus => e
602
622
  raise ::Google::Cloud::Error.from_error(e)
@@ -701,7 +721,7 @@ module Google
701
721
  @speech_stub.call_rpc :delete_recognizer, request, options: options do |response, operation|
702
722
  response = ::Gapic::Operation.new response, @operations_client, options: options
703
723
  yield response, operation if block_given?
704
- return response
724
+ throw :response, response
705
725
  end
706
726
  rescue ::GRPC::BadStatus => e
707
727
  raise ::Google::Cloud::Error.from_error(e)
@@ -803,7 +823,7 @@ module Google
803
823
  @speech_stub.call_rpc :undelete_recognizer, request, options: options do |response, operation|
804
824
  response = ::Gapic::Operation.new response, @operations_client, options: options
805
825
  yield response, operation if block_given?
806
- return response
826
+ throw :response, response
807
827
  end
808
828
  rescue ::GRPC::BadStatus => e
809
829
  raise ::Google::Cloud::Error.from_error(e)
@@ -928,7 +948,6 @@ module Google
928
948
 
929
949
  @speech_stub.call_rpc :recognize, request, options: options do |response, operation|
930
950
  yield response, operation if block_given?
931
- return response
932
951
  end
933
952
  rescue ::GRPC::BadStatus => e
934
953
  raise ::Google::Cloud::Error.from_error(e)
@@ -1008,7 +1027,6 @@ module Google
1008
1027
 
1009
1028
  @speech_stub.call_rpc :streaming_recognize, request, options: options do |response, operation|
1010
1029
  yield response, operation if block_given?
1011
- return response
1012
1030
  end
1013
1031
  rescue ::GRPC::BadStatus => e
1014
1032
  raise ::Google::Cloud::Error.from_error(e)
@@ -1135,7 +1153,7 @@ module Google
1135
1153
  @speech_stub.call_rpc :batch_recognize, request, options: options do |response, operation|
1136
1154
  response = ::Gapic::Operation.new response, @operations_client, options: options
1137
1155
  yield response, operation if block_given?
1138
- return response
1156
+ throw :response, response
1139
1157
  end
1140
1158
  rescue ::GRPC::BadStatus => e
1141
1159
  raise ::Google::Cloud::Error.from_error(e)
@@ -1223,7 +1241,6 @@ module Google
1223
1241
 
1224
1242
  @speech_stub.call_rpc :get_config, request, options: options do |response, operation|
1225
1243
  yield response, operation if block_given?
1226
- return response
1227
1244
  end
1228
1245
  rescue ::GRPC::BadStatus => e
1229
1246
  raise ::Google::Cloud::Error.from_error(e)
@@ -1314,7 +1331,6 @@ module Google
1314
1331
 
1315
1332
  @speech_stub.call_rpc :update_config, request, options: options do |response, operation|
1316
1333
  yield response, operation if block_given?
1317
- return response
1318
1334
  end
1319
1335
  rescue ::GRPC::BadStatus => e
1320
1336
  raise ::Google::Cloud::Error.from_error(e)
@@ -1420,7 +1436,7 @@ module Google
1420
1436
  @speech_stub.call_rpc :create_custom_class, request, options: options do |response, operation|
1421
1437
  response = ::Gapic::Operation.new response, @operations_client, options: options
1422
1438
  yield response, operation if block_given?
1423
- return response
1439
+ throw :response, response
1424
1440
  end
1425
1441
  rescue ::GRPC::BadStatus => e
1426
1442
  raise ::Google::Cloud::Error.from_error(e)
@@ -1527,7 +1543,7 @@ module Google
1527
1543
  @speech_stub.call_rpc :list_custom_classes, request, options: options do |response, operation|
1528
1544
  response = ::Gapic::PagedEnumerable.new @speech_stub, :list_custom_classes, request, response, operation, options
1529
1545
  yield response, operation if block_given?
1530
- return response
1546
+ throw :response, response
1531
1547
  end
1532
1548
  rescue ::GRPC::BadStatus => e
1533
1549
  raise ::Google::Cloud::Error.from_error(e)
@@ -1615,7 +1631,6 @@ module Google
1615
1631
 
1616
1632
  @speech_stub.call_rpc :get_custom_class, request, options: options do |response, operation|
1617
1633
  yield response, operation if block_given?
1618
- return response
1619
1634
  end
1620
1635
  rescue ::GRPC::BadStatus => e
1621
1636
  raise ::Google::Cloud::Error.from_error(e)
@@ -1719,7 +1734,7 @@ module Google
1719
1734
  @speech_stub.call_rpc :update_custom_class, request, options: options do |response, operation|
1720
1735
  response = ::Gapic::Operation.new response, @operations_client, options: options
1721
1736
  yield response, operation if block_given?
1722
- return response
1737
+ throw :response, response
1723
1738
  end
1724
1739
  rescue ::GRPC::BadStatus => e
1725
1740
  raise ::Google::Cloud::Error.from_error(e)
@@ -1825,7 +1840,7 @@ module Google
1825
1840
  @speech_stub.call_rpc :delete_custom_class, request, options: options do |response, operation|
1826
1841
  response = ::Gapic::Operation.new response, @operations_client, options: options
1827
1842
  yield response, operation if block_given?
1828
- return response
1843
+ throw :response, response
1829
1844
  end
1830
1845
  rescue ::GRPC::BadStatus => e
1831
1846
  raise ::Google::Cloud::Error.from_error(e)
@@ -1928,7 +1943,7 @@ module Google
1928
1943
  @speech_stub.call_rpc :undelete_custom_class, request, options: options do |response, operation|
1929
1944
  response = ::Gapic::Operation.new response, @operations_client, options: options
1930
1945
  yield response, operation if block_given?
1931
- return response
1946
+ throw :response, response
1932
1947
  end
1933
1948
  rescue ::GRPC::BadStatus => e
1934
1949
  raise ::Google::Cloud::Error.from_error(e)
@@ -2034,7 +2049,7 @@ module Google
2034
2049
  @speech_stub.call_rpc :create_phrase_set, request, options: options do |response, operation|
2035
2050
  response = ::Gapic::Operation.new response, @operations_client, options: options
2036
2051
  yield response, operation if block_given?
2037
- return response
2052
+ throw :response, response
2038
2053
  end
2039
2054
  rescue ::GRPC::BadStatus => e
2040
2055
  raise ::Google::Cloud::Error.from_error(e)
@@ -2140,7 +2155,7 @@ module Google
2140
2155
  @speech_stub.call_rpc :list_phrase_sets, request, options: options do |response, operation|
2141
2156
  response = ::Gapic::PagedEnumerable.new @speech_stub, :list_phrase_sets, request, response, operation, options
2142
2157
  yield response, operation if block_given?
2143
- return response
2158
+ throw :response, response
2144
2159
  end
2145
2160
  rescue ::GRPC::BadStatus => e
2146
2161
  raise ::Google::Cloud::Error.from_error(e)
@@ -2228,7 +2243,6 @@ module Google
2228
2243
 
2229
2244
  @speech_stub.call_rpc :get_phrase_set, request, options: options do |response, operation|
2230
2245
  yield response, operation if block_given?
2231
- return response
2232
2246
  end
2233
2247
  rescue ::GRPC::BadStatus => e
2234
2248
  raise ::Google::Cloud::Error.from_error(e)
@@ -2331,7 +2345,7 @@ module Google
2331
2345
  @speech_stub.call_rpc :update_phrase_set, request, options: options do |response, operation|
2332
2346
  response = ::Gapic::Operation.new response, @operations_client, options: options
2333
2347
  yield response, operation if block_given?
2334
- return response
2348
+ throw :response, response
2335
2349
  end
2336
2350
  rescue ::GRPC::BadStatus => e
2337
2351
  raise ::Google::Cloud::Error.from_error(e)
@@ -2436,7 +2450,7 @@ module Google
2436
2450
  @speech_stub.call_rpc :delete_phrase_set, request, options: options do |response, operation|
2437
2451
  response = ::Gapic::Operation.new response, @operations_client, options: options
2438
2452
  yield response, operation if block_given?
2439
- return response
2453
+ throw :response, response
2440
2454
  end
2441
2455
  rescue ::GRPC::BadStatus => e
2442
2456
  raise ::Google::Cloud::Error.from_error(e)
@@ -2538,7 +2552,7 @@ module Google
2538
2552
  @speech_stub.call_rpc :undelete_phrase_set, request, options: options do |response, operation|
2539
2553
  response = ::Gapic::Operation.new response, @operations_client, options: options
2540
2554
  yield response, operation if block_given?
2541
- return response
2555
+ throw :response, response
2542
2556
  end
2543
2557
  rescue ::GRPC::BadStatus => e
2544
2558
  raise ::Google::Cloud::Error.from_error(e)
@@ -2627,6 +2641,11 @@ module Google
2627
2641
  # default endpoint URL. The default value of nil uses the environment
2628
2642
  # universe (usually the default "googleapis.com" universe).
2629
2643
  # @return [::String,nil]
2644
+ # @!attribute [rw] logger
2645
+ # A custom logger to use for request/response debug logging, or the value
2646
+ # `:default` (the default) to construct a default logger, or `nil` to
2647
+ # explicitly disable logging.
2648
+ # @return [::Logger,:default,nil]
2630
2649
  #
2631
2650
  class Configuration
2632
2651
  extend ::Gapic::Config
@@ -2651,6 +2670,7 @@ module Google
2651
2670
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
2652
2671
  config_attr :quota_project, nil, ::String, nil
2653
2672
  config_attr :universe_domain, nil, ::String, nil
2673
+ config_attr :logger, :default, ::Logger, nil, :default
2654
2674
 
2655
2675
  # @private
2656
2676
  def initialize parent_config = nil
@@ -124,14 +124,6 @@ module Google
124
124
  # Lists operations that match the specified filter in the request. If the
125
125
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
126
126
  #
127
- # NOTE: the `name` binding allows API services to override the binding
128
- # to use different resource name schemes, such as `users/*/operations`. To
129
- # override the binding, API services can add a binding such as
130
- # `"/v1/{name=users/*}/operations"` to their service configuration.
131
- # For backwards compatibility, the default name includes the operations
132
- # collection id, however overriding users must ensure the name binding
133
- # is the parent resource, without the operations collection id.
134
- #
135
127
  # @overload list_operations(request, options = nil)
136
128
  # Pass arguments to `list_operations` via a request object, either of type
137
129
  # {::Google::Longrunning::ListOperationsRequest} or an equivalent Hash.
@@ -221,7 +213,7 @@ module Google
221
213
  wrap_lro_operation = ->(op_response) { ::Gapic::Operation.new op_response, @operations_client }
222
214
  response = ::Gapic::PagedEnumerable.new @operations_stub, :list_operations, request, response, operation, options, format_resource: wrap_lro_operation
223
215
  yield response, operation if block_given?
224
- return response
216
+ throw :response, response
225
217
  end
226
218
  rescue ::GRPC::BadStatus => e
227
219
  raise ::Google::Cloud::Error.from_error(e)
@@ -317,7 +309,7 @@ module Google
317
309
  @operations_stub.call_rpc :get_operation, request, options: options do |response, operation|
318
310
  response = ::Gapic::Operation.new response, @operations_client, options: options
319
311
  yield response, operation if block_given?
320
- return response
312
+ throw :response, response
321
313
  end
322
314
  rescue ::GRPC::BadStatus => e
323
315
  raise ::Google::Cloud::Error.from_error(e)
@@ -406,7 +398,6 @@ module Google
406
398
 
407
399
  @operations_stub.call_rpc :delete_operation, request, options: options do |response, operation|
408
400
  yield response, operation if block_given?
409
- return response
410
401
  end
411
402
  rescue ::GRPC::BadStatus => e
412
403
  raise ::Google::Cloud::Error.from_error(e)
@@ -421,8 +412,9 @@ module Google
421
412
  # other methods to check whether the cancellation succeeded or whether the
422
413
  # operation completed despite cancellation. On successful cancellation,
423
414
  # the operation is not deleted; instead, it becomes an operation with
424
- # an {::Google::Longrunning::Operation#error Operation.error} value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
425
- # corresponding to `Code.CANCELLED`.
415
+ # an {::Google::Longrunning::Operation#error Operation.error} value with a
416
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of `1`, corresponding to
417
+ # `Code.CANCELLED`.
426
418
  #
427
419
  # @overload cancel_operation(request, options = nil)
428
420
  # Pass arguments to `cancel_operation` via a request object, either of type
@@ -501,7 +493,6 @@ module Google
501
493
 
502
494
  @operations_stub.call_rpc :cancel_operation, request, options: options do |response, operation|
503
495
  yield response, operation if block_given?
504
- return response
505
496
  end
506
497
  rescue ::GRPC::BadStatus => e
507
498
  raise ::Google::Cloud::Error.from_error(e)
@@ -599,7 +590,7 @@ module Google
599
590
  @operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
600
591
  response = ::Gapic::Operation.new response, @operations_client, options: options
601
592
  yield response, operation if block_given?
602
- return response
593
+ throw :response, response
603
594
  end
604
595
  rescue ::GRPC::BadStatus => e
605
596
  raise ::Google::Cloud::Error.from_error(e)
@@ -688,6 +679,11 @@ module Google
688
679
  # default endpoint URL. The default value of nil uses the environment
689
680
  # universe (usually the default "googleapis.com" universe).
690
681
  # @return [::String,nil]
682
+ # @!attribute [rw] logger
683
+ # A custom logger to use for request/response debug logging, or the value
684
+ # `:default` (the default) to construct a default logger, or `nil` to
685
+ # explicitly disable logging.
686
+ # @return [::Logger,:default,nil]
691
687
  #
692
688
  class Configuration
693
689
  extend ::Gapic::Config
@@ -712,6 +708,7 @@ module Google
712
708
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
713
709
  config_attr :quota_project, nil, ::String, nil
714
710
  config_attr :universe_domain, nil, ::String, nil
711
+ config_attr :logger, :default, ::Logger, nil, :default
715
712
 
716
713
  # @private
717
714
  def initialize parent_config = nil