diff --git a/.github/workflows/conformance-tests-storage-emulator.yaml b/.github/workflows/conformance-tests-storage-emulator.yaml index ea679a96b186..7a2c50bbeb56 100644 --- a/.github/workflows/conformance-tests-storage-emulator.yaml +++ b/.github/workflows/conformance-tests-storage-emulator.yaml @@ -16,7 +16,7 @@ jobs: services: emulator: - image: gcr.io/cloud-devrel-public-resources/storage-testbench:v0.62.0 + image: gcr.io/cloud-devrel-public-resources/storage-testbench:v0.63.0 ports: - 9000:9000 diff --git a/Dialogflow/metadata/V2/AudioConfig.php b/Dialogflow/metadata/V2/AudioConfig.php index 78723dbddf4e..4c5a680451e1 100644 --- a/Dialogflow/metadata/V2/AudioConfig.php +++ b/Dialogflow/metadata/V2/AudioConfig.php @@ -18,7 +18,7 @@ public static function initOnce() { \GPBMetadata\Google\Api\Resource::initOnce(); \GPBMetadata\Google\Protobuf\Duration::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xF5\x1C\x0A-google/cloud/dialogflow/v2/audio_config.proto\x12\x1Agoogle.cloud.dialogflow.v2\x1A\x19google/api/resource.proto\x1A\x1Egoogle/protobuf/duration.proto\"9\x0A\x0DSpeechContext\x12\x14\x0A\x07phrases\x18\x01 \x03(\x09B\x03\xE0A\x01\x12\x12\x0A\x05boost\x18\x02 \x01(\x02B\x03\xE0A\x01\"\x92\x01\x0A\x0ESpeechWordInfo\x12\x0C\x0A\x04word\x18\x03 \x01(\x09\x12/\x0A\x0Cstart_offset\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\x12-\x0A\x0Aend_offset\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12\x12\x0A\x0Aconfidence\x18\x04 \x01(\x02\"\xB6\x04\x0A\x10InputAudioConfig\x12F\x0A\x0Eaudio_encoding\x18\x01 \x01(\x0E2).google.cloud.dialogflow.v2.AudioEncodingB\x03\xE0A\x02\x12\x1E\x0A\x11sample_rate_hertz\x18\x02 \x01(\x05B\x03\xE0A\x02\x12\x1A\x0A\x0Dlanguage_code\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x18\x0A\x10enable_word_info\x18\x0D \x01(\x08\x12\x18\x0A\x0Cphrase_hints\x18\x04 \x03(\x09B\x02\x18\x01\x12B\x0A\x0Fspeech_contexts\x18\x0B \x03(\x0B2).google.cloud.dialogflow.v2.SpeechContext\x12\x0D\x0A\x05model\x18\x07 \x01(\x09\x12E\x0A\x0Dmodel_variant\x18\x0A \x01(\x0E2..google.cloud.dialogflow.v2.SpeechModelVariant\x12\x18\x0A\x10single_utterance\x18\x08 \x01(\x08\x12*\x0A\"disable_no_speech_recognized_event\x18\x0E \x01(\x08\x12\$\x0A\x1Cenable_automatic_punctuation\x18\x11 \x01(\x08\x129\x0A\x0Bphrase_sets\x18\x14 \x03(\x09B\$\xFAA!\x0A\x1Fspeech.googleapis.com/PhraseSet\x12)\x0A!opt_out_conformer_model_migration\x18\x1A \x01(\x08\"p\x0A\x14VoiceSelectionParams\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x01\x12E\x0A\x0Bssml_gender\x18\x02 \x01(\x0E2+.google.cloud.dialogflow.v2.SsmlVoiceGenderB\x03\xE0A\x01\"\xA0\x02\x0A\x16SynthesizeSpeechConfig\x12\x1A\x0A\x0Dspeaking_rate\x18\x01 \x01(\x01B\x03\xE0A\x01\x12\x12\x0A\x05pitch\x18\x02 \x01(\x01B\x03\xE0A\x01\x12\x1B\x0A\x0Evolume_gain_db\x18\x03 \x01(\x01B\x03\xE0A\x01\x12\x1F\x0A\x12effects_profile_id\x18\x05 \x03(\x09B\x03\xE0A\x01\x12D\x0A\x05voice\x18\x04 \x01(\x0B20.google.cloud.dialogflow.v2.VoiceSelectionParamsB\x03\xE0A\x01\x12R\x0A\x0Epronunciations\x18\x06 \x03(\x0B25.google.cloud.dialogflow.v2.CustomPronunciationParamsB\x03\xE0A\x01\"\x96\x02\x0A\x19CustomPronunciationParams\x12\x0E\x0A\x06phrase\x18\x01 \x01(\x09\x12a\x0A\x11phonetic_encoding\x18\x02 \x01(\x0E2F.google.cloud.dialogflow.v2.CustomPronunciationParams.PhoneticEncoding\x12\x15\x0A\x0Dpronunciation\x18\x03 \x01(\x09\"o\x0A\x10PhoneticEncoding\x12!\x0A\x1DPHONETIC_ENCODING_UNSPECIFIED\x10\x00\x12\x19\x0A\x15PHONETIC_ENCODING_IPA\x10\x01\x12\x1D\x0A\x19PHONETIC_ENCODING_X_SAMPA\x10\x02\"\xD2\x01\x0A\x11OutputAudioConfig\x12L\x0A\x0Eaudio_encoding\x18\x01 \x01(\x0E2/.google.cloud.dialogflow.v2.OutputAudioEncodingB\x03\xE0A\x02\x12\x19\x0A\x11sample_rate_hertz\x18\x02 \x01(\x05\x12T\x0A\x18synthesize_speech_config\x18\x03 \x01(\x0B22.google.cloud.dialogflow.v2.SynthesizeSpeechConfig\"U\x0A\x13TelephonyDtmfEvents\x12>\x0A\x0Bdtmf_events\x18\x01 \x03(\x0E2).google.cloud.dialogflow.v2.TelephonyDtmf\"\xE2\x02\x0A\x12SpeechToTextConfig\x12L\x0A\x14speech_model_variant\x18\x01 \x01(\x0E2..google.cloud.dialogflow.v2.SpeechModelVariant\x12\x0D\x0A\x05model\x18\x02 \x01(\x09\x129\x0A\x0Bphrase_sets\x18\x04 \x03(\x09B\$\xFAA!\x0A\x1Fspeech.googleapis.com/PhraseSet\x12A\x0A\x0Eaudio_encoding\x18\x06 \x01(\x0E2).google.cloud.dialogflow.v2.AudioEncoding\x12\x19\x0A\x11sample_rate_hertz\x18\x07 \x01(\x05\x12\x15\x0A\x0Dlanguage_code\x18\x08 \x01(\x09\x12\x18\x0A\x10enable_word_info\x18\x09 \x01(\x08\x12%\x0A\x1Duse_timeout_based_endpointing\x18\x0B \x01(\x08*\x94\x02\x0A\x0DTelephonyDtmf\x12\x1E\x0A\x1ATELEPHONY_DTMF_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08DTMF_ONE\x10\x01\x12\x0C\x0A\x08DTMF_TWO\x10\x02\x12\x0E\x0A\x0ADTMF_THREE\x10\x03\x12\x0D\x0A\x09DTMF_FOUR\x10\x04\x12\x0D\x0A\x09DTMF_FIVE\x10\x05\x12\x0C\x0A\x08DTMF_SIX\x10\x06\x12\x0E\x0A\x0ADTMF_SEVEN\x10\x07\x12\x0E\x0A\x0ADTMF_EIGHT\x10\x08\x12\x0D\x0A\x09DTMF_NINE\x10\x09\x12\x0D\x0A\x09DTMF_ZERO\x10\x0A\x12\x0A\x0A\x06DTMF_A\x10\x0B\x12\x0A\x0A\x06DTMF_B\x10\x0C\x12\x0A\x0A\x06DTMF_C\x10\x0D\x12\x0A\x0A\x06DTMF_D\x10\x0E\x12\x0D\x0A\x09DTMF_STAR\x10\x0F\x12\x0E\x0A\x0ADTMF_POUND\x10\x10*\x94\x02\x0A\x0DAudioEncoding\x12\x1E\x0A\x1AAUDIO_ENCODING_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18AUDIO_ENCODING_LINEAR_16\x10\x01\x12\x17\x0A\x13AUDIO_ENCODING_FLAC\x10\x02\x12\x18\x0A\x14AUDIO_ENCODING_MULAW\x10\x03\x12\x16\x0A\x12AUDIO_ENCODING_AMR\x10\x04\x12\x19\x0A\x15AUDIO_ENCODING_AMR_WB\x10\x05\x12\x1B\x0A\x17AUDIO_ENCODING_OGG_OPUS\x10\x06\x12)\x0A%AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE\x10\x07\x12\x17\x0A\x13AUDIO_ENCODING_ALAW\x10\x08*v\x0A\x12SpeechModelVariant\x12\$\x0A SPEECH_MODEL_VARIANT_UNSPECIFIED\x10\x00\x12\x16\x0A\x12USE_BEST_AVAILABLE\x10\x01\x12\x10\x0A\x0CUSE_STANDARD\x10\x02\x12\x10\x0A\x0CUSE_ENHANCED\x10\x03*\x8D\x01\x0A\x0FSsmlVoiceGender\x12!\x0A\x1DSSML_VOICE_GENDER_UNSPECIFIED\x10\x00\x12\x1A\x0A\x16SSML_VOICE_GENDER_MALE\x10\x01\x12\x1C\x0A\x18SSML_VOICE_GENDER_FEMALE\x10\x02\x12\x1D\x0A\x19SSML_VOICE_GENDER_NEUTRAL\x10\x03*\x90\x02\x0A\x13OutputAudioEncoding\x12%\x0A!OUTPUT_AUDIO_ENCODING_UNSPECIFIED\x10\x00\x12#\x0A\x1FOUTPUT_AUDIO_ENCODING_LINEAR_16\x10\x01\x12!\x0A\x19OUTPUT_AUDIO_ENCODING_MP3\x10\x02\x1A\x02\x08\x01\x12%\x0A!OUTPUT_AUDIO_ENCODING_MP3_64_KBPS\x10\x04\x12\"\x0A\x1EOUTPUT_AUDIO_ENCODING_OGG_OPUS\x10\x03\x12\x1F\x0A\x1BOUTPUT_AUDIO_ENCODING_MULAW\x10\x05\x12\x1E\x0A\x1AOUTPUT_AUDIO_ENCODING_ALAW\x10\x06B\xD3\x02\x0A\x1Ecom.google.cloud.dialogflow.v2B\x10AudioConfigProtoP\x01Z>cloud.google.com/go/dialogflow/apiv2/dialogflowpb;dialogflowpb\xA2\x02\x02DF\xAA\x02\x1AGoogle.Cloud.Dialogflow.V2\xEAAU\x0A\x1Bautoml.googleapis.com/Model\x126projects/{project}/locations/{location}/models/{model}\xEAAb\x0A\x1Fspeech.googleapis.com/PhraseSet\x12?projects/{project}/locations/{location}/phraseSets/{phrase_set}b\x06proto3" + "\x0A\xA0\x1D\x0A-google/cloud/dialogflow/v2/audio_config.proto\x12\x1Agoogle.cloud.dialogflow.v2\x1A\x19google/api/resource.proto\x1A\x1Egoogle/protobuf/duration.proto\"9\x0A\x0DSpeechContext\x12\x14\x0A\x07phrases\x18\x01 \x03(\x09B\x03\xE0A\x01\x12\x12\x0A\x05boost\x18\x02 \x01(\x02B\x03\xE0A\x01\"\x92\x01\x0A\x0ESpeechWordInfo\x12\x0C\x0A\x04word\x18\x03 \x01(\x09\x12/\x0A\x0Cstart_offset\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\x12-\x0A\x0Aend_offset\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12\x12\x0A\x0Aconfidence\x18\x04 \x01(\x02\"\xE1\x04\x0A\x10InputAudioConfig\x12F\x0A\x0Eaudio_encoding\x18\x01 \x01(\x0E2).google.cloud.dialogflow.v2.AudioEncodingB\x03\xE0A\x02\x12\x1E\x0A\x11sample_rate_hertz\x18\x02 \x01(\x05B\x03\xE0A\x02\x12\x1A\x0A\x0Dlanguage_code\x18\x03 \x01(\x09B\x03\xE0A\x02\x12\x18\x0A\x10enable_word_info\x18\x0D \x01(\x08\x12\x18\x0A\x0Cphrase_hints\x18\x04 \x03(\x09B\x02\x18\x01\x12B\x0A\x0Fspeech_contexts\x18\x0B \x03(\x0B2).google.cloud.dialogflow.v2.SpeechContext\x12\x0D\x0A\x05model\x18\x07 \x01(\x09\x12E\x0A\x0Dmodel_variant\x18\x0A \x01(\x0E2..google.cloud.dialogflow.v2.SpeechModelVariant\x12\x18\x0A\x10single_utterance\x18\x08 \x01(\x08\x12)\x0A\x1Cenable_voice_activity_events\x18\x1B \x01(\x08B\x03\xE0A\x01\x12*\x0A\"disable_no_speech_recognized_event\x18\x0E \x01(\x08\x12\$\x0A\x1Cenable_automatic_punctuation\x18\x11 \x01(\x08\x129\x0A\x0Bphrase_sets\x18\x14 \x03(\x09B\$\xFAA!\x0A\x1Fspeech.googleapis.com/PhraseSet\x12)\x0A!opt_out_conformer_model_migration\x18\x1A \x01(\x08\"p\x0A\x14VoiceSelectionParams\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x01\x12E\x0A\x0Bssml_gender\x18\x02 \x01(\x0E2+.google.cloud.dialogflow.v2.SsmlVoiceGenderB\x03\xE0A\x01\"\xA0\x02\x0A\x16SynthesizeSpeechConfig\x12\x1A\x0A\x0Dspeaking_rate\x18\x01 \x01(\x01B\x03\xE0A\x01\x12\x12\x0A\x05pitch\x18\x02 \x01(\x01B\x03\xE0A\x01\x12\x1B\x0A\x0Evolume_gain_db\x18\x03 \x01(\x01B\x03\xE0A\x01\x12\x1F\x0A\x12effects_profile_id\x18\x05 \x03(\x09B\x03\xE0A\x01\x12D\x0A\x05voice\x18\x04 \x01(\x0B20.google.cloud.dialogflow.v2.VoiceSelectionParamsB\x03\xE0A\x01\x12R\x0A\x0Epronunciations\x18\x06 \x03(\x0B25.google.cloud.dialogflow.v2.CustomPronunciationParamsB\x03\xE0A\x01\"\x96\x02\x0A\x19CustomPronunciationParams\x12\x0E\x0A\x06phrase\x18\x01 \x01(\x09\x12a\x0A\x11phonetic_encoding\x18\x02 \x01(\x0E2F.google.cloud.dialogflow.v2.CustomPronunciationParams.PhoneticEncoding\x12\x15\x0A\x0Dpronunciation\x18\x03 \x01(\x09\"o\x0A\x10PhoneticEncoding\x12!\x0A\x1DPHONETIC_ENCODING_UNSPECIFIED\x10\x00\x12\x19\x0A\x15PHONETIC_ENCODING_IPA\x10\x01\x12\x1D\x0A\x19PHONETIC_ENCODING_X_SAMPA\x10\x02\"\xD2\x01\x0A\x11OutputAudioConfig\x12L\x0A\x0Eaudio_encoding\x18\x01 \x01(\x0E2/.google.cloud.dialogflow.v2.OutputAudioEncodingB\x03\xE0A\x02\x12\x19\x0A\x11sample_rate_hertz\x18\x02 \x01(\x05\x12T\x0A\x18synthesize_speech_config\x18\x03 \x01(\x0B22.google.cloud.dialogflow.v2.SynthesizeSpeechConfig\"U\x0A\x13TelephonyDtmfEvents\x12>\x0A\x0Bdtmf_events\x18\x01 \x03(\x0E2).google.cloud.dialogflow.v2.TelephonyDtmf\"\xE2\x02\x0A\x12SpeechToTextConfig\x12L\x0A\x14speech_model_variant\x18\x01 \x01(\x0E2..google.cloud.dialogflow.v2.SpeechModelVariant\x12\x0D\x0A\x05model\x18\x02 \x01(\x09\x129\x0A\x0Bphrase_sets\x18\x04 \x03(\x09B\$\xFAA!\x0A\x1Fspeech.googleapis.com/PhraseSet\x12A\x0A\x0Eaudio_encoding\x18\x06 \x01(\x0E2).google.cloud.dialogflow.v2.AudioEncoding\x12\x19\x0A\x11sample_rate_hertz\x18\x07 \x01(\x05\x12\x15\x0A\x0Dlanguage_code\x18\x08 \x01(\x09\x12\x18\x0A\x10enable_word_info\x18\x09 \x01(\x08\x12%\x0A\x1Duse_timeout_based_endpointing\x18\x0B \x01(\x08*\x94\x02\x0A\x0DTelephonyDtmf\x12\x1E\x0A\x1ATELEPHONY_DTMF_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08DTMF_ONE\x10\x01\x12\x0C\x0A\x08DTMF_TWO\x10\x02\x12\x0E\x0A\x0ADTMF_THREE\x10\x03\x12\x0D\x0A\x09DTMF_FOUR\x10\x04\x12\x0D\x0A\x09DTMF_FIVE\x10\x05\x12\x0C\x0A\x08DTMF_SIX\x10\x06\x12\x0E\x0A\x0ADTMF_SEVEN\x10\x07\x12\x0E\x0A\x0ADTMF_EIGHT\x10\x08\x12\x0D\x0A\x09DTMF_NINE\x10\x09\x12\x0D\x0A\x09DTMF_ZERO\x10\x0A\x12\x0A\x0A\x06DTMF_A\x10\x0B\x12\x0A\x0A\x06DTMF_B\x10\x0C\x12\x0A\x0A\x06DTMF_C\x10\x0D\x12\x0A\x0A\x06DTMF_D\x10\x0E\x12\x0D\x0A\x09DTMF_STAR\x10\x0F\x12\x0E\x0A\x0ADTMF_POUND\x10\x10*\x94\x02\x0A\x0DAudioEncoding\x12\x1E\x0A\x1AAUDIO_ENCODING_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18AUDIO_ENCODING_LINEAR_16\x10\x01\x12\x17\x0A\x13AUDIO_ENCODING_FLAC\x10\x02\x12\x18\x0A\x14AUDIO_ENCODING_MULAW\x10\x03\x12\x16\x0A\x12AUDIO_ENCODING_AMR\x10\x04\x12\x19\x0A\x15AUDIO_ENCODING_AMR_WB\x10\x05\x12\x1B\x0A\x17AUDIO_ENCODING_OGG_OPUS\x10\x06\x12)\x0A%AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE\x10\x07\x12\x17\x0A\x13AUDIO_ENCODING_ALAW\x10\x08*v\x0A\x12SpeechModelVariant\x12\$\x0A SPEECH_MODEL_VARIANT_UNSPECIFIED\x10\x00\x12\x16\x0A\x12USE_BEST_AVAILABLE\x10\x01\x12\x10\x0A\x0CUSE_STANDARD\x10\x02\x12\x10\x0A\x0CUSE_ENHANCED\x10\x03*\x8D\x01\x0A\x0FSsmlVoiceGender\x12!\x0A\x1DSSML_VOICE_GENDER_UNSPECIFIED\x10\x00\x12\x1A\x0A\x16SSML_VOICE_GENDER_MALE\x10\x01\x12\x1C\x0A\x18SSML_VOICE_GENDER_FEMALE\x10\x02\x12\x1D\x0A\x19SSML_VOICE_GENDER_NEUTRAL\x10\x03*\x90\x02\x0A\x13OutputAudioEncoding\x12%\x0A!OUTPUT_AUDIO_ENCODING_UNSPECIFIED\x10\x00\x12#\x0A\x1FOUTPUT_AUDIO_ENCODING_LINEAR_16\x10\x01\x12!\x0A\x19OUTPUT_AUDIO_ENCODING_MP3\x10\x02\x1A\x02\x08\x01\x12%\x0A!OUTPUT_AUDIO_ENCODING_MP3_64_KBPS\x10\x04\x12\"\x0A\x1EOUTPUT_AUDIO_ENCODING_OGG_OPUS\x10\x03\x12\x1F\x0A\x1BOUTPUT_AUDIO_ENCODING_MULAW\x10\x05\x12\x1E\x0A\x1AOUTPUT_AUDIO_ENCODING_ALAW\x10\x06B\xD3\x02\x0A\x1Ecom.google.cloud.dialogflow.v2B\x10AudioConfigProtoP\x01Z>cloud.google.com/go/dialogflow/apiv2/dialogflowpb;dialogflowpb\xA2\x02\x02DF\xAA\x02\x1AGoogle.Cloud.Dialogflow.V2\xEAAU\x0A\x1Bautoml.googleapis.com/Model\x126projects/{project}/locations/{location}/models/{model}\xEAAb\x0A\x1Fspeech.googleapis.com/PhraseSet\x12?projects/{project}/locations/{location}/phraseSets/{phrase_set}b\x06proto3" , true); static::$is_initialized = true; diff --git a/Dialogflow/metadata/V2/Conversation.php b/Dialogflow/metadata/V2/Conversation.php index 6c57d75cc3e4..a71904af718f 100644 --- a/Dialogflow/metadata/V2/Conversation.php +++ b/Dialogflow/metadata/V2/Conversation.php @@ -25,7 +25,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\Struct::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\x97w\x0A-google/cloud/dialogflow/v2/conversation.proto\x12\x1Agoogle.cloud.dialogflow.v2\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A5google/cloud/dialogflow/v2/conversation_profile.proto\x1A*google/cloud/dialogflow/v2/generator.proto\x1A,google/cloud/dialogflow/v2/participant.proto\x1A(google/cloud/dialogflow/v2/session.proto\x1A\x1Cgoogle/protobuf/struct.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xF4\x16\x0A\x0CConversation\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12U\x0A\x0Flifecycle_state\x18\x02 \x01(\x0E27.google.cloud.dialogflow.v2.Conversation.LifecycleStateB\x03\xE0A\x03\x12S\x0A\x14conversation_profile\x18\x03 \x01(\x09B5\xE0A\x02\xFAA/\x0A-dialogflow.googleapis.com/ConversationProfile\x12N\x0A\x0Cphone_number\x18\x04 \x01(\x0B23.google.cloud.dialogflow.v2.ConversationPhoneNumberB\x03\xE0A\x03\x123\x0A\x0Astart_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12[\x0A\x12conversation_stage\x18\x07 \x01(\x0E2:.google.cloud.dialogflow.v2.Conversation.ConversationStageB\x03\xE0A\x01\x12h\x0A\x19telephony_connection_info\x18\x0A \x01(\x0B2@.google.cloud.dialogflow.v2.Conversation.TelephonyConnectionInfoB\x03\xE0A\x03\x12]\x0A\x1Cinitial_conversation_profile\x18\x0F \x01(\x0B2/.google.cloud.dialogflow.v2.ConversationProfileB\x06\xE0A\x01\xE0A\x03\x12q\x0A\x1Bingested_context_references\x18\x11 \x03(\x0B2G.google.cloud.dialogflow.v2.Conversation.IngestedContextReferencesEntryB\x03\xE0A\x03\x12o\x0A\x1Ainitial_generator_contexts\x18\x12 \x03(\x0B2F.google.cloud.dialogflow.v2.Conversation.InitialGeneratorContextsEntryB\x03\xE0A\x03\x1A\x8E\x03\x0A\x17TelephonyConnectionInfo\x12\x1A\x0A\x0Ddialed_number\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x10\x0A\x03sdp\x18\x05 \x01(\x09B\x03\xE0A\x01\x12d\x0A\x0Bsip_headers\x18\x0C \x03(\x0B2J.google.cloud.dialogflow.v2.Conversation.TelephonyConnectionInfo.SipHeaderB\x03\xE0A\x03\x12n\x0A\x13extra_mime_contents\x18\x0D \x03(\x0B2L.google.cloud.dialogflow.v2.Conversation.TelephonyConnectionInfo.MimeContentB\x03\xE0A\x03\x1A2\x0A\x09SipHeader\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05value\x18\x02 \x01(\x09B\x03\xE0A\x01\x1A;\x0A\x0BMimeContent\x12\x16\x0A\x09mime_type\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x14\x0A\x07content\x18\x02 \x01(\x0CB\x03\xE0A\x01\x1A\xAC\x05\x0A\x10ContextReference\x12g\x0A\x10context_contents\x18\x01 \x03(\x0B2H.google.cloud.dialogflow.v2.Conversation.ContextReference.ContextContentB\x03\xE0A\x02\x12^\x0A\x0Bupdate_mode\x18\x02 \x01(\x0E2D.google.cloud.dialogflow.v2.Conversation.ContextReference.UpdateModeB\x03\xE0A\x02\x12\x1A\x0A\x0Dlanguage_code\x18\x03 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x1A\xB6\x02\x0A\x0EContextContent\x12\x14\x0A\x07content\x18\x01 \x01(\x09B\x03\xE0A\x02\x12s\x0A\x0Econtent_format\x18\x02 \x01(\x0E2V.google.cloud.dialogflow.v2.Conversation.ContextReference.ContextContent.ContentFormatB\x03\xE0A\x02\x127\x0A\x0Eingestion_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x15\x0A\x0Danswer_record\x18\x04 \x01(\x09\"I\x0A\x0DContentFormat\x12\x1E\x0A\x1ACONTENT_FORMAT_UNSPECIFIED\x10\x00\x12\x08\x0A\x04JSON\x10\x01\x12\x0E\x0A\x0APLAIN_TEXT\x10\x02\"D\x0A\x0AUpdateMode\x12\x1B\x0A\x17UPDATE_MODE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06APPEND\x10\x01\x12\x0D\x0A\x09OVERWRITE\x10\x02\x1A\xA6\x02\x0A\x10GeneratorContext\x12d\x0A\x0Egenerator_type\x18\x01 \x01(\x0E2G.google.cloud.dialogflow.v2.Conversation.GeneratorContext.GeneratorTypeB\x03\xE0A\x03\"\xAB\x01\x0A\x0DGeneratorType\x12\x1E\x0A\x1AGENERATOR_TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09FREE_FORM\x10\x01\x12\x12\x0A\x0EAGENT_COACHING\x10\x02\x12\x11\x0A\x0DSUMMARIZATION\x10\x03\x12\x0F\x0A\x0BTRANSLATION\x10\x04\x12\x12\x0A\x0EAGENT_FEEDBACK\x10\x05\x12\x1F\x0A\x1BCUSTOMER_MESSAGE_GENERATION\x10\x06\x1A{\x0A\x1EIngestedContextReferencesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12H\x0A\x05value\x18\x02 \x01(\x0B29.google.cloud.dialogflow.v2.Conversation.ContextReference:\x028\x01\x1Az\x0A\x1DInitialGeneratorContextsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12H\x0A\x05value\x18\x02 \x01(\x0B29.google.cloud.dialogflow.v2.Conversation.GeneratorContext:\x028\x01\"Q\x0A\x0ELifecycleState\x12\x1F\x0A\x1BLIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BIN_PROGRESS\x10\x01\x12\x0D\x0A\x09COMPLETED\x10\x02\"h\x0A\x11ConversationStage\x12\"\x0A\x1ECONVERSATION_STAGE_UNSPECIFIED\x10\x00\x12\x17\x0A\x13VIRTUAL_AGENT_STAGE\x10\x01\x12\x16\x0A\x12HUMAN_ASSIST_STAGE\x10\x02:\xC0\x01\xEAA\xBC\x01\x0A&dialogflow.googleapis.com/Conversation\x12/projects/{project}/conversations/{conversation}\x12Dprojects/{project}/locations/{location}/conversations/{conversation}*\x0Dconversations2\x0Cconversation\"\xBE\x01\x0A\x19CreateConversationRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x12&dialogflow.googleapis.com/Conversation\x12C\x0A\x0Cconversation\x18\x02 \x01(\x0B2(.google.cloud.dialogflow.v2.ConversationB\x03\xE0A\x02\x12\x1C\x0A\x0Fconversation_id\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xA0\x01\x0A\x18ListConversationsRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x12&dialogflow.googleapis.com/Conversation\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"u\x0A\x19ListConversationsResponse\x12?\x0A\x0Dconversations\x18\x01 \x03(\x0B2(.google.cloud.dialogflow.v2.Conversation\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"V\x0A\x16GetConversationRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dialogflow.googleapis.com/Conversation\"[\x0A\x1BCompleteConversationRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dialogflow.googleapis.com/Conversation\"\x96\x01\x0A\x13ListMessagesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x12!dialogflow.googleapis.com/Message\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"f\x0A\x14ListMessagesResponse\x125\x0A\x08messages\x18\x01 \x03(\x0B2#.google.cloud.dialogflow.v2.Message\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"O\x0A\x17ConversationPhoneNumber\x12\x19\x0A\x0Ccountry_code\x18\x02 \x01(\x05B\x03\xE0A\x03\x12\x19\x0A\x0Cphone_number\x18\x03 \x01(\x09B\x03\xE0A\x03\"\xCF\x02\x0A\x1EIngestContextReferencesRequest\x12D\x0A\x0Cconversation\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dialogflow.googleapis.com/Conversation\x12r\x0A\x12context_references\x18\x02 \x03(\x0B2Q.google.cloud.dialogflow.v2.IngestContextReferencesRequest.ContextReferencesEntryB\x03\xE0A\x02\x1As\x0A\x16ContextReferencesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12H\x0A\x05value\x18\x02 \x01(\x0B29.google.cloud.dialogflow.v2.Conversation.ContextReference:\x028\x01\"\x9F\x02\x0A\x1FIngestContextReferencesResponse\x12\x7F\x0A\x1Bingested_context_references\x18\x01 \x03(\x0B2Z.google.cloud.dialogflow.v2.IngestContextReferencesResponse.IngestedContextReferencesEntry\x1A{\x0A\x1EIngestedContextReferencesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12H\x0A\x05value\x18\x02 \x01(\x0B29.google.cloud.dialogflow.v2.Conversation.ContextReference:\x028\x01\"\x9C\x02\x0A!SuggestConversationSummaryRequest\x12D\x0A\x0Cconversation\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dialogflow.googleapis.com/Conversation\x12A\x0A\x0Elatest_message\x18\x03 \x01(\x09B)\xE0A\x01\xFAA#\x0A!dialogflow.googleapis.com/Message\x12\x19\x0A\x0Ccontext_size\x18\x04 \x01(\x05B\x03\xE0A\x01\x12S\x0A\x13assist_query_params\x18\x05 \x01(\x0B21.google.cloud.dialogflow.v2.AssistQueryParametersB\x03\xE0A\x01\"\xAA\x05\x0A\"SuggestConversationSummaryResponse\x12W\x0A\x07summary\x18\x01 \x01(\x0B2F.google.cloud.dialogflow.v2.SuggestConversationSummaryResponse.Summary\x12>\x0A\x0Elatest_message\x18\x02 \x01(\x09B&\xFAA#\x0A!dialogflow.googleapis.com/Message\x12\x14\x0A\x0Ccontext_size\x18\x03 \x01(\x05\x1A\xD4\x03\x0A\x07Summary\x12\x0C\x0A\x04text\x18\x01 \x01(\x09\x12o\x0A\x0Dtext_sections\x18\x04 \x03(\x0B2X.google.cloud.dialogflow.v2.SuggestConversationSummaryResponse.Summary.TextSectionsEntry\x12s\x0A\x14sorted_text_sections\x18\x06 \x03(\x0B2U.google.cloud.dialogflow.v2.SuggestConversationSummaryResponse.Summary.SummarySection\x12B\x0A\x0Danswer_record\x18\x03 \x01(\x09B+\xFAA(\x0A&dialogflow.googleapis.com/AnswerRecord\x12\x1E\x0A\x16baseline_model_version\x18\x05 \x01(\x09\x1A<\x0A\x0ESummarySection\x12\x14\x0A\x07section\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x14\x0A\x07summary\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A3\x0A\x11TextSectionsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xDC\x03\x0A\x1FGenerateStatelessSummaryRequest\x12t\x0A\x16stateless_conversation\x18\x01 \x01(\x0B2O.google.cloud.dialogflow.v2.GenerateStatelessSummaryRequest.MinimalConversationB\x03\xE0A\x02\x12R\x0A\x14conversation_profile\x18\x02 \x01(\x0B2/.google.cloud.dialogflow.v2.ConversationProfileB\x03\xE0A\x02\x12A\x0A\x0Elatest_message\x18\x03 \x01(\x09B)\xE0A\x01\xFAA#\x0A!dialogflow.googleapis.com/Message\x12\x1D\x0A\x10max_context_size\x18\x04 \x01(\x05B\x03\xE0A\x01\x1A\x8C\x01\x0A\x13MinimalConversation\x12:\x0A\x08messages\x18\x01 \x03(\x0B2#.google.cloud.dialogflow.v2.MessageB\x03\xE0A\x02\x129\x0A\x06parent\x18\x02 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\"\xAD\x03\x0A GenerateStatelessSummaryResponse\x12U\x0A\x07summary\x18\x01 \x01(\x0B2D.google.cloud.dialogflow.v2.GenerateStatelessSummaryResponse.Summary\x12>\x0A\x0Elatest_message\x18\x02 \x01(\x09B&\xFAA#\x0A!dialogflow.googleapis.com/Message\x12\x14\x0A\x0Ccontext_size\x18\x03 \x01(\x05\x1A\xDB\x01\x0A\x07Summary\x12\x0C\x0A\x04text\x18\x01 \x01(\x09\x12m\x0A\x0Dtext_sections\x18\x02 \x03(\x0B2V.google.cloud.dialogflow.v2.GenerateStatelessSummaryResponse.Summary.TextSectionsEntry\x12\x1E\x0A\x16baseline_model_version\x18\x04 \x01(\x09\x1A3\x0A\x11TextSectionsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xF3\x04\x0A\"GenerateStatelessSuggestionRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12:\x0A\x09generator\x18\x02 \x01(\x0B2%.google.cloud.dialogflow.v2.GeneratorH\x00\x12\x18\x0A\x0Egenerator_name\x18\x03 \x01(\x09H\x00\x12v\x0A\x12context_references\x18\x04 \x03(\x0B2U.google.cloud.dialogflow.v2.GenerateStatelessSuggestionRequest.ContextReferencesEntryB\x03\xE0A\x01\x12R\x0A\x14conversation_context\x18\x05 \x01(\x0B2/.google.cloud.dialogflow.v2.ConversationContextB\x03\xE0A\x01\x12E\x0A\x0Etrigger_events\x18\x06 \x03(\x0E2(.google.cloud.dialogflow.v2.TriggerEventB\x03\xE0A\x01\x12\x1E\x0A\x11security_settings\x18\x08 \x01(\x09B\x03\xE0A\x01\x1As\x0A\x16ContextReferencesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12H\x0A\x05value\x18\x02 \x01(\x0B29.google.cloud.dialogflow.v2.Conversation.ContextReference:\x028\x01B\x14\x0A\x12generator_resource\"y\x0A#GenerateStatelessSuggestionResponse\x12R\x0A\x14generator_suggestion\x18\x01 \x01(\x0B2/.google.cloud.dialogflow.v2.GeneratorSuggestionB\x03\xE0A\x02\"\x9C\x12\x0A\x16SearchKnowledgeRequest\x12\x13\x0A\x06parent\x18\x06 \x01(\x09B\x03\xE0A\x02\x129\x0A\x05query\x18\x01 \x01(\x0B2%.google.cloud.dialogflow.v2.TextInputB\x03\xE0A\x02\x12S\x0A\x14conversation_profile\x18\x02 \x01(\x09B5\xE0A\x02\xFAA/\x0A-dialogflow.googleapis.com/ConversationProfile\x12\x17\x0A\x0Asession_id\x18\x03 \x01(\x09B\x03\xE0A\x02\x12D\x0A\x0Cconversation\x18\x04 \x01(\x09B.\xE0A\x01\xFAA(\x0A&dialogflow.googleapis.com/Conversation\x12A\x0A\x0Elatest_message\x18\x05 \x01(\x09B)\xE0A\x01\xFAA#\x0A!dialogflow.googleapis.com/Message\x12Y\x0A\x0Cquery_source\x18\x07 \x01(\x0E2>.google.cloud.dialogflow.v2.SearchKnowledgeRequest.QuerySourceB\x03\xE0A\x01\x127\x0A\x11end_user_metadata\x18\x09 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12[\x0A\x0Dsearch_config\x18\x0B \x01(\x0B2?.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfigB\x03\xE0A\x01\x12\x19\x0A\x0Cexact_search\x18\x0E \x01(\x08B\x03\xE0A\x01\x1A\xDB\x0C\x0A\x0CSearchConfig\x12d\x0A\x0Bboost_specs\x18\x01 \x03(\x0B2J.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecsB\x03\xE0A\x01\x12f\x0A\x0Cfilter_specs\x18\x02 \x03(\x0B2K.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.FilterSpecsB\x03\xE0A\x01\x1A\xBE\x0A\x0A\x0ABoostSpecs\x12E\x0A\x0Bdata_stores\x18\x01 \x03(\x09B0\xE0A\x01\xFAA*\x0A(discoveryengine.googleapis.com/DataStore\x12g\x0A\x04spec\x18\x02 \x03(\x0B2T.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpecB\x03\xE0A\x01\x1A\xFF\x08\x0A\x09BoostSpec\x12\x8B\x01\x0A\x15condition_boost_specs\x18\x01 \x03(\x0B2g.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpec.ConditionBoostSpecB\x03\xE0A\x01\x1A\xE3\x07\x0A\x12ConditionBoostSpec\x12\x16\x0A\x09condition\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05boost\x18\x02 \x01(\x02B\x03\xE0A\x01\x12\x99\x01\x0A\x12boost_control_spec\x18\x04 \x01(\x0B2x.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpec.ConditionBoostSpec.BoostControlSpecB\x03\xE0A\x01\x1A\x84\x06\x0A\x10BoostControlSpec\x12\x17\x0A\x0Afield_name\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\xA4\x01\x0A\x0Eattribute_type\x18\x02 \x01(\x0E2\x86\x01.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeTypeB\x03\xE0A\x01\x12\xAC\x01\x0A\x12interpolation_type\x18\x03 \x01(\x0E2\x8A\x01.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationTypeB\x03\xE0A\x01\x12\xA3\x01\x0A\x0Econtrol_points\x18\x04 \x03(\x0B2\x85\x01.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPointB\x03\xE0A\x01\x1AG\x0A\x0CControlPoint\x12\x1C\x0A\x0Fattribute_value\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cboost_amount\x18\x02 \x01(\x02B\x03\xE0A\x01\"M\x0A\x0DAttributeType\x12\x1E\x0A\x1AATTRIBUTE_TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09NUMERICAL\x10\x01\x12\x0D\x0A\x09FRESHNESS\x10\x02\"C\x0A\x11InterpolationType\x12\"\x0A\x1EINTERPOLATION_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06LINEAR\x10\x01\x1A<\x0A\x0BFilterSpecs\x12\x18\x0A\x0Bdata_stores\x18\x01 \x03(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x02 \x01(\x09B\x03\xE0A\x01\"Q\x0A\x0BQuerySource\x12\x1C\x0A\x18QUERY_SOURCE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BAGENT_QUERY\x10\x01\x12\x13\x0A\x0FSUGGESTED_QUERY\x10\x02\"\xA4\x04\x0A\x18SearchKnowledgeDebugInfo\x12V\x0A\x19datastore_response_reason\x18\x01 \x01(\x0E23.google.cloud.dialogflow.v2.DatastoreResponseReason\x12o\x0A\x19search_knowledge_behavior\x18\x02 \x01(\x0B2L.google.cloud.dialogflow.v2.SearchKnowledgeDebugInfo.SearchKnowledgeBehavior\x12l\x0A%ingested_context_reference_debug_info\x18\x03 \x01(\x0B2=.google.cloud.dialogflow.v2.IngestedContextReferenceDebugInfo\x12C\x0A\x0Fservice_latency\x18\x04 \x01(\x0B2*.google.cloud.dialogflow.v2.ServiceLatency\x1A\x8B\x01\x0A\x17SearchKnowledgeBehavior\x12%\x0A\x1Danswer_generation_rewriter_on\x18\x01 \x01(\x08\x12\"\x0A\x1Aend_user_metadata_included\x18\x02 \x01(\x08\x12%\x0A\x1Dthird_party_connector_allowed\x18\x04 \x01(\x08\"\xD1\x01\x0A\x17SearchKnowledgeResponse\x12B\x0A\x07answers\x18\x02 \x03(\x0B21.google.cloud.dialogflow.v2.SearchKnowledgeAnswer\x12\x17\x0A\x0Frewritten_query\x18\x03 \x01(\x09\x12Y\x0A\x1Bsearch_knowledge_debug_info\x18\x04 \x01(\x0B24.google.cloud.dialogflow.v2.SearchKnowledgeDebugInfo\"\xE7\x03\x0A\x15SearchKnowledgeAnswer\x12\x0E\x0A\x06answer\x18\x01 \x01(\x09\x12Q\x0A\x0Banswer_type\x18\x02 \x01(\x0E2<.google.cloud.dialogflow.v2.SearchKnowledgeAnswer.AnswerType\x12V\x0A\x0Eanswer_sources\x18\x03 \x03(\x0B2>.google.cloud.dialogflow.v2.SearchKnowledgeAnswer.AnswerSource\x12B\x0A\x0Danswer_record\x18\x05 \x01(\x09B+\xFAA(\x0A&dialogflow.googleapis.com/AnswerRecord\x1Af\x0A\x0CAnswerSource\x12\x0D\x0A\x05title\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x0F\x0A\x07snippet\x18\x03 \x01(\x09\x12)\x0A\x08metadata\x18\x05 \x01(\x0B2\x17.google.protobuf.Struct\"g\x0A\x0AAnswerType\x12\x1B\x0A\x17ANSWER_TYPE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03FAQ\x10\x01\x12\x0E\x0A\x0AGENERATIVE\x10\x02\x12\x0A\x0A\x06INTENT\x10\x03\x12\x0C\x0A\x08PLAYBOOK\x10\x04\x12\x09\x0A\x05EVENT\x10\x05\"\xEC\x01\x0A\x1AGenerateSuggestionsRequest\x12D\x0A\x0Cconversation\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dialogflow.googleapis.com/Conversation\x12A\x0A\x0Elatest_message\x18\x02 \x01(\x09B)\xE0A\x01\xFAA#\x0A!dialogflow.googleapis.com/Message\x12E\x0A\x0Etrigger_events\x18\x03 \x03(\x0E2(.google.cloud.dialogflow.v2.TriggerEventB\x03\xE0A\x012\xA6\x1A\x0A\x0DConversations\x12\x8C\x02\x0A\x12CreateConversation\x125.google.cloud.dialogflow.v2.CreateConversationRequest\x1A(.google.cloud.dialogflow.v2.Conversation\"\x94\x01\xDAA\x13parent,conversation\x82\xD3\xE4\x93\x02x\"%/v2/{parent=projects/*}/conversations:\x0CconversationZA\"1/v2/{parent=projects/*/locations/*}/conversations:\x0Cconversation\x12\xED\x01\x0A\x11ListConversations\x124.google.cloud.dialogflow.v2.ListConversationsRequest\x1A5.google.cloud.dialogflow.v2.ListConversationsResponse\"k\xDAA\x06parent\x82\xD3\xE4\x93\x02\\\x12%/v2/{parent=projects/*}/conversationsZ3\x121/v2/{parent=projects/*/locations/*}/conversations\x12\xDA\x01\x0A\x0FGetConversation\x122.google.cloud.dialogflow.v2.GetConversationRequest\x1A(.google.cloud.dialogflow.v2.Conversation\"i\xDAA\x04name\x82\xD3\xE4\x93\x02\\\x12%/v2/{name=projects/*/conversations/*}Z3\x121/v2/{name=projects/*/locations/*/conversations/*}\x12\xFD\x01\x0A\x14CompleteConversation\x127.google.cloud.dialogflow.v2.CompleteConversationRequest\x1A(.google.cloud.dialogflow.v2.Conversation\"\x81\x01\xDAA\x04name\x82\xD3\xE4\x93\x02t\"./v2/{name=projects/*/conversations/*}:complete:\x01*Z?\":/v2/{name=projects/*/locations/*/conversations/*}:complete:\x01*\x12\x92\x02\x0A\x17IngestContextReferences\x12:.google.cloud.dialogflow.v2.IngestContextReferencesRequest\x1A;.google.cloud.dialogflow.v2.IngestContextReferencesResponse\"~\xDAA\x1Fconversation,context_references\x82\xD3\xE4\x93\x02V\"Q/v2/{conversation=projects/*/locations/*/conversations/*}:ingestContextReferences:\x01*\x12\xF5\x01\x0A\x0CListMessages\x12/.google.cloud.dialogflow.v2.ListMessagesRequest\x1A0.google.cloud.dialogflow.v2.ListMessagesResponse\"\x81\x01\xDAA\x06parent\x82\xD3\xE4\x93\x02r\x120/v2/{parent=projects/*/conversations/*}/messagesZ>\x12.google.cloud.dialogflow.v2.SuggestConversationSummaryResponse\"\xD6\x01\xDAA\x0Cconversation\x82\xD3\xE4\x93\x02\xC0\x01\"T/v2/{conversation=projects/*/conversations/*}/suggestions:suggestConversationSummary:\x01*Ze\"`/v2/{conversation=projects/*/locations/*/conversations/*}/suggestions:suggestConversationSummary:\x01*\x12\xDD\x02\x0A\x18GenerateStatelessSummary\x12;.google.cloud.dialogflow.v2.GenerateStatelessSummaryRequest\x1A<.google.cloud.dialogflow.v2.GenerateStatelessSummaryResponse\"\xC5\x01\x82\xD3\xE4\x93\x02\xBE\x01\"S/v2/{stateless_conversation.parent=projects/*}/suggestions:generateStatelessSummary:\x01*Zd\"_/v2/{stateless_conversation.parent=projects/*/locations/*}/suggestions:generateStatelessSummary:\x01*\x12\xEB\x01\x0A\x1BGenerateStatelessSuggestion\x12>.google.cloud.dialogflow.v2.GenerateStatelessSuggestionRequest\x1A?.google.cloud.dialogflow.v2.GenerateStatelessSuggestionResponse\"K\x82\xD3\xE4\x93\x02E\"@/v2/{parent=projects/*/locations/*}/statelessSuggestion:generate:\x01*\x12\xAE\x03\x0A\x0FSearchKnowledge\x122.google.cloud.dialogflow.v2.SearchKnowledgeRequest\x1A3.google.cloud.dialogflow.v2.SearchKnowledgeResponse\"\xB1\x02\x82\xD3\xE4\x93\x02\xAA\x02\"3/v2/{parent=projects/*}/suggestions:searchKnowledge:\x01*ZD\"?/v2/{parent=projects/*/locations/*}/suggestions:searchKnowledge:\x01*ZN\"I/v2/{conversation=projects/*/conversations/*}/suggestions:searchKnowledge:\x01*ZZ\"U/v2/{conversation=projects/*/locations/*/conversations/*}/suggestions:searchKnowledge:\x01*\x12\xBB\x02\x0A\x13GenerateSuggestions\x126.google.cloud.dialogflow.v2.GenerateSuggestionsRequest\x1A7.google.cloud.dialogflow.v2.GenerateSuggestionsResponse\"\xB2\x01\xDAA\x0Cconversation\x82\xD3\xE4\x93\x02\x9C\x01\"B/v2/{conversation=projects/*/conversations/*}/suggestions:generate:\x01*ZS\"N/v2/{conversation=projects/*/locations/*/conversations/*}/suggestions:generate:\x01*\x1Ax\xCAA\x19dialogflow.googleapis.com\xD2AYhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/dialogflowB\xBD\x03\x0A\x1Ecom.google.cloud.dialogflow.v2B\x11ConversationProtoP\x01Z>cloud.google.com/go/dialogflow/apiv2/dialogflowpb;dialogflowpb\xA2\x02\x02DF\xAA\x02\x1AGoogle.Cloud.Dialogflow.V2\xEAA\xC5\x01\x0A(discoveryengine.googleapis.com/DataStore\x12Xprojects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}\x12?projects/{project}/locations/{location}/dataStores/{data_store}\xEAAZ\x0A\x17ces.googleapis.com/Tool\x12?projects/{project}/locations/{location}/apps/{app}/tools/{tool}b\x06proto3" + "\x0A\xCDw\x0A-google/cloud/dialogflow/v2/conversation.proto\x12\x1Agoogle.cloud.dialogflow.v2\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A5google/cloud/dialogflow/v2/conversation_profile.proto\x1A*google/cloud/dialogflow/v2/generator.proto\x1A,google/cloud/dialogflow/v2/participant.proto\x1A(google/cloud/dialogflow/v2/session.proto\x1A\x1Cgoogle/protobuf/struct.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xF4\x16\x0A\x0CConversation\x12\x14\x0A\x04name\x18\x01 \x01(\x09B\x06\xE0A\x03\xE0A\x08\x12U\x0A\x0Flifecycle_state\x18\x02 \x01(\x0E27.google.cloud.dialogflow.v2.Conversation.LifecycleStateB\x03\xE0A\x03\x12S\x0A\x14conversation_profile\x18\x03 \x01(\x09B5\xE0A\x02\xFAA/\x0A-dialogflow.googleapis.com/ConversationProfile\x12N\x0A\x0Cphone_number\x18\x04 \x01(\x0B23.google.cloud.dialogflow.v2.ConversationPhoneNumberB\x03\xE0A\x03\x123\x0A\x0Astart_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12[\x0A\x12conversation_stage\x18\x07 \x01(\x0E2:.google.cloud.dialogflow.v2.Conversation.ConversationStageB\x03\xE0A\x01\x12h\x0A\x19telephony_connection_info\x18\x0A \x01(\x0B2@.google.cloud.dialogflow.v2.Conversation.TelephonyConnectionInfoB\x03\xE0A\x03\x12]\x0A\x1Cinitial_conversation_profile\x18\x0F \x01(\x0B2/.google.cloud.dialogflow.v2.ConversationProfileB\x06\xE0A\x01\xE0A\x03\x12q\x0A\x1Bingested_context_references\x18\x11 \x03(\x0B2G.google.cloud.dialogflow.v2.Conversation.IngestedContextReferencesEntryB\x03\xE0A\x03\x12o\x0A\x1Ainitial_generator_contexts\x18\x12 \x03(\x0B2F.google.cloud.dialogflow.v2.Conversation.InitialGeneratorContextsEntryB\x03\xE0A\x03\x1A\x8E\x03\x0A\x17TelephonyConnectionInfo\x12\x1A\x0A\x0Ddialed_number\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x10\x0A\x03sdp\x18\x05 \x01(\x09B\x03\xE0A\x01\x12d\x0A\x0Bsip_headers\x18\x0C \x03(\x0B2J.google.cloud.dialogflow.v2.Conversation.TelephonyConnectionInfo.SipHeaderB\x03\xE0A\x03\x12n\x0A\x13extra_mime_contents\x18\x0D \x03(\x0B2L.google.cloud.dialogflow.v2.Conversation.TelephonyConnectionInfo.MimeContentB\x03\xE0A\x03\x1A2\x0A\x09SipHeader\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05value\x18\x02 \x01(\x09B\x03\xE0A\x01\x1A;\x0A\x0BMimeContent\x12\x16\x0A\x09mime_type\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x14\x0A\x07content\x18\x02 \x01(\x0CB\x03\xE0A\x01\x1A\xAC\x05\x0A\x10ContextReference\x12g\x0A\x10context_contents\x18\x01 \x03(\x0B2H.google.cloud.dialogflow.v2.Conversation.ContextReference.ContextContentB\x03\xE0A\x02\x12^\x0A\x0Bupdate_mode\x18\x02 \x01(\x0E2D.google.cloud.dialogflow.v2.Conversation.ContextReference.UpdateModeB\x03\xE0A\x02\x12\x1A\x0A\x0Dlanguage_code\x18\x03 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x1A\xB6\x02\x0A\x0EContextContent\x12\x14\x0A\x07content\x18\x01 \x01(\x09B\x03\xE0A\x02\x12s\x0A\x0Econtent_format\x18\x02 \x01(\x0E2V.google.cloud.dialogflow.v2.Conversation.ContextReference.ContextContent.ContentFormatB\x03\xE0A\x02\x127\x0A\x0Eingestion_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x15\x0A\x0Danswer_record\x18\x04 \x01(\x09\"I\x0A\x0DContentFormat\x12\x1E\x0A\x1ACONTENT_FORMAT_UNSPECIFIED\x10\x00\x12\x08\x0A\x04JSON\x10\x01\x12\x0E\x0A\x0APLAIN_TEXT\x10\x02\"D\x0A\x0AUpdateMode\x12\x1B\x0A\x17UPDATE_MODE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06APPEND\x10\x01\x12\x0D\x0A\x09OVERWRITE\x10\x02\x1A\xA6\x02\x0A\x10GeneratorContext\x12d\x0A\x0Egenerator_type\x18\x01 \x01(\x0E2G.google.cloud.dialogflow.v2.Conversation.GeneratorContext.GeneratorTypeB\x03\xE0A\x03\"\xAB\x01\x0A\x0DGeneratorType\x12\x1E\x0A\x1AGENERATOR_TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09FREE_FORM\x10\x01\x12\x12\x0A\x0EAGENT_COACHING\x10\x02\x12\x11\x0A\x0DSUMMARIZATION\x10\x03\x12\x0F\x0A\x0BTRANSLATION\x10\x04\x12\x12\x0A\x0EAGENT_FEEDBACK\x10\x05\x12\x1F\x0A\x1BCUSTOMER_MESSAGE_GENERATION\x10\x06\x1A{\x0A\x1EIngestedContextReferencesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12H\x0A\x05value\x18\x02 \x01(\x0B29.google.cloud.dialogflow.v2.Conversation.ContextReference:\x028\x01\x1Az\x0A\x1DInitialGeneratorContextsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12H\x0A\x05value\x18\x02 \x01(\x0B29.google.cloud.dialogflow.v2.Conversation.GeneratorContext:\x028\x01\"Q\x0A\x0ELifecycleState\x12\x1F\x0A\x1BLIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BIN_PROGRESS\x10\x01\x12\x0D\x0A\x09COMPLETED\x10\x02\"h\x0A\x11ConversationStage\x12\"\x0A\x1ECONVERSATION_STAGE_UNSPECIFIED\x10\x00\x12\x17\x0A\x13VIRTUAL_AGENT_STAGE\x10\x01\x12\x16\x0A\x12HUMAN_ASSIST_STAGE\x10\x02:\xC0\x01\xEAA\xBC\x01\x0A&dialogflow.googleapis.com/Conversation\x12/projects/{project}/conversations/{conversation}\x12Dprojects/{project}/locations/{location}/conversations/{conversation}*\x0Dconversations2\x0Cconversation\"\xBE\x01\x0A\x19CreateConversationRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x12&dialogflow.googleapis.com/Conversation\x12C\x0A\x0Cconversation\x18\x02 \x01(\x0B2(.google.cloud.dialogflow.v2.ConversationB\x03\xE0A\x02\x12\x1C\x0A\x0Fconversation_id\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xA0\x01\x0A\x18ListConversationsRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x12&dialogflow.googleapis.com/Conversation\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"u\x0A\x19ListConversationsResponse\x12?\x0A\x0Dconversations\x18\x01 \x03(\x0B2(.google.cloud.dialogflow.v2.Conversation\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"V\x0A\x16GetConversationRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dialogflow.googleapis.com/Conversation\"[\x0A\x1BCompleteConversationRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dialogflow.googleapis.com/Conversation\"\x96\x01\x0A\x13ListMessagesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x12!dialogflow.googleapis.com/Message\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"f\x0A\x14ListMessagesResponse\x125\x0A\x08messages\x18\x01 \x03(\x0B2#.google.cloud.dialogflow.v2.Message\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"O\x0A\x17ConversationPhoneNumber\x12\x19\x0A\x0Ccountry_code\x18\x02 \x01(\x05B\x03\xE0A\x03\x12\x19\x0A\x0Cphone_number\x18\x03 \x01(\x09B\x03\xE0A\x03\"\xCF\x02\x0A\x1EIngestContextReferencesRequest\x12D\x0A\x0Cconversation\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dialogflow.googleapis.com/Conversation\x12r\x0A\x12context_references\x18\x02 \x03(\x0B2Q.google.cloud.dialogflow.v2.IngestContextReferencesRequest.ContextReferencesEntryB\x03\xE0A\x02\x1As\x0A\x16ContextReferencesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12H\x0A\x05value\x18\x02 \x01(\x0B29.google.cloud.dialogflow.v2.Conversation.ContextReference:\x028\x01\"\x9F\x02\x0A\x1FIngestContextReferencesResponse\x12\x7F\x0A\x1Bingested_context_references\x18\x01 \x03(\x0B2Z.google.cloud.dialogflow.v2.IngestContextReferencesResponse.IngestedContextReferencesEntry\x1A{\x0A\x1EIngestedContextReferencesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12H\x0A\x05value\x18\x02 \x01(\x0B29.google.cloud.dialogflow.v2.Conversation.ContextReference:\x028\x01\"\x9C\x02\x0A!SuggestConversationSummaryRequest\x12D\x0A\x0Cconversation\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dialogflow.googleapis.com/Conversation\x12A\x0A\x0Elatest_message\x18\x03 \x01(\x09B)\xE0A\x01\xFAA#\x0A!dialogflow.googleapis.com/Message\x12\x19\x0A\x0Ccontext_size\x18\x04 \x01(\x05B\x03\xE0A\x01\x12S\x0A\x13assist_query_params\x18\x05 \x01(\x0B21.google.cloud.dialogflow.v2.AssistQueryParametersB\x03\xE0A\x01\"\xAA\x05\x0A\"SuggestConversationSummaryResponse\x12W\x0A\x07summary\x18\x01 \x01(\x0B2F.google.cloud.dialogflow.v2.SuggestConversationSummaryResponse.Summary\x12>\x0A\x0Elatest_message\x18\x02 \x01(\x09B&\xFAA#\x0A!dialogflow.googleapis.com/Message\x12\x14\x0A\x0Ccontext_size\x18\x03 \x01(\x05\x1A\xD4\x03\x0A\x07Summary\x12\x0C\x0A\x04text\x18\x01 \x01(\x09\x12o\x0A\x0Dtext_sections\x18\x04 \x03(\x0B2X.google.cloud.dialogflow.v2.SuggestConversationSummaryResponse.Summary.TextSectionsEntry\x12s\x0A\x14sorted_text_sections\x18\x06 \x03(\x0B2U.google.cloud.dialogflow.v2.SuggestConversationSummaryResponse.Summary.SummarySection\x12B\x0A\x0Danswer_record\x18\x03 \x01(\x09B+\xFAA(\x0A&dialogflow.googleapis.com/AnswerRecord\x12\x1E\x0A\x16baseline_model_version\x18\x05 \x01(\x09\x1A<\x0A\x0ESummarySection\x12\x14\x0A\x07section\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x14\x0A\x07summary\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A3\x0A\x11TextSectionsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xDC\x03\x0A\x1FGenerateStatelessSummaryRequest\x12t\x0A\x16stateless_conversation\x18\x01 \x01(\x0B2O.google.cloud.dialogflow.v2.GenerateStatelessSummaryRequest.MinimalConversationB\x03\xE0A\x02\x12R\x0A\x14conversation_profile\x18\x02 \x01(\x0B2/.google.cloud.dialogflow.v2.ConversationProfileB\x03\xE0A\x02\x12A\x0A\x0Elatest_message\x18\x03 \x01(\x09B)\xE0A\x01\xFAA#\x0A!dialogflow.googleapis.com/Message\x12\x1D\x0A\x10max_context_size\x18\x04 \x01(\x05B\x03\xE0A\x01\x1A\x8C\x01\x0A\x13MinimalConversation\x12:\x0A\x08messages\x18\x01 \x03(\x0B2#.google.cloud.dialogflow.v2.MessageB\x03\xE0A\x02\x129\x0A\x06parent\x18\x02 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\"\xAD\x03\x0A GenerateStatelessSummaryResponse\x12U\x0A\x07summary\x18\x01 \x01(\x0B2D.google.cloud.dialogflow.v2.GenerateStatelessSummaryResponse.Summary\x12>\x0A\x0Elatest_message\x18\x02 \x01(\x09B&\xFAA#\x0A!dialogflow.googleapis.com/Message\x12\x14\x0A\x0Ccontext_size\x18\x03 \x01(\x05\x1A\xDB\x01\x0A\x07Summary\x12\x0C\x0A\x04text\x18\x01 \x01(\x09\x12m\x0A\x0Dtext_sections\x18\x02 \x03(\x0B2V.google.cloud.dialogflow.v2.GenerateStatelessSummaryResponse.Summary.TextSectionsEntry\x12\x1E\x0A\x16baseline_model_version\x18\x04 \x01(\x09\x1A3\x0A\x11TextSectionsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xF3\x04\x0A\"GenerateStatelessSuggestionRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12:\x0A\x09generator\x18\x02 \x01(\x0B2%.google.cloud.dialogflow.v2.GeneratorH\x00\x12\x18\x0A\x0Egenerator_name\x18\x03 \x01(\x09H\x00\x12v\x0A\x12context_references\x18\x04 \x03(\x0B2U.google.cloud.dialogflow.v2.GenerateStatelessSuggestionRequest.ContextReferencesEntryB\x03\xE0A\x01\x12R\x0A\x14conversation_context\x18\x05 \x01(\x0B2/.google.cloud.dialogflow.v2.ConversationContextB\x03\xE0A\x01\x12E\x0A\x0Etrigger_events\x18\x06 \x03(\x0E2(.google.cloud.dialogflow.v2.TriggerEventB\x03\xE0A\x01\x12\x1E\x0A\x11security_settings\x18\x08 \x01(\x09B\x03\xE0A\x01\x1As\x0A\x16ContextReferencesEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12H\x0A\x05value\x18\x02 \x01(\x0B29.google.cloud.dialogflow.v2.Conversation.ContextReference:\x028\x01B\x14\x0A\x12generator_resource\"y\x0A#GenerateStatelessSuggestionResponse\x12R\x0A\x14generator_suggestion\x18\x01 \x01(\x0B2/.google.cloud.dialogflow.v2.GeneratorSuggestionB\x03\xE0A\x02\"\x9C\x12\x0A\x16SearchKnowledgeRequest\x12\x13\x0A\x06parent\x18\x06 \x01(\x09B\x03\xE0A\x02\x129\x0A\x05query\x18\x01 \x01(\x0B2%.google.cloud.dialogflow.v2.TextInputB\x03\xE0A\x02\x12S\x0A\x14conversation_profile\x18\x02 \x01(\x09B5\xE0A\x02\xFAA/\x0A-dialogflow.googleapis.com/ConversationProfile\x12\x17\x0A\x0Asession_id\x18\x03 \x01(\x09B\x03\xE0A\x02\x12D\x0A\x0Cconversation\x18\x04 \x01(\x09B.\xE0A\x01\xFAA(\x0A&dialogflow.googleapis.com/Conversation\x12A\x0A\x0Elatest_message\x18\x05 \x01(\x09B)\xE0A\x01\xFAA#\x0A!dialogflow.googleapis.com/Message\x12Y\x0A\x0Cquery_source\x18\x07 \x01(\x0E2>.google.cloud.dialogflow.v2.SearchKnowledgeRequest.QuerySourceB\x03\xE0A\x01\x127\x0A\x11end_user_metadata\x18\x09 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12[\x0A\x0Dsearch_config\x18\x0B \x01(\x0B2?.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfigB\x03\xE0A\x01\x12\x19\x0A\x0Cexact_search\x18\x0E \x01(\x08B\x03\xE0A\x01\x1A\xDB\x0C\x0A\x0CSearchConfig\x12d\x0A\x0Bboost_specs\x18\x01 \x03(\x0B2J.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecsB\x03\xE0A\x01\x12f\x0A\x0Cfilter_specs\x18\x02 \x03(\x0B2K.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.FilterSpecsB\x03\xE0A\x01\x1A\xBE\x0A\x0A\x0ABoostSpecs\x12E\x0A\x0Bdata_stores\x18\x01 \x03(\x09B0\xE0A\x01\xFAA*\x0A(discoveryengine.googleapis.com/DataStore\x12g\x0A\x04spec\x18\x02 \x03(\x0B2T.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpecB\x03\xE0A\x01\x1A\xFF\x08\x0A\x09BoostSpec\x12\x8B\x01\x0A\x15condition_boost_specs\x18\x01 \x03(\x0B2g.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpec.ConditionBoostSpecB\x03\xE0A\x01\x1A\xE3\x07\x0A\x12ConditionBoostSpec\x12\x16\x0A\x09condition\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05boost\x18\x02 \x01(\x02B\x03\xE0A\x01\x12\x99\x01\x0A\x12boost_control_spec\x18\x04 \x01(\x0B2x.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpec.ConditionBoostSpec.BoostControlSpecB\x03\xE0A\x01\x1A\x84\x06\x0A\x10BoostControlSpec\x12\x17\x0A\x0Afield_name\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\xA4\x01\x0A\x0Eattribute_type\x18\x02 \x01(\x0E2\x86\x01.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeTypeB\x03\xE0A\x01\x12\xAC\x01\x0A\x12interpolation_type\x18\x03 \x01(\x0E2\x8A\x01.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationTypeB\x03\xE0A\x01\x12\xA3\x01\x0A\x0Econtrol_points\x18\x04 \x03(\x0B2\x85\x01.google.cloud.dialogflow.v2.SearchKnowledgeRequest.SearchConfig.BoostSpecs.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPointB\x03\xE0A\x01\x1AG\x0A\x0CControlPoint\x12\x1C\x0A\x0Fattribute_value\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cboost_amount\x18\x02 \x01(\x02B\x03\xE0A\x01\"M\x0A\x0DAttributeType\x12\x1E\x0A\x1AATTRIBUTE_TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09NUMERICAL\x10\x01\x12\x0D\x0A\x09FRESHNESS\x10\x02\"C\x0A\x11InterpolationType\x12\"\x0A\x1EINTERPOLATION_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06LINEAR\x10\x01\x1A<\x0A\x0BFilterSpecs\x12\x18\x0A\x0Bdata_stores\x18\x01 \x03(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x02 \x01(\x09B\x03\xE0A\x01\"Q\x0A\x0BQuerySource\x12\x1C\x0A\x18QUERY_SOURCE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BAGENT_QUERY\x10\x01\x12\x13\x0A\x0FSUGGESTED_QUERY\x10\x02\"\xDA\x04\x0A\x18SearchKnowledgeDebugInfo\x12V\x0A\x19datastore_response_reason\x18\x01 \x01(\x0E23.google.cloud.dialogflow.v2.DatastoreResponseReason\x12o\x0A\x19search_knowledge_behavior\x18\x02 \x01(\x0B2L.google.cloud.dialogflow.v2.SearchKnowledgeDebugInfo.SearchKnowledgeBehavior\x12l\x0A%ingested_context_reference_debug_info\x18\x03 \x01(\x0B2=.google.cloud.dialogflow.v2.IngestedContextReferenceDebugInfo\x12C\x0A\x0Fservice_latency\x18\x04 \x01(\x0B2*.google.cloud.dialogflow.v2.ServiceLatency\x124\x0A\x0Eces_debug_info\x18\x05 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x1A\x8B\x01\x0A\x17SearchKnowledgeBehavior\x12%\x0A\x1Danswer_generation_rewriter_on\x18\x01 \x01(\x08\x12\"\x0A\x1Aend_user_metadata_included\x18\x02 \x01(\x08\x12%\x0A\x1Dthird_party_connector_allowed\x18\x04 \x01(\x08\"\xD1\x01\x0A\x17SearchKnowledgeResponse\x12B\x0A\x07answers\x18\x02 \x03(\x0B21.google.cloud.dialogflow.v2.SearchKnowledgeAnswer\x12\x17\x0A\x0Frewritten_query\x18\x03 \x01(\x09\x12Y\x0A\x1Bsearch_knowledge_debug_info\x18\x04 \x01(\x0B24.google.cloud.dialogflow.v2.SearchKnowledgeDebugInfo\"\xE7\x03\x0A\x15SearchKnowledgeAnswer\x12\x0E\x0A\x06answer\x18\x01 \x01(\x09\x12Q\x0A\x0Banswer_type\x18\x02 \x01(\x0E2<.google.cloud.dialogflow.v2.SearchKnowledgeAnswer.AnswerType\x12V\x0A\x0Eanswer_sources\x18\x03 \x03(\x0B2>.google.cloud.dialogflow.v2.SearchKnowledgeAnswer.AnswerSource\x12B\x0A\x0Danswer_record\x18\x05 \x01(\x09B+\xFAA(\x0A&dialogflow.googleapis.com/AnswerRecord\x1Af\x0A\x0CAnswerSource\x12\x0D\x0A\x05title\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x0F\x0A\x07snippet\x18\x03 \x01(\x09\x12)\x0A\x08metadata\x18\x05 \x01(\x0B2\x17.google.protobuf.Struct\"g\x0A\x0AAnswerType\x12\x1B\x0A\x17ANSWER_TYPE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03FAQ\x10\x01\x12\x0E\x0A\x0AGENERATIVE\x10\x02\x12\x0A\x0A\x06INTENT\x10\x03\x12\x0C\x0A\x08PLAYBOOK\x10\x04\x12\x09\x0A\x05EVENT\x10\x05\"\xEC\x01\x0A\x1AGenerateSuggestionsRequest\x12D\x0A\x0Cconversation\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dialogflow.googleapis.com/Conversation\x12A\x0A\x0Elatest_message\x18\x02 \x01(\x09B)\xE0A\x01\xFAA#\x0A!dialogflow.googleapis.com/Message\x12E\x0A\x0Etrigger_events\x18\x03 \x03(\x0E2(.google.cloud.dialogflow.v2.TriggerEventB\x03\xE0A\x012\xA6\x1A\x0A\x0DConversations\x12\x8C\x02\x0A\x12CreateConversation\x125.google.cloud.dialogflow.v2.CreateConversationRequest\x1A(.google.cloud.dialogflow.v2.Conversation\"\x94\x01\xDAA\x13parent,conversation\x82\xD3\xE4\x93\x02x\"%/v2/{parent=projects/*}/conversations:\x0CconversationZA\"1/v2/{parent=projects/*/locations/*}/conversations:\x0Cconversation\x12\xED\x01\x0A\x11ListConversations\x124.google.cloud.dialogflow.v2.ListConversationsRequest\x1A5.google.cloud.dialogflow.v2.ListConversationsResponse\"k\xDAA\x06parent\x82\xD3\xE4\x93\x02\\\x12%/v2/{parent=projects/*}/conversationsZ3\x121/v2/{parent=projects/*/locations/*}/conversations\x12\xDA\x01\x0A\x0FGetConversation\x122.google.cloud.dialogflow.v2.GetConversationRequest\x1A(.google.cloud.dialogflow.v2.Conversation\"i\xDAA\x04name\x82\xD3\xE4\x93\x02\\\x12%/v2/{name=projects/*/conversations/*}Z3\x121/v2/{name=projects/*/locations/*/conversations/*}\x12\xFD\x01\x0A\x14CompleteConversation\x127.google.cloud.dialogflow.v2.CompleteConversationRequest\x1A(.google.cloud.dialogflow.v2.Conversation\"\x81\x01\xDAA\x04name\x82\xD3\xE4\x93\x02t\"./v2/{name=projects/*/conversations/*}:complete:\x01*Z?\":/v2/{name=projects/*/locations/*/conversations/*}:complete:\x01*\x12\x92\x02\x0A\x17IngestContextReferences\x12:.google.cloud.dialogflow.v2.IngestContextReferencesRequest\x1A;.google.cloud.dialogflow.v2.IngestContextReferencesResponse\"~\xDAA\x1Fconversation,context_references\x82\xD3\xE4\x93\x02V\"Q/v2/{conversation=projects/*/locations/*/conversations/*}:ingestContextReferences:\x01*\x12\xF5\x01\x0A\x0CListMessages\x12/.google.cloud.dialogflow.v2.ListMessagesRequest\x1A0.google.cloud.dialogflow.v2.ListMessagesResponse\"\x81\x01\xDAA\x06parent\x82\xD3\xE4\x93\x02r\x120/v2/{parent=projects/*/conversations/*}/messagesZ>\x12.google.cloud.dialogflow.v2.SuggestConversationSummaryResponse\"\xD6\x01\xDAA\x0Cconversation\x82\xD3\xE4\x93\x02\xC0\x01\"T/v2/{conversation=projects/*/conversations/*}/suggestions:suggestConversationSummary:\x01*Ze\"`/v2/{conversation=projects/*/locations/*/conversations/*}/suggestions:suggestConversationSummary:\x01*\x12\xDD\x02\x0A\x18GenerateStatelessSummary\x12;.google.cloud.dialogflow.v2.GenerateStatelessSummaryRequest\x1A<.google.cloud.dialogflow.v2.GenerateStatelessSummaryResponse\"\xC5\x01\x82\xD3\xE4\x93\x02\xBE\x01\"S/v2/{stateless_conversation.parent=projects/*}/suggestions:generateStatelessSummary:\x01*Zd\"_/v2/{stateless_conversation.parent=projects/*/locations/*}/suggestions:generateStatelessSummary:\x01*\x12\xEB\x01\x0A\x1BGenerateStatelessSuggestion\x12>.google.cloud.dialogflow.v2.GenerateStatelessSuggestionRequest\x1A?.google.cloud.dialogflow.v2.GenerateStatelessSuggestionResponse\"K\x82\xD3\xE4\x93\x02E\"@/v2/{parent=projects/*/locations/*}/statelessSuggestion:generate:\x01*\x12\xAE\x03\x0A\x0FSearchKnowledge\x122.google.cloud.dialogflow.v2.SearchKnowledgeRequest\x1A3.google.cloud.dialogflow.v2.SearchKnowledgeResponse\"\xB1\x02\x82\xD3\xE4\x93\x02\xAA\x02\"3/v2/{parent=projects/*}/suggestions:searchKnowledge:\x01*ZD\"?/v2/{parent=projects/*/locations/*}/suggestions:searchKnowledge:\x01*ZN\"I/v2/{conversation=projects/*/conversations/*}/suggestions:searchKnowledge:\x01*ZZ\"U/v2/{conversation=projects/*/locations/*/conversations/*}/suggestions:searchKnowledge:\x01*\x12\xBB\x02\x0A\x13GenerateSuggestions\x126.google.cloud.dialogflow.v2.GenerateSuggestionsRequest\x1A7.google.cloud.dialogflow.v2.GenerateSuggestionsResponse\"\xB2\x01\xDAA\x0Cconversation\x82\xD3\xE4\x93\x02\x9C\x01\"B/v2/{conversation=projects/*/conversations/*}/suggestions:generate:\x01*ZS\"N/v2/{conversation=projects/*/locations/*/conversations/*}/suggestions:generate:\x01*\x1Ax\xCAA\x19dialogflow.googleapis.com\xD2AYhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/dialogflowB\xBD\x03\x0A\x1Ecom.google.cloud.dialogflow.v2B\x11ConversationProtoP\x01Z>cloud.google.com/go/dialogflow/apiv2/dialogflowpb;dialogflowpb\xA2\x02\x02DF\xAA\x02\x1AGoogle.Cloud.Dialogflow.V2\xEAA\xC5\x01\x0A(discoveryengine.googleapis.com/DataStore\x12Xprojects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}\x12?projects/{project}/locations/{location}/dataStores/{data_store}\xEAAZ\x0A\x17ces.googleapis.com/Tool\x12?projects/{project}/locations/{location}/apps/{app}/tools/{tool}b\x06proto3" , true); static::$is_initialized = true; diff --git a/Dialogflow/metadata/V2/Session.php b/Dialogflow/metadata/V2/Session.php index cd3bf58ead74..890a1af49b97 100644 --- a/Dialogflow/metadata/V2/Session.php +++ b/Dialogflow/metadata/V2/Session.php @@ -28,7 +28,7 @@ public static function initOnce() { \GPBMetadata\Google\Rpc\Status::initOnce(); \GPBMetadata\Google\Type\Latlng::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\x8E2\x0A(google/cloud/dialogflow/v2/session.proto\x12\x1Agoogle.cloud.dialogflow.v2\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A-google/cloud/dialogflow/v2/audio_config.proto\x1A(google/cloud/dialogflow/v2/context.proto\x1A'google/cloud/dialogflow/v2/intent.proto\x1A4google/cloud/dialogflow/v2/session_entity_type.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A google/protobuf/field_mask.proto\x1A\x1Cgoogle/protobuf/struct.proto\x1A\x17google/rpc/status.proto\x1A\x18google/type/latlng.proto\"\xF5\x02\x0A\x13DetectIntentRequest\x12:\x0A\x07session\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dialogflow.googleapis.com/Session\x12A\x0A\x0Cquery_params\x18\x02 \x01(\x0B2+.google.cloud.dialogflow.v2.QueryParameters\x12@\x0A\x0Bquery_input\x18\x03 \x01(\x0B2&.google.cloud.dialogflow.v2.QueryInputB\x03\xE0A\x02\x12J\x0A\x13output_audio_config\x18\x04 \x01(\x0B2-.google.cloud.dialogflow.v2.OutputAudioConfig\x12<\x0A\x18output_audio_config_mask\x18\x07 \x01(\x0B2\x1A.google.protobuf.FieldMask\x12\x13\x0A\x0Binput_audio\x18\x05 \x01(\x0C\"\xF8\x01\x0A\x14DetectIntentResponse\x12\x13\x0A\x0Bresponse_id\x18\x01 \x01(\x09\x12=\x0A\x0Cquery_result\x18\x02 \x01(\x0B2'.google.cloud.dialogflow.v2.QueryResult\x12*\x0A\x0Ewebhook_status\x18\x03 \x01(\x0B2\x12.google.rpc.Status\x12\x14\x0A\x0Coutput_audio\x18\x04 \x01(\x0C\x12J\x0A\x13output_audio_config\x18\x06 \x01(\x0B2-.google.cloud.dialogflow.v2.OutputAudioConfig\"\x9F\x04\x0A\x0FQueryParameters\x12\x11\x0A\x09time_zone\x18\x01 \x01(\x09\x12)\x0A\x0Cgeo_location\x18\x02 \x01(\x0B2\x13.google.type.LatLng\x125\x0A\x08contexts\x18\x03 \x03(\x0B2#.google.cloud.dialogflow.v2.Context\x12\x16\x0A\x0Ereset_contexts\x18\x04 \x01(\x08\x12K\x0A\x14session_entity_types\x18\x05 \x03(\x0B2-.google.cloud.dialogflow.v2.SessionEntityType\x12(\x0A\x07payload\x18\x06 \x01(\x0B2\x17.google.protobuf.Struct\x12e\x0A!sentiment_analysis_request_config\x18\x0A \x01(\x0B2:.google.cloud.dialogflow.v2.SentimentAnalysisRequestConfig\x12X\x0A\x0Fwebhook_headers\x18\x0E \x03(\x0B2?.google.cloud.dialogflow.v2.QueryParameters.WebhookHeadersEntry\x12\x10\x0A\x08platform\x18\x12 \x01(\x09\x1A5\x0A\x13WebhookHeadersEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xCB\x01\x0A\x0AQueryInput\x12D\x0A\x0Caudio_config\x18\x01 \x01(\x0B2,.google.cloud.dialogflow.v2.InputAudioConfigH\x00\x125\x0A\x04text\x18\x02 \x01(\x0B2%.google.cloud.dialogflow.v2.TextInputH\x00\x127\x0A\x05event\x18\x03 \x01(\x0B2&.google.cloud.dialogflow.v2.EventInputH\x00B\x07\x0A\x05input\"\xAE\x05\x0A\x0BQueryResult\x12\x12\x0A\x0Aquery_text\x18\x01 \x01(\x09\x12\x15\x0A\x0Dlanguage_code\x18\x0F \x01(\x09\x12%\x0A\x1Dspeech_recognition_confidence\x18\x02 \x01(\x02\x12\x0E\x0A\x06action\x18\x03 \x01(\x09\x12+\x0A\x0Aparameters\x18\x04 \x01(\x0B2\x17.google.protobuf.Struct\x12#\x0A\x1Ball_required_params_present\x18\x05 \x01(\x08\x12\x1C\x0A\x14cancels_slot_filling\x18\x15 \x01(\x08\x12\x18\x0A\x10fulfillment_text\x18\x06 \x01(\x09\x12H\x0A\x14fulfillment_messages\x18\x07 \x03(\x0B2*.google.cloud.dialogflow.v2.Intent.Message\x12\x16\x0A\x0Ewebhook_source\x18\x08 \x01(\x09\x120\x0A\x0Fwebhook_payload\x18\x09 \x01(\x0B2\x17.google.protobuf.Struct\x12<\x0A\x0Foutput_contexts\x18\x0A \x03(\x0B2#.google.cloud.dialogflow.v2.Context\x122\x0A\x06intent\x18\x0B \x01(\x0B2\".google.cloud.dialogflow.v2.Intent\x12#\x0A\x1Bintent_detection_confidence\x18\x0C \x01(\x02\x120\x0A\x0Fdiagnostic_info\x18\x0E \x01(\x0B2\x17.google.protobuf.Struct\x12V\x0A\x19sentiment_analysis_result\x18\x11 \x01(\x0B23.google.cloud.dialogflow.v2.SentimentAnalysisResult\"\xBB\x03\x0A\x1CStreamingDetectIntentRequest\x12:\x0A\x07session\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dialogflow.googleapis.com/Session\x12A\x0A\x0Cquery_params\x18\x02 \x01(\x0B2+.google.cloud.dialogflow.v2.QueryParameters\x12@\x0A\x0Bquery_input\x18\x03 \x01(\x0B2&.google.cloud.dialogflow.v2.QueryInputB\x03\xE0A\x02\x12\x1C\x0A\x10single_utterance\x18\x04 \x01(\x08B\x02\x18\x01\x12J\x0A\x13output_audio_config\x18\x05 \x01(\x0B2-.google.cloud.dialogflow.v2.OutputAudioConfig\x12<\x0A\x18output_audio_config_mask\x18\x07 \x01(\x0B2\x1A.google.protobuf.FieldMask\x12\x13\x0A\x0Binput_audio\x18\x06 \x01(\x0C\x12\x1D\x0A\x15enable_debugging_info\x18\x08 \x01(\x08\"\xB0\x07\x0A\x1ECloudConversationDebuggingInfo\x12\x19\x0A\x11audio_data_chunks\x18\x01 \x01(\x05\x129\x0A\x16result_end_time_offset\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x127\x0A\x14first_audio_duration\x18\x03 \x01(\x0B2\x19.google.protobuf.Duration\x12\x18\x0A\x10single_utterance\x18\x05 \x01(\x08\x12C\x0A speech_partial_results_end_times\x18\x06 \x03(\x0B2\x19.google.protobuf.Duration\x12A\x0A\x1Espeech_final_results_end_times\x18\x07 \x03(\x0B2\x19.google.protobuf.Duration\x12\x19\x0A\x11partial_responses\x18\x08 \x01(\x05\x12,\x0A\$speaker_id_passive_latency_ms_offset\x18\x09 \x01(\x05\x12\x1F\x0A\x17bargein_event_triggered\x18\x0A \x01(\x08\x12\x1F\x0A\x17speech_single_utterance\x18\x0B \x01(\x08\x12=\x0A\x1Adtmf_partial_results_times\x18\x0C \x03(\x0B2\x19.google.protobuf.Duration\x12;\x0A\x18dtmf_final_results_times\x18\x0D \x03(\x0B2\x19.google.protobuf.Duration\x12C\x0A single_utterance_end_time_offset\x18\x0E \x01(\x0B2\x19.google.protobuf.Duration\x124\x0A\x11no_speech_timeout\x18\x0F \x01(\x0B2\x19.google.protobuf.Duration\x126\x0A\x13endpointing_timeout\x18\x13 \x01(\x0B2\x19.google.protobuf.Duration\x12\x15\x0A\x0Dis_input_text\x18\x10 \x01(\x08\x12@\x0A\x1Dclient_half_close_time_offset\x18\x11 \x01(\x0B2\x19.google.protobuf.Duration\x12J\x0A'client_half_close_streaming_time_offset\x18\x12 \x01(\x0B2\x19.google.protobuf.Duration\"\xA9\x03\x0A\x1DStreamingDetectIntentResponse\x12\x13\x0A\x0Bresponse_id\x18\x01 \x01(\x09\x12R\x0A\x12recognition_result\x18\x02 \x01(\x0B26.google.cloud.dialogflow.v2.StreamingRecognitionResult\x12=\x0A\x0Cquery_result\x18\x03 \x01(\x0B2'.google.cloud.dialogflow.v2.QueryResult\x12*\x0A\x0Ewebhook_status\x18\x04 \x01(\x0B2\x12.google.rpc.Status\x12\x14\x0A\x0Coutput_audio\x18\x05 \x01(\x0C\x12J\x0A\x13output_audio_config\x18\x06 \x01(\x0B2-.google.cloud.dialogflow.v2.OutputAudioConfig\x12R\x0A\x0Edebugging_info\x18\x08 \x01(\x0B2:.google.cloud.dialogflow.v2.CloudConversationDebuggingInfo\"\x9D\x03\x0A\x1AStreamingRecognitionResult\x12X\x0A\x0Cmessage_type\x18\x01 \x01(\x0E2B.google.cloud.dialogflow.v2.StreamingRecognitionResult.MessageType\x12\x12\x0A\x0Atranscript\x18\x02 \x01(\x09\x12\x10\x0A\x08is_final\x18\x03 \x01(\x08\x12\x12\x0A\x0Aconfidence\x18\x04 \x01(\x02\x12D\x0A\x10speech_word_info\x18\x07 \x03(\x0B2*.google.cloud.dialogflow.v2.SpeechWordInfo\x124\x0A\x11speech_end_offset\x18\x08 \x01(\x0B2\x19.google.protobuf.Duration\x12\x15\x0A\x0Dlanguage_code\x18\x0A \x01(\x09\"X\x0A\x0BMessageType\x12\x1C\x0A\x18MESSAGE_TYPE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0ATRANSCRIPT\x10\x01\x12\x1B\x0A\x17END_OF_SINGLE_UTTERANCE\x10\x02\":\x0A\x09TextInput\x12\x11\x0A\x04text\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1A\x0A\x0Dlanguage_code\x18\x02 \x01(\x09B\x03\xE0A\x02\"h\x0A\x0AEventInput\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x12+\x0A\x0Aparameters\x18\x02 \x01(\x0B2\x17.google.protobuf.Struct\x12\x1A\x0A\x0Dlanguage_code\x18\x03 \x01(\x09B\x03\xE0A\x02\"F\x0A\x1ESentimentAnalysisRequestConfig\x12\$\x0A\x1Canalyze_query_text_sentiment\x18\x01 \x01(\x08\"^\x0A\x17SentimentAnalysisResult\x12C\x0A\x14query_text_sentiment\x18\x01 \x01(\x0B2%.google.cloud.dialogflow.v2.Sentiment\"-\x0A\x09Sentiment\x12\x0D\x0A\x05score\x18\x01 \x01(\x02\x12\x11\x0A\x09magnitude\x18\x02 \x01(\x022\xE5\x05\x0A\x08Sessions\x12\xC9\x03\x0A\x0CDetectIntent\x12/.google.cloud.dialogflow.v2.DetectIntentRequest\x1A0.google.cloud.dialogflow.v2.DetectIntentResponse\"\xD5\x02\xDAA\x13session,query_input\x82\xD3\xE4\x93\x02\xB8\x02\"6/v2/{session=projects/*/agent/sessions/*}:detectIntent:\x01*ZR\"M/v2/{session=projects/*/agent/environments/*/users/*/sessions/*}:detectIntent:\x01*ZG\"B/v2/{session=projects/*/locations/*/agent/sessions/*}:detectIntent:\x01*Z^\"Y/v2/{session=projects/*/locations/*/agent/environments/*/users/*/sessions/*}:detectIntent:\x01*\x12\x92\x01\x0A\x15StreamingDetectIntent\x128.google.cloud.dialogflow.v2.StreamingDetectIntentRequest\x1A9.google.cloud.dialogflow.v2.StreamingDetectIntentResponse\"\x00(\x010\x01\x1Ax\xCAA\x19dialogflow.googleapis.com\xD2AYhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/dialogflowB\xE7\x03\x0A\x1Ecom.google.cloud.dialogflow.v2B\x0CSessionProtoP\x01Z>cloud.google.com/go/dialogflow/apiv2/dialogflowpb;dialogflowpb\xA2\x02\x02DF\xAA\x02\x1AGoogle.Cloud.Dialogflow.V2\xEAA\xD1\x02\x0A!dialogflow.googleapis.com/Session\x12+projects/{project}/agent/sessions/{session}\x12Sprojects/{project}/agent/environments/{environment}/users/{user}/sessions/{session}\x12@projects/{project}/locations/{location}/agent/sessions/{session}\x12hprojects/{project}/locations/{location}/agent/environments/{environment}/users/{user}/sessions/{session}b\x06proto3" + "\x0A\xED2\x0A(google/cloud/dialogflow/v2/session.proto\x12\x1Agoogle.cloud.dialogflow.v2\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A-google/cloud/dialogflow/v2/audio_config.proto\x1A(google/cloud/dialogflow/v2/context.proto\x1A'google/cloud/dialogflow/v2/intent.proto\x1A4google/cloud/dialogflow/v2/session_entity_type.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A google/protobuf/field_mask.proto\x1A\x1Cgoogle/protobuf/struct.proto\x1A\x17google/rpc/status.proto\x1A\x18google/type/latlng.proto\"\xF5\x02\x0A\x13DetectIntentRequest\x12:\x0A\x07session\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dialogflow.googleapis.com/Session\x12A\x0A\x0Cquery_params\x18\x02 \x01(\x0B2+.google.cloud.dialogflow.v2.QueryParameters\x12@\x0A\x0Bquery_input\x18\x03 \x01(\x0B2&.google.cloud.dialogflow.v2.QueryInputB\x03\xE0A\x02\x12J\x0A\x13output_audio_config\x18\x04 \x01(\x0B2-.google.cloud.dialogflow.v2.OutputAudioConfig\x12<\x0A\x18output_audio_config_mask\x18\x07 \x01(\x0B2\x1A.google.protobuf.FieldMask\x12\x13\x0A\x0Binput_audio\x18\x05 \x01(\x0C\"\xF8\x01\x0A\x14DetectIntentResponse\x12\x13\x0A\x0Bresponse_id\x18\x01 \x01(\x09\x12=\x0A\x0Cquery_result\x18\x02 \x01(\x0B2'.google.cloud.dialogflow.v2.QueryResult\x12*\x0A\x0Ewebhook_status\x18\x03 \x01(\x0B2\x12.google.rpc.Status\x12\x14\x0A\x0Coutput_audio\x18\x04 \x01(\x0C\x12J\x0A\x13output_audio_config\x18\x06 \x01(\x0B2-.google.cloud.dialogflow.v2.OutputAudioConfig\"\x9F\x04\x0A\x0FQueryParameters\x12\x11\x0A\x09time_zone\x18\x01 \x01(\x09\x12)\x0A\x0Cgeo_location\x18\x02 \x01(\x0B2\x13.google.type.LatLng\x125\x0A\x08contexts\x18\x03 \x03(\x0B2#.google.cloud.dialogflow.v2.Context\x12\x16\x0A\x0Ereset_contexts\x18\x04 \x01(\x08\x12K\x0A\x14session_entity_types\x18\x05 \x03(\x0B2-.google.cloud.dialogflow.v2.SessionEntityType\x12(\x0A\x07payload\x18\x06 \x01(\x0B2\x17.google.protobuf.Struct\x12e\x0A!sentiment_analysis_request_config\x18\x0A \x01(\x0B2:.google.cloud.dialogflow.v2.SentimentAnalysisRequestConfig\x12X\x0A\x0Fwebhook_headers\x18\x0E \x03(\x0B2?.google.cloud.dialogflow.v2.QueryParameters.WebhookHeadersEntry\x12\x10\x0A\x08platform\x18\x12 \x01(\x09\x1A5\x0A\x13WebhookHeadersEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xCB\x01\x0A\x0AQueryInput\x12D\x0A\x0Caudio_config\x18\x01 \x01(\x0B2,.google.cloud.dialogflow.v2.InputAudioConfigH\x00\x125\x0A\x04text\x18\x02 \x01(\x0B2%.google.cloud.dialogflow.v2.TextInputH\x00\x127\x0A\x05event\x18\x03 \x01(\x0B2&.google.cloud.dialogflow.v2.EventInputH\x00B\x07\x0A\x05input\"\xAE\x05\x0A\x0BQueryResult\x12\x12\x0A\x0Aquery_text\x18\x01 \x01(\x09\x12\x15\x0A\x0Dlanguage_code\x18\x0F \x01(\x09\x12%\x0A\x1Dspeech_recognition_confidence\x18\x02 \x01(\x02\x12\x0E\x0A\x06action\x18\x03 \x01(\x09\x12+\x0A\x0Aparameters\x18\x04 \x01(\x0B2\x17.google.protobuf.Struct\x12#\x0A\x1Ball_required_params_present\x18\x05 \x01(\x08\x12\x1C\x0A\x14cancels_slot_filling\x18\x15 \x01(\x08\x12\x18\x0A\x10fulfillment_text\x18\x06 \x01(\x09\x12H\x0A\x14fulfillment_messages\x18\x07 \x03(\x0B2*.google.cloud.dialogflow.v2.Intent.Message\x12\x16\x0A\x0Ewebhook_source\x18\x08 \x01(\x09\x120\x0A\x0Fwebhook_payload\x18\x09 \x01(\x0B2\x17.google.protobuf.Struct\x12<\x0A\x0Foutput_contexts\x18\x0A \x03(\x0B2#.google.cloud.dialogflow.v2.Context\x122\x0A\x06intent\x18\x0B \x01(\x0B2\".google.cloud.dialogflow.v2.Intent\x12#\x0A\x1Bintent_detection_confidence\x18\x0C \x01(\x02\x120\x0A\x0Fdiagnostic_info\x18\x0E \x01(\x0B2\x17.google.protobuf.Struct\x12V\x0A\x19sentiment_analysis_result\x18\x11 \x01(\x0B23.google.cloud.dialogflow.v2.SentimentAnalysisResult\"\xBB\x03\x0A\x1CStreamingDetectIntentRequest\x12:\x0A\x07session\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dialogflow.googleapis.com/Session\x12A\x0A\x0Cquery_params\x18\x02 \x01(\x0B2+.google.cloud.dialogflow.v2.QueryParameters\x12@\x0A\x0Bquery_input\x18\x03 \x01(\x0B2&.google.cloud.dialogflow.v2.QueryInputB\x03\xE0A\x02\x12\x1C\x0A\x10single_utterance\x18\x04 \x01(\x08B\x02\x18\x01\x12J\x0A\x13output_audio_config\x18\x05 \x01(\x0B2-.google.cloud.dialogflow.v2.OutputAudioConfig\x12<\x0A\x18output_audio_config_mask\x18\x07 \x01(\x0B2\x1A.google.protobuf.FieldMask\x12\x13\x0A\x0Binput_audio\x18\x06 \x01(\x0C\x12\x1D\x0A\x15enable_debugging_info\x18\x08 \x01(\x08\"\xB0\x07\x0A\x1ECloudConversationDebuggingInfo\x12\x19\x0A\x11audio_data_chunks\x18\x01 \x01(\x05\x129\x0A\x16result_end_time_offset\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x127\x0A\x14first_audio_duration\x18\x03 \x01(\x0B2\x19.google.protobuf.Duration\x12\x18\x0A\x10single_utterance\x18\x05 \x01(\x08\x12C\x0A speech_partial_results_end_times\x18\x06 \x03(\x0B2\x19.google.protobuf.Duration\x12A\x0A\x1Espeech_final_results_end_times\x18\x07 \x03(\x0B2\x19.google.protobuf.Duration\x12\x19\x0A\x11partial_responses\x18\x08 \x01(\x05\x12,\x0A\$speaker_id_passive_latency_ms_offset\x18\x09 \x01(\x05\x12\x1F\x0A\x17bargein_event_triggered\x18\x0A \x01(\x08\x12\x1F\x0A\x17speech_single_utterance\x18\x0B \x01(\x08\x12=\x0A\x1Adtmf_partial_results_times\x18\x0C \x03(\x0B2\x19.google.protobuf.Duration\x12;\x0A\x18dtmf_final_results_times\x18\x0D \x03(\x0B2\x19.google.protobuf.Duration\x12C\x0A single_utterance_end_time_offset\x18\x0E \x01(\x0B2\x19.google.protobuf.Duration\x124\x0A\x11no_speech_timeout\x18\x0F \x01(\x0B2\x19.google.protobuf.Duration\x126\x0A\x13endpointing_timeout\x18\x13 \x01(\x0B2\x19.google.protobuf.Duration\x12\x15\x0A\x0Dis_input_text\x18\x10 \x01(\x08\x12@\x0A\x1Dclient_half_close_time_offset\x18\x11 \x01(\x0B2\x19.google.protobuf.Duration\x12J\x0A'client_half_close_streaming_time_offset\x18\x12 \x01(\x0B2\x19.google.protobuf.Duration\"\xA9\x03\x0A\x1DStreamingDetectIntentResponse\x12\x13\x0A\x0Bresponse_id\x18\x01 \x01(\x09\x12R\x0A\x12recognition_result\x18\x02 \x01(\x0B26.google.cloud.dialogflow.v2.StreamingRecognitionResult\x12=\x0A\x0Cquery_result\x18\x03 \x01(\x0B2'.google.cloud.dialogflow.v2.QueryResult\x12*\x0A\x0Ewebhook_status\x18\x04 \x01(\x0B2\x12.google.rpc.Status\x12\x14\x0A\x0Coutput_audio\x18\x05 \x01(\x0C\x12J\x0A\x13output_audio_config\x18\x06 \x01(\x0B2-.google.cloud.dialogflow.v2.OutputAudioConfig\x12R\x0A\x0Edebugging_info\x18\x08 \x01(\x0B2:.google.cloud.dialogflow.v2.CloudConversationDebuggingInfo\"\xFC\x03\x0A\x1AStreamingRecognitionResult\x12X\x0A\x0Cmessage_type\x18\x01 \x01(\x0E2B.google.cloud.dialogflow.v2.StreamingRecognitionResult.MessageType\x12\x12\x0A\x0Atranscript\x18\x02 \x01(\x09\x12\x10\x0A\x08is_final\x18\x03 \x01(\x08\x12\x12\x0A\x0Aconfidence\x18\x04 \x01(\x02\x12D\x0A\x10speech_word_info\x18\x07 \x03(\x0B2*.google.cloud.dialogflow.v2.SpeechWordInfo\x124\x0A\x11speech_end_offset\x18\x08 \x01(\x0B2\x19.google.protobuf.Duration\x12\x15\x0A\x0Dlanguage_code\x18\x0A \x01(\x09\"\xB6\x01\x0A\x0BMessageType\x12\x1C\x0A\x18MESSAGE_TYPE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0ATRANSCRIPT\x10\x01\x12\x0F\x0A\x0BDTMF_DIGITS\x10\x03\x12\x1B\x0A\x17END_OF_SINGLE_UTTERANCE\x10\x02\x12\x17\x0A\x13PARTIAL_DTMF_DIGITS\x10\x04\x12\x19\x0A\x15SPEECH_ACTIVITY_BEGIN\x10\x05\x12\x17\x0A\x13SPEECH_ACTIVITY_END\x10\x06\":\x0A\x09TextInput\x12\x11\x0A\x04text\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1A\x0A\x0Dlanguage_code\x18\x02 \x01(\x09B\x03\xE0A\x02\"h\x0A\x0AEventInput\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x12+\x0A\x0Aparameters\x18\x02 \x01(\x0B2\x17.google.protobuf.Struct\x12\x1A\x0A\x0Dlanguage_code\x18\x03 \x01(\x09B\x03\xE0A\x02\"F\x0A\x1ESentimentAnalysisRequestConfig\x12\$\x0A\x1Canalyze_query_text_sentiment\x18\x01 \x01(\x08\"^\x0A\x17SentimentAnalysisResult\x12C\x0A\x14query_text_sentiment\x18\x01 \x01(\x0B2%.google.cloud.dialogflow.v2.Sentiment\"-\x0A\x09Sentiment\x12\x0D\x0A\x05score\x18\x01 \x01(\x02\x12\x11\x0A\x09magnitude\x18\x02 \x01(\x022\xE5\x05\x0A\x08Sessions\x12\xC9\x03\x0A\x0CDetectIntent\x12/.google.cloud.dialogflow.v2.DetectIntentRequest\x1A0.google.cloud.dialogflow.v2.DetectIntentResponse\"\xD5\x02\xDAA\x13session,query_input\x82\xD3\xE4\x93\x02\xB8\x02\"6/v2/{session=projects/*/agent/sessions/*}:detectIntent:\x01*ZR\"M/v2/{session=projects/*/agent/environments/*/users/*/sessions/*}:detectIntent:\x01*ZG\"B/v2/{session=projects/*/locations/*/agent/sessions/*}:detectIntent:\x01*Z^\"Y/v2/{session=projects/*/locations/*/agent/environments/*/users/*/sessions/*}:detectIntent:\x01*\x12\x92\x01\x0A\x15StreamingDetectIntent\x128.google.cloud.dialogflow.v2.StreamingDetectIntentRequest\x1A9.google.cloud.dialogflow.v2.StreamingDetectIntentResponse\"\x00(\x010\x01\x1Ax\xCAA\x19dialogflow.googleapis.com\xD2AYhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/dialogflowB\xE7\x03\x0A\x1Ecom.google.cloud.dialogflow.v2B\x0CSessionProtoP\x01Z>cloud.google.com/go/dialogflow/apiv2/dialogflowpb;dialogflowpb\xA2\x02\x02DF\xAA\x02\x1AGoogle.Cloud.Dialogflow.V2\xEAA\xD1\x02\x0A!dialogflow.googleapis.com/Session\x12+projects/{project}/agent/sessions/{session}\x12Sprojects/{project}/agent/environments/{environment}/users/{user}/sessions/{session}\x12@projects/{project}/locations/{location}/agent/sessions/{session}\x12hprojects/{project}/locations/{location}/agent/environments/{environment}/users/{user}/sessions/{session}b\x06proto3" , true); static::$is_initialized = true; diff --git a/Dialogflow/metadata/V2/ToolCall.php b/Dialogflow/metadata/V2/ToolCall.php index b7d6c738c7e2..d7eb711e6160 100644 --- a/Dialogflow/metadata/V2/ToolCall.php +++ b/Dialogflow/metadata/V2/ToolCall.php @@ -19,7 +19,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\Struct::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\x90\x0B\x0A*google/cloud/dialogflow/v2/tool_call.proto\x12\x1Agoogle.cloud.dialogflow.v2\x1A\x19google/api/resource.proto\x1A\x1Cgoogle/protobuf/struct.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xD8\x04\x0A\x08ToolCall\x126\x0A\x04tool\x18\x01 \x01(\x09B&\xE0A\x01\xFAA \x0A\x1Edialogflow.googleapis.com/ToolH\x00\x123\x0A\x08ces_tool\x18\x0B \x01(\x09B\x1F\xE0A\x01\xFAA\x19\x0A\x17ces.googleapis.com/ToolH\x00\x129\x0A\x0Bces_toolset\x18\x0C \x01(\x09B\"\xE0A\x01\xFAA\x1C\x0A\x1Aces.googleapis.com/ToolsetH\x00\x121\x0A\x07ces_app\x18\x08 \x01(\x09B\x1E\xE0A\x01\xFAA\x18\x0A\x16ces.googleapis.com/AppH\x00\x12\x1E\x0A\x11tool_display_name\x18\x09 \x01(\x09B\x03\xE0A\x01\x12!\x0A\x14tool_display_details\x18\x0A \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06action\x18\x02 \x01(\x09B\x03\xE0A\x01\x126\x0A\x10input_parameters\x18\x03 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1A\x0A\x0Danswer_record\x18\x06 \x01(\x09B\x03\xE0A\x01\x12>\x0A\x05state\x18\x07 \x01(\x0E2*.google.cloud.dialogflow.v2.ToolCall.StateB\x03\xE0A\x03\"E\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09TRIGGERED\x10\x01\x12\x16\x0A\x12NEEDS_CONFIRMATION\x10\x02B\x08\x0A\x06source\"\xF2\x03\x0A\x0EToolCallResult\x126\x0A\x04tool\x18\x01 \x01(\x09B&\xE0A\x01\xFAA \x0A\x1Edialogflow.googleapis.com/ToolH\x00\x129\x0A\x0Bces_toolset\x18\x0D \x01(\x09B\"\xE0A\x01\xFAA\x1C\x0A\x1Aces.googleapis.com/ToolsetH\x00\x123\x0A\x08ces_tool\x18\x0C \x01(\x09B\x1F\xE0A\x01\xFAA\x19\x0A\x17ces.googleapis.com/ToolH\x00\x121\x0A\x07ces_app\x18\x0B \x01(\x09B\x1E\xE0A\x01\xFAA\x18\x0A\x16ces.googleapis.com/AppH\x00\x12\x13\x0A\x06action\x18\x02 \x01(\x09B\x03\xE0A\x01\x12A\x0A\x05error\x18\x03 \x01(\x0B20.google.cloud.dialogflow.v2.ToolCallResult.ErrorH\x01\x12\x15\x0A\x0Braw_content\x18\x05 \x01(\x0CH\x01\x12\x11\x0A\x07content\x18\x06 \x01(\x09H\x01\x124\x0A\x0Bcreate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1A\x0A\x0Danswer_record\x18\x09 \x01(\x09B\x03\xE0A\x01\x1A\x1D\x0A\x05Error\x12\x14\x0A\x07message\x18\x01 \x01(\x09B\x03\xE0A\x01B\x08\x0A\x06sourceB\x08\x0A\x06resultB\x93\x01\x0A\x1Ecom.google.cloud.dialogflow.v2B\x0DToolCallProtoP\x01Z>cloud.google.com/go/dialogflow/apiv2/dialogflowpb;dialogflowpb\xA2\x02\x02DF\xAA\x02\x1AGoogle.Cloud.Dialogflow.V2b\x06proto3" + "\x0A\x9F\x0B\x0A*google/cloud/dialogflow/v2/tool_call.proto\x12\x1Agoogle.cloud.dialogflow.v2\x1A\x19google/api/resource.proto\x1A\x1Cgoogle/protobuf/struct.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\"\xD8\x04\x0A\x08ToolCall\x126\x0A\x04tool\x18\x01 \x01(\x09B&\xE0A\x01\xFAA \x0A\x1Edialogflow.googleapis.com/ToolH\x00\x123\x0A\x08ces_tool\x18\x0B \x01(\x09B\x1F\xE0A\x01\xFAA\x19\x0A\x17ces.googleapis.com/ToolH\x00\x129\x0A\x0Bces_toolset\x18\x0C \x01(\x09B\"\xE0A\x01\xFAA\x1C\x0A\x1Aces.googleapis.com/ToolsetH\x00\x121\x0A\x07ces_app\x18\x08 \x01(\x09B\x1E\xE0A\x01\xFAA\x18\x0A\x16ces.googleapis.com/AppH\x00\x12\x1E\x0A\x11tool_display_name\x18\x09 \x01(\x09B\x03\xE0A\x01\x12!\x0A\x14tool_display_details\x18\x0A \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06action\x18\x02 \x01(\x09B\x03\xE0A\x01\x126\x0A\x10input_parameters\x18\x03 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1A\x0A\x0Danswer_record\x18\x06 \x01(\x09B\x03\xE0A\x01\x12>\x0A\x05state\x18\x07 \x01(\x0E2*.google.cloud.dialogflow.v2.ToolCall.StateB\x03\xE0A\x03\"E\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09TRIGGERED\x10\x01\x12\x16\x0A\x12NEEDS_CONFIRMATION\x10\x02B\x08\x0A\x06source\"\x81\x04\x0A\x0EToolCallResult\x126\x0A\x04tool\x18\x01 \x01(\x09B&\xE0A\x01\xFAA \x0A\x1Edialogflow.googleapis.com/ToolH\x00\x129\x0A\x0Bces_toolset\x18\x0D \x01(\x09B\"\xE0A\x01\xFAA\x1C\x0A\x1Aces.googleapis.com/ToolsetH\x00\x123\x0A\x08ces_tool\x18\x0C \x01(\x09B\x1F\xE0A\x01\xFAA\x19\x0A\x17ces.googleapis.com/ToolH\x00\x121\x0A\x07ces_app\x18\x0B \x01(\x09B\x1E\xE0A\x01\xFAA\x18\x0A\x16ces.googleapis.com/AppH\x00\x12\x13\x0A\x06action\x18\x02 \x01(\x09B\x03\xE0A\x01\x12F\x0A\x05error\x18\x03 \x01(\x0B20.google.cloud.dialogflow.v2.ToolCallResult.ErrorB\x03\xE0A\x01H\x01\x12\x1A\x0A\x0Braw_content\x18\x05 \x01(\x0CB\x03\xE0A\x01H\x01\x12\x16\x0A\x07content\x18\x06 \x01(\x09B\x03\xE0A\x01H\x01\x124\x0A\x0Bcreate_time\x18\x07 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1A\x0A\x0Danswer_record\x18\x09 \x01(\x09B\x03\xE0A\x01\x1A\x1D\x0A\x05Error\x12\x14\x0A\x07message\x18\x01 \x01(\x09B\x03\xE0A\x01B\x08\x0A\x06sourceB\x08\x0A\x06resultB\x93\x01\x0A\x1Ecom.google.cloud.dialogflow.v2B\x0DToolCallProtoP\x01Z>cloud.google.com/go/dialogflow/apiv2/dialogflowpb;dialogflowpb\xA2\x02\x02DF\xAA\x02\x1AGoogle.Cloud.Dialogflow.V2b\x06proto3" , true); static::$is_initialized = true; diff --git a/Dialogflow/src/V2/InputAudioConfig.php b/Dialogflow/src/V2/InputAudioConfig.php index 7f233f8d5f40..db794454462d 100644 --- a/Dialogflow/src/V2/InputAudioConfig.php +++ b/Dialogflow/src/V2/InputAudioConfig.php @@ -106,6 +106,14 @@ class InputAudioConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field bool single_utterance = 8; */ protected $single_utterance = false; + /** + * Optional. If `true`, responses with voice activity speech events will be + * returned as they are detected. + * Note: This setting is relevant only for streaming methods. + * + * Generated from protobuf field bool enable_voice_activity_events = 27 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $enable_voice_activity_events = false; /** * Only used in * [Participants.AnalyzeContent][google.cloud.dialogflow.v2.Participants.AnalyzeContent] @@ -199,6 +207,10 @@ class InputAudioConfig extends \Google\Protobuf\Internal\Message * Note: This setting is relevant only for streaming methods. * Note: When specified, InputAudioConfig.single_utterance takes precedence * over StreamingDetectIntentRequest.single_utterance. + * @type bool $enable_voice_activity_events + * Optional. If `true`, responses with voice activity speech events will be + * returned as they are detected. + * Note: This setting is relevant only for streaming methods. * @type bool $disable_no_speech_recognized_event * Only used in * [Participants.AnalyzeContent][google.cloud.dialogflow.v2.Participants.AnalyzeContent] @@ -536,6 +548,36 @@ public function setSingleUtterance($var) return $this; } + /** + * Optional. If `true`, responses with voice activity speech events will be + * returned as they are detected. + * Note: This setting is relevant only for streaming methods. + * + * Generated from protobuf field bool enable_voice_activity_events = 27 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getEnableVoiceActivityEvents() + { + return $this->enable_voice_activity_events; + } + + /** + * Optional. If `true`, responses with voice activity speech events will be + * returned as they are detected. + * Note: This setting is relevant only for streaming methods. + * + * Generated from protobuf field bool enable_voice_activity_events = 27 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setEnableVoiceActivityEvents($var) + { + GPBUtil::checkBool($var); + $this->enable_voice_activity_events = $var; + + return $this; + } + /** * Only used in * [Participants.AnalyzeContent][google.cloud.dialogflow.v2.Participants.AnalyzeContent] diff --git a/Dialogflow/src/V2/SearchKnowledgeDebugInfo.php b/Dialogflow/src/V2/SearchKnowledgeDebugInfo.php index 6e8887ae08c7..b85cee4ab0b7 100644 --- a/Dialogflow/src/V2/SearchKnowledgeDebugInfo.php +++ b/Dialogflow/src/V2/SearchKnowledgeDebugInfo.php @@ -40,6 +40,12 @@ class SearchKnowledgeDebugInfo extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.cloud.dialogflow.v2.ServiceLatency service_latency = 4; */ protected $service_latency = null; + /** + * Optional. Debug info from the Customer Engagement Suite (CES) execution. + * + * Generated from protobuf field .google.protobuf.Struct ces_debug_info = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $ces_debug_info = null; /** * Constructor. @@ -56,6 +62,8 @@ class SearchKnowledgeDebugInfo extends \Google\Protobuf\Internal\Message * Information about parameters ingested for search knowledge. * @type \Google\Cloud\Dialogflow\V2\ServiceLatency $service_latency * The latency of the service. + * @type \Google\Protobuf\Struct $ces_debug_info + * Optional. Debug info from the Customer Engagement Suite (CES) execution. * } */ public function __construct($data = NULL) { @@ -199,5 +207,41 @@ public function setServiceLatency($var) return $this; } + /** + * Optional. Debug info from the Customer Engagement Suite (CES) execution. + * + * Generated from protobuf field .google.protobuf.Struct ces_debug_info = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\Struct|null + */ + public function getCesDebugInfo() + { + return $this->ces_debug_info; + } + + public function hasCesDebugInfo() + { + return isset($this->ces_debug_info); + } + + public function clearCesDebugInfo() + { + unset($this->ces_debug_info); + } + + /** + * Optional. Debug info from the Customer Engagement Suite (CES) execution. + * + * Generated from protobuf field .google.protobuf.Struct ces_debug_info = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Protobuf\Struct $var + * @return $this + */ + public function setCesDebugInfo($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Struct::class); + $this->ces_debug_info = $var; + + return $this; + } + } diff --git a/Dialogflow/src/V2/StreamingRecognitionResult/MessageType.php b/Dialogflow/src/V2/StreamingRecognitionResult/MessageType.php index d62c45eb6020..1dae82d484eb 100644 --- a/Dialogflow/src/V2/StreamingRecognitionResult/MessageType.php +++ b/Dialogflow/src/V2/StreamingRecognitionResult/MessageType.php @@ -25,6 +25,12 @@ class MessageType * Generated from protobuf enum TRANSCRIPT = 1; */ const TRANSCRIPT = 1; + /** + * Message contains DTMF digits. + * + * Generated from protobuf enum DTMF_DIGITS = 3; + */ + const DTMF_DIGITS = 3; /** * This event indicates that the server has detected the end of the user's * speech utterance and expects no additional inputs. @@ -38,11 +44,39 @@ class MessageType * Generated from protobuf enum END_OF_SINGLE_UTTERANCE = 2; */ const END_OF_SINGLE_UTTERANCE = 2; + /** + * Message contains DTMF digits. Before a message with DTMF_DIGITS is sent, + * a message with PARTIAL_DTMF_DIGITS may be sent with DTMF digits collected + * up to the time of sending, which represents an intermediate result. + * + * Generated from protobuf enum PARTIAL_DTMF_DIGITS = 4; + */ + const PARTIAL_DTMF_DIGITS = 4; + /** + * This event indicates that the server has detected the beginning of human + * voice activity in the stream. This event can be returned multiple times + * if speech starts and stops repeatedly throughout the stream. + * + * Generated from protobuf enum SPEECH_ACTIVITY_BEGIN = 5; + */ + const SPEECH_ACTIVITY_BEGIN = 5; + /** + * This event indicates that the server has detected the end of human voice + * activity in the stream. This event can be returned multiple times if + * speech starts and stops repeatedly throughout the stream. + * + * Generated from protobuf enum SPEECH_ACTIVITY_END = 6; + */ + const SPEECH_ACTIVITY_END = 6; private static $valueToName = [ self::MESSAGE_TYPE_UNSPECIFIED => 'MESSAGE_TYPE_UNSPECIFIED', self::TRANSCRIPT => 'TRANSCRIPT', + self::DTMF_DIGITS => 'DTMF_DIGITS', self::END_OF_SINGLE_UTTERANCE => 'END_OF_SINGLE_UTTERANCE', + self::PARTIAL_DTMF_DIGITS => 'PARTIAL_DTMF_DIGITS', + self::SPEECH_ACTIVITY_BEGIN => 'SPEECH_ACTIVITY_BEGIN', + self::SPEECH_ACTIVITY_END => 'SPEECH_ACTIVITY_END', ]; public static function name($value) diff --git a/Dialogflow/src/V2/ToolCallResult.php b/Dialogflow/src/V2/ToolCallResult.php index 065ac453f0e8..e730627b8021 100644 --- a/Dialogflow/src/V2/ToolCallResult.php +++ b/Dialogflow/src/V2/ToolCallResult.php @@ -61,12 +61,12 @@ class ToolCallResult extends \Google\Protobuf\Internal\Message * @type string $action * Optional. The name of the tool's action associated with this call. * @type \Google\Cloud\Dialogflow\V2\ToolCallResult\Error $error - * The tool call's error. + * Optional. The tool call's error. * @type string $raw_content - * Only populated if the response content is not utf-8 encoded. + * Optional. Only populated if the response content is not utf-8 encoded. * (by definition byte fields are base64 encoded). * @type string $content - * Only populated if the response content is utf-8 encoded. + * Optional. Only populated if the response content is utf-8 encoded. * @type \Google\Protobuf\Timestamp $create_time * Output only. Create time of the tool call result. * @type string $answer_record @@ -245,9 +245,9 @@ public function setAction($var) } /** - * The tool call's error. + * Optional. The tool call's error. * - * Generated from protobuf field .google.cloud.dialogflow.v2.ToolCallResult.Error error = 3; + * Generated from protobuf field .google.cloud.dialogflow.v2.ToolCallResult.Error error = 3 [(.google.api.field_behavior) = OPTIONAL]; * @return \Google\Cloud\Dialogflow\V2\ToolCallResult\Error|null */ public function getError() @@ -261,9 +261,9 @@ public function hasError() } /** - * The tool call's error. + * Optional. The tool call's error. * - * Generated from protobuf field .google.cloud.dialogflow.v2.ToolCallResult.Error error = 3; + * Generated from protobuf field .google.cloud.dialogflow.v2.ToolCallResult.Error error = 3 [(.google.api.field_behavior) = OPTIONAL]; * @param \Google\Cloud\Dialogflow\V2\ToolCallResult\Error $var * @return $this */ @@ -276,10 +276,10 @@ public function setError($var) } /** - * Only populated if the response content is not utf-8 encoded. + * Optional. Only populated if the response content is not utf-8 encoded. * (by definition byte fields are base64 encoded). * - * Generated from protobuf field bytes raw_content = 5; + * Generated from protobuf field bytes raw_content = 5 [(.google.api.field_behavior) = OPTIONAL]; * @return string */ public function getRawContent() @@ -293,10 +293,10 @@ public function hasRawContent() } /** - * Only populated if the response content is not utf-8 encoded. + * Optional. Only populated if the response content is not utf-8 encoded. * (by definition byte fields are base64 encoded). * - * Generated from protobuf field bytes raw_content = 5; + * Generated from protobuf field bytes raw_content = 5 [(.google.api.field_behavior) = OPTIONAL]; * @param string $var * @return $this */ @@ -309,9 +309,9 @@ public function setRawContent($var) } /** - * Only populated if the response content is utf-8 encoded. + * Optional. Only populated if the response content is utf-8 encoded. * - * Generated from protobuf field string content = 6; + * Generated from protobuf field string content = 6 [(.google.api.field_behavior) = OPTIONAL]; * @return string */ public function getContent() @@ -325,9 +325,9 @@ public function hasContent() } /** - * Only populated if the response content is utf-8 encoded. + * Optional. Only populated if the response content is utf-8 encoded. * - * Generated from protobuf field string content = 6; + * Generated from protobuf field string content = 6 [(.google.api.field_behavior) = OPTIONAL]; * @param string $var * @return $this */ diff --git a/DialogflowCx/metadata/V3/AudioConfig.php b/DialogflowCx/metadata/V3/AudioConfig.php index 6f189ffa8884..ae87bfaffdea 100644 --- a/DialogflowCx/metadata/V3/AudioConfig.php +++ b/DialogflowCx/metadata/V3/AudioConfig.php @@ -18,7 +18,7 @@ public static function initOnce() { \GPBMetadata\Google\Api\Resource::initOnce(); \GPBMetadata\Google\Protobuf\Duration::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xF6\x14\x0A0google/cloud/dialogflow/cx/v3/audio_config.proto\x12\x1Dgoogle.cloud.dialogflow.cx.v3\x1A\x19google/api/resource.proto\x1A\x1Egoogle/protobuf/duration.proto\"\x92\x01\x0A\x0ESpeechWordInfo\x12\x0C\x0A\x04word\x18\x03 \x01(\x09\x12/\x0A\x0Cstart_offset\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\x12-\x0A\x0Aend_offset\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12\x12\x0A\x0Aconfidence\x18\x04 \x01(\x02\"{\x0A\x0DBargeInConfig\x127\x0A\x14no_barge_in_duration\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\x121\x0A\x0Etotal_duration\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\"\x8D\x03\x0A\x10InputAudioConfig\x12I\x0A\x0Eaudio_encoding\x18\x01 \x01(\x0E2,.google.cloud.dialogflow.cx.v3.AudioEncodingB\x03\xE0A\x02\x12\x19\x0A\x11sample_rate_hertz\x18\x02 \x01(\x05\x12\x18\x0A\x10enable_word_info\x18\x0D \x01(\x08\x12\x14\x0A\x0Cphrase_hints\x18\x04 \x03(\x09\x12\x0D\x0A\x05model\x18\x07 \x01(\x09\x12H\x0A\x0Dmodel_variant\x18\x0A \x01(\x0E21.google.cloud.dialogflow.cx.v3.SpeechModelVariant\x12\x18\x0A\x10single_utterance\x18\x08 \x01(\x08\x12E\x0A\x0Fbarge_in_config\x18\x0F \x01(\x0B2,.google.cloud.dialogflow.cx.v3.BargeInConfig\x12)\x0A!opt_out_conformer_model_migration\x18\x1A \x01(\x08\"i\x0A\x14VoiceSelectionParams\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12C\x0A\x0Bssml_gender\x18\x02 \x01(\x0E2..google.cloud.dialogflow.cx.v3.SsmlVoiceGender\"\xB6\x01\x0A\x16SynthesizeSpeechConfig\x12\x15\x0A\x0Dspeaking_rate\x18\x01 \x01(\x01\x12\x0D\x0A\x05pitch\x18\x02 \x01(\x01\x12\x16\x0A\x0Evolume_gain_db\x18\x03 \x01(\x01\x12\x1A\x0A\x12effects_profile_id\x18\x05 \x03(\x09\x12B\x0A\x05voice\x18\x04 \x01(\x0B23.google.cloud.dialogflow.cx.v3.VoiceSelectionParams\"\xD8\x01\x0A\x11OutputAudioConfig\x12O\x0A\x0Eaudio_encoding\x18\x01 \x01(\x0E22.google.cloud.dialogflow.cx.v3.OutputAudioEncodingB\x03\xE0A\x02\x12\x19\x0A\x11sample_rate_hertz\x18\x02 \x01(\x05\x12W\x0A\x18synthesize_speech_config\x18\x03 \x01(\x0B25.google.cloud.dialogflow.cx.v3.SynthesizeSpeechConfig\"\x82\x02\x0A\x14TextToSpeechSettings\x12s\x0A\x19synthesize_speech_configs\x18\x01 \x03(\x0B2P.google.cloud.dialogflow.cx.v3.TextToSpeechSettings.SynthesizeSpeechConfigsEntry\x1Au\x0A\x1CSynthesizeSpeechConfigsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12D\x0A\x05value\x18\x02 \x01(\x0B25.google.cloud.dialogflow.cx.v3.SynthesizeSpeechConfig:\x028\x01*\x94\x02\x0A\x0DAudioEncoding\x12\x1E\x0A\x1AAUDIO_ENCODING_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18AUDIO_ENCODING_LINEAR_16\x10\x01\x12\x17\x0A\x13AUDIO_ENCODING_FLAC\x10\x02\x12\x18\x0A\x14AUDIO_ENCODING_MULAW\x10\x03\x12\x16\x0A\x12AUDIO_ENCODING_AMR\x10\x04\x12\x19\x0A\x15AUDIO_ENCODING_AMR_WB\x10\x05\x12\x1B\x0A\x17AUDIO_ENCODING_OGG_OPUS\x10\x06\x12)\x0A%AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE\x10\x07\x12\x17\x0A\x13AUDIO_ENCODING_ALAW\x10\x08*v\x0A\x12SpeechModelVariant\x12\$\x0A SPEECH_MODEL_VARIANT_UNSPECIFIED\x10\x00\x12\x16\x0A\x12USE_BEST_AVAILABLE\x10\x01\x12\x10\x0A\x0CUSE_STANDARD\x10\x02\x12\x10\x0A\x0CUSE_ENHANCED\x10\x03*\x8D\x01\x0A\x0FSsmlVoiceGender\x12!\x0A\x1DSSML_VOICE_GENDER_UNSPECIFIED\x10\x00\x12\x1A\x0A\x16SSML_VOICE_GENDER_MALE\x10\x01\x12\x1C\x0A\x18SSML_VOICE_GENDER_FEMALE\x10\x02\x12\x1D\x0A\x19SSML_VOICE_GENDER_NEUTRAL\x10\x03*\x8C\x02\x0A\x13OutputAudioEncoding\x12%\x0A!OUTPUT_AUDIO_ENCODING_UNSPECIFIED\x10\x00\x12#\x0A\x1FOUTPUT_AUDIO_ENCODING_LINEAR_16\x10\x01\x12\x1D\x0A\x19OUTPUT_AUDIO_ENCODING_MP3\x10\x02\x12%\x0A!OUTPUT_AUDIO_ENCODING_MP3_64_KBPS\x10\x04\x12\"\x0A\x1EOUTPUT_AUDIO_ENCODING_OGG_OPUS\x10\x03\x12\x1F\x0A\x1BOUTPUT_AUDIO_ENCODING_MULAW\x10\x05\x12\x1E\x0A\x1AOUTPUT_AUDIO_ENCODING_ALAW\x10\x06B\x8B\x02\x0A!com.google.cloud.dialogflow.cx.v3B\x10AudioConfigProtoP\x01Z1cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb\xA2\x02\x02DF\xAA\x02\x1DGoogle.Cloud.Dialogflow.Cx.V3\xEA\x02!Google::Cloud::Dialogflow::CX::V3\xEAAU\x0A\x1Bautoml.googleapis.com/Model\x126projects/{project}/locations/{location}/models/{model}b\x06proto3" + "\x0A\xFA\x14\x0A0google/cloud/dialogflow/cx/v3/audio_config.proto\x12\x1Dgoogle.cloud.dialogflow.cx.v3\x1A\x19google/api/resource.proto\x1A\x1Egoogle/protobuf/duration.proto\"\x92\x01\x0A\x0ESpeechWordInfo\x12\x0C\x0A\x04word\x18\x03 \x01(\x09\x12/\x0A\x0Cstart_offset\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\x12-\x0A\x0Aend_offset\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\x12\x12\x0A\x0Aconfidence\x18\x04 \x01(\x02\"{\x0A\x0DBargeInConfig\x127\x0A\x14no_barge_in_duration\x18\x01 \x01(\x0B2\x19.google.protobuf.Duration\x121\x0A\x0Etotal_duration\x18\x02 \x01(\x0B2\x19.google.protobuf.Duration\"\x8D\x03\x0A\x10InputAudioConfig\x12I\x0A\x0Eaudio_encoding\x18\x01 \x01(\x0E2,.google.cloud.dialogflow.cx.v3.AudioEncodingB\x03\xE0A\x02\x12\x19\x0A\x11sample_rate_hertz\x18\x02 \x01(\x05\x12\x18\x0A\x10enable_word_info\x18\x0D \x01(\x08\x12\x14\x0A\x0Cphrase_hints\x18\x04 \x03(\x09\x12\x0D\x0A\x05model\x18\x07 \x01(\x09\x12H\x0A\x0Dmodel_variant\x18\x0A \x01(\x0E21.google.cloud.dialogflow.cx.v3.SpeechModelVariant\x12\x18\x0A\x10single_utterance\x18\x08 \x01(\x08\x12E\x0A\x0Fbarge_in_config\x18\x0F \x01(\x0B2,.google.cloud.dialogflow.cx.v3.BargeInConfig\x12)\x0A!opt_out_conformer_model_migration\x18\x1A \x01(\x08\"i\x0A\x14VoiceSelectionParams\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12C\x0A\x0Bssml_gender\x18\x02 \x01(\x0E2..google.cloud.dialogflow.cx.v3.SsmlVoiceGender\"\xB6\x01\x0A\x16SynthesizeSpeechConfig\x12\x15\x0A\x0Dspeaking_rate\x18\x01 \x01(\x01\x12\x0D\x0A\x05pitch\x18\x02 \x01(\x01\x12\x16\x0A\x0Evolume_gain_db\x18\x03 \x01(\x01\x12\x1A\x0A\x12effects_profile_id\x18\x05 \x03(\x09\x12B\x0A\x05voice\x18\x04 \x01(\x0B23.google.cloud.dialogflow.cx.v3.VoiceSelectionParams\"\xD8\x01\x0A\x11OutputAudioConfig\x12O\x0A\x0Eaudio_encoding\x18\x01 \x01(\x0E22.google.cloud.dialogflow.cx.v3.OutputAudioEncodingB\x03\xE0A\x02\x12\x19\x0A\x11sample_rate_hertz\x18\x02 \x01(\x05\x12W\x0A\x18synthesize_speech_config\x18\x03 \x01(\x0B25.google.cloud.dialogflow.cx.v3.SynthesizeSpeechConfig\"\x82\x02\x0A\x14TextToSpeechSettings\x12s\x0A\x19synthesize_speech_configs\x18\x01 \x03(\x0B2P.google.cloud.dialogflow.cx.v3.TextToSpeechSettings.SynthesizeSpeechConfigsEntry\x1Au\x0A\x1CSynthesizeSpeechConfigsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12D\x0A\x05value\x18\x02 \x01(\x0B25.google.cloud.dialogflow.cx.v3.SynthesizeSpeechConfig:\x028\x01*\x94\x02\x0A\x0DAudioEncoding\x12\x1E\x0A\x1AAUDIO_ENCODING_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18AUDIO_ENCODING_LINEAR_16\x10\x01\x12\x17\x0A\x13AUDIO_ENCODING_FLAC\x10\x02\x12\x18\x0A\x14AUDIO_ENCODING_MULAW\x10\x03\x12\x16\x0A\x12AUDIO_ENCODING_AMR\x10\x04\x12\x19\x0A\x15AUDIO_ENCODING_AMR_WB\x10\x05\x12\x1B\x0A\x17AUDIO_ENCODING_OGG_OPUS\x10\x06\x12)\x0A%AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE\x10\x07\x12\x17\x0A\x13AUDIO_ENCODING_ALAW\x10\x08*v\x0A\x12SpeechModelVariant\x12\$\x0A SPEECH_MODEL_VARIANT_UNSPECIFIED\x10\x00\x12\x16\x0A\x12USE_BEST_AVAILABLE\x10\x01\x12\x10\x0A\x0CUSE_STANDARD\x10\x02\x12\x10\x0A\x0CUSE_ENHANCED\x10\x03*\x8D\x01\x0A\x0FSsmlVoiceGender\x12!\x0A\x1DSSML_VOICE_GENDER_UNSPECIFIED\x10\x00\x12\x1A\x0A\x16SSML_VOICE_GENDER_MALE\x10\x01\x12\x1C\x0A\x18SSML_VOICE_GENDER_FEMALE\x10\x02\x12\x1D\x0A\x19SSML_VOICE_GENDER_NEUTRAL\x10\x03*\x90\x02\x0A\x13OutputAudioEncoding\x12%\x0A!OUTPUT_AUDIO_ENCODING_UNSPECIFIED\x10\x00\x12#\x0A\x1FOUTPUT_AUDIO_ENCODING_LINEAR_16\x10\x01\x12!\x0A\x19OUTPUT_AUDIO_ENCODING_MP3\x10\x02\x1A\x02\x08\x01\x12%\x0A!OUTPUT_AUDIO_ENCODING_MP3_64_KBPS\x10\x04\x12\"\x0A\x1EOUTPUT_AUDIO_ENCODING_OGG_OPUS\x10\x03\x12\x1F\x0A\x1BOUTPUT_AUDIO_ENCODING_MULAW\x10\x05\x12\x1E\x0A\x1AOUTPUT_AUDIO_ENCODING_ALAW\x10\x06B\x8B\x02\x0A!com.google.cloud.dialogflow.cx.v3B\x10AudioConfigProtoP\x01Z1cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb\xA2\x02\x02DF\xAA\x02\x1DGoogle.Cloud.Dialogflow.Cx.V3\xEA\x02!Google::Cloud::Dialogflow::CX::V3\xEAAU\x0A\x1Bautoml.googleapis.com/Model\x126projects/{project}/locations/{location}/models/{model}b\x06proto3" , true); static::$is_initialized = true; diff --git a/DialogflowCx/samples/V3/AgentsClient/list_locations.php b/DialogflowCx/samples/V3/AgentsClient/list_locations.php index 9ebb11bcac42..4d58bfb8b1b7 100644 --- a/DialogflowCx/samples/V3/AgentsClient/list_locations.php +++ b/DialogflowCx/samples/V3/AgentsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/ChangelogsClient/list_locations.php b/DialogflowCx/samples/V3/ChangelogsClient/list_locations.php index d76e255f33c2..223773b6f512 100644 --- a/DialogflowCx/samples/V3/ChangelogsClient/list_locations.php +++ b/DialogflowCx/samples/V3/ChangelogsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/DeploymentsClient/list_locations.php b/DialogflowCx/samples/V3/DeploymentsClient/list_locations.php index f515a0347af2..429e21e90952 100644 --- a/DialogflowCx/samples/V3/DeploymentsClient/list_locations.php +++ b/DialogflowCx/samples/V3/DeploymentsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/EntityTypesClient/list_locations.php b/DialogflowCx/samples/V3/EntityTypesClient/list_locations.php index d478b9c4bf59..5e7785a6ce89 100644 --- a/DialogflowCx/samples/V3/EntityTypesClient/list_locations.php +++ b/DialogflowCx/samples/V3/EntityTypesClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/EnvironmentsClient/list_locations.php b/DialogflowCx/samples/V3/EnvironmentsClient/list_locations.php index 7cbe3afba37c..dd099fb69ed6 100644 --- a/DialogflowCx/samples/V3/EnvironmentsClient/list_locations.php +++ b/DialogflowCx/samples/V3/EnvironmentsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/ExamplesClient/list_locations.php b/DialogflowCx/samples/V3/ExamplesClient/list_locations.php index c057a585dab4..d6c9bf776505 100644 --- a/DialogflowCx/samples/V3/ExamplesClient/list_locations.php +++ b/DialogflowCx/samples/V3/ExamplesClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/ExperimentsClient/list_locations.php b/DialogflowCx/samples/V3/ExperimentsClient/list_locations.php index 27e10794043d..17016d23ae28 100644 --- a/DialogflowCx/samples/V3/ExperimentsClient/list_locations.php +++ b/DialogflowCx/samples/V3/ExperimentsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/FlowsClient/list_locations.php b/DialogflowCx/samples/V3/FlowsClient/list_locations.php index e8438b259773..87dca6b7fb5b 100644 --- a/DialogflowCx/samples/V3/FlowsClient/list_locations.php +++ b/DialogflowCx/samples/V3/FlowsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/GeneratorsClient/list_locations.php b/DialogflowCx/samples/V3/GeneratorsClient/list_locations.php index 4c8dd9f10a38..c1e424b4d70b 100644 --- a/DialogflowCx/samples/V3/GeneratorsClient/list_locations.php +++ b/DialogflowCx/samples/V3/GeneratorsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/IntentsClient/list_locations.php b/DialogflowCx/samples/V3/IntentsClient/list_locations.php index 574e3d8fdb03..d37e6e5fb51b 100644 --- a/DialogflowCx/samples/V3/IntentsClient/list_locations.php +++ b/DialogflowCx/samples/V3/IntentsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/PagesClient/list_locations.php b/DialogflowCx/samples/V3/PagesClient/list_locations.php index 5023101d09af..7a8e28a13702 100644 --- a/DialogflowCx/samples/V3/PagesClient/list_locations.php +++ b/DialogflowCx/samples/V3/PagesClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/PlaybooksClient/list_locations.php b/DialogflowCx/samples/V3/PlaybooksClient/list_locations.php index b448c1b6316c..54217b095a7c 100644 --- a/DialogflowCx/samples/V3/PlaybooksClient/list_locations.php +++ b/DialogflowCx/samples/V3/PlaybooksClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/SecuritySettingsServiceClient/list_locations.php b/DialogflowCx/samples/V3/SecuritySettingsServiceClient/list_locations.php index b6eba19c6470..2ddc3a7c5e6d 100644 --- a/DialogflowCx/samples/V3/SecuritySettingsServiceClient/list_locations.php +++ b/DialogflowCx/samples/V3/SecuritySettingsServiceClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/SessionEntityTypesClient/list_locations.php b/DialogflowCx/samples/V3/SessionEntityTypesClient/list_locations.php index 76682264080d..46803f072320 100644 --- a/DialogflowCx/samples/V3/SessionEntityTypesClient/list_locations.php +++ b/DialogflowCx/samples/V3/SessionEntityTypesClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/SessionsClient/list_locations.php b/DialogflowCx/samples/V3/SessionsClient/list_locations.php index adbec7d13d60..30beb2271e7e 100644 --- a/DialogflowCx/samples/V3/SessionsClient/list_locations.php +++ b/DialogflowCx/samples/V3/SessionsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/TestCasesClient/list_locations.php b/DialogflowCx/samples/V3/TestCasesClient/list_locations.php index 7ea0228d7d61..3abcd054c3ec 100644 --- a/DialogflowCx/samples/V3/TestCasesClient/list_locations.php +++ b/DialogflowCx/samples/V3/TestCasesClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/ToolsClient/list_locations.php b/DialogflowCx/samples/V3/ToolsClient/list_locations.php index e42ec089ee72..f22b907476e9 100644 --- a/DialogflowCx/samples/V3/ToolsClient/list_locations.php +++ b/DialogflowCx/samples/V3/ToolsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/TransitionRouteGroupsClient/list_locations.php b/DialogflowCx/samples/V3/TransitionRouteGroupsClient/list_locations.php index f1af4239963f..c819fa150835 100644 --- a/DialogflowCx/samples/V3/TransitionRouteGroupsClient/list_locations.php +++ b/DialogflowCx/samples/V3/TransitionRouteGroupsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/VersionsClient/list_locations.php b/DialogflowCx/samples/V3/VersionsClient/list_locations.php index f0a38cb30dfe..d90702f845ab 100644 --- a/DialogflowCx/samples/V3/VersionsClient/list_locations.php +++ b/DialogflowCx/samples/V3/VersionsClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/samples/V3/WebhooksClient/list_locations.php b/DialogflowCx/samples/V3/WebhooksClient/list_locations.php index 38fd63ade0af..844858b3a2b1 100644 --- a/DialogflowCx/samples/V3/WebhooksClient/list_locations.php +++ b/DialogflowCx/samples/V3/WebhooksClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/AgentsClient.php b/DialogflowCx/src/V3/Client/AgentsClient.php index 9565921b95b0..cfb527a52bbb 100644 --- a/DialogflowCx/src/V3/Client/AgentsClient.php +++ b/DialogflowCx/src/V3/Client/AgentsClient.php @@ -836,9 +836,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/ChangelogsClient.php b/DialogflowCx/src/V3/Client/ChangelogsClient.php index d7b655e5c251..2dd8cf552d43 100644 --- a/DialogflowCx/src/V3/Client/ChangelogsClient.php +++ b/DialogflowCx/src/V3/Client/ChangelogsClient.php @@ -340,9 +340,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/DeploymentsClient.php b/DialogflowCx/src/V3/Client/DeploymentsClient.php index de2d76559b52..d6a7f5c4dedf 100644 --- a/DialogflowCx/src/V3/Client/DeploymentsClient.php +++ b/DialogflowCx/src/V3/Client/DeploymentsClient.php @@ -355,9 +355,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/EntityTypesClient.php b/DialogflowCx/src/V3/Client/EntityTypesClient.php index 5297c0622fef..2095a2a3b2ff 100644 --- a/DialogflowCx/src/V3/Client/EntityTypesClient.php +++ b/DialogflowCx/src/V3/Client/EntityTypesClient.php @@ -546,9 +546,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/EnvironmentsClient.php b/DialogflowCx/src/V3/Client/EnvironmentsClient.php index 12c9f5460cf1..095087add1ea 100644 --- a/DialogflowCx/src/V3/Client/EnvironmentsClient.php +++ b/DialogflowCx/src/V3/Client/EnvironmentsClient.php @@ -761,9 +761,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/ExamplesClient.php b/DialogflowCx/src/V3/Client/ExamplesClient.php index 2a5e14fdaa2b..5cbfb6c30d64 100644 --- a/DialogflowCx/src/V3/Client/ExamplesClient.php +++ b/DialogflowCx/src/V3/Client/ExamplesClient.php @@ -475,9 +475,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/ExperimentsClient.php b/DialogflowCx/src/V3/Client/ExperimentsClient.php index 50e05e3631b4..08ee2ef0589a 100644 --- a/DialogflowCx/src/V3/Client/ExperimentsClient.php +++ b/DialogflowCx/src/V3/Client/ExperimentsClient.php @@ -528,9 +528,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/FlowsClient.php b/DialogflowCx/src/V3/Client/FlowsClient.php index 9b35994eeee8..1e42393f7f33 100644 --- a/DialogflowCx/src/V3/Client/FlowsClient.php +++ b/DialogflowCx/src/V3/Client/FlowsClient.php @@ -921,9 +921,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/GeneratorsClient.php b/DialogflowCx/src/V3/Client/GeneratorsClient.php index bab6196cf67a..b997b61b406b 100644 --- a/DialogflowCx/src/V3/Client/GeneratorsClient.php +++ b/DialogflowCx/src/V3/Client/GeneratorsClient.php @@ -422,9 +422,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/IntentsClient.php b/DialogflowCx/src/V3/Client/IntentsClient.php index 170b190f813e..2cfa4f054fa1 100644 --- a/DialogflowCx/src/V3/Client/IntentsClient.php +++ b/DialogflowCx/src/V3/Client/IntentsClient.php @@ -588,9 +588,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/PagesClient.php b/DialogflowCx/src/V3/Client/PagesClient.php index cc0067654d28..32a6c8a98740 100644 --- a/DialogflowCx/src/V3/Client/PagesClient.php +++ b/DialogflowCx/src/V3/Client/PagesClient.php @@ -659,9 +659,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/PlaybooksClient.php b/DialogflowCx/src/V3/Client/PlaybooksClient.php index 8fde8a7a4b9d..5272c21d747f 100644 --- a/DialogflowCx/src/V3/Client/PlaybooksClient.php +++ b/DialogflowCx/src/V3/Client/PlaybooksClient.php @@ -830,9 +830,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/SecuritySettingsServiceClient.php b/DialogflowCx/src/V3/Client/SecuritySettingsServiceClient.php index bb43d7e5bdfd..7c471d274dc7 100644 --- a/DialogflowCx/src/V3/Client/SecuritySettingsServiceClient.php +++ b/DialogflowCx/src/V3/Client/SecuritySettingsServiceClient.php @@ -569,9 +569,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/SessionEntityTypesClient.php b/DialogflowCx/src/V3/Client/SessionEntityTypesClient.php index b0612a1618d8..9de82b8e51e8 100644 --- a/DialogflowCx/src/V3/Client/SessionEntityTypesClient.php +++ b/DialogflowCx/src/V3/Client/SessionEntityTypesClient.php @@ -561,9 +561,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/SessionsClient.php b/DialogflowCx/src/V3/Client/SessionsClient.php index eeafa1637bc6..b6d7caddcfae 100644 --- a/DialogflowCx/src/V3/Client/SessionsClient.php +++ b/DialogflowCx/src/V3/Client/SessionsClient.php @@ -829,9 +829,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/TestCasesClient.php b/DialogflowCx/src/V3/Client/TestCasesClient.php index 1f9946187ebb..0d2ff0fdba9c 100644 --- a/DialogflowCx/src/V3/Client/TestCasesClient.php +++ b/DialogflowCx/src/V3/Client/TestCasesClient.php @@ -1047,9 +1047,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/ToolsClient.php b/DialogflowCx/src/V3/Client/ToolsClient.php index 9b5b2ad03980..de033c57f0ba 100644 --- a/DialogflowCx/src/V3/Client/ToolsClient.php +++ b/DialogflowCx/src/V3/Client/ToolsClient.php @@ -641,9 +641,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/TransitionRouteGroupsClient.php b/DialogflowCx/src/V3/Client/TransitionRouteGroupsClient.php index 661e625eec3b..ee2e09f0cf1a 100644 --- a/DialogflowCx/src/V3/Client/TransitionRouteGroupsClient.php +++ b/DialogflowCx/src/V3/Client/TransitionRouteGroupsClient.php @@ -656,9 +656,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/VersionsClient.php b/DialogflowCx/src/V3/Client/VersionsClient.php index f1c682368472..e86702303132 100644 --- a/DialogflowCx/src/V3/Client/VersionsClient.php +++ b/DialogflowCx/src/V3/Client/VersionsClient.php @@ -563,9 +563,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/Client/WebhooksClient.php b/DialogflowCx/src/V3/Client/WebhooksClient.php index 706ae3e51d70..35bfd80c8878 100644 --- a/DialogflowCx/src/V3/Client/WebhooksClient.php +++ b/DialogflowCx/src/V3/Client/WebhooksClient.php @@ -464,9 +464,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/DialogflowCx/src/V3/DetectIntentResponseView.php b/DialogflowCx/src/V3/DetectIntentResponseView.php index 694f0dc28982..717897a7cf7d 100644 --- a/DialogflowCx/src/V3/DetectIntentResponseView.php +++ b/DialogflowCx/src/V3/DetectIntentResponseView.php @@ -30,6 +30,11 @@ class DetectIntentResponseView * Basic response view omits the following fields: * - * [QueryResult.diagnostic_info][google.cloud.dialogflow.cx.v3.QueryResult.diagnostic_info] + * - [QueryResult.generative_info][] + * - + * [QueryResult.trace_blocks][google.cloud.dialogflow.cx.v3.QueryResult.trace_blocks] + * - + * [QueryResult.data_store_connection_signals][google.cloud.dialogflow.cx.v3.QueryResult.data_store_connection_signals] * * Generated from protobuf enum DETECT_INTENT_RESPONSE_VIEW_BASIC = 2; */ diff --git a/DialogflowCx/src/V3/OutputAudioEncoding.php b/DialogflowCx/src/V3/OutputAudioEncoding.php index 996795c8626d..69b41ec66a87 100644 --- a/DialogflowCx/src/V3/OutputAudioEncoding.php +++ b/DialogflowCx/src/V3/OutputAudioEncoding.php @@ -28,9 +28,9 @@ class OutputAudioEncoding */ const OUTPUT_AUDIO_ENCODING_LINEAR_16 = 1; /** - * MP3 audio at 32kbps. + * MP3 audio at 64kbps. * - * Generated from protobuf enum OUTPUT_AUDIO_ENCODING_MP3 = 2; + * Generated from protobuf enum OUTPUT_AUDIO_ENCODING_MP3 = 2 [deprecated = true]; */ const OUTPUT_AUDIO_ENCODING_MP3 = 2; /** diff --git a/Gax/composer.json b/Gax/composer.json index bd5af2ac073e..29a87e21c873 100644 --- a/Gax/composer.json +++ b/Gax/composer.json @@ -9,7 +9,7 @@ "license": "BSD-3-Clause", "require": { "php": "^8.1", - "google/auth": "^1.49", + "google/auth": "^1.52", "google/grpc-gcp": "^0.4", "grpc/grpc": "^1.13", "google/protobuf": "^4.31||^5.34", diff --git a/Gax/src/CredentialsWrapper.php b/Gax/src/CredentialsWrapper.php index d6e90892b5a3..ff9ccc9c24d7 100644 --- a/Gax/src/CredentialsWrapper.php +++ b/Gax/src/CredentialsWrapper.php @@ -58,7 +58,6 @@ class CredentialsWrapper implements HeaderCredentialsInterface, ProjectIdProvide /** @var callable $authHttpHandle */ private $authHttpHandler; - private string $universeDomain; private bool $hasCheckedUniverse = false; /** @var int */ @@ -76,14 +75,13 @@ class CredentialsWrapper implements HeaderCredentialsInterface, ProjectIdProvide public function __construct( FetchAuthTokenInterface $credentialsFetcher, ?callable $authHttpHandler = null, - string $universeDomain = GetUniverseDomainInterface::DEFAULT_UNIVERSE_DOMAIN + private string $universeDomain = GetUniverseDomainInterface::DEFAULT_UNIVERSE_DOMAIN, ) { $this->credentialsFetcher = $credentialsFetcher; $this->authHttpHandler = $authHttpHandler; if (empty($universeDomain)) { throw new ValidationException('The universe domain cannot be empty'); } - $this->universeDomain = $universeDomain; } /** @@ -116,6 +114,9 @@ public function __construct( * @type bool $useJwtAccessWithScope * Ensures service account credentials use JWT Access (also known as self-signed * JWTs), even when user-defined scopes are supplied. + * @type bool $enableRegionalAccessBoundary + * Enable the Regional Access Boundary lookup in the credentials which sets the + * `x-allowed-locations` header in the request. * } * @param string $universeDomain The expected universe of the credentials. Defaults to * "googleapis.com" @@ -136,6 +137,7 @@ public static function build( 'quotaProject' => null, 'defaultScopes' => null, 'useJwtAccessWithScope' => true, + 'enableRegionalAccessBoundary' => false, ]; $keyFile = $args['keyFile']; @@ -147,7 +149,8 @@ public static function build( $args['authCacheOptions'], $args['authCache'], $args['quotaProject'], - $args['defaultScopes'] + $args['defaultScopes'], + $args['enableRegionalAccessBoundary'], ); if ($loader instanceof FetchAuthTokenCache) { $loader = $loader->getFetcher(); @@ -167,7 +170,8 @@ public static function build( $loader = CredentialsLoader::makeCredentials( $args['scopes'], $keyFile, - $args['defaultScopes'] + $args['defaultScopes'], + $args['enableRegionalAccessBoundary'], ); } @@ -322,7 +326,8 @@ private static function buildApplicationDefaultCredentials( ?array $authCacheOptions = null, ?CacheItemPoolInterface $authCache = null, $quotaProject = null, - ?array $defaultScopes = null + ?array $defaultScopes = null, + bool $enableRegionalAccessBoundary = true, ) { try { return ApplicationDefaultCredentials::getCredentials( @@ -331,7 +336,10 @@ private static function buildApplicationDefaultCredentials( $authCacheOptions, $authCache, $quotaProject, - $defaultScopes + $defaultScopes, + null, // $universeDomain + null, // $logger + $enableRegionalAccessBoundary, ); } catch (DomainException $ex) { throw new ValidationException('Could not construct ApplicationDefaultCredentials', $ex->getCode(), $ex); diff --git a/Gax/src/GapicClientTrait.php b/Gax/src/GapicClientTrait.php index 3bd91ece34b0..b269bb78baa7 100644 --- a/Gax/src/GapicClientTrait.php +++ b/Gax/src/GapicClientTrait.php @@ -344,10 +344,18 @@ private function setClientOptions(array $options) $options['credentialsConfig']['quotaProject'] ?? null ); } else { + $enableRegionalAccessBoundary = filter_var( + getenv('GOOGLE_AUTH_TRUST_BOUNDARY_ENABLE_EXPERIMENT'), + FILTER_VALIDATE_BOOLEAN + ); + $isRegional = str_ends_with($options['apiEndpoint'], '.rep.googleapis.com') + || str_ends_with($options['apiEndpoint'], '.rep.sandbox.googleapis.com'); $this->credentialsWrapper = $this->createCredentialsWrapper( $options['credentials'], - $options['credentialsConfig'], - $options['universeDomain'] + $options['credentialsConfig'] + [ + 'enableRegionalAccessBoundary' => $enableRegionalAccessBoundary && !$isRegional + ], + $options['universeDomain'], ); } diff --git a/Gax/tests/Unit/CredentialsWrapperTest.php b/Gax/tests/Unit/CredentialsWrapperTest.php index d7d5a1c0979b..428957daf1b1 100644 --- a/Gax/tests/Unit/CredentialsWrapperTest.php +++ b/Gax/tests/Unit/CredentialsWrapperTest.php @@ -145,6 +145,34 @@ public function buildDataWithoutExplicitKeyFile() quotaProject: $quotaProject )), ], + [ + ['enableRegionalAccessBoundary' => true], + new CredentialsWrapper(ApplicationDefaultCredentials::getCredentials( + null, + $authHttpHandler, + null, + $defaultAuthCache, + null, + null, + null, + null, + true, // $enableRegionalAccessBoundary + )), + ], + [ + ['enableRegionalAccessBoundary' => false], + new CredentialsWrapper(ApplicationDefaultCredentials::getCredentials( + null, + $authHttpHandler, + null, + $defaultAuthCache, + null, + null, + null, + null, + false, // $enableRegionalAccessBoundary + )), + ], ]; $this->setEnv('GOOGLE_APPLICATION_CREDENTIALS', $appDefaultCreds); diff --git a/Gax/tests/Unit/GapicClientTraitTest.php b/Gax/tests/Unit/GapicClientTraitTest.php index fef2951d4197..51369ba18bab 100644 --- a/Gax/tests/Unit/GapicClientTraitTest.php +++ b/Gax/tests/Unit/GapicClientTraitTest.php @@ -896,6 +896,51 @@ public function setClientOptionsData() ]; } + /** + * @dataProvider buildClientOptionsRegionalEndpointData + * @runInSeparateProcess + * @preserveGlobalState disabled + */ + public function testBuildClientOptionsRegionalEndpoint(?string $apiEndpoint, ?string $envVarValue, bool $rabEnabled) + { + if ($envVarValue !== null) { + putenv('GOOGLE_AUTH_TRUST_BOUNDARY_ENABLE_EXPERIMENT=' . $envVarValue); + } + + $client = new class() extends StubGapicClient { + public array $capturedCredentialsConfig = []; + + public function createCredentialsWrapper($credentials, array $credentialsConfig, string $universeDomain) + { + $this->capturedCredentialsConfig = $credentialsConfig; + return null; + } + }; + + $clientOptions = $client->buildClientOptions( + $apiEndpoint !== null ? ['apiEndpoint' => $apiEndpoint] : [] + ); + $client->setClientOptions($clientOptions); + + $this->assertEquals( + $rabEnabled, + $client->capturedCredentialsConfig['enableRegionalAccessBoundary'] ?? null + ); + } + + public function buildClientOptionsRegionalEndpointData() + { + return [ + ['test.googleapis.com', 'true', true], + ['test.rep.googleapis.com', 'true', false], + ['test.rep.sandbox.googleapis.com', 'true', false], + ['test.googleapis.com', 'false', false], + ['test.googleapis.com', null, false], + ['', 'true', true], // Empty endpoint case + [null, 'true', true], // Unset endpoint case + ]; + } + /** * @dataProvider buildRequestHeaderParams */ diff --git a/NetworkManagement/metadata/V1/ConnectivityTest.php b/NetworkManagement/metadata/V1/ConnectivityTest.php index ef3fe1f7c983..91da9b4c8fad 100644 --- a/NetworkManagement/metadata/V1/ConnectivityTest.php +++ b/NetworkManagement/metadata/V1/ConnectivityTest.php @@ -20,7 +20,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); \GPBMetadata\Google\Rpc\Status::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\x94\$\x0A9google/cloud/networkmanagement/v1/connectivity_test.proto\x12!google.cloud.networkmanagement.v1\x1A\x19google/api/resource.proto\x1A-google/cloud/networkmanagement/v1/trace.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x17google/rpc/status.proto\"\xAE\x07\x0A\x10ConnectivityTest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x13\x0A\x0Bdescription\x18\x02 \x01(\x09\x12@\x0A\x06source\x18\x03 \x01(\x0B2+.google.cloud.networkmanagement.v1.EndpointB\x03\xE0A\x02\x12E\x0A\x0Bdestination\x18\x04 \x01(\x0B2+.google.cloud.networkmanagement.v1.EndpointB\x03\xE0A\x02\x12\x10\x0A\x08protocol\x18\x05 \x01(\x09\x12\x18\x0A\x10related_projects\x18\x06 \x03(\x09\x12\x19\x0A\x0Cdisplay_name\x18\x07 \x01(\x09B\x03\xE0A\x03\x12O\x0A\x06labels\x18\x08 \x03(\x0B2?.google.cloud.networkmanagement.v1.ConnectivityTest.LabelsEntry\x124\x0A\x0Bcreate_time\x18\x0A \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x0B \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12Y\x0A\x14reachability_details\x18\x0C \x01(\x0B26.google.cloud.networkmanagement.v1.ReachabilityDetailsB\x03\xE0A\x03\x12O\x0A\x0Fprobing_details\x18\x0E \x01(\x0B21.google.cloud.networkmanagement.v1.ProbingDetailsB\x03\xE0A\x03\x12\x12\x0A\x0Around_trip\x18\x0F \x01(\x08\x12`\x0A\x1Breturn_reachability_details\x18\x10 \x01(\x0B26.google.cloud.networkmanagement.v1.ReachabilityDetailsB\x03\xE0A\x03\x12\x1E\x0A\x16bypass_firewall_checks\x18\x11 \x01(\x08\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:t\xEAAq\x0A1networkmanagement.googleapis.com/ConnectivityTest\x12.google.cloud.networkmanagement.v1.ProbingDetails.EdgeLocation\x12\\\x0A\x0Eedge_responses\x18\x0A \x03(\x0B2D.google.cloud.networkmanagement.v1.ProbingDetails.SingleEdgeResponse\x12\x1A\x0A\x12probed_all_devices\x18\x0B \x01(\x08\x1A)\x0A\x0CEdgeLocation\x12\x19\x0A\x11metropolitan_area\x18\x01 \x01(\x09\x1A\xF1\x02\x0A\x12SingleEdgeResponse\x12O\x0A\x06result\x18\x01 \x01(\x0E2?.google.cloud.networkmanagement.v1.ProbingDetails.ProbingResult\x12\x18\x0A\x10sent_probe_count\x18\x02 \x01(\x05\x12\x1E\x0A\x16successful_probe_count\x18\x03 \x01(\x05\x12O\x0A\x0Fprobing_latency\x18\x04 \x01(\x0B26.google.cloud.networkmanagement.v1.LatencyDistribution\x12c\x0A\x1Bdestination_egress_location\x18\x05 \x01(\x0B2>.google.cloud.networkmanagement.v1.ProbingDetails.EdgeLocation\x12\x1A\x0A\x12destination_router\x18\x06 \x01(\x09\"\x80\x01\x0A\x0DProbingResult\x12\x1E\x0A\x1APROBING_RESULT_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09REACHABLE\x10\x01\x12\x0F\x0A\x0BUNREACHABLE\x10\x02\x12\x1D\x0A\x19REACHABILITY_INCONSISTENT\x10\x03\x12\x10\x0A\x0CUNDETERMINED\x10\x04\"g\x0A\x11ProbingAbortCause\x12#\x0A\x1FPROBING_ABORT_CAUSE_UNSPECIFIED\x10\x00\x12\x15\x0A\x11PERMISSION_DENIED\x10\x01\x12\x16\x0A\x12NO_SOURCE_LOCATION\x10\x02B\xFD\x01\x0A%com.google.cloud.networkmanagement.v1B\x0ETestOuterClassP\x01ZScloud.google.com/go/networkmanagement/apiv1/networkmanagementpb;networkmanagementpb\xAA\x02!Google.Cloud.NetworkManagement.V1\xCA\x02!Google\\Cloud\\NetworkManagement\\V1\xEA\x02\$Google::Cloud::NetworkManagement::V1b\x06proto3" + "\x0A\xB4\$\x0A9google/cloud/networkmanagement/v1/connectivity_test.proto\x12!google.cloud.networkmanagement.v1\x1A\x19google/api/resource.proto\x1A-google/cloud/networkmanagement/v1/trace.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x17google/rpc/status.proto\"\xAE\x07\x0A\x10ConnectivityTest\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x13\x0A\x0Bdescription\x18\x02 \x01(\x09\x12@\x0A\x06source\x18\x03 \x01(\x0B2+.google.cloud.networkmanagement.v1.EndpointB\x03\xE0A\x02\x12E\x0A\x0Bdestination\x18\x04 \x01(\x0B2+.google.cloud.networkmanagement.v1.EndpointB\x03\xE0A\x02\x12\x10\x0A\x08protocol\x18\x05 \x01(\x09\x12\x18\x0A\x10related_projects\x18\x06 \x03(\x09\x12\x19\x0A\x0Cdisplay_name\x18\x07 \x01(\x09B\x03\xE0A\x03\x12O\x0A\x06labels\x18\x08 \x03(\x0B2?.google.cloud.networkmanagement.v1.ConnectivityTest.LabelsEntry\x124\x0A\x0Bcreate_time\x18\x0A \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x0B \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12Y\x0A\x14reachability_details\x18\x0C \x01(\x0B26.google.cloud.networkmanagement.v1.ReachabilityDetailsB\x03\xE0A\x03\x12O\x0A\x0Fprobing_details\x18\x0E \x01(\x0B21.google.cloud.networkmanagement.v1.ProbingDetailsB\x03\xE0A\x03\x12\x12\x0A\x0Around_trip\x18\x0F \x01(\x08\x12`\x0A\x1Breturn_reachability_details\x18\x10 \x01(\x0B26.google.cloud.networkmanagement.v1.ReachabilityDetailsB\x03\xE0A\x03\x12\x1E\x0A\x16bypass_firewall_checks\x18\x11 \x01(\x08\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:t\xEAAq\x0A1networkmanagement.googleapis.com/ConnectivityTest\x12.google.cloud.networkmanagement.v1.ProbingDetails.EdgeLocation\x12\\\x0A\x0Eedge_responses\x18\x0A \x03(\x0B2D.google.cloud.networkmanagement.v1.ProbingDetails.SingleEdgeResponse\x12\x1A\x0A\x12probed_all_devices\x18\x0B \x01(\x08\x1A)\x0A\x0CEdgeLocation\x12\x19\x0A\x11metropolitan_area\x18\x01 \x01(\x09\x1A\xF1\x02\x0A\x12SingleEdgeResponse\x12O\x0A\x06result\x18\x01 \x01(\x0E2?.google.cloud.networkmanagement.v1.ProbingDetails.ProbingResult\x12\x18\x0A\x10sent_probe_count\x18\x02 \x01(\x05\x12\x1E\x0A\x16successful_probe_count\x18\x03 \x01(\x05\x12O\x0A\x0Fprobing_latency\x18\x04 \x01(\x0B26.google.cloud.networkmanagement.v1.LatencyDistribution\x12c\x0A\x1Bdestination_egress_location\x18\x05 \x01(\x0B2>.google.cloud.networkmanagement.v1.ProbingDetails.EdgeLocation\x12\x1A\x0A\x12destination_router\x18\x06 \x01(\x09\"\x80\x01\x0A\x0DProbingResult\x12\x1E\x0A\x1APROBING_RESULT_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09REACHABLE\x10\x01\x12\x0F\x0A\x0BUNREACHABLE\x10\x02\x12\x1D\x0A\x19REACHABILITY_INCONSISTENT\x10\x03\x12\x10\x0A\x0CUNDETERMINED\x10\x04\"g\x0A\x11ProbingAbortCause\x12#\x0A\x1FPROBING_ABORT_CAUSE_UNSPECIFIED\x10\x00\x12\x15\x0A\x11PERMISSION_DENIED\x10\x01\x12\x16\x0A\x12NO_SOURCE_LOCATION\x10\x02B\xFD\x01\x0A%com.google.cloud.networkmanagement.v1B\x0ETestOuterClassP\x01ZScloud.google.com/go/networkmanagement/apiv1/networkmanagementpb;networkmanagementpb\xAA\x02!Google.Cloud.NetworkManagement.V1\xCA\x02!Google\\Cloud\\NetworkManagement\\V1\xEA\x02\$Google::Cloud::NetworkManagement::V1b\x06proto3" , true); static::$is_initialized = true; diff --git a/NetworkManagement/metadata/V1/Trace.php b/NetworkManagement/metadata/V1/Trace.php index 074774df8fa1..1d3e3911ceda 100644 --- a/NetworkManagement/metadata/V1/Trace.php +++ b/NetworkManagement/metadata/V1/Trace.php @@ -17,7 +17,7 @@ public static function initOnce() { \GPBMetadata\Google\Api\FieldBehavior::initOnce(); \GPBMetadata\Google\Api\FieldInfo::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xA5\xB0\x01\x0A-google/cloud/networkmanagement/v1/trace.proto\x12!google.cloud.networkmanagement.v1\x1A\x1Bgoogle/api/field_info.proto\"\xA1\x01\x0A\x05Trace\x12F\x0A\x0Dendpoint_info\x18\x01 \x01(\x0B2/.google.cloud.networkmanagement.v1.EndpointInfo\x126\x0A\x05steps\x18\x02 \x03(\x0B2'.google.cloud.networkmanagement.v1.Step\x12\x18\x0A\x10forward_trace_id\x18\x04 \x01(\x05\"\xE8\"\x0A\x04Step\x12\x13\x0A\x0Bdescription\x18\x01 \x01(\x09\x12<\x0A\x05state\x18\x02 \x01(\x0E2-.google.cloud.networkmanagement.v1.Step.State\x12\x13\x0A\x0Bcauses_drop\x18\x03 \x01(\x08\x12\x12\x0A\x0Aproject_id\x18\x04 \x01(\x09\x12C\x0A\x08instance\x18\x05 \x01(\x0B2/.google.cloud.networkmanagement.v1.InstanceInfoH\x00\x12C\x0A\x08firewall\x18\x06 \x01(\x0B2/.google.cloud.networkmanagement.v1.FirewallInfoH\x00\x12=\x0A\x05route\x18\x07 \x01(\x0B2,.google.cloud.networkmanagement.v1.RouteInfoH\x00\x12C\x0A\x08endpoint\x18\x08 \x01(\x0B2/.google.cloud.networkmanagement.v1.EndpointInfoH\x00\x12N\x0A\x0Egoogle_service\x18\x18 \x01(\x0B24.google.cloud.networkmanagement.v1.GoogleServiceInfoH\x00\x12P\x0A\x0Fforwarding_rule\x18\x09 \x01(\x0B25.google.cloud.networkmanagement.v1.ForwardingRuleInfoH\x00\x12L\x0A\x0Dhybrid_subnet\x18\$ \x01(\x0B23.google.cloud.networkmanagement.v1.HybridSubnetInfoH\x00\x12H\x0A\x0Bvpn_gateway\x18\x0A \x01(\x0B21.google.cloud.networkmanagement.v1.VpnGatewayInfoH\x00\x12F\x0A\x0Avpn_tunnel\x18\x0B \x01(\x0B20.google.cloud.networkmanagement.v1.VpnTunnelInfoH\x00\x12`\x0A\x17interconnect_attachment\x18# \x01(\x0B2=.google.cloud.networkmanagement.v1.InterconnectAttachmentInfoH\x00\x12L\x0A\x0Dvpc_connector\x18\x15 \x01(\x0B23.google.cloud.networkmanagement.v1.VpcConnectorInfoH\x00\x12h\x0A\x1Cdirect_vpc_egress_connection\x18! \x01(\x0B2@.google.cloud.networkmanagement.v1.DirectVpcEgressConnectionInfoH\x00\x12m\x0A\x1Eserverless_external_connection\x18\" \x01(\x0B2C.google.cloud.networkmanagement.v1.ServerlessExternalConnectionInfoH\x00\x12A\x0A\x07deliver\x18\x0C \x01(\x0B2..google.cloud.networkmanagement.v1.DeliverInfoH\x00\x12A\x0A\x07forward\x18\x0D \x01(\x0B2..google.cloud.networkmanagement.v1.ForwardInfoH\x00\x12=\x0A\x05abort\x18\x0E \x01(\x0B2,.google.cloud.networkmanagement.v1.AbortInfoH\x00\x12;\x0A\x04drop\x18\x0F \x01(\x0B2+.google.cloud.networkmanagement.v1.DropInfoH\x00\x12P\x0A\x0Dload_balancer\x18\x10 \x01(\x0B23.google.cloud.networkmanagement.v1.LoadBalancerInfoB\x02\x18\x01H\x00\x12A\x0A\x07network\x18\x11 \x01(\x0B2..google.cloud.networkmanagement.v1.NetworkInfoH\x00\x12F\x0A\x0Agke_master\x18\x12 \x01(\x0B20.google.cloud.networkmanagement.v1.GKEMasterInfoH\x00\x12@\x0A\x07gke_pod\x18% \x01(\x0B2-.google.cloud.networkmanagement.v1.GkePodInfoH\x00\x12_\x0A\x17ip_masquerading_skipped\x18& \x01(\x0B2<.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfoH\x00\x12U\x0A\x12gke_network_policy\x18' \x01(\x0B27.google.cloud.networkmanagement.v1.GkeNetworkPolicyInfoH\x00\x12d\x0A\x1Agke_network_policy_skipped\x18( \x01(\x0B2>.google.cloud.networkmanagement.v1.GkeNetworkPolicySkippedInfoH\x00\x12U\x0A\x12cloud_sql_instance\x18\x13 \x01(\x0B27.google.cloud.networkmanagement.v1.CloudSQLInstanceInfoH\x00\x12N\x0A\x0Eredis_instance\x18\x1E \x01(\x0B24.google.cloud.networkmanagement.v1.RedisInstanceInfoH\x00\x12L\x0A\x0Dredis_cluster\x18\x1F \x01(\x0B23.google.cloud.networkmanagement.v1.RedisClusterInfoH\x00\x12N\x0A\x0Ecloud_function\x18\x14 \x01(\x0B24.google.cloud.networkmanagement.v1.CloudFunctionInfoH\x00\x12U\x0A\x12app_engine_version\x18\x16 \x01(\x0B27.google.cloud.networkmanagement.v1.AppEngineVersionInfoH\x00\x12U\x0A\x12cloud_run_revision\x18\x17 \x01(\x0B27.google.cloud.networkmanagement.v1.CloudRunRevisionInfoH\x00\x12K\x0A\x0Dcloud_run_job\x18- \x01(\x0B22.google.cloud.networkmanagement.v1.CloudRunJobInfoH\x00\x129\x0A\x03nat\x18\x19 \x01(\x0B2*.google.cloud.networkmanagement.v1.NatInfoH\x00\x12R\x0A\x10proxy_connection\x18\x1A \x01(\x0B26.google.cloud.networkmanagement.v1.ProxyConnectionInfoH\x00\x12`\x0A\x1Aload_balancer_backend_info\x18\x1B \x01(\x0B2:.google.cloud.networkmanagement.v1.LoadBalancerBackendInfoH\x00\x12N\x0A\x0Estorage_bucket\x18\x1C \x01(\x0B24.google.cloud.networkmanagement.v1.StorageBucketInfoH\x00\x12N\x0A\x0Eserverless_neg\x18\x1D \x01(\x0B24.google.cloud.networkmanagement.v1.ServerlessNegInfoH\x00\x12]\x0A\x16ngfw_packet_inspection\x18* \x01(\x0B2;.google.cloud.networkmanagement.v1.NgfwPacketInspectionInfoH\x00\"\xCE\x0A\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x17\x0A\x13START_FROM_INSTANCE\x10\x01\x12\x17\x0A\x13START_FROM_INTERNET\x10\x02\x12\x1D\x0A\x19START_FROM_GOOGLE_SERVICE\x10\x1B\x12\x1E\x0A\x1ASTART_FROM_PRIVATE_NETWORK\x10\x03\x12\x19\x0A\x15START_FROM_GKE_MASTER\x10\x15\x12!\x0A\x1DSTART_FROM_CLOUD_SQL_INSTANCE\x10\x16\x12\x16\x0A\x12START_FROM_GKE_POD\x10'\x12\x1D\x0A\x19START_FROM_REDIS_INSTANCE\x10 \x12\x1C\x0A\x18START_FROM_REDIS_CLUSTER\x10!\x12\x1D\x0A\x19START_FROM_CLOUD_FUNCTION\x10\x17\x12!\x0A\x1DSTART_FROM_APP_ENGINE_VERSION\x10\x19\x12!\x0A\x1DSTART_FROM_CLOUD_RUN_REVISION\x10\x1A\x12\x1C\x0A\x18START_FROM_CLOUD_RUN_JOB\x102\x12\x1D\x0A\x19START_FROM_STORAGE_BUCKET\x10\x1D\x12\$\x0A START_FROM_PSC_PUBLISHED_SERVICE\x10\x1E\x12\x1D\x0A\x19START_FROM_SERVERLESS_NEG\x10\x1F\x12\x1F\x0A\x1BAPPLY_INGRESS_FIREWALL_RULE\x10\x04\x12\x1E\x0A\x1AAPPLY_EGRESS_FIREWALL_RULE\x10\x05\x12\x0F\x0A\x0BAPPLY_ROUTE\x10\x06\x12\x19\x0A\x15APPLY_FORWARDING_RULE\x10\x07\x12!\x0A\x1DANALYZE_LOAD_BALANCER_BACKEND\x10\x1C\x12\x15\x0A\x11SPOOFING_APPROVED\x10\x08\x12\x16\x0A\x12ARRIVE_AT_INSTANCE\x10\x09\x12(\x0A ARRIVE_AT_INTERNAL_LOAD_BALANCER\x10\x0A\x1A\x02\x08\x01\x12(\x0A ARRIVE_AT_EXTERNAL_LOAD_BALANCER\x10\x0B\x1A\x02\x08\x01\x12\x1B\x0A\x17ARRIVE_AT_HYBRID_SUBNET\x10&\x12\x19\x0A\x15ARRIVE_AT_VPN_GATEWAY\x10\x0C\x12\x18\x0A\x14ARRIVE_AT_VPN_TUNNEL\x10\x0D\x12%\x0A!ARRIVE_AT_INTERCONNECT_ATTACHMENT\x10%\x12\x1B\x0A\x17ARRIVE_AT_VPC_CONNECTOR\x10\x18\x12\x15\x0A\x11ARRIVE_AT_GKE_POD\x10,\x12 \x0A\x1CDIRECT_VPC_EGRESS_CONNECTION\x10#\x12\"\x0A\x1ESERVERLESS_EXTERNAL_CONNECTION\x10\$\x12\x1A\x0A\x16NGFW_PACKET_INSPECTION\x10/\x12\x07\x0A\x03NAT\x10\x0E\x12 \x0A\x1CSKIP_GKE_POD_IP_MASQUERADING\x10(\x12#\x0A\x1FSKIP_GKE_INGRESS_NETWORK_POLICY\x10)\x12\"\x0A\x1ESKIP_GKE_EGRESS_NETWORK_POLICY\x10*\x12\$\x0A APPLY_INGRESS_GKE_NETWORK_POLICY\x10-\x12#\x0A\x1FAPPLY_EGRESS_GKE_NETWORK_POLICY\x10.\x12\x14\x0A\x10PROXY_CONNECTION\x10\x0F\x12\x0B\x0A\x07DELIVER\x10\x10\x12\x08\x0A\x04DROP\x10\x11\x12\x0B\x0A\x07FORWARD\x10\x12\x12\x09\x0A\x05ABORT\x10\x13\x12\x1D\x0A\x19VIEWER_PERMISSION_MISSING\x10\x14B\x0B\x0A\x09step_info\"\xF7\x02\x0A\x0CInstanceInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x11\x0A\x09interface\x18\x03 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x04 \x01(\x09\x12\x13\x0A\x0Binternal_ip\x18\x05 \x01(\x09\x12\x13\x0A\x0Bexternal_ip\x18\x06 \x01(\x09\x12\x14\x0A\x0Cnetwork_tags\x18\x07 \x03(\x09\x12\x1B\x0A\x0Fservice_account\x18\x08 \x01(\x09B\x02\x18\x01\x12\"\x0A\x1Apsc_network_attachment_uri\x18\x09 \x01(\x09\x12\x13\x0A\x07running\x18\x0A \x01(\x08B\x02\x18\x01\x12F\x0A\x06status\x18\x0B \x01(\x0E26.google.cloud.networkmanagement.v1.InstanceInfo.Status\">\x0A\x06Status\x12\x16\x0A\x12STATUS_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07RUNNING\x10\x01\x12\x0F\x0A\x0BNOT_RUNNING\x10\x02\"v\x0A\x0BNetworkInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x1A\x0A\x12matched_subnet_uri\x18\x05 \x01(\x09\x12\x18\x0A\x10matched_ip_range\x18\x04 \x01(\x09\x12\x0E\x0A\x06region\x18\x06 \x01(\x09\"\xAF\x07\x0A\x0CFirewallInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x11\x0A\x09direction\x18\x03 \x01(\x09\x12\x0E\x0A\x06action\x18\x04 \x01(\x09\x12\x10\x0A\x08priority\x18\x05 \x01(\x05\x12\x13\x0A\x0Bnetwork_uri\x18\x06 \x01(\x09\x12\x13\x0A\x0Btarget_tags\x18\x07 \x03(\x09\x12\x1F\x0A\x17target_service_accounts\x18\x08 \x03(\x09\x12\x0E\x0A\x06policy\x18\x09 \x01(\x09\x12\x12\x0A\x0Apolicy_uri\x18\x0B \x01(\x09\x12\\\x0A\x12firewall_rule_type\x18\x0A \x01(\x0E2@.google.cloud.networkmanagement.v1.FirewallInfo.FirewallRuleType\x12\x17\x0A\x0Fpolicy_priority\x18\x0C \x01(\x05\x12O\x0A\x0Btarget_type\x18\x0D \x01(\x0E2:.google.cloud.networkmanagement.v1.FirewallInfo.TargetType\"\xBC\x03\x0A\x10FirewallRuleType\x12\"\x0A\x1EFIREWALL_RULE_TYPE_UNSPECIFIED\x10\x00\x12%\x0A!HIERARCHICAL_FIREWALL_POLICY_RULE\x10\x01\x12\x15\x0A\x11VPC_FIREWALL_RULE\x10\x02\x12\x1D\x0A\x19IMPLIED_VPC_FIREWALL_RULE\x10\x03\x12/\x0A+SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE\x10\x04\x12 \x0A\x1CNETWORK_FIREWALL_POLICY_RULE\x10\x05\x12)\x0A%NETWORK_REGIONAL_FIREWALL_POLICY_RULE\x10\x06\x12'\x0A#SYSTEM_NETWORK_FIREWALL_POLICY_RULE\x10\x07\x120\x0A,SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE\x10\x08\x12\$\x0A UNSUPPORTED_FIREWALL_POLICY_RULE\x10d\x12\x12\x0A\x0ETRACKING_STATE\x10e\x12\x14\x0A\x10ANALYSIS_SKIPPED\x10f\"Q\x0A\x0ATargetType\x12\x1B\x0A\x17TARGET_TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09INSTANCES\x10\x01\x12\x17\x0A\x13INTERNAL_MANAGED_LB\x10\x02\"\xEC\x0B\x0A\x09RouteInfo\x12J\x0A\x0Aroute_type\x18\x08 \x01(\x0E26.google.cloud.networkmanagement.v1.RouteInfo.RouteType\x12O\x0A\x0Dnext_hop_type\x18\x09 \x01(\x0E28.google.cloud.networkmanagement.v1.RouteInfo.NextHopType\x12P\x0A\x0Broute_scope\x18\x0E \x01(\x0E27.google.cloud.networkmanagement.v1.RouteInfo.RouteScopeB\x02\x18\x01\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x0E\x0A\x06region\x18\x13 \x01(\x09\x12\x15\x0A\x0Ddest_ip_range\x18\x03 \x01(\x09\x12\x14\x0A\x08next_hop\x18\x04 \x01(\x09B\x02\x18\x01\x12\x13\x0A\x0Bnetwork_uri\x18\x05 \x01(\x09\x12\x10\x0A\x08priority\x18\x06 \x01(\x05\x12\x15\x0A\x0Dinstance_tags\x18\x07 \x03(\x09\x12\x14\x0A\x0Csrc_ip_range\x18\x0A \x01(\x09\x12\x18\x0A\x10dest_port_ranges\x18\x0B \x03(\x09\x12\x17\x0A\x0Fsrc_port_ranges\x18\x0C \x03(\x09\x12\x11\x0A\x09protocols\x18\x0D \x03(\x09\x12\x18\x0A\x0Bncc_hub_uri\x18\x0F \x01(\x09H\x00\x88\x01\x01\x12\x1A\x0A\x0Dncc_spoke_uri\x18\x10 \x01(\x09H\x01\x88\x01\x01\x12/\x0A\"advertised_route_source_router_uri\x18\x11 \x01(\x09H\x02\x88\x01\x01\x12.\x0A\x1Dadvertised_route_next_hop_uri\x18\x12 \x01(\x09B\x02\x18\x01H\x03\x88\x01\x01\x12\x14\x0A\x0Cnext_hop_uri\x18\x14 \x01(\x09\x12\x1C\x0A\x14next_hop_network_uri\x18\x15 \x01(\x09\x12\x1D\x0A\x15originating_route_uri\x18\x16 \x01(\x09\x12&\x0A\x1Eoriginating_route_display_name\x18\x17 \x01(\x09\x12\x19\x0A\x11ncc_hub_route_uri\x18\x18 \x01(\x09\"\xAB\x01\x0A\x09RouteType\x12\x1A\x0A\x16ROUTE_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06SUBNET\x10\x01\x12\x0A\x0A\x06STATIC\x10\x02\x12\x0B\x0A\x07DYNAMIC\x10\x03\x12\x12\x0A\x0EPEERING_SUBNET\x10\x04\x12\x12\x0A\x0EPEERING_STATIC\x10\x05\x12\x13\x0A\x0FPEERING_DYNAMIC\x10\x06\x12\x10\x0A\x0CPOLICY_BASED\x10\x07\x12\x0E\x0A\x0AADVERTISED\x10e\"\xEA\x02\x0A\x0BNextHopType\x12\x1D\x0A\x19NEXT_HOP_TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BNEXT_HOP_IP\x10\x01\x12\x15\x0A\x11NEXT_HOP_INSTANCE\x10\x02\x12\x14\x0A\x10NEXT_HOP_NETWORK\x10\x03\x12\x14\x0A\x10NEXT_HOP_PEERING\x10\x04\x12\x19\x0A\x15NEXT_HOP_INTERCONNECT\x10\x05\x12\x17\x0A\x13NEXT_HOP_VPN_TUNNEL\x10\x06\x12\x18\x0A\x14NEXT_HOP_VPN_GATEWAY\x10\x07\x12\x1D\x0A\x19NEXT_HOP_INTERNET_GATEWAY\x10\x08\x12\x16\x0A\x12NEXT_HOP_BLACKHOLE\x10\x09\x12\x10\x0A\x0CNEXT_HOP_ILB\x10\x0A\x12\x1D\x0A\x19NEXT_HOP_ROUTER_APPLIANCE\x10\x0B\x12\x14\x0A\x10NEXT_HOP_NCC_HUB\x10\x0C\x12\x1C\x0A\x18SECURE_WEB_PROXY_GATEWAY\x10\x0D\"C\x0A\x0ARouteScope\x12\x1B\x0A\x17ROUTE_SCOPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07NETWORK\x10\x01\x12\x0B\x0A\x07NCC_HUB\x10\x02B\x0E\x0A\x0C_ncc_hub_uriB\x10\x0A\x0E_ncc_spoke_uriB%\x0A#_advertised_route_source_router_uriB \x0A\x1E_advertised_route_next_hop_uri\"\xDA\x02\x0A\x11GoogleServiceInfo\x12\x11\x0A\x09source_ip\x18\x01 \x01(\x09\x12c\x0A\x13google_service_type\x18\x02 \x01(\x0E2F.google.cloud.networkmanagement.v1.GoogleServiceInfo.GoogleServiceType\"\xCC\x01\x0A\x11GoogleServiceType\x12#\x0A\x1FGOOGLE_SERVICE_TYPE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03IAP\x10\x01\x12\$\x0A GFE_PROXY_OR_HEALTH_CHECK_PROBER\x10\x02\x12\x0D\x0A\x09CLOUD_DNS\x10\x03\x12\x0E\x0A\x0AGOOGLE_API\x10\x04\x12\x12\x0A\x0EGOOGLE_API_PSC\x10\x05\x12\x15\x0A\x11GOOGLE_API_VPC_SC\x10\x06\x12\x19\x0A\x15SERVERLESS_VPC_ACCESS\x10\x07\"\x8E\x02\x0A\x12ForwardingRuleInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x18\x0A\x10matched_protocol\x18\x03 \x01(\x09\x12\x1A\x0A\x12matched_port_range\x18\x06 \x01(\x09\x12\x0B\x0A\x03vip\x18\x04 \x01(\x09\x12\x0E\x0A\x06target\x18\x05 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x07 \x01(\x09\x12\x0E\x0A\x06region\x18\x08 \x01(\x09\x12\x1A\x0A\x12load_balancer_name\x18\x09 \x01(\x09\x12\"\x0A\x1Apsc_service_attachment_uri\x18\x0A \x01(\x09\x12\x1D\x0A\x15psc_google_api_target\x18\x0B \x01(\x09\"\xC2\x04\x0A\x10LoadBalancerInfo\x12`\x0A\x12load_balancer_type\x18\x01 \x01(\x0E2D.google.cloud.networkmanagement.v1.LoadBalancerInfo.LoadBalancerType\x12\x1C\x0A\x10health_check_uri\x18\x02 \x01(\x09B\x02\x18\x01\x12H\x0A\x08backends\x18\x03 \x03(\x0B26.google.cloud.networkmanagement.v1.LoadBalancerBackend\x12U\x0A\x0Cbackend_type\x18\x04 \x01(\x0E2?.google.cloud.networkmanagement.v1.LoadBalancerInfo.BackendType\x12\x13\x0A\x0Bbackend_uri\x18\x05 \x01(\x09\"\x8F\x01\x0A\x10LoadBalancerType\x12\"\x0A\x1ELOAD_BALANCER_TYPE_UNSPECIFIED\x10\x00\x12\x14\x0A\x10INTERNAL_TCP_UDP\x10\x01\x12\x13\x0A\x0FNETWORK_TCP_UDP\x10\x02\x12\x0E\x0A\x0AHTTP_PROXY\x10\x03\x12\x0D\x0A\x09TCP_PROXY\x10\x04\x12\x0D\x0A\x09SSL_PROXY\x10\x05\"f\x0A\x0BBackendType\x12\x1C\x0A\x18BACKEND_TYPE_UNSPECIFIED\x10\x00\x12\x13\x0A\x0FBACKEND_SERVICE\x10\x01\x12\x0F\x0A\x0BTARGET_POOL\x10\x02\x12\x13\x0A\x0FTARGET_INSTANCE\x10\x03\"\xF6\x02\x0A\x13LoadBalancerBackend\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12t\x0A\x1Bhealth_check_firewall_state\x18\x03 \x01(\x0E2O.google.cloud.networkmanagement.v1.LoadBalancerBackend.HealthCheckFirewallState\x12,\x0A\$health_check_allowing_firewall_rules\x18\x04 \x03(\x09\x12,\x0A\$health_check_blocking_firewall_rules\x18\x05 \x03(\x09\"j\x0A\x18HealthCheckFirewallState\x12+\x0A'HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0ACONFIGURED\x10\x01\x12\x11\x0A\x0DMISCONFIGURED\x10\x02\"E\x0A\x10HybridSubnetInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x0E\x0A\x06region\x18\x03 \x01(\x09\"\x84\x01\x0A\x0EVpnGatewayInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x03 \x01(\x09\x12\x12\x0A\x0Aip_address\x18\x04 \x01(\x09\x12\x16\x0A\x0Evpn_tunnel_uri\x18\x05 \x01(\x09\x12\x0E\x0A\x06region\x18\x06 \x01(\x09\"\xEE\x02\x0A\x0DVpnTunnelInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x16\x0A\x0Esource_gateway\x18\x03 \x01(\x09\x12\x16\x0A\x0Eremote_gateway\x18\x04 \x01(\x09\x12\x19\x0A\x11remote_gateway_ip\x18\x05 \x01(\x09\x12\x19\x0A\x11source_gateway_ip\x18\x06 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x07 \x01(\x09\x12\x0E\x0A\x06region\x18\x08 \x01(\x09\x12R\x0A\x0Crouting_type\x18\x09 \x01(\x0E2<.google.cloud.networkmanagement.v1.VpnTunnelInfo.RoutingType\"[\x0A\x0BRoutingType\x12\x1C\x0A\x18ROUTING_TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BROUTE_BASED\x10\x01\x12\x10\x0A\x0CPOLICY_BASED\x10\x02\x12\x0B\x0A\x07DYNAMIC\x10\x03\"\xEB\x02\x0A\x1AInterconnectAttachmentInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x18\x0A\x10interconnect_uri\x18\x03 \x01(\x09\x12\x0E\x0A\x06region\x18\x04 \x01(\x09\x12\x18\x0A\x10cloud_router_uri\x18\x05 \x01(\x09\x12P\x0A\x04type\x18\x06 \x01(\x0E2B.google.cloud.networkmanagement.v1.InterconnectAttachmentInfo.Type\x122\x0A l2_attachment_matched_ip_address\x18\x07 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\"`\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09DEDICATED\x10\x01\x12\x0B\x0A\x07PARTNER\x10\x02\x12\x14\x0A\x10PARTNER_PROVIDER\x10\x03\x12\x10\x0A\x0CL2_DEDICATED\x10\x04\"\xD1\x01\x0A\x0CEndpointInfo\x12\x11\x0A\x09source_ip\x18\x01 \x01(\x09\x12\x16\x0A\x0Edestination_ip\x18\x02 \x01(\x09\x12\x10\x0A\x08protocol\x18\x03 \x01(\x09\x12\x13\x0A\x0Bsource_port\x18\x04 \x01(\x05\x12\x18\x0A\x10destination_port\x18\x05 \x01(\x05\x12\x1A\x0A\x12source_network_uri\x18\x06 \x01(\x09\x12\x1F\x0A\x17destination_network_uri\x18\x07 \x01(\x09\x12\x18\x0A\x10source_agent_uri\x18\x08 \x01(\x09\"\xE7\x06\x0A\x0BDeliverInfo\x12E\x0A\x06target\x18\x01 \x01(\x0E25.google.cloud.networkmanagement.v1.DeliverInfo.Target\x12\x14\x0A\x0Cresource_uri\x18\x02 \x01(\x09\x12\x1C\x0A\x0Aip_address\x18\x03 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12\x16\x0A\x0Estorage_bucket\x18\x04 \x01(\x09\x12\x1D\x0A\x15psc_google_api_target\x18\x05 \x01(\x09\x12]\x0A\x13google_service_type\x18\x06 \x01(\x0E2@.google.cloud.networkmanagement.v1.DeliverInfo.GoogleServiceType\"\x97\x03\x0A\x06Target\x12\x16\x0A\x12TARGET_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08INSTANCE\x10\x01\x12\x0C\x0A\x08INTERNET\x10\x02\x12\x0E\x0A\x0AGOOGLE_API\x10\x03\x12\x0E\x0A\x0AGKE_MASTER\x10\x04\x12\x16\x0A\x12CLOUD_SQL_INSTANCE\x10\x05\x12\x19\x0A\x15PSC_PUBLISHED_SERVICE\x10\x06\x12\x12\x0A\x0EPSC_GOOGLE_API\x10\x07\x12\x0E\x0A\x0APSC_VPC_SC\x10\x08\x12\x12\x0A\x0ESERVERLESS_NEG\x10\x09\x12\x12\x0A\x0ESTORAGE_BUCKET\x10\x0A\x12\x13\x0A\x0FPRIVATE_NETWORK\x10\x0B\x12\x12\x0A\x0ECLOUD_FUNCTION\x10\x0C\x12\x16\x0A\x12APP_ENGINE_VERSION\x10\x0D\x12\x16\x0A\x12CLOUD_RUN_REVISION\x10\x0E\x12\x1A\x0A\x16GOOGLE_MANAGED_SERVICE\x10\x0F\x12\x12\x0A\x0EREDIS_INSTANCE\x10\x10\x12\x11\x0A\x0DREDIS_CLUSTER\x10\x11\x12\x0B\x0A\x07GKE_POD\x10\x13\x12\x11\x0A\x0DCLOUD_RUN_JOB\x10\x14\"\xAC\x01\x0A\x11GoogleServiceType\x12#\x0A\x1FGOOGLE_SERVICE_TYPE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03IAP\x10\x01\x12\$\x0A GFE_PROXY_OR_HEALTH_CHECK_PROBER\x10\x02\x12\x0D\x0A\x09CLOUD_DNS\x10\x03\x12\x19\x0A\x15PRIVATE_GOOGLE_ACCESS\x10\x04\x12\x19\x0A\x15SERVERLESS_VPC_ACCESS\x10\x05\"\x89\x03\x0A\x0BForwardInfo\x12E\x0A\x06target\x18\x01 \x01(\x0E25.google.cloud.networkmanagement.v1.ForwardInfo.Target\x12\x14\x0A\x0Cresource_uri\x18\x02 \x01(\x09\x12\x1C\x0A\x0Aip_address\x18\x03 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\"\xFE\x01\x0A\x06Target\x12\x16\x0A\x12TARGET_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BPEERING_VPC\x10\x01\x12\x0F\x0A\x0BVPN_GATEWAY\x10\x02\x12\x10\x0A\x0CINTERCONNECT\x10\x03\x12\x12\x0A\x0AGKE_MASTER\x10\x04\x1A\x02\x08\x01\x12\"\x0A\x1EIMPORTED_CUSTOM_ROUTE_NEXT_HOP\x10\x05\x12\x1A\x0A\x12CLOUD_SQL_INSTANCE\x10\x06\x1A\x02\x08\x01\x12\x13\x0A\x0FANOTHER_PROJECT\x10\x07\x12\x0B\x0A\x07NCC_HUB\x10\x08\x12\x14\x0A\x10ROUTER_APPLIANCE\x10\x09\x12\x1C\x0A\x18SECURE_WEB_PROXY_GATEWAY\x10\x0A\"\x85\x0D\x0A\x09AbortInfo\x12A\x0A\x05cause\x18\x01 \x01(\x0E22.google.cloud.networkmanagement.v1.AbortInfo.Cause\x12\x14\x0A\x0Cresource_uri\x18\x02 \x01(\x09\x12\x1C\x0A\x0Aip_address\x18\x04 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12#\x0A\x1Bprojects_missing_permission\x18\x03 \x03(\x09\"\xDB\x0B\x0A\x05Cause\x12\x15\x0A\x11CAUSE_UNSPECIFIED\x10\x00\x12\x17\x0A\x0FUNKNOWN_NETWORK\x10\x01\x1A\x02\x08\x01\x12\x17\x0A\x0FUNKNOWN_PROJECT\x10\x03\x1A\x02\x08\x01\x12\x16\x0A\x0ENO_EXTERNAL_IP\x10\x07\x1A\x02\x08\x01\x12\x1E\x0A\x16UNINTENDED_DESTINATION\x10\x08\x1A\x02\x08\x01\x12!\x0A\x19SOURCE_ENDPOINT_NOT_FOUND\x10\x0B\x1A\x02\x08\x01\x12!\x0A\x19MISMATCHED_SOURCE_NETWORK\x10\x0C\x1A\x02\x08\x01\x12&\x0A\x1EDESTINATION_ENDPOINT_NOT_FOUND\x10\x0D\x1A\x02\x08\x01\x12&\x0A\x1EMISMATCHED_DESTINATION_NETWORK\x10\x0E\x1A\x02\x08\x01\x12\x0E\x0A\x0AUNKNOWN_IP\x10\x02\x12%\x0A!GOOGLE_MANAGED_SERVICE_UNKNOWN_IP\x10 \x12+\x0A'SOURCE_IP_ADDRESS_NOT_IN_SOURCE_NETWORK\x10\x17\x12\x15\x0A\x11PERMISSION_DENIED\x10\x04\x12*\x0A&PERMISSION_DENIED_NO_CLOUD_NAT_CONFIGS\x10\x1C\x12-\x0A)PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS\x10\x1D\x12-\x0A)PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS\x10\$\x12\x16\x0A\x12NO_SOURCE_LOCATION\x10\x05\x12\"\x0A\x1ENO_SOURCE_GCP_NETWORK_LOCATION\x10*\x12&\x0A\"NO_SOURCE_NON_GCP_NETWORK_LOCATION\x10+\x12\x1F\x0A\x1BNO_SOURCE_INTERNET_LOCATION\x10,\x12\x14\x0A\x10INVALID_ARGUMENT\x10\x06\x12\x12\x0A\x0ETRACE_TOO_LONG\x10\x09\x12\x12\x0A\x0EINTERNAL_ERROR\x10\x0A\x12\x0F\x0A\x0BUNSUPPORTED\x10\x0F\x12\x19\x0A\x15MISMATCHED_IP_VERSION\x10\x10\x12&\x0A\"GKE_KONNECTIVITY_PROXY_UNSUPPORTED\x10\x11\x12\x1D\x0A\x19RESOURCE_CONFIG_NOT_FOUND\x10\x12\x12 \x0A\x1CVM_INSTANCE_CONFIG_NOT_FOUND\x10\x18\x12\x1C\x0A\x18NETWORK_CONFIG_NOT_FOUND\x10\x19\x12\x1D\x0A\x19FIREWALL_CONFIG_NOT_FOUND\x10\x1A\x12\x1A\x0A\x16ROUTE_CONFIG_NOT_FOUND\x10\x1B\x121\x0A-GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT\x10\x13\x12-\x0A)GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT\x10'\x12\$\x0A SOURCE_PSC_CLOUD_SQL_UNSUPPORTED\x10\x14\x12)\x0A%SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED\x10-\x12\$\x0A SOURCE_REDIS_CLUSTER_UNSUPPORTED\x10\"\x12%\x0A!SOURCE_REDIS_INSTANCE_UNSUPPORTED\x10#\x12&\x0A\"SOURCE_FORWARDING_RULE_UNSUPPORTED\x10\x15\x12\x1B\x0A\x17NON_ROUTABLE_IP_ADDRESS\x10\x16\x12+\x0A'UNKNOWN_ISSUE_IN_GOOGLE_MANAGED_PROJECT\x10\x1E\x12-\x0A)UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG\x10\x1F\x12\x1B\x0A\x17NO_SERVERLESS_IP_RANGES\x10%\x12 \x0A\x1CIP_VERSION_PROTOCOL_MISMATCH\x10(\x12%\x0A!GKE_POD_UNKNOWN_ENDPOINT_LOCATION\x10)\"\xCE\"\x0A\x08DropInfo\x12@\x0A\x05cause\x18\x01 \x01(\x0E21.google.cloud.networkmanagement.v1.DropInfo.Cause\x12\x14\x0A\x0Cresource_uri\x18\x02 \x01(\x09\x12\x11\x0A\x09source_ip\x18\x03 \x01(\x09\x12\x16\x0A\x0Edestination_ip\x18\x04 \x01(\x09\x12\x0E\x0A\x06region\x18\x05 \x01(\x09\x12\x1F\x0A\x17source_geolocation_code\x18\x06 \x01(\x09\x12\$\x0A\x1Cdestination_geolocation_code\x18\x07 \x01(\x09\"\xE7 \x0A\x05Cause\x12\x15\x0A\x11CAUSE_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18UNKNOWN_EXTERNAL_ADDRESS\x10\x01\x12\x19\x0A\x15FOREIGN_IP_DISALLOWED\x10\x02\x12\x11\x0A\x0DFIREWALL_RULE\x10\x03\x12\x0C\x0A\x08NO_ROUTE\x10\x04\x12\x13\x0A\x0FROUTE_BLACKHOLE\x10\x05\x12\x17\x0A\x13ROUTE_WRONG_NETWORK\x10\x06\x12*\x0A&ROUTE_NEXT_HOP_IP_ADDRESS_NOT_RESOLVED\x10*\x12%\x0A!ROUTE_NEXT_HOP_RESOURCE_NOT_FOUND\x10+\x12)\x0A%ROUTE_NEXT_HOP_INSTANCE_WRONG_NETWORK\x101\x12*\x0A&ROUTE_NEXT_HOP_INSTANCE_NON_PRIMARY_IP\x102\x12.\x0A*ROUTE_NEXT_HOP_FORWARDING_RULE_IP_MISMATCH\x103\x12-\x0A)ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED\x104\x12/\x0A+ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID\x105\x122\x0A.NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS\x10,\x122\x0A.NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS\x10m\x12>\x0A:NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS\x10b\x12&\x0A\"VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH\x10-\x12'\x0A#VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH\x10.\x12\x1F\x0A\x1BPRIVATE_TRAFFIC_TO_INTERNET\x10\x07\x12\$\x0A PRIVATE_GOOGLE_ACCESS_DISALLOWED\x10\x08\x124\x0A0PRIVATE_GOOGLE_ACCESS_VIA_VPN_TUNNEL_UNSUPPORTED\x10/\x12\x17\x0A\x13NO_EXTERNAL_ADDRESS\x10\x09\x12\x1C\x0A\x18UNKNOWN_INTERNAL_ADDRESS\x10\x0A\x12\x1C\x0A\x18FORWARDING_RULE_MISMATCH\x10\x0B\x12 \x0A\x1CFORWARDING_RULE_NO_INSTANCES\x10\x0C\x128\x0A4FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK\x10\x0D\x12:\x0A6INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS\x10U\x12\x18\x0A\x14INSTANCE_NOT_RUNNING\x10\x0E\x12\x1B\x0A\x17GKE_CLUSTER_NOT_RUNNING\x10\x1B\x12\x17\x0A\x13GKE_POD_NOT_RUNNING\x10g\x12\"\x0A\x1ECLOUD_SQL_INSTANCE_NOT_RUNNING\x10\x1C\x12\x1E\x0A\x1AREDIS_INSTANCE_NOT_RUNNING\x10D\x12\x1D\x0A\x19REDIS_CLUSTER_NOT_RUNNING\x10E\x12\x18\x0A\x14TRAFFIC_TYPE_BLOCKED\x10\x0F\x12\"\x0A\x1EGKE_MASTER_UNAUTHORIZED_ACCESS\x10\x10\x12*\x0A&CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS\x10\x11\x12\x1E\x0A\x1ADROPPED_INSIDE_GKE_SERVICE\x10\x12\x12\$\x0A DROPPED_INSIDE_CLOUD_SQL_SERVICE\x10\x13\x12%\x0A!GOOGLE_MANAGED_SERVICE_NO_PEERING\x10\x14\x12*\x0A&GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT\x10&\x12\x1C\x0A\x18GKE_PSC_ENDPOINT_MISSING\x10\$\x12\$\x0A CLOUD_SQL_INSTANCE_NO_IP_ADDRESS\x10\x15\x12%\x0A!GKE_CONTROL_PLANE_REGION_MISMATCH\x10\x1E\x123\x0A/PUBLIC_GKE_CONTROL_PLANE_TO_PRIVATE_DESTINATION\x10\x1F\x12\x1E\x0A\x1AGKE_CONTROL_PLANE_NO_ROUTE\x10 \x12:\x0A6CLOUD_SQL_INSTANCE_NOT_CONFIGURED_FOR_EXTERNAL_TRAFFIC\x10!\x124\x0A0PUBLIC_CLOUD_SQL_INSTANCE_TO_PRIVATE_DESTINATION\x10\"\x12\x1F\x0A\x1BCLOUD_SQL_INSTANCE_NO_ROUTE\x10#\x12 \x0A\x1CCLOUD_SQL_CONNECTOR_REQUIRED\x10?\x12\x1D\x0A\x19CLOUD_FUNCTION_NOT_ACTIVE\x10\x16\x12\x19\x0A\x15VPC_CONNECTOR_NOT_SET\x10\x17\x12\x1D\x0A\x19VPC_CONNECTOR_NOT_RUNNING\x10\x18\x12,\x0A(VPC_CONNECTOR_SERVERLESS_TRAFFIC_BLOCKED\x10<\x12.\x0A*VPC_CONNECTOR_HEALTH_CHECK_TRAFFIC_BLOCKED\x10=\x12#\x0A\x1FFORWARDING_RULE_REGION_MISMATCH\x10\x19\x12\x1F\x0A\x1BPSC_CONNECTION_NOT_ACCEPTED\x10\x1A\x12-\x0A)PSC_ENDPOINT_ACCESSED_FROM_PEERED_NETWORK\x10)\x12.\x0A*PSC_NEG_PRODUCER_ENDPOINT_NO_GLOBAL_ACCESS\x100\x123\x0A/PSC_NEG_PRODUCER_FORWARDING_RULE_MULTIPLE_PORTS\x106\x12!\x0A\x1DCLOUD_SQL_PSC_NEG_UNSUPPORTED\x10:\x12-\x0A)NO_NAT_SUBNETS_FOR_PSC_SERVICE_ATTACHMENT\x109\x12#\x0A\x1FPSC_TRANSITIVITY_NOT_PROPAGATED\x10@\x12(\x0A\$HYBRID_NEG_NON_DYNAMIC_ROUTE_MATCHED\x107\x12.\x0A*HYBRID_NEG_NON_LOCAL_DYNAMIC_ROUTE_MATCHED\x108\x12 \x0A\x1CCLOUD_RUN_REVISION_NOT_READY\x10\x1D\x12\x1B\x0A\x17CLOUD_RUN_JOB_NOT_READY\x10q\x12'\x0A#DROPPED_INSIDE_PSC_SERVICE_PRODUCER\x10%\x12%\x0A!LOAD_BALANCER_HAS_NO_PROXY_SUBNET\x10'\x12\x1A\x0A\x16CLOUD_NAT_NO_ADDRESSES\x10(\x12\x10\x0A\x0CROUTING_LOOP\x10;\x12)\x0A%DROPPED_INSIDE_GOOGLE_MANAGED_SERVICE\x10>\x12)\x0A%LOAD_BALANCER_BACKEND_INVALID_NETWORK\x10A\x12*\x0A&BACKEND_SERVICE_NAMED_PORT_NOT_DEFINED\x10B\x12'\x0A#DESTINATION_IS_PRIVATE_NAT_IP_RANGE\x10C\x12)\x0A%DROPPED_INSIDE_REDIS_INSTANCE_SERVICE\x10F\x12#\x0A\x1FREDIS_INSTANCE_UNSUPPORTED_PORT\x10G\x12/\x0A+REDIS_INSTANCE_CONNECTING_FROM_PUPI_ADDRESS\x10H\x122\x0A.REDIS_INSTANCE_NO_ROUTE_TO_DESTINATION_NETWORK\x10I\x12!\x0A\x1DREDIS_INSTANCE_NO_EXTERNAL_IP\x10J\x12'\x0A#REDIS_INSTANCE_UNSUPPORTED_PROTOCOL\x10N\x12(\x0A\$DROPPED_INSIDE_REDIS_CLUSTER_SERVICE\x10K\x12\"\x0A\x1EREDIS_CLUSTER_UNSUPPORTED_PORT\x10L\x12 \x0A\x1CREDIS_CLUSTER_NO_EXTERNAL_IP\x10M\x12&\x0A\"REDIS_CLUSTER_UNSUPPORTED_PROTOCOL\x10O\x12*\x0A&NO_ADVERTISED_ROUTE_TO_GCP_DESTINATION\x10P\x12*\x0A&NO_TRAFFIC_SELECTOR_TO_GCP_DESTINATION\x10Q\x125\x0A1NO_KNOWN_ROUTE_FROM_PEERED_NETWORK_TO_DESTINATION\x10R\x12+\x0A'PRIVATE_NAT_TO_PSC_ENDPOINT_UNSUPPORTED\x10S\x12\"\x0A\x1EPSC_PORT_MAPPING_PORT_MISMATCH\x10V\x127\x0A3PSC_PORT_MAPPING_WITHOUT_PSC_CONNECTION_UNSUPPORTED\x10W\x123\x0A/UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION\x10X\x127\x0A3TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED\x10Y\x12\x1D\x0A\x19NO_MATCHING_NAT64_GATEWAY\x10Z\x12\$\x0A NO_CONFIGURED_PRIVATE_NAT64_RULE\x10k\x12-\x0A)LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH\x10`\x122\x0A.NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION\x10a\x12\"\x0A\x1ECLOUD_NAT_PROTOCOL_UNSUPPORTED\x10c\x12(\x0A\$L2_INTERCONNECT_UNSUPPORTED_PROTOCOL\x10d\x12\$\x0A L2_INTERCONNECT_UNSUPPORTED_PORT\x10e\x12+\x0A'L2_INTERCONNECT_DESTINATION_IP_MISMATCH\x10f\x12.\x0A*NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED\x10h\x12!\x0A\x1DHYBRID_SUBNET_REGION_MISMATCH\x10i\x12\x1A\x0A\x16HYBRID_SUBNET_NO_ROUTE\x10j\x12\x16\x0A\x12GKE_NETWORK_POLICY\x10l\x12=\x0A9NO_VALID_ROUTE_FROM_GOOGLE_MANAGED_NETWORK_TO_DESTINATION\x10n\"\x81\x01\x0A\x0DGKEMasterInfo\x12\x13\x0A\x0Bcluster_uri\x18\x02 \x01(\x09\x12\x1B\x0A\x13cluster_network_uri\x18\x04 \x01(\x09\x12\x13\x0A\x0Binternal_ip\x18\x05 \x01(\x09\x12\x13\x0A\x0Bexternal_ip\x18\x06 \x01(\x09\x12\x14\x0A\x0Cdns_endpoint\x18\x07 \x01(\x09\"P\x0A\x0AGkePodInfo\x12\x0F\x0A\x07pod_uri\x18\x01 \x01(\x09\x12\x1C\x0A\x0Aip_address\x18\x02 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12\x13\x0A\x0Bnetwork_uri\x18\x03 \x01(\x09\"\xBF\x03\x0A\x19IpMasqueradingSkippedInfo\x12S\x0A\x06reason\x18\x01 \x01(\x0E2C.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason\x12\x1C\x0A\x14non_masquerade_range\x18\x02 \x01(\x09\"\xAE\x02\x0A\x06Reason\x12\x16\x0A\x12REASON_UNSPECIFIED\x10\x00\x125\x0A1DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE\x10\x01\x122\x0A.DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE\x10\x02\x12\x1C\x0A\x18DESTINATION_ON_SAME_NODE\x10\x03\x12\x19\x0A\x15DEFAULT_SNAT_DISABLED\x10\x04\x12\x1C\x0A\x18NO_MASQUERADING_FOR_IPV6\x10\x05\x12#\x0A\x1FPOD_USES_NODE_NETWORK_NAMESPACE\x10\x06\x12%\x0A!NO_MASQUERADING_FOR_RETURN_PACKET\x10\x07\"\\\x0A\x14GkeNetworkPolicyInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x11\x0A\x09direction\x18\x03 \x01(\x09\x12\x0E\x0A\x06action\x18\x04 \x01(\x09\"\xDE\x02\x0A\x1BGkeNetworkPolicySkippedInfo\x12U\x0A\x06reason\x18\x01 \x01(\x0E2E.google.cloud.networkmanagement.v1.GkeNetworkPolicySkippedInfo.Reason\"\xE7\x01\x0A\x06Reason\x12\x16\x0A\x12REASON_UNSPECIFIED\x10\x00\x12\x1B\x0A\x17NETWORK_POLICY_DISABLED\x10\x01\x12\x1F\x0A\x1BINGRESS_SOURCE_ON_SAME_NODE\x10\x02\x12*\x0A&EGRESS_FROM_NODE_NETWORK_NAMESPACE_POD\x10\x03\x122\x0A.NETWORK_POLICY_NOT_APPLIED_TO_RESPONSE_TRAFFIC\x10\x04\x12'\x0A#NETWORK_POLICY_ANALYSIS_UNSUPPORTED\x10d\"\x88\x01\x0A\x14CloudSQLInstanceInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x04 \x01(\x09\x12\x13\x0A\x0Binternal_ip\x18\x05 \x01(\x09\x12\x13\x0A\x0Bexternal_ip\x18\x06 \x01(\x09\x12\x0E\x0A\x06region\x18\x07 \x01(\x09\"\x92\x01\x0A\x11RedisInstanceInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x03 \x01(\x09\x12\x1B\x0A\x13primary_endpoint_ip\x18\x04 \x01(\x09\x12\x18\x0A\x10read_endpoint_ip\x18\x05 \x01(\x09\x12\x0E\x0A\x06region\x18\x06 \x01(\x09\"\xBE\x01\x0A\x10RedisClusterInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x03 \x01(\x09\x12/\x0A\x1Ddiscovery_endpoint_ip_address\x18\x04 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12/\x0A\x1Dsecondary_endpoint_ip_address\x18\x05 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12\x10\x0A\x08location\x18\x06 \x01(\x09\"\\\x0A\x11CloudFunctionInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x10\x0A\x08location\x18\x03 \x01(\x09\x12\x12\x0A\x0Aversion_id\x18\x04 \x01(\x03\"`\x0A\x14CloudRunRevisionInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x10\x0A\x08location\x18\x04 \x01(\x09\x12\x13\x0A\x0Bservice_uri\x18\x05 \x01(\x09\"F\x0A\x0FCloudRunJobInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x10\x0A\x08location\x18\x03 \x01(\x09\"_\x0A\x14AppEngineVersionInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x0F\x0A\x07runtime\x18\x03 \x01(\x09\x12\x13\x0A\x0Benvironment\x18\x04 \x01(\x09\"G\x0A\x10VpcConnectorInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x10\x0A\x08location\x18\x03 \x01(\x09\"\xA8\x01\x0A\x1DDirectVpcEgressConnectionInfo\x12\x13\x0A\x0Bnetwork_uri\x18\x01 \x01(\x09\x12\x16\x0A\x0Esubnetwork_uri\x18\x02 \x01(\x09\x12#\x0A\x11selected_ip_range\x18\x03 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12%\x0A\x13selected_ip_address\x18\x04 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12\x0E\x0A\x06region\x18\x05 \x01(\x09\"I\x0A ServerlessExternalConnectionInfo\x12%\x0A\x13selected_ip_address\x18\x01 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\"\x91\x06\x0A\x07NatInfo\x12=\x0A\x04type\x18\x01 \x01(\x0E2/.google.cloud.networkmanagement.v1.NatInfo.Type\x12\x10\x0A\x08protocol\x18\x02 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x03 \x01(\x09\x12\x15\x0A\x0Dold_source_ip\x18\x04 \x01(\x09\x12\x15\x0A\x0Dnew_source_ip\x18\x05 \x01(\x09\x12\x1A\x0A\x12old_destination_ip\x18\x06 \x01(\x09\x12\x1A\x0A\x12new_destination_ip\x18\x07 \x01(\x09\x12\x17\x0A\x0Fold_source_port\x18\x08 \x01(\x05\x12\x17\x0A\x0Fnew_source_port\x18\x09 \x01(\x05\x12\x1C\x0A\x14old_destination_port\x18\x0A \x01(\x05\x12\x1C\x0A\x14new_destination_port\x18\x0B \x01(\x05\x12\x12\x0A\x0Arouter_uri\x18\x0C \x01(\x09\x12\x18\x0A\x10nat_gateway_name\x18\x0D \x01(\x09\x12^\x0A\x16cloud_nat_gateway_type\x18\x0E \x01(\x0E2>.google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType\"\x99\x01\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x18\x0A\x14INTERNAL_TO_EXTERNAL\x10\x01\x12\x18\x0A\x14EXTERNAL_TO_INTERNAL\x10\x02\x12\x0D\x0A\x09CLOUD_NAT\x10\x03\x12\x1B\x0A\x17PRIVATE_SERVICE_CONNECT\x10\x04\x12\x1B\x0A\x17GKE_POD_IP_MASQUERADING\x10\x05\"\xA1\x01\x0A\x13CloudNatGatewayType\x12&\x0A\"CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED\x10\x00\x12\x10\x0A\x0CPUBLIC_NAT44\x10\x01\x12\x10\x0A\x0CPUBLIC_NAT64\x10\x02\x12\x13\x0A\x0FPRIVATE_NAT_NCC\x10\x03\x12\x16\x0A\x12PRIVATE_NAT_HYBRID\x10\x04\x12\x11\x0A\x0DPRIVATE_NAT64\x10\x05\"\xA4\x02\x0A\x13ProxyConnectionInfo\x12\x10\x0A\x08protocol\x18\x01 \x01(\x09\x12\x15\x0A\x0Dold_source_ip\x18\x02 \x01(\x09\x12\x15\x0A\x0Dnew_source_ip\x18\x03 \x01(\x09\x12\x1A\x0A\x12old_destination_ip\x18\x04 \x01(\x09\x12\x1A\x0A\x12new_destination_ip\x18\x05 \x01(\x09\x12\x17\x0A\x0Fold_source_port\x18\x06 \x01(\x05\x12\x17\x0A\x0Fnew_source_port\x18\x07 \x01(\x05\x12\x1C\x0A\x14old_destination_port\x18\x08 \x01(\x05\x12\x1C\x0A\x14new_destination_port\x18\x09 \x01(\x05\x12\x12\x0A\x0Asubnet_uri\x18\x0A \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x0B \x01(\x09\"\xF2\x04\x0A\x17LoadBalancerBackendInfo\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x14\x0A\x0Cinstance_uri\x18\x02 \x01(\x09\x12\x1B\x0A\x13backend_service_uri\x18\x03 \x01(\x09\x12\x1A\x0A\x12instance_group_uri\x18\x04 \x01(\x09\x12\"\x0A\x1Anetwork_endpoint_group_uri\x18\x05 \x01(\x09\x12\x1A\x0A\x12backend_bucket_uri\x18\x08 \x01(\x09\x12\"\x0A\x1Apsc_service_attachment_uri\x18\x09 \x01(\x09\x12\x1D\x0A\x15psc_google_api_target\x18\x0A \x01(\x09\x12\x18\x0A\x10health_check_uri\x18\x06 \x01(\x09\x12\x8C\x01\x0A#health_check_firewalls_config_state\x18\x07 \x01(\x0E2Z.google.cloud.networkmanagement.v1.LoadBalancerBackendInfo.HealthCheckFirewallsConfigStateB\x03\xE0A\x03\"\xCD\x01\x0A\x1FHealthCheckFirewallsConfigState\x123\x0A/HEALTH_CHECK_FIREWALLS_CONFIG_STATE_UNSPECIFIED\x10\x00\x12\x18\x0A\x14FIREWALLS_CONFIGURED\x10\x01\x12\"\x0A\x1EFIREWALLS_PARTIALLY_CONFIGURED\x10\x02\x12\x1C\x0A\x18FIREWALLS_NOT_CONFIGURED\x10\x03\x12\x19\x0A\x15FIREWALLS_UNSUPPORTED\x10\x04\"#\x0A\x11StorageBucketInfo\x12\x0E\x0A\x06bucket\x18\x01 \x01(\x09\"\$\x0A\x11ServerlessNegInfo\x12\x0F\x0A\x07neg_uri\x18\x01 \x01(\x09\">\x0A\x18NgfwPacketInspectionInfo\x12\"\x0A\x1Asecurity_profile_group_uri\x18\x01 \x01(\x09*\xF6\x02\x0A\x10LoadBalancerType\x12\"\x0A\x1ELOAD_BALANCER_TYPE_UNSPECIFIED\x10\x00\x12 \x0A\x1CHTTPS_ADVANCED_LOAD_BALANCER\x10\x01\x12\x17\x0A\x13HTTPS_LOAD_BALANCER\x10\x02\x12 \x0A\x1CREGIONAL_HTTPS_LOAD_BALANCER\x10\x03\x12 \x0A\x1CINTERNAL_HTTPS_LOAD_BALANCER\x10\x04\x12\x1B\x0A\x17SSL_PROXY_LOAD_BALANCER\x10\x05\x12\x1B\x0A\x17TCP_PROXY_LOAD_BALANCER\x10\x06\x12\$\x0A INTERNAL_TCP_PROXY_LOAD_BALANCER\x10\x07\x12\x19\x0A\x15NETWORK_LOAD_BALANCER\x10\x08\x12 \x0A\x1CLEGACY_NETWORK_LOAD_BALANCER\x10\x09\x12\"\x0A\x1ETCP_UDP_INTERNAL_LOAD_BALANCER\x10\x0AB\xF9\x01\x0A%com.google.cloud.networkmanagement.v1B\x0ATraceProtoP\x01ZScloud.google.com/go/networkmanagement/apiv1/networkmanagementpb;networkmanagementpb\xAA\x02!Google.Cloud.NetworkManagement.V1\xCA\x02!Google\\Cloud\\NetworkManagement\\V1\xEA\x02\$Google::Cloud::NetworkManagement::V1b\x06proto3" + "\x0A\xC1\xB2\x01\x0A-google/cloud/networkmanagement/v1/trace.proto\x12!google.cloud.networkmanagement.v1\x1A\x1Bgoogle/api/field_info.proto\"\xA1\x01\x0A\x05Trace\x12F\x0A\x0Dendpoint_info\x18\x01 \x01(\x0B2/.google.cloud.networkmanagement.v1.EndpointInfo\x126\x0A\x05steps\x18\x02 \x03(\x0B2'.google.cloud.networkmanagement.v1.Step\x12\x18\x0A\x10forward_trace_id\x18\x04 \x01(\x05\"\xEB#\x0A\x04Step\x12\x13\x0A\x0Bdescription\x18\x01 \x01(\x09\x12<\x0A\x05state\x18\x02 \x01(\x0E2-.google.cloud.networkmanagement.v1.Step.State\x12\x13\x0A\x0Bcauses_drop\x18\x03 \x01(\x08\x12\x12\x0A\x0Aproject_id\x18\x04 \x01(\x09\x12C\x0A\x08instance\x18\x05 \x01(\x0B2/.google.cloud.networkmanagement.v1.InstanceInfoH\x00\x12C\x0A\x08firewall\x18\x06 \x01(\x0B2/.google.cloud.networkmanagement.v1.FirewallInfoH\x00\x12=\x0A\x05route\x18\x07 \x01(\x0B2,.google.cloud.networkmanagement.v1.RouteInfoH\x00\x12C\x0A\x08endpoint\x18\x08 \x01(\x0B2/.google.cloud.networkmanagement.v1.EndpointInfoH\x00\x12N\x0A\x0Egoogle_service\x18\x18 \x01(\x0B24.google.cloud.networkmanagement.v1.GoogleServiceInfoH\x00\x12P\x0A\x0Fforwarding_rule\x18\x09 \x01(\x0B25.google.cloud.networkmanagement.v1.ForwardingRuleInfoH\x00\x12L\x0A\x0Dhybrid_subnet\x18\$ \x01(\x0B23.google.cloud.networkmanagement.v1.HybridSubnetInfoH\x00\x12H\x0A\x0Bvpn_gateway\x18\x0A \x01(\x0B21.google.cloud.networkmanagement.v1.VpnGatewayInfoH\x00\x12F\x0A\x0Avpn_tunnel\x18\x0B \x01(\x0B20.google.cloud.networkmanagement.v1.VpnTunnelInfoH\x00\x12`\x0A\x17interconnect_attachment\x18# \x01(\x0B2=.google.cloud.networkmanagement.v1.InterconnectAttachmentInfoH\x00\x12L\x0A\x0Dvpc_connector\x18\x15 \x01(\x0B23.google.cloud.networkmanagement.v1.VpcConnectorInfoH\x00\x12h\x0A\x1Cdirect_vpc_egress_connection\x18! \x01(\x0B2@.google.cloud.networkmanagement.v1.DirectVpcEgressConnectionInfoH\x00\x12m\x0A\x1Eserverless_external_connection\x18\" \x01(\x0B2C.google.cloud.networkmanagement.v1.ServerlessExternalConnectionInfoH\x00\x12A\x0A\x07deliver\x18\x0C \x01(\x0B2..google.cloud.networkmanagement.v1.DeliverInfoH\x00\x12A\x0A\x07forward\x18\x0D \x01(\x0B2..google.cloud.networkmanagement.v1.ForwardInfoH\x00\x12=\x0A\x05abort\x18\x0E \x01(\x0B2,.google.cloud.networkmanagement.v1.AbortInfoH\x00\x12;\x0A\x04drop\x18\x0F \x01(\x0B2+.google.cloud.networkmanagement.v1.DropInfoH\x00\x12P\x0A\x0Dload_balancer\x18\x10 \x01(\x0B23.google.cloud.networkmanagement.v1.LoadBalancerInfoB\x02\x18\x01H\x00\x12A\x0A\x07network\x18\x11 \x01(\x0B2..google.cloud.networkmanagement.v1.NetworkInfoH\x00\x12F\x0A\x0Agke_master\x18\x12 \x01(\x0B20.google.cloud.networkmanagement.v1.GKEMasterInfoH\x00\x12@\x0A\x07gke_pod\x18% \x01(\x0B2-.google.cloud.networkmanagement.v1.GkePodInfoH\x00\x12_\x0A\x17ip_masquerading_skipped\x18& \x01(\x0B2<.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfoH\x00\x12U\x0A\x12gke_network_policy\x18' \x01(\x0B27.google.cloud.networkmanagement.v1.GkeNetworkPolicyInfoH\x00\x12d\x0A\x1Agke_network_policy_skipped\x18( \x01(\x0B2>.google.cloud.networkmanagement.v1.GkeNetworkPolicySkippedInfoH\x00\x12U\x0A\x12cloud_sql_instance\x18\x13 \x01(\x0B27.google.cloud.networkmanagement.v1.CloudSQLInstanceInfoH\x00\x12N\x0A\x0Eredis_instance\x18\x1E \x01(\x0B24.google.cloud.networkmanagement.v1.RedisInstanceInfoH\x00\x12L\x0A\x0Dredis_cluster\x18\x1F \x01(\x0B23.google.cloud.networkmanagement.v1.RedisClusterInfoH\x00\x12N\x0A\x0Ecloud_function\x18\x14 \x01(\x0B24.google.cloud.networkmanagement.v1.CloudFunctionInfoH\x00\x12U\x0A\x12app_engine_version\x18\x16 \x01(\x0B27.google.cloud.networkmanagement.v1.AppEngineVersionInfoH\x00\x12U\x0A\x12cloud_run_revision\x18\x17 \x01(\x0B27.google.cloud.networkmanagement.v1.CloudRunRevisionInfoH\x00\x12K\x0A\x0Dcloud_run_job\x18- \x01(\x0B22.google.cloud.networkmanagement.v1.CloudRunJobInfoH\x00\x129\x0A\x03nat\x18\x19 \x01(\x0B2*.google.cloud.networkmanagement.v1.NatInfoH\x00\x12R\x0A\x10proxy_connection\x18\x1A \x01(\x0B26.google.cloud.networkmanagement.v1.ProxyConnectionInfoH\x00\x12`\x0A\x1Aload_balancer_backend_info\x18\x1B \x01(\x0B2:.google.cloud.networkmanagement.v1.LoadBalancerBackendInfoH\x00\x12N\x0A\x0Estorage_bucket\x18\x1C \x01(\x0B24.google.cloud.networkmanagement.v1.StorageBucketInfoH\x00\x12N\x0A\x0Eserverless_neg\x18\x1D \x01(\x0B24.google.cloud.networkmanagement.v1.ServerlessNegInfoH\x00\x12]\x0A\x16ngfw_packet_inspection\x18* \x01(\x0B2;.google.cloud.networkmanagement.v1.NgfwPacketInspectionInfoH\x00\x12Z\x0A\x16dms_private_connection\x18+ \x01(\x0B28.google.cloud.networkmanagement.v1.PrivateConnectionInfoH\x00\"\xF5\x0A\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x17\x0A\x13START_FROM_INSTANCE\x10\x01\x12\x17\x0A\x13START_FROM_INTERNET\x10\x02\x12\x1D\x0A\x19START_FROM_GOOGLE_SERVICE\x10\x1B\x12\x1E\x0A\x1ASTART_FROM_PRIVATE_NETWORK\x10\x03\x12\x19\x0A\x15START_FROM_GKE_MASTER\x10\x15\x12!\x0A\x1DSTART_FROM_CLOUD_SQL_INSTANCE\x10\x16\x12\x16\x0A\x12START_FROM_GKE_POD\x10'\x12\x1D\x0A\x19START_FROM_REDIS_INSTANCE\x10 \x12\x1C\x0A\x18START_FROM_REDIS_CLUSTER\x10!\x12\x1D\x0A\x19START_FROM_CLOUD_FUNCTION\x10\x17\x12!\x0A\x1DSTART_FROM_APP_ENGINE_VERSION\x10\x19\x12!\x0A\x1DSTART_FROM_CLOUD_RUN_REVISION\x10\x1A\x12\x1C\x0A\x18START_FROM_CLOUD_RUN_JOB\x102\x12\x1D\x0A\x19START_FROM_STORAGE_BUCKET\x10\x1D\x12\$\x0A START_FROM_PSC_PUBLISHED_SERVICE\x10\x1E\x12\x1D\x0A\x19START_FROM_SERVERLESS_NEG\x10\x1F\x12%\x0A!START_FROM_DMS_PRIVATE_CONNECTION\x100\x12\x1F\x0A\x1BAPPLY_INGRESS_FIREWALL_RULE\x10\x04\x12\x1E\x0A\x1AAPPLY_EGRESS_FIREWALL_RULE\x10\x05\x12\x0F\x0A\x0BAPPLY_ROUTE\x10\x06\x12\x19\x0A\x15APPLY_FORWARDING_RULE\x10\x07\x12!\x0A\x1DANALYZE_LOAD_BALANCER_BACKEND\x10\x1C\x12\x15\x0A\x11SPOOFING_APPROVED\x10\x08\x12\x16\x0A\x12ARRIVE_AT_INSTANCE\x10\x09\x12(\x0A ARRIVE_AT_INTERNAL_LOAD_BALANCER\x10\x0A\x1A\x02\x08\x01\x12(\x0A ARRIVE_AT_EXTERNAL_LOAD_BALANCER\x10\x0B\x1A\x02\x08\x01\x12\x1B\x0A\x17ARRIVE_AT_HYBRID_SUBNET\x10&\x12\x19\x0A\x15ARRIVE_AT_VPN_GATEWAY\x10\x0C\x12\x18\x0A\x14ARRIVE_AT_VPN_TUNNEL\x10\x0D\x12%\x0A!ARRIVE_AT_INTERCONNECT_ATTACHMENT\x10%\x12\x1B\x0A\x17ARRIVE_AT_VPC_CONNECTOR\x10\x18\x12\x15\x0A\x11ARRIVE_AT_GKE_POD\x10,\x12 \x0A\x1CDIRECT_VPC_EGRESS_CONNECTION\x10#\x12\"\x0A\x1ESERVERLESS_EXTERNAL_CONNECTION\x10\$\x12\x1A\x0A\x16NGFW_PACKET_INSPECTION\x10/\x12\x07\x0A\x03NAT\x10\x0E\x12 \x0A\x1CSKIP_GKE_POD_IP_MASQUERADING\x10(\x12#\x0A\x1FSKIP_GKE_INGRESS_NETWORK_POLICY\x10)\x12\"\x0A\x1ESKIP_GKE_EGRESS_NETWORK_POLICY\x10*\x12\$\x0A APPLY_INGRESS_GKE_NETWORK_POLICY\x10-\x12#\x0A\x1FAPPLY_EGRESS_GKE_NETWORK_POLICY\x10.\x12\x14\x0A\x10PROXY_CONNECTION\x10\x0F\x12\x0B\x0A\x07DELIVER\x10\x10\x12\x08\x0A\x04DROP\x10\x11\x12\x0B\x0A\x07FORWARD\x10\x12\x12\x09\x0A\x05ABORT\x10\x13\x12\x1D\x0A\x19VIEWER_PERMISSION_MISSING\x10\x14B\x0B\x0A\x09step_info\"\xF7\x02\x0A\x0CInstanceInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x11\x0A\x09interface\x18\x03 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x04 \x01(\x09\x12\x13\x0A\x0Binternal_ip\x18\x05 \x01(\x09\x12\x13\x0A\x0Bexternal_ip\x18\x06 \x01(\x09\x12\x14\x0A\x0Cnetwork_tags\x18\x07 \x03(\x09\x12\x1B\x0A\x0Fservice_account\x18\x08 \x01(\x09B\x02\x18\x01\x12\"\x0A\x1Apsc_network_attachment_uri\x18\x09 \x01(\x09\x12\x13\x0A\x07running\x18\x0A \x01(\x08B\x02\x18\x01\x12F\x0A\x06status\x18\x0B \x01(\x0E26.google.cloud.networkmanagement.v1.InstanceInfo.Status\">\x0A\x06Status\x12\x16\x0A\x12STATUS_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07RUNNING\x10\x01\x12\x0F\x0A\x0BNOT_RUNNING\x10\x02\"v\x0A\x0BNetworkInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x1A\x0A\x12matched_subnet_uri\x18\x05 \x01(\x09\x12\x18\x0A\x10matched_ip_range\x18\x04 \x01(\x09\x12\x0E\x0A\x06region\x18\x06 \x01(\x09\"\xAF\x07\x0A\x0CFirewallInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x11\x0A\x09direction\x18\x03 \x01(\x09\x12\x0E\x0A\x06action\x18\x04 \x01(\x09\x12\x10\x0A\x08priority\x18\x05 \x01(\x05\x12\x13\x0A\x0Bnetwork_uri\x18\x06 \x01(\x09\x12\x13\x0A\x0Btarget_tags\x18\x07 \x03(\x09\x12\x1F\x0A\x17target_service_accounts\x18\x08 \x03(\x09\x12\x0E\x0A\x06policy\x18\x09 \x01(\x09\x12\x12\x0A\x0Apolicy_uri\x18\x0B \x01(\x09\x12\\\x0A\x12firewall_rule_type\x18\x0A \x01(\x0E2@.google.cloud.networkmanagement.v1.FirewallInfo.FirewallRuleType\x12\x17\x0A\x0Fpolicy_priority\x18\x0C \x01(\x05\x12O\x0A\x0Btarget_type\x18\x0D \x01(\x0E2:.google.cloud.networkmanagement.v1.FirewallInfo.TargetType\"\xBC\x03\x0A\x10FirewallRuleType\x12\"\x0A\x1EFIREWALL_RULE_TYPE_UNSPECIFIED\x10\x00\x12%\x0A!HIERARCHICAL_FIREWALL_POLICY_RULE\x10\x01\x12\x15\x0A\x11VPC_FIREWALL_RULE\x10\x02\x12\x1D\x0A\x19IMPLIED_VPC_FIREWALL_RULE\x10\x03\x12/\x0A+SERVERLESS_VPC_ACCESS_MANAGED_FIREWALL_RULE\x10\x04\x12 \x0A\x1CNETWORK_FIREWALL_POLICY_RULE\x10\x05\x12)\x0A%NETWORK_REGIONAL_FIREWALL_POLICY_RULE\x10\x06\x12'\x0A#SYSTEM_NETWORK_FIREWALL_POLICY_RULE\x10\x07\x120\x0A,SYSTEM_REGIONAL_NETWORK_FIREWALL_POLICY_RULE\x10\x08\x12\$\x0A UNSUPPORTED_FIREWALL_POLICY_RULE\x10d\x12\x12\x0A\x0ETRACKING_STATE\x10e\x12\x14\x0A\x10ANALYSIS_SKIPPED\x10f\"Q\x0A\x0ATargetType\x12\x1B\x0A\x17TARGET_TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09INSTANCES\x10\x01\x12\x17\x0A\x13INTERNAL_MANAGED_LB\x10\x02\"\xEC\x0B\x0A\x09RouteInfo\x12J\x0A\x0Aroute_type\x18\x08 \x01(\x0E26.google.cloud.networkmanagement.v1.RouteInfo.RouteType\x12O\x0A\x0Dnext_hop_type\x18\x09 \x01(\x0E28.google.cloud.networkmanagement.v1.RouteInfo.NextHopType\x12P\x0A\x0Broute_scope\x18\x0E \x01(\x0E27.google.cloud.networkmanagement.v1.RouteInfo.RouteScopeB\x02\x18\x01\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x0E\x0A\x06region\x18\x13 \x01(\x09\x12\x15\x0A\x0Ddest_ip_range\x18\x03 \x01(\x09\x12\x14\x0A\x08next_hop\x18\x04 \x01(\x09B\x02\x18\x01\x12\x13\x0A\x0Bnetwork_uri\x18\x05 \x01(\x09\x12\x10\x0A\x08priority\x18\x06 \x01(\x05\x12\x15\x0A\x0Dinstance_tags\x18\x07 \x03(\x09\x12\x14\x0A\x0Csrc_ip_range\x18\x0A \x01(\x09\x12\x18\x0A\x10dest_port_ranges\x18\x0B \x03(\x09\x12\x17\x0A\x0Fsrc_port_ranges\x18\x0C \x03(\x09\x12\x11\x0A\x09protocols\x18\x0D \x03(\x09\x12\x18\x0A\x0Bncc_hub_uri\x18\x0F \x01(\x09H\x00\x88\x01\x01\x12\x1A\x0A\x0Dncc_spoke_uri\x18\x10 \x01(\x09H\x01\x88\x01\x01\x12/\x0A\"advertised_route_source_router_uri\x18\x11 \x01(\x09H\x02\x88\x01\x01\x12.\x0A\x1Dadvertised_route_next_hop_uri\x18\x12 \x01(\x09B\x02\x18\x01H\x03\x88\x01\x01\x12\x14\x0A\x0Cnext_hop_uri\x18\x14 \x01(\x09\x12\x1C\x0A\x14next_hop_network_uri\x18\x15 \x01(\x09\x12\x1D\x0A\x15originating_route_uri\x18\x16 \x01(\x09\x12&\x0A\x1Eoriginating_route_display_name\x18\x17 \x01(\x09\x12\x19\x0A\x11ncc_hub_route_uri\x18\x18 \x01(\x09\"\xAB\x01\x0A\x09RouteType\x12\x1A\x0A\x16ROUTE_TYPE_UNSPECIFIED\x10\x00\x12\x0A\x0A\x06SUBNET\x10\x01\x12\x0A\x0A\x06STATIC\x10\x02\x12\x0B\x0A\x07DYNAMIC\x10\x03\x12\x12\x0A\x0EPEERING_SUBNET\x10\x04\x12\x12\x0A\x0EPEERING_STATIC\x10\x05\x12\x13\x0A\x0FPEERING_DYNAMIC\x10\x06\x12\x10\x0A\x0CPOLICY_BASED\x10\x07\x12\x0E\x0A\x0AADVERTISED\x10e\"\xEA\x02\x0A\x0BNextHopType\x12\x1D\x0A\x19NEXT_HOP_TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BNEXT_HOP_IP\x10\x01\x12\x15\x0A\x11NEXT_HOP_INSTANCE\x10\x02\x12\x14\x0A\x10NEXT_HOP_NETWORK\x10\x03\x12\x14\x0A\x10NEXT_HOP_PEERING\x10\x04\x12\x19\x0A\x15NEXT_HOP_INTERCONNECT\x10\x05\x12\x17\x0A\x13NEXT_HOP_VPN_TUNNEL\x10\x06\x12\x18\x0A\x14NEXT_HOP_VPN_GATEWAY\x10\x07\x12\x1D\x0A\x19NEXT_HOP_INTERNET_GATEWAY\x10\x08\x12\x16\x0A\x12NEXT_HOP_BLACKHOLE\x10\x09\x12\x10\x0A\x0CNEXT_HOP_ILB\x10\x0A\x12\x1D\x0A\x19NEXT_HOP_ROUTER_APPLIANCE\x10\x0B\x12\x14\x0A\x10NEXT_HOP_NCC_HUB\x10\x0C\x12\x1C\x0A\x18SECURE_WEB_PROXY_GATEWAY\x10\x0D\"C\x0A\x0ARouteScope\x12\x1B\x0A\x17ROUTE_SCOPE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07NETWORK\x10\x01\x12\x0B\x0A\x07NCC_HUB\x10\x02B\x0E\x0A\x0C_ncc_hub_uriB\x10\x0A\x0E_ncc_spoke_uriB%\x0A#_advertised_route_source_router_uriB \x0A\x1E_advertised_route_next_hop_uri\"\xDA\x02\x0A\x11GoogleServiceInfo\x12\x11\x0A\x09source_ip\x18\x01 \x01(\x09\x12c\x0A\x13google_service_type\x18\x02 \x01(\x0E2F.google.cloud.networkmanagement.v1.GoogleServiceInfo.GoogleServiceType\"\xCC\x01\x0A\x11GoogleServiceType\x12#\x0A\x1FGOOGLE_SERVICE_TYPE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03IAP\x10\x01\x12\$\x0A GFE_PROXY_OR_HEALTH_CHECK_PROBER\x10\x02\x12\x0D\x0A\x09CLOUD_DNS\x10\x03\x12\x0E\x0A\x0AGOOGLE_API\x10\x04\x12\x12\x0A\x0EGOOGLE_API_PSC\x10\x05\x12\x15\x0A\x11GOOGLE_API_VPC_SC\x10\x06\x12\x19\x0A\x15SERVERLESS_VPC_ACCESS\x10\x07\"\x8E\x02\x0A\x12ForwardingRuleInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x18\x0A\x10matched_protocol\x18\x03 \x01(\x09\x12\x1A\x0A\x12matched_port_range\x18\x06 \x01(\x09\x12\x0B\x0A\x03vip\x18\x04 \x01(\x09\x12\x0E\x0A\x06target\x18\x05 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x07 \x01(\x09\x12\x0E\x0A\x06region\x18\x08 \x01(\x09\x12\x1A\x0A\x12load_balancer_name\x18\x09 \x01(\x09\x12\"\x0A\x1Apsc_service_attachment_uri\x18\x0A \x01(\x09\x12\x1D\x0A\x15psc_google_api_target\x18\x0B \x01(\x09\"\xC2\x04\x0A\x10LoadBalancerInfo\x12`\x0A\x12load_balancer_type\x18\x01 \x01(\x0E2D.google.cloud.networkmanagement.v1.LoadBalancerInfo.LoadBalancerType\x12\x1C\x0A\x10health_check_uri\x18\x02 \x01(\x09B\x02\x18\x01\x12H\x0A\x08backends\x18\x03 \x03(\x0B26.google.cloud.networkmanagement.v1.LoadBalancerBackend\x12U\x0A\x0Cbackend_type\x18\x04 \x01(\x0E2?.google.cloud.networkmanagement.v1.LoadBalancerInfo.BackendType\x12\x13\x0A\x0Bbackend_uri\x18\x05 \x01(\x09\"\x8F\x01\x0A\x10LoadBalancerType\x12\"\x0A\x1ELOAD_BALANCER_TYPE_UNSPECIFIED\x10\x00\x12\x14\x0A\x10INTERNAL_TCP_UDP\x10\x01\x12\x13\x0A\x0FNETWORK_TCP_UDP\x10\x02\x12\x0E\x0A\x0AHTTP_PROXY\x10\x03\x12\x0D\x0A\x09TCP_PROXY\x10\x04\x12\x0D\x0A\x09SSL_PROXY\x10\x05\"f\x0A\x0BBackendType\x12\x1C\x0A\x18BACKEND_TYPE_UNSPECIFIED\x10\x00\x12\x13\x0A\x0FBACKEND_SERVICE\x10\x01\x12\x0F\x0A\x0BTARGET_POOL\x10\x02\x12\x13\x0A\x0FTARGET_INSTANCE\x10\x03\"\xF6\x02\x0A\x13LoadBalancerBackend\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12t\x0A\x1Bhealth_check_firewall_state\x18\x03 \x01(\x0E2O.google.cloud.networkmanagement.v1.LoadBalancerBackend.HealthCheckFirewallState\x12,\x0A\$health_check_allowing_firewall_rules\x18\x04 \x03(\x09\x12,\x0A\$health_check_blocking_firewall_rules\x18\x05 \x03(\x09\"j\x0A\x18HealthCheckFirewallState\x12+\x0A'HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED\x10\x00\x12\x0E\x0A\x0ACONFIGURED\x10\x01\x12\x11\x0A\x0DMISCONFIGURED\x10\x02\"E\x0A\x10HybridSubnetInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x0E\x0A\x06region\x18\x03 \x01(\x09\"\x84\x01\x0A\x0EVpnGatewayInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x03 \x01(\x09\x12\x12\x0A\x0Aip_address\x18\x04 \x01(\x09\x12\x16\x0A\x0Evpn_tunnel_uri\x18\x05 \x01(\x09\x12\x0E\x0A\x06region\x18\x06 \x01(\x09\"\xEE\x02\x0A\x0DVpnTunnelInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x16\x0A\x0Esource_gateway\x18\x03 \x01(\x09\x12\x16\x0A\x0Eremote_gateway\x18\x04 \x01(\x09\x12\x19\x0A\x11remote_gateway_ip\x18\x05 \x01(\x09\x12\x19\x0A\x11source_gateway_ip\x18\x06 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x07 \x01(\x09\x12\x0E\x0A\x06region\x18\x08 \x01(\x09\x12R\x0A\x0Crouting_type\x18\x09 \x01(\x0E2<.google.cloud.networkmanagement.v1.VpnTunnelInfo.RoutingType\"[\x0A\x0BRoutingType\x12\x1C\x0A\x18ROUTING_TYPE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BROUTE_BASED\x10\x01\x12\x10\x0A\x0CPOLICY_BASED\x10\x02\x12\x0B\x0A\x07DYNAMIC\x10\x03\"\xEB\x02\x0A\x1AInterconnectAttachmentInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x18\x0A\x10interconnect_uri\x18\x03 \x01(\x09\x12\x0E\x0A\x06region\x18\x04 \x01(\x09\x12\x18\x0A\x10cloud_router_uri\x18\x05 \x01(\x09\x12P\x0A\x04type\x18\x06 \x01(\x0E2B.google.cloud.networkmanagement.v1.InterconnectAttachmentInfo.Type\x122\x0A l2_attachment_matched_ip_address\x18\x07 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\"`\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09DEDICATED\x10\x01\x12\x0B\x0A\x07PARTNER\x10\x02\x12\x14\x0A\x10PARTNER_PROVIDER\x10\x03\x12\x10\x0A\x0CL2_DEDICATED\x10\x04\"\xD1\x01\x0A\x0CEndpointInfo\x12\x11\x0A\x09source_ip\x18\x01 \x01(\x09\x12\x16\x0A\x0Edestination_ip\x18\x02 \x01(\x09\x12\x10\x0A\x08protocol\x18\x03 \x01(\x09\x12\x13\x0A\x0Bsource_port\x18\x04 \x01(\x05\x12\x18\x0A\x10destination_port\x18\x05 \x01(\x05\x12\x1A\x0A\x12source_network_uri\x18\x06 \x01(\x09\x12\x1F\x0A\x17destination_network_uri\x18\x07 \x01(\x09\x12\x18\x0A\x10source_agent_uri\x18\x08 \x01(\x09\"\x83\x07\x0A\x0BDeliverInfo\x12E\x0A\x06target\x18\x01 \x01(\x0E25.google.cloud.networkmanagement.v1.DeliverInfo.Target\x12\x14\x0A\x0Cresource_uri\x18\x02 \x01(\x09\x12\x1C\x0A\x0Aip_address\x18\x03 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12\x16\x0A\x0Estorage_bucket\x18\x04 \x01(\x09\x12\x1D\x0A\x15psc_google_api_target\x18\x05 \x01(\x09\x12]\x0A\x13google_service_type\x18\x06 \x01(\x0E2@.google.cloud.networkmanagement.v1.DeliverInfo.GoogleServiceType\"\xB3\x03\x0A\x06Target\x12\x16\x0A\x12TARGET_UNSPECIFIED\x10\x00\x12\x0C\x0A\x08INSTANCE\x10\x01\x12\x0C\x0A\x08INTERNET\x10\x02\x12\x0E\x0A\x0AGOOGLE_API\x10\x03\x12\x0E\x0A\x0AGKE_MASTER\x10\x04\x12\x16\x0A\x12CLOUD_SQL_INSTANCE\x10\x05\x12\x19\x0A\x15PSC_PUBLISHED_SERVICE\x10\x06\x12\x12\x0A\x0EPSC_GOOGLE_API\x10\x07\x12\x0E\x0A\x0APSC_VPC_SC\x10\x08\x12\x12\x0A\x0ESERVERLESS_NEG\x10\x09\x12\x12\x0A\x0ESTORAGE_BUCKET\x10\x0A\x12\x13\x0A\x0FPRIVATE_NETWORK\x10\x0B\x12\x12\x0A\x0ECLOUD_FUNCTION\x10\x0C\x12\x16\x0A\x12APP_ENGINE_VERSION\x10\x0D\x12\x16\x0A\x12CLOUD_RUN_REVISION\x10\x0E\x12\x1A\x0A\x16GOOGLE_MANAGED_SERVICE\x10\x0F\x12\x12\x0A\x0EREDIS_INSTANCE\x10\x10\x12\x11\x0A\x0DREDIS_CLUSTER\x10\x11\x12\x0B\x0A\x07GKE_POD\x10\x13\x12\x11\x0A\x0DCLOUD_RUN_JOB\x10\x14\x12\x1A\x0A\x16DMS_PRIVATE_CONNECTION\x10\x15\"\xAC\x01\x0A\x11GoogleServiceType\x12#\x0A\x1FGOOGLE_SERVICE_TYPE_UNSPECIFIED\x10\x00\x12\x07\x0A\x03IAP\x10\x01\x12\$\x0A GFE_PROXY_OR_HEALTH_CHECK_PROBER\x10\x02\x12\x0D\x0A\x09CLOUD_DNS\x10\x03\x12\x19\x0A\x15PRIVATE_GOOGLE_ACCESS\x10\x04\x12\x19\x0A\x15SERVERLESS_VPC_ACCESS\x10\x05\"\x89\x03\x0A\x0BForwardInfo\x12E\x0A\x06target\x18\x01 \x01(\x0E25.google.cloud.networkmanagement.v1.ForwardInfo.Target\x12\x14\x0A\x0Cresource_uri\x18\x02 \x01(\x09\x12\x1C\x0A\x0Aip_address\x18\x03 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\"\xFE\x01\x0A\x06Target\x12\x16\x0A\x12TARGET_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BPEERING_VPC\x10\x01\x12\x0F\x0A\x0BVPN_GATEWAY\x10\x02\x12\x10\x0A\x0CINTERCONNECT\x10\x03\x12\x12\x0A\x0AGKE_MASTER\x10\x04\x1A\x02\x08\x01\x12\"\x0A\x1EIMPORTED_CUSTOM_ROUTE_NEXT_HOP\x10\x05\x12\x1A\x0A\x12CLOUD_SQL_INSTANCE\x10\x06\x1A\x02\x08\x01\x12\x13\x0A\x0FANOTHER_PROJECT\x10\x07\x12\x0B\x0A\x07NCC_HUB\x10\x08\x12\x14\x0A\x10ROUTER_APPLIANCE\x10\x09\x12\x1C\x0A\x18SECURE_WEB_PROXY_GATEWAY\x10\x0A\"\x85\x0D\x0A\x09AbortInfo\x12A\x0A\x05cause\x18\x01 \x01(\x0E22.google.cloud.networkmanagement.v1.AbortInfo.Cause\x12\x14\x0A\x0Cresource_uri\x18\x02 \x01(\x09\x12\x1C\x0A\x0Aip_address\x18\x04 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12#\x0A\x1Bprojects_missing_permission\x18\x03 \x03(\x09\"\xDB\x0B\x0A\x05Cause\x12\x15\x0A\x11CAUSE_UNSPECIFIED\x10\x00\x12\x17\x0A\x0FUNKNOWN_NETWORK\x10\x01\x1A\x02\x08\x01\x12\x17\x0A\x0FUNKNOWN_PROJECT\x10\x03\x1A\x02\x08\x01\x12\x16\x0A\x0ENO_EXTERNAL_IP\x10\x07\x1A\x02\x08\x01\x12\x1E\x0A\x16UNINTENDED_DESTINATION\x10\x08\x1A\x02\x08\x01\x12!\x0A\x19SOURCE_ENDPOINT_NOT_FOUND\x10\x0B\x1A\x02\x08\x01\x12!\x0A\x19MISMATCHED_SOURCE_NETWORK\x10\x0C\x1A\x02\x08\x01\x12&\x0A\x1EDESTINATION_ENDPOINT_NOT_FOUND\x10\x0D\x1A\x02\x08\x01\x12&\x0A\x1EMISMATCHED_DESTINATION_NETWORK\x10\x0E\x1A\x02\x08\x01\x12\x0E\x0A\x0AUNKNOWN_IP\x10\x02\x12%\x0A!GOOGLE_MANAGED_SERVICE_UNKNOWN_IP\x10 \x12+\x0A'SOURCE_IP_ADDRESS_NOT_IN_SOURCE_NETWORK\x10\x17\x12\x15\x0A\x11PERMISSION_DENIED\x10\x04\x12*\x0A&PERMISSION_DENIED_NO_CLOUD_NAT_CONFIGS\x10\x1C\x12-\x0A)PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS\x10\x1D\x12-\x0A)PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS\x10\$\x12\x16\x0A\x12NO_SOURCE_LOCATION\x10\x05\x12\"\x0A\x1ENO_SOURCE_GCP_NETWORK_LOCATION\x10*\x12&\x0A\"NO_SOURCE_NON_GCP_NETWORK_LOCATION\x10+\x12\x1F\x0A\x1BNO_SOURCE_INTERNET_LOCATION\x10,\x12\x14\x0A\x10INVALID_ARGUMENT\x10\x06\x12\x12\x0A\x0ETRACE_TOO_LONG\x10\x09\x12\x12\x0A\x0EINTERNAL_ERROR\x10\x0A\x12\x0F\x0A\x0BUNSUPPORTED\x10\x0F\x12\x19\x0A\x15MISMATCHED_IP_VERSION\x10\x10\x12&\x0A\"GKE_KONNECTIVITY_PROXY_UNSUPPORTED\x10\x11\x12\x1D\x0A\x19RESOURCE_CONFIG_NOT_FOUND\x10\x12\x12 \x0A\x1CVM_INSTANCE_CONFIG_NOT_FOUND\x10\x18\x12\x1C\x0A\x18NETWORK_CONFIG_NOT_FOUND\x10\x19\x12\x1D\x0A\x19FIREWALL_CONFIG_NOT_FOUND\x10\x1A\x12\x1A\x0A\x16ROUTE_CONFIG_NOT_FOUND\x10\x1B\x121\x0A-GOOGLE_MANAGED_SERVICE_AMBIGUOUS_PSC_ENDPOINT\x10\x13\x12-\x0A)GOOGLE_MANAGED_SERVICE_AMBIGUOUS_ENDPOINT\x10'\x12\$\x0A SOURCE_PSC_CLOUD_SQL_UNSUPPORTED\x10\x14\x12)\x0A%SOURCE_EXTERNAL_CLOUD_SQL_UNSUPPORTED\x10-\x12\$\x0A SOURCE_REDIS_CLUSTER_UNSUPPORTED\x10\"\x12%\x0A!SOURCE_REDIS_INSTANCE_UNSUPPORTED\x10#\x12&\x0A\"SOURCE_FORWARDING_RULE_UNSUPPORTED\x10\x15\x12\x1B\x0A\x17NON_ROUTABLE_IP_ADDRESS\x10\x16\x12+\x0A'UNKNOWN_ISSUE_IN_GOOGLE_MANAGED_PROJECT\x10\x1E\x12-\x0A)UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG\x10\x1F\x12\x1B\x0A\x17NO_SERVERLESS_IP_RANGES\x10%\x12 \x0A\x1CIP_VERSION_PROTOCOL_MISMATCH\x10(\x12%\x0A!GKE_POD_UNKNOWN_ENDPOINT_LOCATION\x10)\"\xA5#\x0A\x08DropInfo\x12@\x0A\x05cause\x18\x01 \x01(\x0E21.google.cloud.networkmanagement.v1.DropInfo.Cause\x12\x14\x0A\x0Cresource_uri\x18\x02 \x01(\x09\x12\x11\x0A\x09source_ip\x18\x03 \x01(\x09\x12\x16\x0A\x0Edestination_ip\x18\x04 \x01(\x09\x12\x0E\x0A\x06region\x18\x05 \x01(\x09\x12\x1F\x0A\x17source_geolocation_code\x18\x06 \x01(\x09\x12\$\x0A\x1Cdestination_geolocation_code\x18\x07 \x01(\x09\"\xBE!\x0A\x05Cause\x12\x15\x0A\x11CAUSE_UNSPECIFIED\x10\x00\x12\x1C\x0A\x18UNKNOWN_EXTERNAL_ADDRESS\x10\x01\x12\x19\x0A\x15FOREIGN_IP_DISALLOWED\x10\x02\x12\x11\x0A\x0DFIREWALL_RULE\x10\x03\x12\x0C\x0A\x08NO_ROUTE\x10\x04\x12\x13\x0A\x0FROUTE_BLACKHOLE\x10\x05\x12\x17\x0A\x13ROUTE_WRONG_NETWORK\x10\x06\x12*\x0A&ROUTE_NEXT_HOP_IP_ADDRESS_NOT_RESOLVED\x10*\x12%\x0A!ROUTE_NEXT_HOP_RESOURCE_NOT_FOUND\x10+\x12)\x0A%ROUTE_NEXT_HOP_INSTANCE_WRONG_NETWORK\x101\x12*\x0A&ROUTE_NEXT_HOP_INSTANCE_NON_PRIMARY_IP\x102\x12.\x0A*ROUTE_NEXT_HOP_FORWARDING_RULE_IP_MISMATCH\x103\x12-\x0A)ROUTE_NEXT_HOP_VPN_TUNNEL_NOT_ESTABLISHED\x104\x12/\x0A+ROUTE_NEXT_HOP_FORWARDING_RULE_TYPE_INVALID\x105\x122\x0A.NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV6_ADDRESS\x10,\x122\x0A.NO_ROUTE_FROM_INTERNET_TO_PRIVATE_IPV4_ADDRESS\x10m\x12>\x0A:NO_ROUTE_FROM_EXTERNAL_IPV6_SOURCE_TO_PRIVATE_IPV6_ADDRESS\x10b\x12&\x0A\"VPN_TUNNEL_LOCAL_SELECTOR_MISMATCH\x10-\x12'\x0A#VPN_TUNNEL_REMOTE_SELECTOR_MISMATCH\x10.\x12\x1F\x0A\x1BPRIVATE_TRAFFIC_TO_INTERNET\x10\x07\x12\$\x0A PRIVATE_GOOGLE_ACCESS_DISALLOWED\x10\x08\x124\x0A0PRIVATE_GOOGLE_ACCESS_VIA_VPN_TUNNEL_UNSUPPORTED\x10/\x12\x17\x0A\x13NO_EXTERNAL_ADDRESS\x10\x09\x12\x1C\x0A\x18UNKNOWN_INTERNAL_ADDRESS\x10\x0A\x12\x1C\x0A\x18FORWARDING_RULE_MISMATCH\x10\x0B\x12 \x0A\x1CFORWARDING_RULE_NO_INSTANCES\x10\x0C\x128\x0A4FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK\x10\x0D\x12:\x0A6INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS\x10U\x12\x18\x0A\x14INSTANCE_NOT_RUNNING\x10\x0E\x12\x1B\x0A\x17GKE_CLUSTER_NOT_RUNNING\x10\x1B\x12\x17\x0A\x13GKE_POD_NOT_RUNNING\x10g\x12\"\x0A\x1ECLOUD_SQL_INSTANCE_NOT_RUNNING\x10\x1C\x12\x1E\x0A\x1AREDIS_INSTANCE_NOT_RUNNING\x10D\x12\x1D\x0A\x19REDIS_CLUSTER_NOT_RUNNING\x10E\x12\x18\x0A\x14TRAFFIC_TYPE_BLOCKED\x10\x0F\x12\"\x0A\x1EGKE_MASTER_UNAUTHORIZED_ACCESS\x10\x10\x12*\x0A&CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS\x10\x11\x12\x1E\x0A\x1ADROPPED_INSIDE_GKE_SERVICE\x10\x12\x12\$\x0A DROPPED_INSIDE_CLOUD_SQL_SERVICE\x10\x13\x12)\x0A%DROPPED_INSIDE_DMS_PRIVATE_CONNECTION\x10r\x12%\x0A!GOOGLE_MANAGED_SERVICE_NO_PEERING\x10\x14\x12*\x0A&GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT\x10&\x12\x1C\x0A\x18GKE_PSC_ENDPOINT_MISSING\x10\$\x12\$\x0A CLOUD_SQL_INSTANCE_NO_IP_ADDRESS\x10\x15\x12%\x0A!GKE_CONTROL_PLANE_REGION_MISMATCH\x10\x1E\x123\x0A/PUBLIC_GKE_CONTROL_PLANE_TO_PRIVATE_DESTINATION\x10\x1F\x12\x1E\x0A\x1AGKE_CONTROL_PLANE_NO_ROUTE\x10 \x12:\x0A6CLOUD_SQL_INSTANCE_NOT_CONFIGURED_FOR_EXTERNAL_TRAFFIC\x10!\x124\x0A0PUBLIC_CLOUD_SQL_INSTANCE_TO_PRIVATE_DESTINATION\x10\"\x12\x1F\x0A\x1BCLOUD_SQL_INSTANCE_NO_ROUTE\x10#\x12 \x0A\x1CCLOUD_SQL_CONNECTOR_REQUIRED\x10?\x12\x1D\x0A\x19CLOUD_FUNCTION_NOT_ACTIVE\x10\x16\x12\x19\x0A\x15VPC_CONNECTOR_NOT_SET\x10\x17\x12\x1D\x0A\x19VPC_CONNECTOR_NOT_RUNNING\x10\x18\x12,\x0A(VPC_CONNECTOR_SERVERLESS_TRAFFIC_BLOCKED\x10<\x12.\x0A*VPC_CONNECTOR_HEALTH_CHECK_TRAFFIC_BLOCKED\x10=\x12#\x0A\x1FFORWARDING_RULE_REGION_MISMATCH\x10\x19\x12\x1F\x0A\x1BPSC_CONNECTION_NOT_ACCEPTED\x10\x1A\x12-\x0A)PSC_ENDPOINT_ACCESSED_FROM_PEERED_NETWORK\x10)\x12.\x0A*PSC_NEG_PRODUCER_ENDPOINT_NO_GLOBAL_ACCESS\x100\x123\x0A/PSC_NEG_PRODUCER_FORWARDING_RULE_MULTIPLE_PORTS\x106\x12!\x0A\x1DCLOUD_SQL_PSC_NEG_UNSUPPORTED\x10:\x12-\x0A)NO_NAT_SUBNETS_FOR_PSC_SERVICE_ATTACHMENT\x109\x12#\x0A\x1FPSC_TRANSITIVITY_NOT_PROPAGATED\x10@\x12(\x0A\$HYBRID_NEG_NON_DYNAMIC_ROUTE_MATCHED\x107\x12.\x0A*HYBRID_NEG_NON_LOCAL_DYNAMIC_ROUTE_MATCHED\x108\x12 \x0A\x1CCLOUD_RUN_REVISION_NOT_READY\x10\x1D\x12\x1B\x0A\x17CLOUD_RUN_JOB_NOT_READY\x10q\x12'\x0A#DROPPED_INSIDE_PSC_SERVICE_PRODUCER\x10%\x12%\x0A!LOAD_BALANCER_HAS_NO_PROXY_SUBNET\x10'\x12\x1A\x0A\x16CLOUD_NAT_NO_ADDRESSES\x10(\x12\x10\x0A\x0CROUTING_LOOP\x10;\x12)\x0A%DROPPED_INSIDE_GOOGLE_MANAGED_SERVICE\x10>\x12)\x0A%LOAD_BALANCER_BACKEND_INVALID_NETWORK\x10A\x12*\x0A&BACKEND_SERVICE_NAMED_PORT_NOT_DEFINED\x10B\x12'\x0A#DESTINATION_IS_PRIVATE_NAT_IP_RANGE\x10C\x12)\x0A%DROPPED_INSIDE_REDIS_INSTANCE_SERVICE\x10F\x12#\x0A\x1FREDIS_INSTANCE_UNSUPPORTED_PORT\x10G\x12/\x0A+REDIS_INSTANCE_CONNECTING_FROM_PUPI_ADDRESS\x10H\x122\x0A.REDIS_INSTANCE_NO_ROUTE_TO_DESTINATION_NETWORK\x10I\x12!\x0A\x1DREDIS_INSTANCE_NO_EXTERNAL_IP\x10J\x12'\x0A#REDIS_INSTANCE_UNSUPPORTED_PROTOCOL\x10N\x12(\x0A\$DROPPED_INSIDE_REDIS_CLUSTER_SERVICE\x10K\x12\"\x0A\x1EREDIS_CLUSTER_UNSUPPORTED_PORT\x10L\x12 \x0A\x1CREDIS_CLUSTER_NO_EXTERNAL_IP\x10M\x12&\x0A\"REDIS_CLUSTER_UNSUPPORTED_PROTOCOL\x10O\x12*\x0A&NO_ADVERTISED_ROUTE_TO_GCP_DESTINATION\x10P\x12*\x0A&NO_TRAFFIC_SELECTOR_TO_GCP_DESTINATION\x10Q\x125\x0A1NO_KNOWN_ROUTE_FROM_PEERED_NETWORK_TO_DESTINATION\x10R\x12+\x0A'PRIVATE_NAT_TO_PSC_ENDPOINT_UNSUPPORTED\x10S\x12\"\x0A\x1EPSC_PORT_MAPPING_PORT_MISMATCH\x10V\x127\x0A3PSC_PORT_MAPPING_WITHOUT_PSC_CONNECTION_UNSUPPORTED\x10W\x123\x0A/UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION\x10X\x127\x0A3TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED\x10Y\x12\x1D\x0A\x19NO_MATCHING_NAT64_GATEWAY\x10Z\x12\$\x0A NO_CONFIGURED_PRIVATE_NAT64_RULE\x10k\x12-\x0A)LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH\x10`\x122\x0A.NO_KNOWN_ROUTE_FROM_NCC_NETWORK_TO_DESTINATION\x10a\x12\"\x0A\x1ECLOUD_NAT_PROTOCOL_UNSUPPORTED\x10c\x12(\x0A\$L2_INTERCONNECT_UNSUPPORTED_PROTOCOL\x10d\x12\$\x0A L2_INTERCONNECT_UNSUPPORTED_PORT\x10e\x12+\x0A'L2_INTERCONNECT_DESTINATION_IP_MISMATCH\x10f\x12.\x0A*NCC_ROUTE_WITHIN_HYBRID_SUBNET_UNSUPPORTED\x10h\x12!\x0A\x1DHYBRID_SUBNET_REGION_MISMATCH\x10i\x12\x1A\x0A\x16HYBRID_SUBNET_NO_ROUTE\x10j\x12\x16\x0A\x12GKE_NETWORK_POLICY\x10l\x12=\x0A9NO_VALID_ROUTE_FROM_GOOGLE_MANAGED_NETWORK_TO_DESTINATION\x10n\x12*\x0A&PRIVATE_CONNECTION_NO_RUNNING_INSTANCE\x10o\"\x81\x01\x0A\x0DGKEMasterInfo\x12\x13\x0A\x0Bcluster_uri\x18\x02 \x01(\x09\x12\x1B\x0A\x13cluster_network_uri\x18\x04 \x01(\x09\x12\x13\x0A\x0Binternal_ip\x18\x05 \x01(\x09\x12\x13\x0A\x0Bexternal_ip\x18\x06 \x01(\x09\x12\x14\x0A\x0Cdns_endpoint\x18\x07 \x01(\x09\"P\x0A\x0AGkePodInfo\x12\x0F\x0A\x07pod_uri\x18\x01 \x01(\x09\x12\x1C\x0A\x0Aip_address\x18\x02 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12\x13\x0A\x0Bnetwork_uri\x18\x03 \x01(\x09\"\xBF\x03\x0A\x19IpMasqueradingSkippedInfo\x12S\x0A\x06reason\x18\x01 \x01(\x0E2C.google.cloud.networkmanagement.v1.IpMasqueradingSkippedInfo.Reason\x12\x1C\x0A\x14non_masquerade_range\x18\x02 \x01(\x09\"\xAE\x02\x0A\x06Reason\x12\x16\x0A\x12REASON_UNSPECIFIED\x10\x00\x125\x0A1DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE\x10\x01\x122\x0A.DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE\x10\x02\x12\x1C\x0A\x18DESTINATION_ON_SAME_NODE\x10\x03\x12\x19\x0A\x15DEFAULT_SNAT_DISABLED\x10\x04\x12\x1C\x0A\x18NO_MASQUERADING_FOR_IPV6\x10\x05\x12#\x0A\x1FPOD_USES_NODE_NETWORK_NAMESPACE\x10\x06\x12%\x0A!NO_MASQUERADING_FOR_RETURN_PACKET\x10\x07\"\\\x0A\x14GkeNetworkPolicyInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x11\x0A\x09direction\x18\x03 \x01(\x09\x12\x0E\x0A\x06action\x18\x04 \x01(\x09\"\xDE\x02\x0A\x1BGkeNetworkPolicySkippedInfo\x12U\x0A\x06reason\x18\x01 \x01(\x0E2E.google.cloud.networkmanagement.v1.GkeNetworkPolicySkippedInfo.Reason\"\xE7\x01\x0A\x06Reason\x12\x16\x0A\x12REASON_UNSPECIFIED\x10\x00\x12\x1B\x0A\x17NETWORK_POLICY_DISABLED\x10\x01\x12\x1F\x0A\x1BINGRESS_SOURCE_ON_SAME_NODE\x10\x02\x12*\x0A&EGRESS_FROM_NODE_NETWORK_NAMESPACE_POD\x10\x03\x122\x0A.NETWORK_POLICY_NOT_APPLIED_TO_RESPONSE_TRAFFIC\x10\x04\x12'\x0A#NETWORK_POLICY_ANALYSIS_UNSUPPORTED\x10d\"\x88\x01\x0A\x14CloudSQLInstanceInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x04 \x01(\x09\x12\x13\x0A\x0Binternal_ip\x18\x05 \x01(\x09\x12\x13\x0A\x0Bexternal_ip\x18\x06 \x01(\x09\x12\x0E\x0A\x06region\x18\x07 \x01(\x09\"\x92\x01\x0A\x11RedisInstanceInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x03 \x01(\x09\x12\x1B\x0A\x13primary_endpoint_ip\x18\x04 \x01(\x09\x12\x18\x0A\x10read_endpoint_ip\x18\x05 \x01(\x09\x12\x0E\x0A\x06region\x18\x06 \x01(\x09\"\xBE\x01\x0A\x10RedisClusterInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x03 \x01(\x09\x12/\x0A\x1Ddiscovery_endpoint_ip_address\x18\x04 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12/\x0A\x1Dsecondary_endpoint_ip_address\x18\x05 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12\x10\x0A\x08location\x18\x06 \x01(\x09\"\\\x0A\x11CloudFunctionInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x10\x0A\x08location\x18\x03 \x01(\x09\x12\x12\x0A\x0Aversion_id\x18\x04 \x01(\x03\"`\x0A\x14CloudRunRevisionInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x10\x0A\x08location\x18\x04 \x01(\x09\x12\x13\x0A\x0Bservice_uri\x18\x05 \x01(\x09\"F\x0A\x0FCloudRunJobInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x10\x0A\x08location\x18\x03 \x01(\x09\"_\x0A\x14AppEngineVersionInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x0F\x0A\x07runtime\x18\x03 \x01(\x09\x12\x13\x0A\x0Benvironment\x18\x04 \x01(\x09\"G\x0A\x10VpcConnectorInfo\x12\x14\x0A\x0Cdisplay_name\x18\x01 \x01(\x09\x12\x0B\x0A\x03uri\x18\x02 \x01(\x09\x12\x10\x0A\x08location\x18\x03 \x01(\x09\"\xA8\x01\x0A\x1DDirectVpcEgressConnectionInfo\x12\x13\x0A\x0Bnetwork_uri\x18\x01 \x01(\x09\x12\x16\x0A\x0Esubnetwork_uri\x18\x02 \x01(\x09\x12#\x0A\x11selected_ip_range\x18\x03 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12%\x0A\x13selected_ip_address\x18\x04 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\x12\x0E\x0A\x06region\x18\x05 \x01(\x09\"I\x0A ServerlessExternalConnectionInfo\x12%\x0A\x13selected_ip_address\x18\x01 \x01(\x09B\x08\xE2\x8C\xCF\xD7\x08\x02\x08\x04\"\x91\x06\x0A\x07NatInfo\x12=\x0A\x04type\x18\x01 \x01(\x0E2/.google.cloud.networkmanagement.v1.NatInfo.Type\x12\x10\x0A\x08protocol\x18\x02 \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x03 \x01(\x09\x12\x15\x0A\x0Dold_source_ip\x18\x04 \x01(\x09\x12\x15\x0A\x0Dnew_source_ip\x18\x05 \x01(\x09\x12\x1A\x0A\x12old_destination_ip\x18\x06 \x01(\x09\x12\x1A\x0A\x12new_destination_ip\x18\x07 \x01(\x09\x12\x17\x0A\x0Fold_source_port\x18\x08 \x01(\x05\x12\x17\x0A\x0Fnew_source_port\x18\x09 \x01(\x05\x12\x1C\x0A\x14old_destination_port\x18\x0A \x01(\x05\x12\x1C\x0A\x14new_destination_port\x18\x0B \x01(\x05\x12\x12\x0A\x0Arouter_uri\x18\x0C \x01(\x09\x12\x18\x0A\x10nat_gateway_name\x18\x0D \x01(\x09\x12^\x0A\x16cloud_nat_gateway_type\x18\x0E \x01(\x0E2>.google.cloud.networkmanagement.v1.NatInfo.CloudNatGatewayType\"\x99\x01\x0A\x04Type\x12\x14\x0A\x10TYPE_UNSPECIFIED\x10\x00\x12\x18\x0A\x14INTERNAL_TO_EXTERNAL\x10\x01\x12\x18\x0A\x14EXTERNAL_TO_INTERNAL\x10\x02\x12\x0D\x0A\x09CLOUD_NAT\x10\x03\x12\x1B\x0A\x17PRIVATE_SERVICE_CONNECT\x10\x04\x12\x1B\x0A\x17GKE_POD_IP_MASQUERADING\x10\x05\"\xA1\x01\x0A\x13CloudNatGatewayType\x12&\x0A\"CLOUD_NAT_GATEWAY_TYPE_UNSPECIFIED\x10\x00\x12\x10\x0A\x0CPUBLIC_NAT44\x10\x01\x12\x10\x0A\x0CPUBLIC_NAT64\x10\x02\x12\x13\x0A\x0FPRIVATE_NAT_NCC\x10\x03\x12\x16\x0A\x12PRIVATE_NAT_HYBRID\x10\x04\x12\x11\x0A\x0DPRIVATE_NAT64\x10\x05\"\xA4\x02\x0A\x13ProxyConnectionInfo\x12\x10\x0A\x08protocol\x18\x01 \x01(\x09\x12\x15\x0A\x0Dold_source_ip\x18\x02 \x01(\x09\x12\x15\x0A\x0Dnew_source_ip\x18\x03 \x01(\x09\x12\x1A\x0A\x12old_destination_ip\x18\x04 \x01(\x09\x12\x1A\x0A\x12new_destination_ip\x18\x05 \x01(\x09\x12\x17\x0A\x0Fold_source_port\x18\x06 \x01(\x05\x12\x17\x0A\x0Fnew_source_port\x18\x07 \x01(\x05\x12\x1C\x0A\x14old_destination_port\x18\x08 \x01(\x05\x12\x1C\x0A\x14new_destination_port\x18\x09 \x01(\x05\x12\x12\x0A\x0Asubnet_uri\x18\x0A \x01(\x09\x12\x13\x0A\x0Bnetwork_uri\x18\x0B \x01(\x09\"\xF2\x04\x0A\x17LoadBalancerBackendInfo\x12\x0C\x0A\x04name\x18\x01 \x01(\x09\x12\x14\x0A\x0Cinstance_uri\x18\x02 \x01(\x09\x12\x1B\x0A\x13backend_service_uri\x18\x03 \x01(\x09\x12\x1A\x0A\x12instance_group_uri\x18\x04 \x01(\x09\x12\"\x0A\x1Anetwork_endpoint_group_uri\x18\x05 \x01(\x09\x12\x1A\x0A\x12backend_bucket_uri\x18\x08 \x01(\x09\x12\"\x0A\x1Apsc_service_attachment_uri\x18\x09 \x01(\x09\x12\x1D\x0A\x15psc_google_api_target\x18\x0A \x01(\x09\x12\x18\x0A\x10health_check_uri\x18\x06 \x01(\x09\x12\x8C\x01\x0A#health_check_firewalls_config_state\x18\x07 \x01(\x0E2Z.google.cloud.networkmanagement.v1.LoadBalancerBackendInfo.HealthCheckFirewallsConfigStateB\x03\xE0A\x03\"\xCD\x01\x0A\x1FHealthCheckFirewallsConfigState\x123\x0A/HEALTH_CHECK_FIREWALLS_CONFIG_STATE_UNSPECIFIED\x10\x00\x12\x18\x0A\x14FIREWALLS_CONFIGURED\x10\x01\x12\"\x0A\x1EFIREWALLS_PARTIALLY_CONFIGURED\x10\x02\x12\x1C\x0A\x18FIREWALLS_NOT_CONFIGURED\x10\x03\x12\x19\x0A\x15FIREWALLS_UNSUPPORTED\x10\x04\"#\x0A\x11StorageBucketInfo\x12\x0E\x0A\x06bucket\x18\x01 \x01(\x09\"\$\x0A\x11ServerlessNegInfo\x12\x0F\x0A\x07neg_uri\x18\x01 \x01(\x09\">\x0A\x18NgfwPacketInspectionInfo\x12\"\x0A\x1Asecurity_profile_group_uri\x18\x01 \x01(\x09\"\$\x0A\x15PrivateConnectionInfo\x12\x0B\x0A\x03uri\x18\x01 \x01(\x09*\xF6\x02\x0A\x10LoadBalancerType\x12\"\x0A\x1ELOAD_BALANCER_TYPE_UNSPECIFIED\x10\x00\x12 \x0A\x1CHTTPS_ADVANCED_LOAD_BALANCER\x10\x01\x12\x17\x0A\x13HTTPS_LOAD_BALANCER\x10\x02\x12 \x0A\x1CREGIONAL_HTTPS_LOAD_BALANCER\x10\x03\x12 \x0A\x1CINTERNAL_HTTPS_LOAD_BALANCER\x10\x04\x12\x1B\x0A\x17SSL_PROXY_LOAD_BALANCER\x10\x05\x12\x1B\x0A\x17TCP_PROXY_LOAD_BALANCER\x10\x06\x12\$\x0A INTERNAL_TCP_PROXY_LOAD_BALANCER\x10\x07\x12\x19\x0A\x15NETWORK_LOAD_BALANCER\x10\x08\x12 \x0A\x1CLEGACY_NETWORK_LOAD_BALANCER\x10\x09\x12\"\x0A\x1ETCP_UDP_INTERNAL_LOAD_BALANCER\x10\x0AB\xF9\x01\x0A%com.google.cloud.networkmanagement.v1B\x0ATraceProtoP\x01ZScloud.google.com/go/networkmanagement/apiv1/networkmanagementpb;networkmanagementpb\xAA\x02!Google.Cloud.NetworkManagement.V1\xCA\x02!Google\\Cloud\\NetworkManagement\\V1\xEA\x02\$Google::Cloud::NetworkManagement::V1b\x06proto3" , true); static::$is_initialized = true; diff --git a/NetworkManagement/src/V1/DeliverInfo/Target.php b/NetworkManagement/src/V1/DeliverInfo/Target.php index 40b896fdb5fd..6ebf625b3df2 100644 --- a/NetworkManagement/src/V1/DeliverInfo/Target.php +++ b/NetworkManagement/src/V1/DeliverInfo/Target.php @@ -136,6 +136,12 @@ class Target * Generated from protobuf enum CLOUD_RUN_JOB = 20; */ const CLOUD_RUN_JOB = 20; + /** + * Target is a DMS Private Connection. Used only for return traces. + * + * Generated from protobuf enum DMS_PRIVATE_CONNECTION = 21; + */ + const DMS_PRIVATE_CONNECTION = 21; private static $valueToName = [ self::TARGET_UNSPECIFIED => 'TARGET_UNSPECIFIED', @@ -158,6 +164,7 @@ class Target self::REDIS_CLUSTER => 'REDIS_CLUSTER', self::GKE_POD => 'GKE_POD', self::CLOUD_RUN_JOB => 'CLOUD_RUN_JOB', + self::DMS_PRIVATE_CONNECTION => 'DMS_PRIVATE_CONNECTION', ]; public static function name($value) diff --git a/NetworkManagement/src/V1/DropInfo/Cause.php b/NetworkManagement/src/V1/DropInfo/Cause.php index 083e32a5a0b7..971c45718f82 100644 --- a/NetworkManagement/src/V1/DropInfo/Cause.php +++ b/NetworkManagement/src/V1/DropInfo/Cause.php @@ -279,6 +279,12 @@ class Cause * Generated from protobuf enum DROPPED_INSIDE_CLOUD_SQL_SERVICE = 19; */ const DROPPED_INSIDE_CLOUD_SQL_SERVICE = 19; + /** + * Packet was dropped inside DMS Private Connection. + * + * Generated from protobuf enum DROPPED_INSIDE_DMS_PRIVATE_CONNECTION = 114; + */ + const DROPPED_INSIDE_DMS_PRIVATE_CONNECTION = 114; /** * Packet was dropped because there is no peering between the originating * network and the Google Managed Services Network. @@ -749,6 +755,13 @@ class Cause * Generated from protobuf enum NO_VALID_ROUTE_FROM_GOOGLE_MANAGED_NETWORK_TO_DESTINATION = 110; */ const NO_VALID_ROUTE_FROM_GOOGLE_MANAGED_NETWORK_TO_DESTINATION = 110; + /** + * Packet is dropped due to no running instance found for private + * connection. + * + * Generated from protobuf enum PRIVATE_CONNECTION_NO_RUNNING_INSTANCE = 111; + */ + const PRIVATE_CONNECTION_NO_RUNNING_INSTANCE = 111; private static $valueToName = [ self::CAUSE_UNSPECIFIED => 'CAUSE_UNSPECIFIED', @@ -790,6 +803,7 @@ class Cause self::CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS => 'CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS', self::DROPPED_INSIDE_GKE_SERVICE => 'DROPPED_INSIDE_GKE_SERVICE', self::DROPPED_INSIDE_CLOUD_SQL_SERVICE => 'DROPPED_INSIDE_CLOUD_SQL_SERVICE', + self::DROPPED_INSIDE_DMS_PRIVATE_CONNECTION => 'DROPPED_INSIDE_DMS_PRIVATE_CONNECTION', self::GOOGLE_MANAGED_SERVICE_NO_PEERING => 'GOOGLE_MANAGED_SERVICE_NO_PEERING', self::GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT => 'GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT', self::GKE_PSC_ENDPOINT_MISSING => 'GKE_PSC_ENDPOINT_MISSING', @@ -857,6 +871,7 @@ class Cause self::HYBRID_SUBNET_NO_ROUTE => 'HYBRID_SUBNET_NO_ROUTE', self::GKE_NETWORK_POLICY => 'GKE_NETWORK_POLICY', self::NO_VALID_ROUTE_FROM_GOOGLE_MANAGED_NETWORK_TO_DESTINATION => 'NO_VALID_ROUTE_FROM_GOOGLE_MANAGED_NETWORK_TO_DESTINATION', + self::PRIVATE_CONNECTION_NO_RUNNING_INSTANCE => 'PRIVATE_CONNECTION_NO_RUNNING_INSTANCE', ]; public static function name($value) diff --git a/NetworkManagement/src/V1/Endpoint.php b/NetworkManagement/src/V1/Endpoint.php index c640f288d1d4..2fb4bb8c4f9e 100644 --- a/NetworkManagement/src/V1/Endpoint.php +++ b/NetworkManagement/src/V1/Endpoint.php @@ -108,6 +108,15 @@ class Endpoint extends \Google\Protobuf\Internal\Message * Generated from protobuf field string gke_pod = 21; */ protected $gke_pod = ''; + /** + * A [DMS Private + * Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) + * name format: + * projects/{project}/locations/{location}/privateConnections/{privateConnection}. + * + * Generated from protobuf field string dms_private_connection = 22; + */ + protected $dms_private_connection = ''; /** * A [Cloud Function](https://cloud.google.com/functions). Applicable only to * source endpoint. @@ -212,6 +221,11 @@ class Endpoint extends \Google\Protobuf\Internal\Message * @type string $gke_pod * A [GKE Pod](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) * URI. + * @type string $dms_private_connection + * A [DMS Private + * Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) + * name format: + * projects/{project}/locations/{location}/privateConnections/{privateConnection}. * @type \Google\Cloud\NetworkManagement\V1\Endpoint\CloudFunctionEndpoint $cloud_function * A [Cloud Function](https://cloud.google.com/functions). Applicable only to * source endpoint. @@ -645,6 +659,38 @@ public function setGkePod($var) return $this; } + /** + * A [DMS Private + * Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) + * name format: + * projects/{project}/locations/{location}/privateConnections/{privateConnection}. + * + * Generated from protobuf field string dms_private_connection = 22; + * @return string + */ + public function getDmsPrivateConnection() + { + return $this->dms_private_connection; + } + + /** + * A [DMS Private + * Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) + * name format: + * projects/{project}/locations/{location}/privateConnections/{privateConnection}. + * + * Generated from protobuf field string dms_private_connection = 22; + * @param string $var + * @return $this + */ + public function setDmsPrivateConnection($var) + { + GPBUtil::checkString($var, True); + $this->dms_private_connection = $var; + + return $this; + } + /** * A [Cloud Function](https://cloud.google.com/functions). Applicable only to * source endpoint. diff --git a/NetworkManagement/src/V1/PrivateConnectionInfo.php b/NetworkManagement/src/V1/PrivateConnectionInfo.php new file mode 100644 index 000000000000..a609d986619c --- /dev/null +++ b/NetworkManagement/src/V1/PrivateConnectionInfo.php @@ -0,0 +1,71 @@ +google.cloud.networkmanagement.v1.PrivateConnectionInfo + */ +class PrivateConnectionInfo extends \Google\Protobuf\Internal\Message +{ + /** + * URI of the Private Connection in format + * "projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}" + * + * Generated from protobuf field string uri = 1; + */ + protected $uri = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $uri + * URI of the Private Connection in format + * "projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}" + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Networkmanagement\V1\Trace::initOnce(); + parent::__construct($data); + } + + /** + * URI of the Private Connection in format + * "projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}" + * + * Generated from protobuf field string uri = 1; + * @return string + */ + public function getUri() + { + return $this->uri; + } + + /** + * URI of the Private Connection in format + * "projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}" + * + * Generated from protobuf field string uri = 1; + * @param string $var + * @return $this + */ + public function setUri($var) + { + GPBUtil::checkString($var, True); + $this->uri = $var; + + return $this; + } + +} + diff --git a/NetworkManagement/src/V1/Step.php b/NetworkManagement/src/V1/Step.php index b42a0ef640c3..3ff36dcbdc70 100644 --- a/NetworkManagement/src/V1/Step.php +++ b/NetworkManagement/src/V1/Step.php @@ -137,6 +137,8 @@ class Step extends \Google\Protobuf\Internal\Message * only for return traces. * @type \Google\Cloud\NetworkManagement\V1\NgfwPacketInspectionInfo $ngfw_packet_inspection * Display information of a layer 7 packet inspection by the firewall. + * @type \Google\Cloud\NetworkManagement\V1\PrivateConnectionInfo $dms_private_connection + * Display information of a DMS Private Connection. * } */ public function __construct($data = NULL) { @@ -1418,6 +1420,37 @@ public function setNgfwPacketInspection($var) return $this; } + /** + * Display information of a DMS Private Connection. + * + * Generated from protobuf field .google.cloud.networkmanagement.v1.PrivateConnectionInfo dms_private_connection = 43; + * @return \Google\Cloud\NetworkManagement\V1\PrivateConnectionInfo|null + */ + public function getDmsPrivateConnection() + { + return $this->readOneof(43); + } + + public function hasDmsPrivateConnection() + { + return $this->hasOneof(43); + } + + /** + * Display information of a DMS Private Connection. + * + * Generated from protobuf field .google.cloud.networkmanagement.v1.PrivateConnectionInfo dms_private_connection = 43; + * @param \Google\Cloud\NetworkManagement\V1\PrivateConnectionInfo $var + * @return $this + */ + public function setDmsPrivateConnection($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\NetworkManagement\V1\PrivateConnectionInfo::class); + $this->writeOneof(43, $var); + + return $this; + } + /** * @return string */ diff --git a/NetworkManagement/src/V1/Step/State.php b/NetworkManagement/src/V1/Step/State.php index d099b9f3ddb8..998fa373a1b5 100644 --- a/NetworkManagement/src/V1/Step/State.php +++ b/NetworkManagement/src/V1/Step/State.php @@ -136,6 +136,12 @@ class State * Generated from protobuf enum START_FROM_SERVERLESS_NEG = 31; */ const START_FROM_SERVERLESS_NEG = 31; + /** + * Initial state: packet originating from a DMS Private Connection. + * + * Generated from protobuf enum START_FROM_DMS_PRIVATE_CONNECTION = 48; + */ + const START_FROM_DMS_PRIVATE_CONNECTION = 48; /** * Config checking state: verify ingress firewall rule. * @@ -347,6 +353,7 @@ class State self::START_FROM_STORAGE_BUCKET => 'START_FROM_STORAGE_BUCKET', self::START_FROM_PSC_PUBLISHED_SERVICE => 'START_FROM_PSC_PUBLISHED_SERVICE', self::START_FROM_SERVERLESS_NEG => 'START_FROM_SERVERLESS_NEG', + self::START_FROM_DMS_PRIVATE_CONNECTION => 'START_FROM_DMS_PRIVATE_CONNECTION', self::APPLY_INGRESS_FIREWALL_RULE => 'APPLY_INGRESS_FIREWALL_RULE', self::APPLY_EGRESS_FIREWALL_RULE => 'APPLY_EGRESS_FIREWALL_RULE', self::APPLY_ROUTE => 'APPLY_ROUTE', diff --git a/NetworkSecurity/src/V1/SecurityProfileGroup.php b/NetworkSecurity/src/V1/SecurityProfileGroup.php index aae55456f389..d136e578be4a 100644 --- a/NetworkSecurity/src/V1/SecurityProfileGroup.php +++ b/NetworkSecurity/src/V1/SecurityProfileGroup.php @@ -52,8 +52,8 @@ class SecurityProfileGroup extends \Google\Protobuf\Internal\Message */ protected $etag = ''; /** - * Output only. Identifier used by the data-path. Unique within {container, - * location}. + * Output only. Identifier used by the data-path. Unique within \{container, + * location\}. * * Generated from protobuf field uint64 data_path_id = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ @@ -115,8 +115,8 @@ class SecurityProfileGroup extends \Google\Protobuf\Internal\Message * other fields, and may be sent on update and delete requests to ensure the * client has an up-to-date value before proceeding. * @type int|string $data_path_id - * Output only. Identifier used by the data-path. Unique within {container, - * location}. + * Output only. Identifier used by the data-path. Unique within \{container, + * location\}. * @type array|\Google\Protobuf\Internal\MapField $labels * Optional. Labels as key value pairs. * @type string $threat_prevention_profile @@ -299,8 +299,8 @@ public function setEtag($var) } /** - * Output only. Identifier used by the data-path. Unique within {container, - * location}. + * Output only. Identifier used by the data-path. Unique within \{container, + * location\}. * * Generated from protobuf field uint64 data_path_id = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @return int|string @@ -311,8 +311,8 @@ public function getDataPathId() } /** - * Output only. Identifier used by the data-path. Unique within {container, - * location}. + * Output only. Identifier used by the data-path. Unique within \{container, + * location\}. * * Generated from protobuf field uint64 data_path_id = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; * @param int|string $var diff --git a/Storage/src/Bucket.php b/Storage/src/Bucket.php index c15b50d07b32..daa01adfb84b 100644 --- a/Storage/src/Bucket.php +++ b/Storage/src/Bucket.php @@ -1092,6 +1092,16 @@ public function delete(array $options = []) * 'inherited' and 'enforced' are supported. **defaults to** * `inherited`. For more details, see * [Public Access Prevention](https://cloud.google.com/storage/docs/public-access-prevention). + * @type array $ipFilter The bucket's IP filter configuration. + * @type string $ipFilter.mode The IP filter mode. Accepted values are 'Enabled' and 'Disabled'. + * @type array $ipFilter.publicNetworkSource Public network configuration. + * @type array $ipFilter.publicNetworkSource.allowedIpCidrRanges Allowed IP/CIDR ranges. + * @type array $ipFilter.vpcNetworkSources List of private VPC networks configurations. + * Each element contains: + * @type string $ipFilter.vpcNetworkSources[].network Fully qualified VPC network URL/name. + * @type array $ipFilter.vpcNetworkSources[].allowedIpCidrRanges Allowed IP/CIDR ranges. + * @type bool $ipFilter.allowCrossOrgVpcs Set true to allow VPCs outside the org. + * @type bool $ipFilter.allowAllServiceAgentAccess Set true to allow service-to-service agent interactions. * } * @codingStandardsIgnoreEnd * @return array diff --git a/Storage/src/Connection/ServiceDefinition/storage-v1.json b/Storage/src/Connection/ServiceDefinition/storage-v1.json index 55ebe63e52ba..bd7bcf730ed7 100644 --- a/Storage/src/Connection/ServiceDefinition/storage-v1.json +++ b/Storage/src/Connection/ServiceDefinition/storage-v1.json @@ -324,6 +324,61 @@ } } }, + "ipFilter": { + "type": "object", + "description": "The bucket's IP filter configuration.", + "properties": { + "mode": { + "type": "string", + "description": "The bucket's IP filter mode. E.g., 'Enabled', 'Disabled'.", + "enum": [ + "Enabled", + "Disabled" + ] + }, + "publicNetworkSource": { + "type": "object", + "description": "The public network source configuration for IP filtering.", + "properties": { + "allowedIpCidrRanges": { + "type": "array", + "description": "Allowed public IP CIDR ranges.", + "items": { + "type": "string" + } + } + } + }, + "vpcNetworkSources": { + "type": "array", + "description": "Private VPC network sources for IP filtering.", + "items": { + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "The fully qualified VPC network name." + }, + "allowedIpCidrRanges": { + "type": "array", + "description": "Allowed IP CIDR ranges.", + "items": { + "type": "string" + } + } + } + } + }, + "allowCrossOrgVpcs": { + "type": "boolean", + "description": "Whether to allow cross-organization VPCs." + }, + "allowAllServiceAgentAccess": { + "type": "boolean", + "description": "Whether to allow service agent access." + } + } + }, "id": { "type": "string", "description": "The ID of the bucket. For buckets, the id and name properties are the same." diff --git a/Storage/src/StorageClient.php b/Storage/src/StorageClient.php index 1fbacc0ae21d..e74256f3e926 100644 --- a/Storage/src/StorageClient.php +++ b/Storage/src/StorageClient.php @@ -496,6 +496,16 @@ public function restore(string $name, string $generation, array $options = []) * [feature documentation](https://cloud.google.com/storage/docs/uniform-bucket-level-access), * as well as * [Should You Use uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access#should-you-use) + * @type array $ipFilter The bucket's IP filter configuration. + * @type string $ipFilter.mode The IP filter mode. Accepted values are 'Enabled' and 'Disabled'. + * @type array $ipFilter.publicNetworkSource Public network configuration. + * @type array $ipFilter.publicNetworkSource.allowedIpCidrRanges Allowed IP/CIDR ranges. + * @type array $ipFilter.vpcNetworkSources List of private VPC networks configurations. + * Each element contains: + * @type string $ipFilter.vpcNetworkSources[].network Fully qualified VPC network URL/name. + * @type array $ipFilter.vpcNetworkSources[].allowedIpCidrRanges Allowed IP/CIDR ranges. + * @type bool $ipFilter.allowCrossOrgVpcs Set true to allow VPCs outside the org. + * @type bool $ipFilter.allowAllServiceAgentAccess Set true to allow service-to-service agent interactions. * @type string $rpo Specifies the Turbo Replication setting for a dual-region bucket. * The possible values are DEFAULT and ASYNC_TURBO. Trying to set the rpo for a non dual-region * bucket will throw an exception. Non existence of this parameter is equivalent to it being DEFAULT. diff --git a/Storage/tests/System/ManageBucketsTest.php b/Storage/tests/System/ManageBucketsTest.php index 68fb3e79e121..4968ec905ad3 100644 --- a/Storage/tests/System/ManageBucketsTest.php +++ b/Storage/tests/System/ManageBucketsTest.php @@ -18,6 +18,7 @@ namespace Google\Cloud\Storage\Tests\System; use Google\Cloud\Core\Exception\BadRequestException; +use Google\Cloud\Core\Exception\ServiceException; use Google\Cloud\Storage\Bucket; /** @@ -577,4 +578,211 @@ public function encryptionEnforcementConfigs() ] ]; } + + /** + * @group storage-ipfilter + */ + public function testCreateBucketWithIpFilterDisabled() + { + $projectId = self::getProjectId(getenv('GOOGLE_CLOUD_PHP_TESTS_KEY_PATH')); + + $ipFilterConfig = [ + 'mode' => 'Disabled', + 'publicNetworkSource' => [ + 'allowedIpCidrRanges' => ['1.2.3.0/24'] + ], + 'vpcNetworkSources' => [ + [ + 'network' => 'projects/' . $projectId . '/global/networks/default', + 'allowedIpCidrRanges' => ['10.0.0.0/24'] + ] + ], + 'allowCrossOrgVpcs' => true, + 'allowAllServiceAgentAccess' => true + ]; + + $bucketName = uniqid(self::TESTING_PREFIX); + $bucket = self::createBucket( + self::$client, + $bucketName, + ['ipFilter' => $ipFilterConfig] + ); + + $info = $bucket->info(); + $this->assertArrayHasKey('ipFilter', $info); + $this->assertEquals('Disabled', $info['ipFilter']['mode']); + $this->assertEquals(['1.2.3.0/24'], $info['ipFilter']['publicNetworkSource']['allowedIpCidrRanges']); + $this->assertEquals( + 'projects/' . $projectId . '/global/networks/default', + $info['ipFilter']['vpcNetworkSources'][0]['network'] + ); + $this->assertEquals(['10.0.0.0/24'], $info['ipFilter']['vpcNetworkSources'][0]['allowedIpCidrRanges']); + $this->assertTrue($info['ipFilter']['allowAllServiceAgentAccess']); + $this->assertTrue($info['ipFilter']['allowCrossOrgVpcs']); + + return $bucket; + } + + /** + * @depends testCreateBucketWithIpFilterDisabled + * @group storage-ipfilter + */ + public function testUpdateIpFilterDisabled(Bucket $bucket) + { + $ipFilterConfig = [ + 'mode' => 'Disabled', + 'publicNetworkSource' => [ + 'allowedIpCidrRanges' => ['1.2.3.0/24', '5.6.7.0/24'] + ], + 'allowAllServiceAgentAccess' => false + ]; + + $bucket->update(['ipFilter' => $ipFilterConfig]); + $info = $bucket->reload(); + + $this->assertArrayHasKey('ipFilter', $info); + $this->assertEquals('Disabled', $info['ipFilter']['mode']); + $this->assertEquals( + ['1.2.3.0/24', '5.6.7.0/24'], + $info['ipFilter']['publicNetworkSource']['allowedIpCidrRanges'] + ); + $this->assertFalse($info['ipFilter']['allowAllServiceAgentAccess']); + } + + /** + * @group storage-ipfilter + */ + public function testCreateBucketWithInvalidIpFilterFails() + { + $this->expectException(BadRequestException::class); + + $ipFilterConfig = [ + 'mode' => 'Disabled', + 'publicNetworkSource' => [ + // Host bits must be zero for /24 range, so 1.2.3.4/24 is invalid + 'allowedIpCidrRanges' => ['1.2.3.4/24'] + ], + 'allowAllServiceAgentAccess' => true + ]; + + self::createBucket( + self::$client, + uniqid(self::TESTING_PREFIX), + [ + 'ipFilter' => $ipFilterConfig, + 'retries' => 0, + 'sysTestRetries' => 0 + ] + ); + } + + /** + * @group storage-ipfilter + */ + public function testUpdateBucketWithInvalidIpFilterFails() + { + $bucket = self::createBucket(self::$client, uniqid(self::TESTING_PREFIX)); + + $this->expectException(BadRequestException::class); + + $ipFilterConfig = [ + 'mode' => 'Disabled', + 'publicNetworkSource' => [ + 'allowedIpCidrRanges' => ['1.2.3.4/24'] + ], + 'allowAllServiceAgentAccess' => true + ]; + + $bucket->update(['ipFilter' => $ipFilterConfig]); + } + + /** + * @group storage-ipfilter + */ + public function testGetBucketWithIpFilter() + { + $bucketName = uniqid(self::TESTING_PREFIX); + $ipFilterConfig = [ + 'mode' => 'Disabled', + 'publicNetworkSource' => [ + 'allowedIpCidrRanges' => ['1.2.3.0/24'] + ], + 'allowAllServiceAgentAccess' => true + ]; + + self::createBucket( + self::$client, + $bucketName, + ['ipFilter' => $ipFilterConfig] + ); + + $bucket = self::$client->bucket($bucketName); + $info = $bucket->reload(); + + $this->assertArrayHasKey('ipFilter', $info); + $this->assertEquals('Disabled', $info['ipFilter']['mode']); + $this->assertEquals( + ['1.2.3.0/24'], + $info['ipFilter']['publicNetworkSource']['allowedIpCidrRanges'] + ); + } + + /** + * @group storage-ipfilter + * @depends testCreateBucketWithIpFilterDisabled + */ + public function testDeleteBucketIpFilter(Bucket $bucket) + { + $bucket->update(['ipFilter' => null]); + $info = $bucket->reload(); + + $this->assertArrayNotHasKey('ipFilter', $info); + } + + /** + * @group storage-ipfilter + */ + public function testBucketAccessWhenEnforced() + { + $iam = self::$bucket->iam(); + $isExempt = !empty($iam->testPermissions(['storage.buckets.exemptFromIpFilter'])); + + if (!$isExempt) { + $this->markTestSkipped( + 'Runner is not exempt from IP filter. Skipping lockout tests to prevent orphaned resources.' + ); + } + + $bucketName = uniqid(self::TESTING_PREFIX); + $ipFilterConfig = [ + 'mode' => 'Enabled', + 'publicNetworkSource' => [ + 'allowedIpCidrRanges' => ['1.1.1.1/32'] // Blocked IP for runner + ], + 'allowAllServiceAgentAccess' => true + ]; + + $bucket = self::createBucket( + self::$client, + $bucketName, + ['ipFilter' => $ipFilterConfig] + ); + + $objectName = 'test_ip_filter.txt'; + $objectContent = 'hello world'; + + $object = $bucket->upload($objectContent, ['name' => $objectName]); + $this->assertEquals($objectContent, $object->downloadAsString()); + + $unauthBucket = self::$unauthenticatedClient->bucket($bucketName); + $unauthObject = $unauthBucket->object($objectName); + + try { + $unauthObject->downloadAsString(); + $this->fail('Expected unauthenticated download to fail due to IP filter.'); + } catch (ServiceException $e) { + $this->assertEquals(403, $e->getCode()); + $this->assertStringContainsString('IP filtering', $e->getMessage()); + } + } } diff --git a/Storage/tests/Unit/BucketTest.php b/Storage/tests/Unit/BucketTest.php index 4f70471fdb21..ebb953ce0b09 100644 --- a/Storage/tests/Unit/BucketTest.php +++ b/Storage/tests/Unit/BucketTest.php @@ -631,6 +631,154 @@ public function testUpdatesEncryptionEnforcementConfig() ); } + public function testUpdatesIpFilterConfig() + { + $ipFilterConfig = [ + 'mode' => 'Enabled', + 'publicNetworkSource' => [ + 'allowedIpCidrRanges' => ['1.2.3.4/32'] + ], + 'vpcNetworkSources' => [ + [ + 'network' => 'projects/p1/global/networks/n1', + 'allowedIpCidrRanges' => ['10.0.0.0/24'] + ] + ], + 'allowCrossOrgVpcs' => true, + 'allowAllServiceAgentAccess' => false + ]; + $this->connection->patchBucket(Argument::withEntry('ipFilter', $ipFilterConfig)) + ->shouldBeCalled() + ->willReturn([ + 'name' => self::BUCKET_NAME, + 'ipFilter' => $ipFilterConfig + ]); + + $bucket = $this->getBucket(['name' => self::BUCKET_NAME]); + + $bucket->update(['ipFilter' => $ipFilterConfig]); + + $this->assertArrayHasKey('ipFilter', $bucket->info()); + $this->assertEquals( + 'Enabled', + $bucket->info()['ipFilter']['mode'] + ); + $this->assertEquals( + ['1.2.3.4/32'], + $bucket->info()['ipFilter']['publicNetworkSource']['allowedIpCidrRanges'] + ); + } + + public function testBucketAccessAllowedWithIpFilter() + { + $ipFilterConfig = [ + 'mode' => 'Enabled', + 'publicNetworkSource' => [ + 'allowedIpCidrRanges' => ['12.34.56.78/32'] + ], + 'allowAllServiceAgentAccess' => true + ]; + $bucketInfo = [ + 'name' => self::BUCKET_NAME, + 'ipFilter' => $ipFilterConfig + ]; + $this->connection->getBucket(Argument::any()) + ->shouldBeCalled() + ->willReturn($bucketInfo); + + $bucket = $this->getBucket(); + $info = $bucket->info(); + + $this->assertArrayHasKey('ipFilter', $info); + $this->assertEquals('Enabled', $info['ipFilter']['mode']); + } + + public function testBucketAccessDeniedByIpFilter() + { + $this->expectException(ServiceException::class); + $this->expectExceptionCode(403); + $this->expectExceptionMessage('BUCKET_IP_FILTER_DENIED'); + + $this->connection->getBucket(Argument::any()) + ->shouldBeCalled() + ->willThrow(new ServiceException('BUCKET_IP_FILTER_DENIED', 403)); + + $bucket = $this->getBucket(); + $bucket->info(); + } + + public function testGetBucketWithIpFilter() + { + $ipFilterConfig = [ + 'mode' => 'Disabled', + 'publicNetworkSource' => [ + 'allowedIpCidrRanges' => ['1.2.3.0/24'] + ], + 'allowAllServiceAgentAccess' => true + ]; + + $bucketInfo = [ + 'name' => self::BUCKET_NAME, + 'ipFilter' => $ipFilterConfig + ]; + + $this->connection->getBucket(Argument::any()) + ->shouldBeCalled() + ->willReturn($bucketInfo); + + $bucket = $this->getBucket(); + $info = $bucket->info(); + + $this->assertArrayHasKey('ipFilter', $info); + $this->assertEquals('Disabled', $info['ipFilter']['mode']); + $this->assertEquals( + ['1.2.3.0/24'], + $info['ipFilter']['publicNetworkSource']['allowedIpCidrRanges'] + ); + } + + public function testDisableBucketIpFilter() + { + $ipFilterConfig = [ + 'mode' => 'Disabled', + 'publicNetworkSource' => [ + 'allowedIpCidrRanges' => ['1.2.3.0/24'] + ], + 'allowAllServiceAgentAccess' => true + ]; + + $bucketInfo = [ + 'name' => self::BUCKET_NAME, + 'ipFilter' => $ipFilterConfig + ]; + + $this->connection->patchBucket(Argument::withEntry('ipFilter', $ipFilterConfig)) + ->shouldBeCalled() + ->willReturn($bucketInfo); + + $bucket = $this->getBucket(); + $info = $bucket->update(['ipFilter' => $ipFilterConfig]); + + $this->assertArrayHasKey('ipFilter', $info); + $this->assertEquals('Disabled', $info['ipFilter']['mode']); + } + + public function testDeleteBucketIpFilter() + { + $bucketInfo = [ + 'name' => self::BUCKET_NAME, + ]; + + $this->connection->patchBucket(Argument::withEntry('ipFilter', null)) + ->shouldBeCalled() + ->willReturn($bucketInfo); + + $bucket = $this->getBucket(); + $info = $bucket->update(['ipFilter' => null]); + + $this->assertArrayNotHasKey('ipFilter', $info); + } + public function testGetsInfo() { $bucketInfo = [ diff --git a/Storage/tests/Unit/StorageClientTest.php b/Storage/tests/Unit/StorageClientTest.php index 9883dfe58564..9fc8c7bf6892 100644 --- a/Storage/tests/Unit/StorageClientTest.php +++ b/Storage/tests/Unit/StorageClientTest.php @@ -130,6 +130,35 @@ public function testGetsBucketsWithoutToken() $this->assertEquals('bucket1', $buckets[0]->name()); } + public function testGetsBucketsWithIpFilter() + { + $ipFilterConfig = [ + 'mode' => 'Enabled', + 'publicNetworkSource' => [ + 'allowedIpCidrRanges' => ['1.2.3.4/32'] + ] + ]; + + $this->connection->listBuckets(Argument::any())->willReturn([ + 'items' => [ + ['name' => 'bucket1', 'ipFilter' => $ipFilterConfig] + ] + ]); + $this->connection->projectId() + ->willReturn(self::PROJECT); + + $this->client->___setProperty('connection', $this->connection->reveal()); + $buckets = iterator_to_array($this->client->buckets()); + + $this->assertEquals('bucket1', $buckets[0]->name()); + $this->assertArrayHasKey('ipFilter', $buckets[0]->info()); + $this->assertEquals('Enabled', $buckets[0]->info()['ipFilter']['mode']); + $this->assertEquals( + ['1.2.3.4/32'], + $buckets[0]->info()['ipFilter']['publicNetworkSource']['allowedIpCidrRanges'] + ); + } + public function testGetsBucketsWithToken() { $this->connection->listBuckets(Argument::any()) @@ -266,6 +295,43 @@ public function testCreatesBucketWithEncryptionEnforcement() ); } + public function testCreatesBucketWithIpFilter() + { + $bucketName = 'ip-filter-bucket'; + $ipFilterConfig = [ + 'mode' => 'Enabled', + 'publicNetworkSource' => [ + 'allowedIpCidrRanges' => ['1.2.3.4/32'] + ], + 'vpcNetworkSources' => [ + [ + 'network' => 'projects/p1/global/networks/n1', + 'allowedIpCidrRanges' => ['10.0.0.0/24'] + ] + ], + 'allowCrossOrgVpcs' => true, + 'allowAllServiceAgentAccess' => false + ]; + $this->connection->projectId() + ->willReturn(self::PROJECT); + $this->connection + ->insertBucket(Argument::allOf( + Argument::withEntry('name', $bucketName), + Argument::withEntry('project', self::PROJECT), + Argument::withEntry('ipFilter', $ipFilterConfig) + )) + ->willReturn(['name' => $bucketName]); + $this->client->___setProperty('connection', $this->connection->reveal()); + + $this->assertInstanceOf( + Bucket::class, + $this->client->createBucket( + $bucketName, + ['ipFilter' => $ipFilterConfig] + ) + ); + } + public function testRegisteringStreamWrapper() { $this->assertTrue($this->client->registerStreamWrapper()); diff --git a/VectorSearch/metadata/V1/DataObjectSearchService.php b/VectorSearch/metadata/V1/DataObjectSearchService.php index 34f80ed9d5b4..7ec518151475 100644 --- a/VectorSearch/metadata/V1/DataObjectSearchService.php +++ b/VectorSearch/metadata/V1/DataObjectSearchService.php @@ -23,7 +23,7 @@ public static function initOnce() { \GPBMetadata\Google\Cloud\Vectorsearch\V1\EmbeddingConfig::initOnce(); \GPBMetadata\Google\Protobuf\Struct::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xD6)\x0A=google/cloud/vectorsearch/v1/data_object_search_service.proto\x12\x1Cgoogle.cloud.vectorsearch.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A)google/cloud/vectorsearch/v1/common.proto\x1A.google/cloud/vectorsearch/v1/data_object.proto\x1A3google/cloud/vectorsearch/v1/embedding_config.proto\x1A\x1Cgoogle/protobuf/struct.proto\"b\x0A\x0COutputFields\x12\x18\x0A\x0Bdata_fields\x18\x01 \x03(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dvector_fields\x18\x02 \x03(\x09B\x03\xE0A\x01\x12\x1C\x0A\x0Fmetadata_fields\x18\x03 \x03(\x09B\x03\xE0A\x01\"\x85\x02\x0A\x0ASearchHint\x12I\x0A\x08knn_hint\x18\x03 \x01(\x0B20.google.cloud.vectorsearch.v1.SearchHint.KnnHintB\x03\xE0A\x01H\x00\x12M\x0A\x0Aindex_hint\x18\x04 \x01(\x0B22.google.cloud.vectorsearch.v1.SearchHint.IndexHintB\x03\xE0A\x01H\x00\x1AD\x0A\x09IndexHint\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!vectorsearch.googleapis.com/Index\x1A\x09\x0A\x07KnnHintB\x0C\x0A\x0Aindex_type\"\xE6\x01\x0A\x06Search\x12C\x0A\x0Dvector_search\x18\x01 \x01(\x0B2*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\x0A\x0Fsemantic_search\x18\x02 \x01(\x0B2,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12?\x0A\x0Btext_search\x18\x03 \x01(\x0B2(.google.cloud.vectorsearch.v1.TextSearchH\x00B\x0D\x0A\x0Bsearch_type\"\xE3\x03\x0A\x0CVectorSearch\x12;\x0A\x06vector\x18\x01 \x01(\x0B2).google.cloud.vectorsearch.v1.DenseVectorH\x00\x12C\x0A\x0Dsparse_vector\x18\x02 \x01(\x0B2*.google.cloud.vectorsearch.v1.SparseVectorH\x00\x12\x19\x0A\x0Csearch_field\x18\x08 \x01(\x09B\x03\xE0A\x02\x12,\x0A\x06filter\x18\x04 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12\x17\x0A\x05top_k\x18\x05 \x01(\x05B\x03\xE0A\x01H\x01\x88\x01\x01\x12F\x0A\x0Doutput_fields\x18\x07 \x01(\x0B2*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xE0A\x01\x12B\x0A\x0Bsearch_hint\x18\x09 \x01(\x0B2(.google.cloud.vectorsearch.v1.SearchHintB\x03\xE0A\x01\x12J\x0A\x0Fdistance_metric\x18\x0B \x01(\x0E2,.google.cloud.vectorsearch.v1.DistanceMetricB\x03\xE0A\x01B\x0D\x0A\x0Bvector_typeB\x08\x0A\x06_top_k\"\xEB\x02\x0A\x0ESemanticSearch\x12\x18\x0A\x0Bsearch_text\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x19\x0A\x0Csearch_field\x18\x02 \x01(\x09B\x03\xE0A\x02\x12G\x0A\x09task_type\x18\x05 \x01(\x0E2/.google.cloud.vectorsearch.v1.EmbeddingTaskTypeB\x03\xE0A\x02\x12F\x0A\x0Doutput_fields\x18\x03 \x01(\x0B2*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xE0A\x01\x12,\x0A\x06filter\x18\x06 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12\x17\x0A\x05top_k\x18\x04 \x01(\x05B\x03\xE0A\x01H\x00\x88\x01\x01\x12B\x0A\x0Bsearch_hint\x18\x07 \x01(\x0B2(.google.cloud.vectorsearch.v1.SearchHintB\x03\xE0A\x01B\x08\x0A\x06_top_k\"\xDE\x01\x0A\x0ATextSearch\x12\x18\x0A\x0Bsearch_text\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1D\x0A\x10data_field_names\x18\x02 \x03(\x09B\x03\xE0A\x02\x12F\x0A\x0Doutput_fields\x18\x03 \x01(\x0B2*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xE0A\x01\x12\x17\x0A\x05top_k\x18\x04 \x01(\x05B\x03\xE0A\x01H\x00\x88\x01\x01\x12,\x0A\x06filter\x18\x05 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01B\x08\x0A\x06_top_k\"\xEE\x02\x0A\x18SearchDataObjectsRequest\x12C\x0A\x0Dvector_search\x18\x02 \x01(\x0B2*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\x0A\x0Fsemantic_search\x18\x04 \x01(\x0B2,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12D\x0A\x0Btext_search\x18\x07 \x01(\x0B2(.google.cloud.vectorsearch.v1.TextSearchB\x03\xE0A\x01H\x00\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12\x16\x0A\x09page_size\x18\x05 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x06 \x01(\x09B\x03\xE0A\x01B\x0D\x0A\x0Bsearch_type\"{\x0A\x0CSearchResult\x12B\x0A\x0Bdata_object\x18\x01 \x01(\x0B2(.google.cloud.vectorsearch.v1.DataObjectB\x03\xE0A\x03\x12\x1A\x0A\x08distance\x18\x02 \x01(\x01B\x03\xE0A\x03H\x00\x88\x01\x01B\x0B\x0A\x09_distance\"{\x0A\x19SearchDataObjectsResponse\x12@\x0A\x07results\x18\x01 \x03(\x0B2*.google.cloud.vectorsearch.v1.SearchResultB\x03\xE0A\x03\x12\x1C\x0A\x0Fnext_page_token\x18\x02 \x01(\x09B\x03\xE0A\x03\"\xD4\x01\x0A\x1BAggregateDataObjectsRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12,\x0A\x06filter\x18\x02 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12G\x0A\x09aggregate\x18\x03 \x01(\x0E2/.google.cloud.vectorsearch.v1.AggregationMethodB\x03\xE0A\x02\"W\x0A\x1CAggregateDataObjectsResponse\x127\x0A\x11aggregate_results\x18\x01 \x03(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x03\"\x80\x02\x0A\x17QueryDataObjectsRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12,\x0A\x06filter\x18\x02 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12F\x0A\x0Doutput_fields\x18\x07 \x01(\x0B2*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x05 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x06 \x01(\x09B\x03\xE0A\x01\"}\x0A\x18QueryDataObjectsResponse\x12C\x0A\x0Cdata_objects\x18\x04 \x03(\x0B2(.google.cloud.vectorsearch.v1.DataObjectB\x03\xE0A\x03\x12\x1C\x0A\x0Fnext_page_token\x18\x03 \x01(\x09B\x03\xE0A\x03\"\xB6\x03\x0A\x1DBatchSearchDataObjectsRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12;\x0A\x08searches\x18\x02 \x03(\x0B2\$.google.cloud.vectorsearch.v1.SearchB\x03\xE0A\x02\x12g\x0A\x07combine\x18\x03 \x01(\x0B2Q.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest.CombineResultsOptionsB\x03\xE0A\x01\x1A\xAE\x01\x0A\x15CombineResultsOptions\x129\x0A\x06ranker\x18\x01 \x01(\x0B2\$.google.cloud.vectorsearch.v1.RankerB\x03\xE0A\x02\x12F\x0A\x0Doutput_fields\x18\x02 \x01(\x0B2*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xE0A\x01\x12\x12\x0A\x05top_k\x18\x03 \x01(\x05B\x03\xE0A\x01\"U\x0A\x06Ranker\x12A\x0A\x03rrf\x18\x01 \x01(\x0B22.google.cloud.vectorsearch.v1.ReciprocalRankFusionH\x00B\x08\x0A\x06ranker\",\x0A\x14ReciprocalRankFusion\x12\x14\x0A\x07weights\x18\x01 \x03(\x01B\x03\xE0A\x02\"o\x0A\x1EBatchSearchDataObjectsResponse\x12M\x0A\x07results\x18\x01 \x03(\x0B27.google.cloud.vectorsearch.v1.SearchDataObjectsResponseB\x03\xE0A\x03*B\x0A\x11AggregationMethod\x12\"\x0A\x1EAGGREGATION_METHOD_UNSPECIFIED\x10\x00\x12\x09\x0A\x05COUNT\x10\x012\xE6\x07\x0A\x17DataObjectSearchService\x12\xD5\x01\x0A\x11SearchDataObjects\x126.google.cloud.vectorsearch.v1.SearchDataObjectsRequest\x1A7.google.cloud.vectorsearch.v1.SearchDataObjectsResponse\"O\x82\xD3\xE4\x93\x02I\"D/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:search:\x01*\x12\xD1\x01\x0A\x10QueryDataObjects\x125.google.cloud.vectorsearch.v1.QueryDataObjectsRequest\x1A6.google.cloud.vectorsearch.v1.QueryDataObjectsResponse\"N\x82\xD3\xE4\x93\x02H\"C/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:query:\x01*\x12\xE1\x01\x0A\x14AggregateDataObjects\x129.google.cloud.vectorsearch.v1.AggregateDataObjectsRequest\x1A:.google.cloud.vectorsearch.v1.AggregateDataObjectsResponse\"R\x82\xD3\xE4\x93\x02L\"G/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:aggregate:\x01*\x12\xE9\x01\x0A\x16BatchSearchDataObjects\x12;.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest\x1A<.google.cloud.vectorsearch.v1.BatchSearchDataObjectsResponse\"T\x82\xD3\xE4\x93\x02N\"I/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:batchSearch:\x01*\x1AO\xCAA\x1Bvectorsearch.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformB\xE8\x01\x0A com.google.cloud.vectorsearch.v1B\x1CDataObjectSearchServiceProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xAA\x02\x1CGoogle.Cloud.VectorSearch.V1\xCA\x02\x1CGoogle\\Cloud\\VectorSearch\\V1\xEA\x02\x1FGoogle::Cloud::VectorSearch::V1b\x06proto3" + "\x0A\xD6)\x0A=google/cloud/vectorsearch/v1/data_object_search_service.proto\x12\x1Cgoogle.cloud.vectorsearch.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A)google/cloud/vectorsearch/v1/common.proto\x1A.google/cloud/vectorsearch/v1/data_object.proto\x1A3google/cloud/vectorsearch/v1/embedding_config.proto\x1A\x1Cgoogle/protobuf/struct.proto\"b\x0A\x0COutputFields\x12\x18\x0A\x0Bdata_fields\x18\x01 \x03(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dvector_fields\x18\x02 \x03(\x09B\x03\xE0A\x01\x12\x1C\x0A\x0Fmetadata_fields\x18\x03 \x03(\x09B\x03\xE0A\x01\"\x85\x02\x0A\x0ASearchHint\x12I\x0A\x08knn_hint\x18\x03 \x01(\x0B20.google.cloud.vectorsearch.v1.SearchHint.KnnHintB\x03\xE0A\x01H\x00\x12M\x0A\x0Aindex_hint\x18\x04 \x01(\x0B22.google.cloud.vectorsearch.v1.SearchHint.IndexHintB\x03\xE0A\x01H\x00\x1AD\x0A\x09IndexHint\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!vectorsearch.googleapis.com/Index\x1A\x09\x0A\x07KnnHintB\x0C\x0A\x0Aindex_type\"\xE6\x01\x0A\x06Search\x12C\x0A\x0Dvector_search\x18\x01 \x01(\x0B2*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\x0A\x0Fsemantic_search\x18\x02 \x01(\x0B2,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12?\x0A\x0Btext_search\x18\x03 \x01(\x0B2(.google.cloud.vectorsearch.v1.TextSearchH\x00B\x0D\x0A\x0Bsearch_type\"\xE3\x03\x0A\x0CVectorSearch\x12;\x0A\x06vector\x18\x01 \x01(\x0B2).google.cloud.vectorsearch.v1.DenseVectorH\x00\x12C\x0A\x0Dsparse_vector\x18\x02 \x01(\x0B2*.google.cloud.vectorsearch.v1.SparseVectorH\x00\x12\x19\x0A\x0Csearch_field\x18\x08 \x01(\x09B\x03\xE0A\x02\x12,\x0A\x06filter\x18\x04 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12\x17\x0A\x05top_k\x18\x05 \x01(\x05B\x03\xE0A\x01H\x01\x88\x01\x01\x12F\x0A\x0Doutput_fields\x18\x07 \x01(\x0B2*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xE0A\x01\x12B\x0A\x0Bsearch_hint\x18\x09 \x01(\x0B2(.google.cloud.vectorsearch.v1.SearchHintB\x03\xE0A\x01\x12J\x0A\x0Fdistance_metric\x18\x0B \x01(\x0E2,.google.cloud.vectorsearch.v1.DistanceMetricB\x03\xE0A\x01B\x0D\x0A\x0Bvector_typeB\x08\x0A\x06_top_k\"\xEB\x02\x0A\x0ESemanticSearch\x12\x18\x0A\x0Bsearch_text\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x19\x0A\x0Csearch_field\x18\x02 \x01(\x09B\x03\xE0A\x02\x12G\x0A\x09task_type\x18\x05 \x01(\x0E2/.google.cloud.vectorsearch.v1.EmbeddingTaskTypeB\x03\xE0A\x02\x12F\x0A\x0Doutput_fields\x18\x03 \x01(\x0B2*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xE0A\x01\x12,\x0A\x06filter\x18\x06 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12\x17\x0A\x05top_k\x18\x04 \x01(\x05B\x03\xE0A\x01H\x00\x88\x01\x01\x12B\x0A\x0Bsearch_hint\x18\x07 \x01(\x0B2(.google.cloud.vectorsearch.v1.SearchHintB\x03\xE0A\x01B\x08\x0A\x06_top_k\"\xDE\x01\x0A\x0ATextSearch\x12\x18\x0A\x0Bsearch_text\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x1D\x0A\x10data_field_names\x18\x02 \x03(\x09B\x03\xE0A\x01\x12F\x0A\x0Doutput_fields\x18\x03 \x01(\x0B2*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xE0A\x01\x12\x17\x0A\x05top_k\x18\x04 \x01(\x05B\x03\xE0A\x01H\x00\x88\x01\x01\x12,\x0A\x06filter\x18\x05 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01B\x08\x0A\x06_top_k\"\xEE\x02\x0A\x18SearchDataObjectsRequest\x12C\x0A\x0Dvector_search\x18\x02 \x01(\x0B2*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\x0A\x0Fsemantic_search\x18\x04 \x01(\x0B2,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12D\x0A\x0Btext_search\x18\x07 \x01(\x0B2(.google.cloud.vectorsearch.v1.TextSearchB\x03\xE0A\x01H\x00\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12\x16\x0A\x09page_size\x18\x05 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x06 \x01(\x09B\x03\xE0A\x01B\x0D\x0A\x0Bsearch_type\"{\x0A\x0CSearchResult\x12B\x0A\x0Bdata_object\x18\x01 \x01(\x0B2(.google.cloud.vectorsearch.v1.DataObjectB\x03\xE0A\x03\x12\x1A\x0A\x08distance\x18\x02 \x01(\x01B\x03\xE0A\x03H\x00\x88\x01\x01B\x0B\x0A\x09_distance\"{\x0A\x19SearchDataObjectsResponse\x12@\x0A\x07results\x18\x01 \x03(\x0B2*.google.cloud.vectorsearch.v1.SearchResultB\x03\xE0A\x03\x12\x1C\x0A\x0Fnext_page_token\x18\x02 \x01(\x09B\x03\xE0A\x03\"\xD4\x01\x0A\x1BAggregateDataObjectsRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12,\x0A\x06filter\x18\x02 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12G\x0A\x09aggregate\x18\x03 \x01(\x0E2/.google.cloud.vectorsearch.v1.AggregationMethodB\x03\xE0A\x02\"W\x0A\x1CAggregateDataObjectsResponse\x127\x0A\x11aggregate_results\x18\x01 \x03(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x03\"\x80\x02\x0A\x17QueryDataObjectsRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12,\x0A\x06filter\x18\x02 \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12F\x0A\x0Doutput_fields\x18\x07 \x01(\x0B2*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x05 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x06 \x01(\x09B\x03\xE0A\x01\"}\x0A\x18QueryDataObjectsResponse\x12C\x0A\x0Cdata_objects\x18\x04 \x03(\x0B2(.google.cloud.vectorsearch.v1.DataObjectB\x03\xE0A\x03\x12\x1C\x0A\x0Fnext_page_token\x18\x03 \x01(\x09B\x03\xE0A\x03\"\xB6\x03\x0A\x1DBatchSearchDataObjectsRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12;\x0A\x08searches\x18\x02 \x03(\x0B2\$.google.cloud.vectorsearch.v1.SearchB\x03\xE0A\x02\x12g\x0A\x07combine\x18\x03 \x01(\x0B2Q.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest.CombineResultsOptionsB\x03\xE0A\x01\x1A\xAE\x01\x0A\x15CombineResultsOptions\x129\x0A\x06ranker\x18\x01 \x01(\x0B2\$.google.cloud.vectorsearch.v1.RankerB\x03\xE0A\x02\x12F\x0A\x0Doutput_fields\x18\x02 \x01(\x0B2*.google.cloud.vectorsearch.v1.OutputFieldsB\x03\xE0A\x01\x12\x12\x0A\x05top_k\x18\x03 \x01(\x05B\x03\xE0A\x01\"U\x0A\x06Ranker\x12A\x0A\x03rrf\x18\x01 \x01(\x0B22.google.cloud.vectorsearch.v1.ReciprocalRankFusionH\x00B\x08\x0A\x06ranker\",\x0A\x14ReciprocalRankFusion\x12\x14\x0A\x07weights\x18\x01 \x03(\x01B\x03\xE0A\x02\"o\x0A\x1EBatchSearchDataObjectsResponse\x12M\x0A\x07results\x18\x01 \x03(\x0B27.google.cloud.vectorsearch.v1.SearchDataObjectsResponseB\x03\xE0A\x03*B\x0A\x11AggregationMethod\x12\"\x0A\x1EAGGREGATION_METHOD_UNSPECIFIED\x10\x00\x12\x09\x0A\x05COUNT\x10\x012\xE6\x07\x0A\x17DataObjectSearchService\x12\xD5\x01\x0A\x11SearchDataObjects\x126.google.cloud.vectorsearch.v1.SearchDataObjectsRequest\x1A7.google.cloud.vectorsearch.v1.SearchDataObjectsResponse\"O\x82\xD3\xE4\x93\x02I\"D/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:search:\x01*\x12\xD1\x01\x0A\x10QueryDataObjects\x125.google.cloud.vectorsearch.v1.QueryDataObjectsRequest\x1A6.google.cloud.vectorsearch.v1.QueryDataObjectsResponse\"N\x82\xD3\xE4\x93\x02H\"C/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:query:\x01*\x12\xE1\x01\x0A\x14AggregateDataObjects\x129.google.cloud.vectorsearch.v1.AggregateDataObjectsRequest\x1A:.google.cloud.vectorsearch.v1.AggregateDataObjectsResponse\"R\x82\xD3\xE4\x93\x02L\"G/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:aggregate:\x01*\x12\xE9\x01\x0A\x16BatchSearchDataObjects\x12;.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest\x1A<.google.cloud.vectorsearch.v1.BatchSearchDataObjectsResponse\"T\x82\xD3\xE4\x93\x02N\"I/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:batchSearch:\x01*\x1AO\xCAA\x1Bvectorsearch.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformB\xE8\x01\x0A com.google.cloud.vectorsearch.v1B\x1CDataObjectSearchServiceProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xAA\x02\x1CGoogle.Cloud.VectorSearch.V1\xCA\x02\x1CGoogle\\Cloud\\VectorSearch\\V1\xEA\x02\x1FGoogle::Cloud::VectorSearch::V1b\x06proto3" , true); static::$is_initialized = true; diff --git a/VectorSearch/metadata/V1/VectorsearchService.php b/VectorSearch/metadata/V1/VectorsearchService.php index 163e08d1aa1e..6a4875fd56d3 100644 --- a/VectorSearch/metadata/V1/VectorsearchService.php +++ b/VectorSearch/metadata/V1/VectorsearchService.php @@ -29,7 +29,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); \GPBMetadata\Google\Rpc\Status::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xA5G\x0A7google/cloud/vectorsearch/v1/vectorsearch_service.proto\x12\x1Cgoogle.cloud.vectorsearch.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A)google/cloud/vectorsearch/v1/common.proto\x1A3google/cloud/vectorsearch/v1/embedding_config.proto\x1A2google/cloud/vectorsearch/v1/encryption_spec.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Cgoogle/protobuf/struct.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x17google/rpc/status.proto\"\xFE\x05\x0A\x0ACollection\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x19\x0A\x0Cdisplay_name\x18\x08 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x09 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12I\x0A\x06labels\x18\x04 \x03(\x0B24.google.cloud.vectorsearch.v1.Collection.LabelsEntryB\x03\xE0A\x01\x12V\x0A\x0Dvector_schema\x18\x07 \x03(\x0B2:.google.cloud.vectorsearch.v1.Collection.VectorSchemaEntryB\x03\xE0A\x01\x121\x0A\x0Bdata_schema\x18\x0A \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12M\x0A\x0Fencryption_spec\x18\x0B \x01(\x0B2,.google.cloud.vectorsearch.v1.EncryptionSpecB\x06\xE0A\x05\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1A^\x0A\x11VectorSchemaEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x128\x0A\x05value\x18\x02 \x01(\x0B2).google.cloud.vectorsearch.v1.VectorField:\x028\x01:\x87\x01\xEAA\x83\x01\x0A&vectorsearch.googleapis.com/Collection\x12@projects/{project}/locations/{location}/collections/{collection}*\x0Bcollections2\x0Acollection\"\xB5\x01\x0A\x0BVectorField\x12F\x0A\x0Cdense_vector\x18\x03 \x01(\x0B2..google.cloud.vectorsearch.v1.DenseVectorFieldH\x00\x12H\x0A\x0Dsparse_vector\x18\x04 \x01(\x0B2/.google.cloud.vectorsearch.v1.SparseVectorFieldH\x00B\x14\x0A\x12vector_type_config\"\x81\x01\x0A\x10DenseVectorField\x12\x12\x0A\x0Adimensions\x18\x01 \x01(\x05\x12Y\x0A\x17vertex_embedding_config\x18\x03 \x01(\x0B23.google.cloud.vectorsearch.v1.VertexEmbeddingConfigB\x03\xE0A\x01\"\x13\x0A\x11SparseVectorField\"\xB5\x01\x0A\x16ListCollectionsRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x12&vectorsearch.googleapis.com/Collection\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8B\x01\x0A\x17ListCollectionsResponse\x12=\x0A\x0Bcollections\x18\x01 \x03(\x0B2(.google.cloud.vectorsearch.v1.Collection\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x18\x0A\x0Bunreachable\x18\x03 \x03(\x09B\x03\xE0A\x06\"T\x0A\x14GetCollectionRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\"\xD9\x01\x0A\x17CreateCollectionRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x12&vectorsearch.googleapis.com/Collection\x12\x1A\x0A\x0Dcollection_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12A\x0A\x0Acollection\x18\x03 \x01(\x0B2(.google.cloud.vectorsearch.v1.CollectionB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xB3\x01\x0A\x17UpdateCollectionRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12A\x0A\x0Acollection\x18\x02 \x01(\x0B2(.google.cloud.vectorsearch.v1.CollectionB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"x\x0A\x17DeleteCollectionRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xA0\x06\x0A\x05Index\x12^\x0A\x18dedicated_infrastructure\x18\x0B \x01(\x0B25.google.cloud.vectorsearch.v1.DedicatedInfrastructureB\x03\xE0A\x01H\x00\x12I\x0A\x0Bdense_scann\x18\x0C \x01(\x0B2-.google.cloud.vectorsearch.v1.DenseScannIndexB\x03\xE0A\x01H\x01\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x19\x0A\x0Cdisplay_name\x18\x08 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x09 \x01(\x09B\x03\xE0A\x01\x12D\x0A\x06labels\x18\x0A \x03(\x0B2/.google.cloud.vectorsearch.v1.Index.LabelsEntryB\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12J\x0A\x0Fdistance_metric\x18\x04 \x01(\x0E2,.google.cloud.vectorsearch.v1.DistanceMetricB\x03\xE0A\x01\x12\x18\x0A\x0Bindex_field\x18\x05 \x01(\x09B\x03\xE0A\x02\x12\x1A\x0A\x0Dfilter_fields\x18\x06 \x03(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cstore_fields\x18\x07 \x03(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x89\x01\xEAA\x85\x01\x0A!vectorsearch.googleapis.com/Index\x12Pprojects/{project}/locations/{location}/collections/{collection}/indexes/{index}*\x07indexes2\x05indexB\x0C\x0A\x0Ainfra_typeB\x0C\x0A\x0Aindex_type\"\xC5\x01\x0A\x12CreateIndexRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12\x15\x0A\x08index_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x127\x0A\x05index\x18\x03 \x01(\x0B2#.google.cloud.vectorsearch.v1.IndexB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xA4\x01\x0A\x12UpdateIndexRequest\x127\x0A\x05index\x18\x01 \x01(\x0B2#.google.cloud.vectorsearch.v1.IndexB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"n\x0A\x12DeleteIndexRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!vectorsearch.googleapis.com/Index\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xAC\x01\x0A\x12ListIndexesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x12!vectorsearch.googleapis.com/Index\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"d\x0A\x13ListIndexesResponse\x124\x0A\x07indexes\x18\x01 \x03(\x0B2#.google.cloud.vectorsearch.v1.Index\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"J\x0A\x0FGetIndexRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!vectorsearch.googleapis.com/Index\"\x80\x02\x0A\x11OperationMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x13\x0A\x06target\x18\x03 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04verb\x18\x04 \x01(\x09B\x03\xE0A\x03\x12\x1B\x0A\x0Estatus_message\x18\x05 \x01(\x09B\x03\xE0A\x03\x12#\x0A\x16requested_cancellation\x18\x06 \x01(\x08B\x03\xE0A\x03\x12\x18\x0A\x0Bapi_version\x18\x07 \x01(\x09B\x03\xE0A\x03\"\x9F\x02\x0A\x18ImportDataObjectsRequest\x12\\\x0A\x0Agcs_import\x18\x02 \x01(\x0B2F.google.cloud.vectorsearch.v1.ImportDataObjectsRequest.GcsImportConfigH\x00\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x1A]\x0A\x0FGcsImportConfig\x12\x19\x0A\x0Ccontents_uri\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x16\x0A\x09error_uri\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x17\x0A\x0Aoutput_uri\x18\x03 \x01(\x09B\x03\xE0A\x01B\x08\x0A\x06config\"\xBF\x01\x0A\x19ImportDataObjectsMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1A\x0A\x0Dsuccess_count\x18\x03 \x01(\x03B\x03\xE0A\x03\x12\x1A\x0A\x0Dfailure_count\x18\x04 \x01(\x03B\x03\xE0A\x03\"?\x0A\x19ImportDataObjectsResponse\x12\"\x0A\x06status\x18\x01 \x01(\x0B2\x12.google.rpc.Status\"\x97\x03\x0A\x18ExportDataObjectsRequest\x12f\x0A\x0Fgcs_destination\x18\x02 \x01(\x0B2K.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.GcsExportDestinationH\x00\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x1A\xC5\x01\x0A\x14GcsExportDestination\x12\x17\x0A\x0Aexport_uri\x18\x01 \x01(\x09B\x03\xE0A\x02\x12g\x0A\x06format\x18\x02 \x01(\x0E2R.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.GcsExportDestination.FormatB\x03\xE0A\x02\"+\x0A\x06Format\x12\x16\x0A\x12FORMAT_UNSPECIFIED\x10\x00\x12\x09\x0A\x05JSONL\x10\x02B\x0D\x0A\x0Bdestination\"\x87\x01\x0A\x19ExportDataObjectsMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bfinish_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\"\x1B\x0A\x19ExportDataObjectsResponse\"\xFF\x02\x0A\x17DedicatedInfrastructure\x12R\x0A\x04mode\x18\x01 \x01(\x0E2:.google.cloud.vectorsearch.v1.DedicatedInfrastructure.ModeB\x03\xE0A\x01H\x00\x88\x01\x01\x12d\x0A\x10autoscaling_spec\x18\x02 \x01(\x0B2E.google.cloud.vectorsearch.v1.DedicatedInfrastructure.AutoscalingSpecB\x03\xE0A\x01\x1AQ\x0A\x0FAutoscalingSpec\x12\x1E\x0A\x11min_replica_count\x18\x01 \x01(\x05B\x03\xE0A\x01\x12\x1E\x0A\x11max_replica_count\x18\x02 \x01(\x05B\x03\xE0A\x01\"N\x0A\x04Mode\x12\x14\x0A\x10MODE_UNSPECIFIED\x10\x00\x12\x15\x0A\x11STORAGE_OPTIMIZED\x10\x01\x12\x19\x0A\x15PERFORMANCE_OPTIMIZED\x10\x02B\x07\x0A\x05_mode\"\xC2\x01\x0A\x0FDenseScannIndex\x12]\x0A\x11feature_norm_type\x18\x02 \x01(\x0E2=.google.cloud.vectorsearch.v1.DenseScannIndex.FeatureNormTypeB\x03\xE0A\x01\"P\x0A\x0FFeatureNormType\x12!\x0A\x1DFEATURE_NORM_TYPE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04NONE\x10\x01\x12\x10\x0A\x0CUNIT_L2_NORM\x10\x022\x8D\x15\x0A\x13VectorSearchService\x12\xC0\x01\x0A\x0FListCollections\x124.google.cloud.vectorsearch.v1.ListCollectionsRequest\x1A5.google.cloud.vectorsearch.v1.ListCollectionsResponse\"@\xDAA\x06parent\x82\xD3\xE4\x93\x021\x12//v1/{parent=projects/*/locations/*}/collections\x12\xAD\x01\x0A\x0DGetCollection\x122.google.cloud.vectorsearch.v1.GetCollectionRequest\x1A(.google.cloud.vectorsearch.v1.Collection\">\xDAA\x04name\x82\xD3\xE4\x93\x021\x12//v1/{name=projects/*/locations/*/collections/*}\x12\xF2\x01\x0A\x10CreateCollection\x125.google.cloud.vectorsearch.v1.CreateCollectionRequest\x1A\x1D.google.longrunning.Operation\"\x87\x01\xCAA\x1F\x0A\x0ACollection\x12\x11OperationMetadata\xDAA\x1Fparent,collection,collection_id\x82\xD3\xE4\x93\x02=\"//v1/{parent=projects/*/locations/*}/collections:\x0Acollection\x12\xF4\x01\x0A\x10UpdateCollection\x125.google.cloud.vectorsearch.v1.UpdateCollectionRequest\x1A\x1D.google.longrunning.Operation\"\x89\x01\xCAA\x1F\x0A\x0ACollection\x12\x11OperationMetadata\xDAA\x16collection,update_mask\x82\xD3\xE4\x93\x02H2:/v1/{collection.name=projects/*/locations/*/collections/*}:\x0Acollection\x12\xD5\x01\x0A\x10DeleteCollection\x125.google.cloud.vectorsearch.v1.DeleteCollectionRequest\x1A\x1D.google.longrunning.Operation\"k\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x021*//v1/{name=projects/*/locations/*/collections/*}\x12\xBE\x01\x0A\x0BListIndexes\x120.google.cloud.vectorsearch.v1.ListIndexesRequest\x1A1.google.cloud.vectorsearch.v1.ListIndexesResponse\"J\xDAA\x06parent\x82\xD3\xE4\x93\x02;\x129/v1/{parent=projects/*/locations/*/collections/*}/indexes\x12\xA8\x01\x0A\x08GetIndex\x12-.google.cloud.vectorsearch.v1.GetIndexRequest\x1A#.google.cloud.vectorsearch.v1.Index\"H\xDAA\x04name\x82\xD3\xE4\x93\x02;\x129/v1/{name=projects/*/locations/*/collections/*/indexes/*}\x12\xDD\x01\x0A\x0BCreateIndex\x120.google.cloud.vectorsearch.v1.CreateIndexRequest\x1A\x1D.google.longrunning.Operation\"}\xCAA\x1A\x0A\x05Index\x12\x11OperationMetadata\xDAA\x15parent,index,index_id\x82\xD3\xE4\x93\x02B\"9/v1/{parent=projects/*/locations/*/collections/*}/indexes:\x05index\x12\xDF\x01\x0A\x0BUpdateIndex\x120.google.cloud.vectorsearch.v1.UpdateIndexRequest\x1A\x1D.google.longrunning.Operation\"\x7F\xCAA\x1A\x0A\x05Index\x12\x11OperationMetadata\xDAA\x11index,update_mask\x82\xD3\xE4\x93\x02H2?/v1/{index.name=projects/*/locations/*/collections/*/indexes/*}:\x05index\x12\xD5\x01\x0A\x0BDeleteIndex\x120.google.cloud.vectorsearch.v1.DeleteIndexRequest\x1A\x1D.google.longrunning.Operation\"u\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02;*9/v1/{name=projects/*/locations/*/collections/*/indexes/*}\x12\xF2\x01\x0A\x11ImportDataObjects\x126.google.cloud.vectorsearch.v1.ImportDataObjectsRequest\x1A\x1D.google.longrunning.Operation\"\x85\x01\xCAA6\x0A\x19ImportDataObjectsResponse\x12\x19ImportDataObjectsMetadata\x82\xD3\xE4\x93\x02F\"A/v1/{name=projects/*/locations/*/collections/*}:importDataObjects:\x01*\x12\xF2\x01\x0A\x11ExportDataObjects\x126.google.cloud.vectorsearch.v1.ExportDataObjectsRequest\x1A\x1D.google.longrunning.Operation\"\x85\x01\xCAA6\x0A\x19ExportDataObjectsResponse\x12\x19ExportDataObjectsMetadata\x82\xD3\xE4\x93\x02F\"A/v1/{name=projects/*/locations/*/collections/*}:exportDataObjects:\x01*\x1AO\xCAA\x1Bvectorsearch.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformB\xE4\x01\x0A com.google.cloud.vectorsearch.v1B\x18VectorSearchServiceProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xAA\x02\x1CGoogle.Cloud.VectorSearch.V1\xCA\x02\x1CGoogle\\Cloud\\VectorSearch\\V1\xEA\x02\x1FGoogle::Cloud::VectorSearch::V1b\x06proto3" + "\x0A\xB3J\x0A7google/cloud/vectorsearch/v1/vectorsearch_service.proto\x12\x1Cgoogle.cloud.vectorsearch.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x1Bgoogle/api/field_info.proto\x1A\x19google/api/resource.proto\x1A)google/cloud/vectorsearch/v1/common.proto\x1A3google/cloud/vectorsearch/v1/embedding_config.proto\x1A2google/cloud/vectorsearch/v1/encryption_spec.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Cgoogle/protobuf/struct.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x17google/rpc/status.proto\"\xFE\x05\x0A\x0ACollection\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x19\x0A\x0Cdisplay_name\x18\x08 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x09 \x01(\x09B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12I\x0A\x06labels\x18\x04 \x03(\x0B24.google.cloud.vectorsearch.v1.Collection.LabelsEntryB\x03\xE0A\x01\x12V\x0A\x0Dvector_schema\x18\x07 \x03(\x0B2:.google.cloud.vectorsearch.v1.Collection.VectorSchemaEntryB\x03\xE0A\x01\x121\x0A\x0Bdata_schema\x18\x0A \x01(\x0B2\x17.google.protobuf.StructB\x03\xE0A\x01\x12M\x0A\x0Fencryption_spec\x18\x0B \x01(\x0B2,.google.cloud.vectorsearch.v1.EncryptionSpecB\x06\xE0A\x05\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\x1A^\x0A\x11VectorSchemaEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x128\x0A\x05value\x18\x02 \x01(\x0B2).google.cloud.vectorsearch.v1.VectorField:\x028\x01:\x87\x01\xEAA\x83\x01\x0A&vectorsearch.googleapis.com/Collection\x12@projects/{project}/locations/{location}/collections/{collection}*\x0Bcollections2\x0Acollection\"\xB5\x01\x0A\x0BVectorField\x12F\x0A\x0Cdense_vector\x18\x03 \x01(\x0B2..google.cloud.vectorsearch.v1.DenseVectorFieldH\x00\x12H\x0A\x0Dsparse_vector\x18\x04 \x01(\x0B2/.google.cloud.vectorsearch.v1.SparseVectorFieldH\x00B\x14\x0A\x12vector_type_config\"\x81\x01\x0A\x10DenseVectorField\x12\x12\x0A\x0Adimensions\x18\x01 \x01(\x05\x12Y\x0A\x17vertex_embedding_config\x18\x03 \x01(\x0B23.google.cloud.vectorsearch.v1.VertexEmbeddingConfigB\x03\xE0A\x01\"\x13\x0A\x11SparseVectorField\"\xB5\x01\x0A\x16ListCollectionsRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x12&vectorsearch.googleapis.com/Collection\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x8B\x01\x0A\x17ListCollectionsResponse\x12=\x0A\x0Bcollections\x18\x01 \x03(\x0B2(.google.cloud.vectorsearch.v1.Collection\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x18\x0A\x0Bunreachable\x18\x03 \x03(\x09B\x03\xE0A\x06\"T\x0A\x14GetCollectionRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\"\xD9\x01\x0A\x17CreateCollectionRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x12&vectorsearch.googleapis.com/Collection\x12\x1A\x0A\x0Dcollection_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x12A\x0A\x0Acollection\x18\x03 \x01(\x0B2(.google.cloud.vectorsearch.v1.CollectionB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xB3\x01\x0A\x17UpdateCollectionRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12A\x0A\x0Acollection\x18\x02 \x01(\x0B2(.google.cloud.vectorsearch.v1.CollectionB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\x8C\x01\x0A\x17DeleteCollectionRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\x12\x12\x0A\x05force\x18\x03 \x01(\x08B\x03\xE0A\x01\"\xA0\x06\x0A\x05Index\x12^\x0A\x18dedicated_infrastructure\x18\x0B \x01(\x0B25.google.cloud.vectorsearch.v1.DedicatedInfrastructureB\x03\xE0A\x01H\x00\x12I\x0A\x0Bdense_scann\x18\x0C \x01(\x0B2-.google.cloud.vectorsearch.v1.DenseScannIndexB\x03\xE0A\x01H\x01\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x19\x0A\x0Cdisplay_name\x18\x08 \x01(\x09B\x03\xE0A\x01\x12\x18\x0A\x0Bdescription\x18\x09 \x01(\x09B\x03\xE0A\x01\x12D\x0A\x06labels\x18\x0A \x03(\x0B2/.google.cloud.vectorsearch.v1.Index.LabelsEntryB\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12J\x0A\x0Fdistance_metric\x18\x04 \x01(\x0E2,.google.cloud.vectorsearch.v1.DistanceMetricB\x03\xE0A\x01\x12\x18\x0A\x0Bindex_field\x18\x05 \x01(\x09B\x03\xE0A\x02\x12\x1A\x0A\x0Dfilter_fields\x18\x06 \x03(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Cstore_fields\x18\x07 \x03(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x89\x01\xEAA\x85\x01\x0A!vectorsearch.googleapis.com/Index\x12Pprojects/{project}/locations/{location}/collections/{collection}/indexes/{index}*\x07indexes2\x05indexB\x0C\x0A\x0Ainfra_typeB\x0C\x0A\x0Aindex_type\"\xC5\x01\x0A\x12CreateIndexRequest\x12>\x0A\x06parent\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12\x15\x0A\x08index_id\x18\x02 \x01(\x09B\x03\xE0A\x02\x127\x0A\x05index\x18\x03 \x01(\x0B2#.google.cloud.vectorsearch.v1.IndexB\x03\xE0A\x02\x12\x1F\x0A\x0Arequest_id\x18\x04 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xA4\x01\x0A\x12UpdateIndexRequest\x127\x0A\x05index\x18\x01 \x01(\x0B2#.google.cloud.vectorsearch.v1.IndexB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12\x1F\x0A\x0Arequest_id\x18\x03 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"n\x0A\x12DeleteIndexRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!vectorsearch.googleapis.com/Index\x12\x1F\x0A\x0Arequest_id\x18\x02 \x01(\x09B\x0B\xE0A\x01\xE2\x8C\xCF\xD7\x08\x02\x08\x01\"\xAC\x01\x0A\x12ListIndexesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x12!vectorsearch.googleapis.com/Index\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x05 \x01(\x09B\x03\xE0A\x01\"d\x0A\x13ListIndexesResponse\x124\x0A\x07indexes\x18\x01 \x03(\x0B2#.google.cloud.vectorsearch.v1.Index\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"J\x0A\x0FGetIndexRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!vectorsearch.googleapis.com/Index\"\x80\x02\x0A\x11OperationMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x13\x0A\x06target\x18\x03 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04verb\x18\x04 \x01(\x09B\x03\xE0A\x03\x12\x1B\x0A\x0Estatus_message\x18\x05 \x01(\x09B\x03\xE0A\x03\x12#\x0A\x16requested_cancellation\x18\x06 \x01(\x08B\x03\xE0A\x03\x12\x18\x0A\x0Bapi_version\x18\x07 \x01(\x09B\x03\xE0A\x03\"\x9F\x02\x0A\x18ImportDataObjectsRequest\x12\\\x0A\x0Agcs_import\x18\x02 \x01(\x0B2F.google.cloud.vectorsearch.v1.ImportDataObjectsRequest.GcsImportConfigH\x00\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x1A]\x0A\x0FGcsImportConfig\x12\x19\x0A\x0Ccontents_uri\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x16\x0A\x09error_uri\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x17\x0A\x0Aoutput_uri\x18\x03 \x01(\x09B\x03\xE0A\x01B\x08\x0A\x06config\"\xBF\x01\x0A\x19ImportDataObjectsMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x1A\x0A\x0Dsuccess_count\x18\x03 \x01(\x03B\x03\xE0A\x03\x12\x1A\x0A\x0Dfailure_count\x18\x04 \x01(\x03B\x03\xE0A\x03\"?\x0A\x19ImportDataObjectsResponse\x12\"\x0A\x06status\x18\x01 \x01(\x0B2\x12.google.rpc.Status\"\x90\x06\x0A\x18ExportDataObjectsRequest\x12f\x0A\x0Fgcs_destination\x18\x02 \x01(\x0B2K.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.GcsExportDestinationH\x00\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&vectorsearch.googleapis.com/Collection\x12]\x0A\x0Cfield_filter\x18\x03 \x01(\x0B2B.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilterB\x03\xE0A\x01\x1A\xC5\x01\x0A\x14GcsExportDestination\x12\x17\x0A\x0Aexport_uri\x18\x01 \x01(\x09B\x03\xE0A\x02\x12g\x0A\x06format\x18\x02 \x01(\x0E2R.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.GcsExportDestination.FormatB\x03\xE0A\x02\"+\x0A\x06Format\x12\x16\x0A\x12FORMAT_UNSPECIFIED\x10\x00\x12\x09\x0A\x05JSONL\x10\x02\x1A\x97\x02\x0A\x0BFieldFilter\x12l\x0A\x0Fincluded_fields\x18\x01 \x01(\x0B2L.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter.FieldListB\x03\xE0A\x01H\x00\x12l\x0A\x0Fexcluded_fields\x18\x02 \x01(\x0B2L.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter.FieldListB\x03\xE0A\x01H\x00\x1A \x0A\x09FieldList\x12\x13\x0A\x06fields\x18\x01 \x03(\x09B\x03\xE0A\x02B\x0A\x0A\x08selectorB\x0D\x0A\x0Bdestination\"\x87\x01\x0A\x19ExportDataObjectsMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bfinish_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\"\x1B\x0A\x19ExportDataObjectsResponse\"\xFF\x02\x0A\x17DedicatedInfrastructure\x12R\x0A\x04mode\x18\x01 \x01(\x0E2:.google.cloud.vectorsearch.v1.DedicatedInfrastructure.ModeB\x03\xE0A\x01H\x00\x88\x01\x01\x12d\x0A\x10autoscaling_spec\x18\x02 \x01(\x0B2E.google.cloud.vectorsearch.v1.DedicatedInfrastructure.AutoscalingSpecB\x03\xE0A\x01\x1AQ\x0A\x0FAutoscalingSpec\x12\x1E\x0A\x11min_replica_count\x18\x01 \x01(\x05B\x03\xE0A\x01\x12\x1E\x0A\x11max_replica_count\x18\x02 \x01(\x05B\x03\xE0A\x01\"N\x0A\x04Mode\x12\x14\x0A\x10MODE_UNSPECIFIED\x10\x00\x12\x15\x0A\x11STORAGE_OPTIMIZED\x10\x01\x12\x19\x0A\x15PERFORMANCE_OPTIMIZED\x10\x02B\x07\x0A\x05_mode\"\xC2\x01\x0A\x0FDenseScannIndex\x12]\x0A\x11feature_norm_type\x18\x02 \x01(\x0E2=.google.cloud.vectorsearch.v1.DenseScannIndex.FeatureNormTypeB\x03\xE0A\x01\"P\x0A\x0FFeatureNormType\x12!\x0A\x1DFEATURE_NORM_TYPE_UNSPECIFIED\x10\x00\x12\x08\x0A\x04NONE\x10\x01\x12\x10\x0A\x0CUNIT_L2_NORM\x10\x022\x8D\x15\x0A\x13VectorSearchService\x12\xC0\x01\x0A\x0FListCollections\x124.google.cloud.vectorsearch.v1.ListCollectionsRequest\x1A5.google.cloud.vectorsearch.v1.ListCollectionsResponse\"@\xDAA\x06parent\x82\xD3\xE4\x93\x021\x12//v1/{parent=projects/*/locations/*}/collections\x12\xAD\x01\x0A\x0DGetCollection\x122.google.cloud.vectorsearch.v1.GetCollectionRequest\x1A(.google.cloud.vectorsearch.v1.Collection\">\xDAA\x04name\x82\xD3\xE4\x93\x021\x12//v1/{name=projects/*/locations/*/collections/*}\x12\xF2\x01\x0A\x10CreateCollection\x125.google.cloud.vectorsearch.v1.CreateCollectionRequest\x1A\x1D.google.longrunning.Operation\"\x87\x01\xCAA\x1F\x0A\x0ACollection\x12\x11OperationMetadata\xDAA\x1Fparent,collection,collection_id\x82\xD3\xE4\x93\x02=\"//v1/{parent=projects/*/locations/*}/collections:\x0Acollection\x12\xF4\x01\x0A\x10UpdateCollection\x125.google.cloud.vectorsearch.v1.UpdateCollectionRequest\x1A\x1D.google.longrunning.Operation\"\x89\x01\xCAA\x1F\x0A\x0ACollection\x12\x11OperationMetadata\xDAA\x16collection,update_mask\x82\xD3\xE4\x93\x02H2:/v1/{collection.name=projects/*/locations/*/collections/*}:\x0Acollection\x12\xD5\x01\x0A\x10DeleteCollection\x125.google.cloud.vectorsearch.v1.DeleteCollectionRequest\x1A\x1D.google.longrunning.Operation\"k\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x021*//v1/{name=projects/*/locations/*/collections/*}\x12\xBE\x01\x0A\x0BListIndexes\x120.google.cloud.vectorsearch.v1.ListIndexesRequest\x1A1.google.cloud.vectorsearch.v1.ListIndexesResponse\"J\xDAA\x06parent\x82\xD3\xE4\x93\x02;\x129/v1/{parent=projects/*/locations/*/collections/*}/indexes\x12\xA8\x01\x0A\x08GetIndex\x12-.google.cloud.vectorsearch.v1.GetIndexRequest\x1A#.google.cloud.vectorsearch.v1.Index\"H\xDAA\x04name\x82\xD3\xE4\x93\x02;\x129/v1/{name=projects/*/locations/*/collections/*/indexes/*}\x12\xDD\x01\x0A\x0BCreateIndex\x120.google.cloud.vectorsearch.v1.CreateIndexRequest\x1A\x1D.google.longrunning.Operation\"}\xCAA\x1A\x0A\x05Index\x12\x11OperationMetadata\xDAA\x15parent,index,index_id\x82\xD3\xE4\x93\x02B\"9/v1/{parent=projects/*/locations/*/collections/*}/indexes:\x05index\x12\xDF\x01\x0A\x0BUpdateIndex\x120.google.cloud.vectorsearch.v1.UpdateIndexRequest\x1A\x1D.google.longrunning.Operation\"\x7F\xCAA\x1A\x0A\x05Index\x12\x11OperationMetadata\xDAA\x11index,update_mask\x82\xD3\xE4\x93\x02H2?/v1/{index.name=projects/*/locations/*/collections/*/indexes/*}:\x05index\x12\xD5\x01\x0A\x0BDeleteIndex\x120.google.cloud.vectorsearch.v1.DeleteIndexRequest\x1A\x1D.google.longrunning.Operation\"u\xCAA*\x0A\x15google.protobuf.Empty\x12\x11OperationMetadata\xDAA\x04name\x82\xD3\xE4\x93\x02;*9/v1/{name=projects/*/locations/*/collections/*/indexes/*}\x12\xF2\x01\x0A\x11ImportDataObjects\x126.google.cloud.vectorsearch.v1.ImportDataObjectsRequest\x1A\x1D.google.longrunning.Operation\"\x85\x01\xCAA6\x0A\x19ImportDataObjectsResponse\x12\x19ImportDataObjectsMetadata\x82\xD3\xE4\x93\x02F\"A/v1/{name=projects/*/locations/*/collections/*}:importDataObjects:\x01*\x12\xF2\x01\x0A\x11ExportDataObjects\x126.google.cloud.vectorsearch.v1.ExportDataObjectsRequest\x1A\x1D.google.longrunning.Operation\"\x85\x01\xCAA6\x0A\x19ExportDataObjectsResponse\x12\x19ExportDataObjectsMetadata\x82\xD3\xE4\x93\x02F\"A/v1/{name=projects/*/locations/*/collections/*}:exportDataObjects:\x01*\x1AO\xCAA\x1Bvectorsearch.googleapis.com\xD2A.https://www.googleapis.com/auth/cloud-platformB\xE4\x01\x0A com.google.cloud.vectorsearch.v1B\x18VectorSearchServiceProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xAA\x02\x1CGoogle.Cloud.VectorSearch.V1\xCA\x02\x1CGoogle\\Cloud\\VectorSearch\\V1\xEA\x02\x1FGoogle::Cloud::VectorSearch::V1b\x06proto3" , true); static::$is_initialized = true; diff --git a/VectorSearch/samples/V1/DataObjectSearchServiceClient/list_locations.php b/VectorSearch/samples/V1/DataObjectSearchServiceClient/list_locations.php index 65a26d857a7f..b42cf457da0d 100644 --- a/VectorSearch/samples/V1/DataObjectSearchServiceClient/list_locations.php +++ b/VectorSearch/samples/V1/DataObjectSearchServiceClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/VectorSearch/samples/V1/DataObjectServiceClient/list_locations.php b/VectorSearch/samples/V1/DataObjectServiceClient/list_locations.php index 0a4730deaa8c..5ac76f799c96 100644 --- a/VectorSearch/samples/V1/DataObjectServiceClient/list_locations.php +++ b/VectorSearch/samples/V1/DataObjectServiceClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/VectorSearch/samples/V1/VectorSearchServiceClient/list_locations.php b/VectorSearch/samples/V1/VectorSearchServiceClient/list_locations.php index 212feaf99516..d0d1d58c98ee 100644 --- a/VectorSearch/samples/V1/VectorSearchServiceClient/list_locations.php +++ b/VectorSearch/samples/V1/VectorSearchServiceClient/list_locations.php @@ -33,9 +33,8 @@ * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/VectorSearch/src/V1/Client/DataObjectSearchServiceClient.php b/VectorSearch/src/V1/Client/DataObjectSearchServiceClient.php index 0459e3a28625..92898165d8f6 100644 --- a/VectorSearch/src/V1/Client/DataObjectSearchServiceClient.php +++ b/VectorSearch/src/V1/Client/DataObjectSearchServiceClient.php @@ -403,9 +403,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/VectorSearch/src/V1/Client/DataObjectServiceClient.php b/VectorSearch/src/V1/Client/DataObjectServiceClient.php index a590f471ede8..7a4c3e9daca6 100644 --- a/VectorSearch/src/V1/Client/DataObjectServiceClient.php +++ b/VectorSearch/src/V1/Client/DataObjectServiceClient.php @@ -486,9 +486,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/VectorSearch/src/V1/Client/VectorSearchServiceClient.php b/VectorSearch/src/V1/Client/VectorSearchServiceClient.php index 04b146b496da..cf1d2033847e 100644 --- a/VectorSearch/src/V1/Client/VectorSearchServiceClient.php +++ b/VectorSearch/src/V1/Client/VectorSearchServiceClient.php @@ -720,9 +720,8 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * Lists information about the supported locations for this service. * * This method lists locations based on the resource scope provided in - * the [ListLocationsRequest.name] field: - * - * * **Global locations**: If `name` is empty, the method lists the + * the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: * + * **Global locations**: If `name` is empty, the method lists the * public locations available to all projects. * **Project-specific * locations**: If `name` follows the format * `projects/{project}`, the method lists locations visible to that diff --git a/VectorSearch/src/V1/DeleteCollectionRequest.php b/VectorSearch/src/V1/DeleteCollectionRequest.php index a15a54e937b2..51d6fcc50cc3 100644 --- a/VectorSearch/src/V1/DeleteCollectionRequest.php +++ b/VectorSearch/src/V1/DeleteCollectionRequest.php @@ -37,6 +37,14 @@ class DeleteCollectionRequest extends \Google\Protobuf\Internal\Message * Generated from protobuf field string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { */ protected $request_id = ''; + /** + * Optional. If set to true, any Indexes and DataObjects from this Collection + * will also be deleted. (Otherwise, the request will only work if the + * Collection has no Indexes and DataObjects.) + * + * Generated from protobuf field bool force = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $force = false; /** * @param string $name Required. Name of the resource @@ -72,6 +80,10 @@ public static function build(string $name): self * clients from accidentally creating duplicate commitments. * The request ID must be a valid UUID with the exception that zero UUID is * not supported (00000000-0000-0000-0000-000000000000). + * @type bool $force + * Optional. If set to true, any Indexes and DataObjects from this Collection + * will also be deleted. (Otherwise, the request will only work if the + * Collection has no Indexes and DataObjects.) * } */ public function __construct($data = NULL) { @@ -151,5 +163,35 @@ public function setRequestId($var) return $this; } + /** + * Optional. If set to true, any Indexes and DataObjects from this Collection + * will also be deleted. (Otherwise, the request will only work if the + * Collection has no Indexes and DataObjects.) + * + * Generated from protobuf field bool force = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getForce() + { + return $this->force; + } + + /** + * Optional. If set to true, any Indexes and DataObjects from this Collection + * will also be deleted. (Otherwise, the request will only work if the + * Collection has no Indexes and DataObjects.) + * + * Generated from protobuf field bool force = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setForce($var) + { + GPBUtil::checkBool($var); + $this->force = $var; + + return $this; + } + } diff --git a/VectorSearch/src/V1/ExportDataObjectsRequest.php b/VectorSearch/src/V1/ExportDataObjectsRequest.php index 707456e9a116..a9f2f3782806 100644 --- a/VectorSearch/src/V1/ExportDataObjectsRequest.php +++ b/VectorSearch/src/V1/ExportDataObjectsRequest.php @@ -24,6 +24,17 @@ class ExportDataObjectsRequest extends \Google\Protobuf\Internal\Message * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { */ protected $name = ''; + /** + * Optional. Restricts which top-level Data Object fields appear in each + * exported JSONL record. If unset, every field is exported (the existing + * behavior). The primary use case is excluding the per-object `etag` so + * that the exported records can be imported into a Collection in a + * different region without optimistic-concurrency conflicts. + * Allowed field names are `id`, `data`, `vectors`, `etag`. + * + * Generated from protobuf field .google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter field_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $field_filter = null; protected $destination; /** @@ -38,6 +49,13 @@ class ExportDataObjectsRequest extends \Google\Protobuf\Internal\Message * Required. The resource name of the Collection from which we want to export * Data Objects. Format: * `projects/{project}/locations/{location}/collections/{collection}`. + * @type \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter $field_filter + * Optional. Restricts which top-level Data Object fields appear in each + * exported JSONL record. If unset, every field is exported (the existing + * behavior). The primary use case is excluding the per-object `etag` so + * that the exported records can be imported into a Collection in a + * different region without optimistic-concurrency conflicts. + * Allowed field names are `id`, `data`, `vectors`, `etag`. * } */ public function __construct($data = NULL) { @@ -106,6 +124,52 @@ public function setName($var) return $this; } + /** + * Optional. Restricts which top-level Data Object fields appear in each + * exported JSONL record. If unset, every field is exported (the existing + * behavior). The primary use case is excluding the per-object `etag` so + * that the exported records can be imported into a Collection in a + * different region without optimistic-concurrency conflicts. + * Allowed field names are `id`, `data`, `vectors`, `etag`. + * + * Generated from protobuf field .google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter field_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter|null + */ + public function getFieldFilter() + { + return $this->field_filter; + } + + public function hasFieldFilter() + { + return isset($this->field_filter); + } + + public function clearFieldFilter() + { + unset($this->field_filter); + } + + /** + * Optional. Restricts which top-level Data Object fields appear in each + * exported JSONL record. If unset, every field is exported (the existing + * behavior). The primary use case is excluding the per-object `etag` so + * that the exported records can be imported into a Collection in a + * different region without optimistic-concurrency conflicts. + * Allowed field names are `id`, `data`, `vectors`, `etag`. + * + * Generated from protobuf field .google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter field_filter = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter $var + * @return $this + */ + public function setFieldFilter($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter::class); + $this->field_filter = $var; + + return $this; + } + /** * @return string */ diff --git a/VectorSearch/src/V1/ExportDataObjectsRequest/FieldFilter.php b/VectorSearch/src/V1/ExportDataObjectsRequest/FieldFilter.php new file mode 100644 index 000000000000..1e593020b28c --- /dev/null +++ b/VectorSearch/src/V1/ExportDataObjectsRequest/FieldFilter.php @@ -0,0 +1,114 @@ +google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter + */ +class FieldFilter extends \Google\Protobuf\Internal\Message +{ + protected $selector; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter\FieldList $included_fields + * Optional. Only these top-level fields will appear in each exported + * record. + * @type \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter\FieldList $excluded_fields + * Optional. Every top-level field except these will appear in each + * exported record. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Vectorsearch\V1\VectorsearchService::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Only these top-level fields will appear in each exported + * record. + * + * Generated from protobuf field .google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter.FieldList included_fields = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter\FieldList|null + */ + public function getIncludedFields() + { + return $this->readOneof(1); + } + + public function hasIncludedFields() + { + return $this->hasOneof(1); + } + + /** + * Optional. Only these top-level fields will appear in each exported + * record. + * + * Generated from protobuf field .google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter.FieldList included_fields = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter\FieldList $var + * @return $this + */ + public function setIncludedFields($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter\FieldList::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Optional. Every top-level field except these will appear in each + * exported record. + * + * Generated from protobuf field .google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter.FieldList excluded_fields = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter\FieldList|null + */ + public function getExcludedFields() + { + return $this->readOneof(2); + } + + public function hasExcludedFields() + { + return $this->hasOneof(2); + } + + /** + * Optional. Every top-level field except these will appear in each + * exported record. + * + * Generated from protobuf field .google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter.FieldList excluded_fields = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter\FieldList $var + * @return $this + */ + public function setExcludedFields($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\VectorSearch\V1\ExportDataObjectsRequest\FieldFilter\FieldList::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getSelector() + { + return $this->whichOneof("selector"); + } + +} + diff --git a/VectorSearch/src/V1/ExportDataObjectsRequest/FieldFilter/FieldList.php b/VectorSearch/src/V1/ExportDataObjectsRequest/FieldFilter/FieldList.php new file mode 100644 index 000000000000..ce86b2d34c8d --- /dev/null +++ b/VectorSearch/src/V1/ExportDataObjectsRequest/FieldFilter/FieldList.php @@ -0,0 +1,73 @@ +google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter.FieldList + */ +class FieldList extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The list of top-level Data Object JSON field names. Allowed + * values are `id`, `data`, `vectors`, `etag`. + * + * Generated from protobuf field repeated string fields = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + private $fields; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string[] $fields + * Required. The list of top-level Data Object JSON field names. Allowed + * values are `id`, `data`, `vectors`, `etag`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Vectorsearch\V1\VectorsearchService::initOnce(); + parent::__construct($data); + } + + /** + * Required. The list of top-level Data Object JSON field names. Allowed + * values are `id`, `data`, `vectors`, `etag`. + * + * Generated from protobuf field repeated string fields = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return RepeatedField + */ + public function getFields() + { + return $this->fields; + } + + /** + * Required. The list of top-level Data Object JSON field names. Allowed + * values are `id`, `data`, `vectors`, `etag`. + * + * Generated from protobuf field repeated string fields = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param string[] $var + * @return $this + */ + public function setFields($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->fields = $arr; + + return $this; + } + +} + diff --git a/VectorSearch/src/V1/TextSearch.php b/VectorSearch/src/V1/TextSearch.php index 60bd53821ac3..993f2254b919 100644 --- a/VectorSearch/src/V1/TextSearch.php +++ b/VectorSearch/src/V1/TextSearch.php @@ -16,15 +16,16 @@ class TextSearch extends \Google\Protobuf\Internal\Message { /** - * Required. The query text. + * Optional. The query text. Required when using the default text search mode. * - * Generated from protobuf field string search_text = 1 [(.google.api.field_behavior) = REQUIRED]; + * Generated from protobuf field string search_text = 1 [(.google.api.field_behavior) = OPTIONAL]; */ protected $search_text = ''; /** - * Required. The data field names to search. + * Optional. The data field names to search. Required when using the default + * text search mode. * - * Generated from protobuf field repeated string data_field_names = 2 [(.google.api.field_behavior) = REQUIRED]; + * Generated from protobuf field repeated string data_field_names = 2 [(.google.api.field_behavior) = OPTIONAL]; */ private $data_field_names; /** @@ -54,9 +55,10 @@ class TextSearch extends \Google\Protobuf\Internal\Message * Optional. Data for populating the Message object. * * @type string $search_text - * Required. The query text. + * Optional. The query text. Required when using the default text search mode. * @type string[] $data_field_names - * Required. The data field names to search. + * Optional. The data field names to search. Required when using the default + * text search mode. * @type \Google\Cloud\VectorSearch\V1\OutputFields $output_fields * Optional. The fields to return in the search results. * @type int $top_k @@ -72,9 +74,9 @@ public function __construct($data = NULL) { } /** - * Required. The query text. + * Optional. The query text. Required when using the default text search mode. * - * Generated from protobuf field string search_text = 1 [(.google.api.field_behavior) = REQUIRED]; + * Generated from protobuf field string search_text = 1 [(.google.api.field_behavior) = OPTIONAL]; * @return string */ public function getSearchText() @@ -83,9 +85,9 @@ public function getSearchText() } /** - * Required. The query text. + * Optional. The query text. Required when using the default text search mode. * - * Generated from protobuf field string search_text = 1 [(.google.api.field_behavior) = REQUIRED]; + * Generated from protobuf field string search_text = 1 [(.google.api.field_behavior) = OPTIONAL]; * @param string $var * @return $this */ @@ -98,9 +100,10 @@ public function setSearchText($var) } /** - * Required. The data field names to search. + * Optional. The data field names to search. Required when using the default + * text search mode. * - * Generated from protobuf field repeated string data_field_names = 2 [(.google.api.field_behavior) = REQUIRED]; + * Generated from protobuf field repeated string data_field_names = 2 [(.google.api.field_behavior) = OPTIONAL]; * @return RepeatedField */ public function getDataFieldNames() @@ -109,9 +112,10 @@ public function getDataFieldNames() } /** - * Required. The data field names to search. + * Optional. The data field names to search. Required when using the default + * text search mode. * - * Generated from protobuf field repeated string data_field_names = 2 [(.google.api.field_behavior) = REQUIRED]; + * Generated from protobuf field repeated string data_field_names = 2 [(.google.api.field_behavior) = OPTIONAL]; * @param string[] $var * @return $this */