• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/dialogflow/cx/v3/security_settings.proto
18 
19 package com.google.cloud.dialogflow.cx.v3;
20 
21 /**
22  *
23  *
24  * <pre>
25  * Represents the settings related to security issues, such as data redaction
26  * and data retention. It may take hours for updates on the settings to
27  * propagate to all the related components and take effect.
28  * </pre>
29  *
30  * Protobuf type {@code google.cloud.dialogflow.cx.v3.SecuritySettings}
31  */
32 public final class SecuritySettings extends com.google.protobuf.GeneratedMessageV3
33     implements
34     // @@protoc_insertion_point(message_implements:google.cloud.dialogflow.cx.v3.SecuritySettings)
35     SecuritySettingsOrBuilder {
36   private static final long serialVersionUID = 0L;
37   // Use SecuritySettings.newBuilder() to construct.
SecuritySettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)38   private SecuritySettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
39     super(builder);
40   }
41 
SecuritySettings()42   private SecuritySettings() {
43     name_ = "";
44     displayName_ = "";
45     redactionStrategy_ = 0;
46     redactionScope_ = 0;
47     inspectTemplate_ = "";
48     deidentifyTemplate_ = "";
49     purgeDataTypes_ = java.util.Collections.emptyList();
50   }
51 
52   @java.lang.Override
53   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)54   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
55     return new SecuritySettings();
56   }
57 
58   @java.lang.Override
getUnknownFields()59   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
60     return this.unknownFields;
61   }
62 
getDescriptor()63   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
64     return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
65         .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_descriptor;
66   }
67 
68   @java.lang.Override
69   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()70       internalGetFieldAccessorTable() {
71     return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
72         .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_fieldAccessorTable
73         .ensureFieldAccessorsInitialized(
74             com.google.cloud.dialogflow.cx.v3.SecuritySettings.class,
75             com.google.cloud.dialogflow.cx.v3.SecuritySettings.Builder.class);
76   }
77 
78   /**
79    *
80    *
81    * <pre>
82    * Defines how we redact data.
83    * </pre>
84    *
85    * Protobuf enum {@code google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy}
86    */
87   public enum RedactionStrategy implements com.google.protobuf.ProtocolMessageEnum {
88     /**
89      *
90      *
91      * <pre>
92      * Do not redact.
93      * </pre>
94      *
95      * <code>REDACTION_STRATEGY_UNSPECIFIED = 0;</code>
96      */
97     REDACTION_STRATEGY_UNSPECIFIED(0),
98     /**
99      *
100      *
101      * <pre>
102      * Call redaction service to clean up the data to be persisted.
103      * </pre>
104      *
105      * <code>REDACT_WITH_SERVICE = 1;</code>
106      */
107     REDACT_WITH_SERVICE(1),
108     UNRECOGNIZED(-1),
109     ;
110 
111     /**
112      *
113      *
114      * <pre>
115      * Do not redact.
116      * </pre>
117      *
118      * <code>REDACTION_STRATEGY_UNSPECIFIED = 0;</code>
119      */
120     public static final int REDACTION_STRATEGY_UNSPECIFIED_VALUE = 0;
121     /**
122      *
123      *
124      * <pre>
125      * Call redaction service to clean up the data to be persisted.
126      * </pre>
127      *
128      * <code>REDACT_WITH_SERVICE = 1;</code>
129      */
130     public static final int REDACT_WITH_SERVICE_VALUE = 1;
131 
getNumber()132     public final int getNumber() {
133       if (this == UNRECOGNIZED) {
134         throw new java.lang.IllegalArgumentException(
135             "Can't get the number of an unknown enum value.");
136       }
137       return value;
138     }
139 
140     /**
141      * @param value The numeric wire value of the corresponding enum entry.
142      * @return The enum associated with the given numeric wire value.
143      * @deprecated Use {@link #forNumber(int)} instead.
144      */
145     @java.lang.Deprecated
valueOf(int value)146     public static RedactionStrategy valueOf(int value) {
147       return forNumber(value);
148     }
149 
150     /**
151      * @param value The numeric wire value of the corresponding enum entry.
152      * @return The enum associated with the given numeric wire value.
153      */
forNumber(int value)154     public static RedactionStrategy forNumber(int value) {
155       switch (value) {
156         case 0:
157           return REDACTION_STRATEGY_UNSPECIFIED;
158         case 1:
159           return REDACT_WITH_SERVICE;
160         default:
161           return null;
162       }
163     }
164 
165     public static com.google.protobuf.Internal.EnumLiteMap<RedactionStrategy>
internalGetValueMap()166         internalGetValueMap() {
167       return internalValueMap;
168     }
169 
170     private static final com.google.protobuf.Internal.EnumLiteMap<RedactionStrategy>
171         internalValueMap =
172             new com.google.protobuf.Internal.EnumLiteMap<RedactionStrategy>() {
173               public RedactionStrategy findValueByNumber(int number) {
174                 return RedactionStrategy.forNumber(number);
175               }
176             };
177 
getValueDescriptor()178     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
179       if (this == UNRECOGNIZED) {
180         throw new java.lang.IllegalStateException(
181             "Can't get the descriptor of an unrecognized enum value.");
182       }
183       return getDescriptor().getValues().get(ordinal());
184     }
185 
getDescriptorForType()186     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
187       return getDescriptor();
188     }
189 
getDescriptor()190     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
191       return com.google.cloud.dialogflow.cx.v3.SecuritySettings.getDescriptor()
192           .getEnumTypes()
193           .get(0);
194     }
195 
196     private static final RedactionStrategy[] VALUES = values();
197 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)198     public static RedactionStrategy valueOf(
199         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
200       if (desc.getType() != getDescriptor()) {
201         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
202       }
203       if (desc.getIndex() == -1) {
204         return UNRECOGNIZED;
205       }
206       return VALUES[desc.getIndex()];
207     }
208 
209     private final int value;
210 
RedactionStrategy(int value)211     private RedactionStrategy(int value) {
212       this.value = value;
213     }
214 
215     // @@protoc_insertion_point(enum_scope:google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy)
216   }
217 
218   /**
219    *
220    *
221    * <pre>
222    * Defines what types of data to redact.
223    * </pre>
224    *
225    * Protobuf enum {@code google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope}
226    */
227   public enum RedactionScope implements com.google.protobuf.ProtocolMessageEnum {
228     /**
229      *
230      *
231      * <pre>
232      * Don't redact any kind of data.
233      * </pre>
234      *
235      * <code>REDACTION_SCOPE_UNSPECIFIED = 0;</code>
236      */
237     REDACTION_SCOPE_UNSPECIFIED(0),
238     /**
239      *
240      *
241      * <pre>
242      * On data to be written to disk or similar devices that are capable of
243      * holding data even if power is disconnected. This includes data that are
244      * temporarily saved on disk.
245      * </pre>
246      *
247      * <code>REDACT_DISK_STORAGE = 2;</code>
248      */
249     REDACT_DISK_STORAGE(2),
250     UNRECOGNIZED(-1),
251     ;
252 
253     /**
254      *
255      *
256      * <pre>
257      * Don't redact any kind of data.
258      * </pre>
259      *
260      * <code>REDACTION_SCOPE_UNSPECIFIED = 0;</code>
261      */
262     public static final int REDACTION_SCOPE_UNSPECIFIED_VALUE = 0;
263     /**
264      *
265      *
266      * <pre>
267      * On data to be written to disk or similar devices that are capable of
268      * holding data even if power is disconnected. This includes data that are
269      * temporarily saved on disk.
270      * </pre>
271      *
272      * <code>REDACT_DISK_STORAGE = 2;</code>
273      */
274     public static final int REDACT_DISK_STORAGE_VALUE = 2;
275 
getNumber()276     public final int getNumber() {
277       if (this == UNRECOGNIZED) {
278         throw new java.lang.IllegalArgumentException(
279             "Can't get the number of an unknown enum value.");
280       }
281       return value;
282     }
283 
284     /**
285      * @param value The numeric wire value of the corresponding enum entry.
286      * @return The enum associated with the given numeric wire value.
287      * @deprecated Use {@link #forNumber(int)} instead.
288      */
289     @java.lang.Deprecated
valueOf(int value)290     public static RedactionScope valueOf(int value) {
291       return forNumber(value);
292     }
293 
294     /**
295      * @param value The numeric wire value of the corresponding enum entry.
296      * @return The enum associated with the given numeric wire value.
297      */
forNumber(int value)298     public static RedactionScope forNumber(int value) {
299       switch (value) {
300         case 0:
301           return REDACTION_SCOPE_UNSPECIFIED;
302         case 2:
303           return REDACT_DISK_STORAGE;
304         default:
305           return null;
306       }
307     }
308 
internalGetValueMap()309     public static com.google.protobuf.Internal.EnumLiteMap<RedactionScope> internalGetValueMap() {
310       return internalValueMap;
311     }
312 
313     private static final com.google.protobuf.Internal.EnumLiteMap<RedactionScope> internalValueMap =
314         new com.google.protobuf.Internal.EnumLiteMap<RedactionScope>() {
315           public RedactionScope findValueByNumber(int number) {
316             return RedactionScope.forNumber(number);
317           }
318         };
319 
getValueDescriptor()320     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
321       if (this == UNRECOGNIZED) {
322         throw new java.lang.IllegalStateException(
323             "Can't get the descriptor of an unrecognized enum value.");
324       }
325       return getDescriptor().getValues().get(ordinal());
326     }
327 
getDescriptorForType()328     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
329       return getDescriptor();
330     }
331 
getDescriptor()332     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
333       return com.google.cloud.dialogflow.cx.v3.SecuritySettings.getDescriptor()
334           .getEnumTypes()
335           .get(1);
336     }
337 
338     private static final RedactionScope[] VALUES = values();
339 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)340     public static RedactionScope valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
341       if (desc.getType() != getDescriptor()) {
342         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
343       }
344       if (desc.getIndex() == -1) {
345         return UNRECOGNIZED;
346       }
347       return VALUES[desc.getIndex()];
348     }
349 
350     private final int value;
351 
RedactionScope(int value)352     private RedactionScope(int value) {
353       this.value = value;
354     }
355 
356     // @@protoc_insertion_point(enum_scope:google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope)
357   }
358 
359   /**
360    *
361    *
362    * <pre>
363    * Type of data we purge after retention settings triggers purge.
364    * </pre>
365    *
366    * Protobuf enum {@code google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType}
367    */
368   public enum PurgeDataType implements com.google.protobuf.ProtocolMessageEnum {
369     /**
370      *
371      *
372      * <pre>
373      * Unspecified. Do not use.
374      * </pre>
375      *
376      * <code>PURGE_DATA_TYPE_UNSPECIFIED = 0;</code>
377      */
378     PURGE_DATA_TYPE_UNSPECIFIED(0),
379     /**
380      *
381      *
382      * <pre>
383      * Dialogflow history. This does not include Cloud logging, which is
384      * owned by the user - not Dialogflow.
385      * </pre>
386      *
387      * <code>DIALOGFLOW_HISTORY = 1;</code>
388      */
389     DIALOGFLOW_HISTORY(1),
390     UNRECOGNIZED(-1),
391     ;
392 
393     /**
394      *
395      *
396      * <pre>
397      * Unspecified. Do not use.
398      * </pre>
399      *
400      * <code>PURGE_DATA_TYPE_UNSPECIFIED = 0;</code>
401      */
402     public static final int PURGE_DATA_TYPE_UNSPECIFIED_VALUE = 0;
403     /**
404      *
405      *
406      * <pre>
407      * Dialogflow history. This does not include Cloud logging, which is
408      * owned by the user - not Dialogflow.
409      * </pre>
410      *
411      * <code>DIALOGFLOW_HISTORY = 1;</code>
412      */
413     public static final int DIALOGFLOW_HISTORY_VALUE = 1;
414 
getNumber()415     public final int getNumber() {
416       if (this == UNRECOGNIZED) {
417         throw new java.lang.IllegalArgumentException(
418             "Can't get the number of an unknown enum value.");
419       }
420       return value;
421     }
422 
423     /**
424      * @param value The numeric wire value of the corresponding enum entry.
425      * @return The enum associated with the given numeric wire value.
426      * @deprecated Use {@link #forNumber(int)} instead.
427      */
428     @java.lang.Deprecated
valueOf(int value)429     public static PurgeDataType valueOf(int value) {
430       return forNumber(value);
431     }
432 
433     /**
434      * @param value The numeric wire value of the corresponding enum entry.
435      * @return The enum associated with the given numeric wire value.
436      */
forNumber(int value)437     public static PurgeDataType forNumber(int value) {
438       switch (value) {
439         case 0:
440           return PURGE_DATA_TYPE_UNSPECIFIED;
441         case 1:
442           return DIALOGFLOW_HISTORY;
443         default:
444           return null;
445       }
446     }
447 
internalGetValueMap()448     public static com.google.protobuf.Internal.EnumLiteMap<PurgeDataType> internalGetValueMap() {
449       return internalValueMap;
450     }
451 
452     private static final com.google.protobuf.Internal.EnumLiteMap<PurgeDataType> internalValueMap =
453         new com.google.protobuf.Internal.EnumLiteMap<PurgeDataType>() {
454           public PurgeDataType findValueByNumber(int number) {
455             return PurgeDataType.forNumber(number);
456           }
457         };
458 
getValueDescriptor()459     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
460       if (this == UNRECOGNIZED) {
461         throw new java.lang.IllegalStateException(
462             "Can't get the descriptor of an unrecognized enum value.");
463       }
464       return getDescriptor().getValues().get(ordinal());
465     }
466 
getDescriptorForType()467     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
468       return getDescriptor();
469     }
470 
getDescriptor()471     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
472       return com.google.cloud.dialogflow.cx.v3.SecuritySettings.getDescriptor()
473           .getEnumTypes()
474           .get(2);
475     }
476 
477     private static final PurgeDataType[] VALUES = values();
478 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)479     public static PurgeDataType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
480       if (desc.getType() != getDescriptor()) {
481         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
482       }
483       if (desc.getIndex() == -1) {
484         return UNRECOGNIZED;
485       }
486       return VALUES[desc.getIndex()];
487     }
488 
489     private final int value;
490 
PurgeDataType(int value)491     private PurgeDataType(int value) {
492       this.value = value;
493     }
494 
495     // @@protoc_insertion_point(enum_scope:google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType)
496   }
497 
498   public interface AudioExportSettingsOrBuilder
499       extends
500       // @@protoc_insertion_point(interface_extends:google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings)
501       com.google.protobuf.MessageOrBuilder {
502 
503     /**
504      *
505      *
506      * <pre>
507      * Cloud Storage bucket to export audio record to.
508      * Setting this field would grant the Storage Object Creator role to
509      * the Dialogflow Service Agent.
510      * API caller that tries to modify this field should have the permission of
511      * storage.buckets.setIamPolicy.
512      * </pre>
513      *
514      * <code>string gcs_bucket = 1;</code>
515      *
516      * @return The gcsBucket.
517      */
getGcsBucket()518     java.lang.String getGcsBucket();
519     /**
520      *
521      *
522      * <pre>
523      * Cloud Storage bucket to export audio record to.
524      * Setting this field would grant the Storage Object Creator role to
525      * the Dialogflow Service Agent.
526      * API caller that tries to modify this field should have the permission of
527      * storage.buckets.setIamPolicy.
528      * </pre>
529      *
530      * <code>string gcs_bucket = 1;</code>
531      *
532      * @return The bytes for gcsBucket.
533      */
getGcsBucketBytes()534     com.google.protobuf.ByteString getGcsBucketBytes();
535 
536     /**
537      *
538      *
539      * <pre>
540      * Filename pattern for exported audio.
541      * </pre>
542      *
543      * <code>string audio_export_pattern = 2;</code>
544      *
545      * @return The audioExportPattern.
546      */
getAudioExportPattern()547     java.lang.String getAudioExportPattern();
548     /**
549      *
550      *
551      * <pre>
552      * Filename pattern for exported audio.
553      * </pre>
554      *
555      * <code>string audio_export_pattern = 2;</code>
556      *
557      * @return The bytes for audioExportPattern.
558      */
getAudioExportPatternBytes()559     com.google.protobuf.ByteString getAudioExportPatternBytes();
560 
561     /**
562      *
563      *
564      * <pre>
565      * Enable audio redaction if it is true.
566      * </pre>
567      *
568      * <code>bool enable_audio_redaction = 3;</code>
569      *
570      * @return The enableAudioRedaction.
571      */
getEnableAudioRedaction()572     boolean getEnableAudioRedaction();
573 
574     /**
575      *
576      *
577      * <pre>
578      * File format for exported audio file. Currently only in telephony
579      * recordings.
580      * </pre>
581      *
582      * <code>
583      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat audio_format = 4;
584      * </code>
585      *
586      * @return The enum numeric value on the wire for audioFormat.
587      */
getAudioFormatValue()588     int getAudioFormatValue();
589     /**
590      *
591      *
592      * <pre>
593      * File format for exported audio file. Currently only in telephony
594      * recordings.
595      * </pre>
596      *
597      * <code>
598      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat audio_format = 4;
599      * </code>
600      *
601      * @return The audioFormat.
602      */
603     com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat
getAudioFormat()604         getAudioFormat();
605   }
606   /**
607    *
608    *
609    * <pre>
610    * Settings for exporting audio.
611    * </pre>
612    *
613    * Protobuf type {@code google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings}
614    */
615   public static final class AudioExportSettings extends com.google.protobuf.GeneratedMessageV3
616       implements
617       // @@protoc_insertion_point(message_implements:google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings)
618       AudioExportSettingsOrBuilder {
619     private static final long serialVersionUID = 0L;
620     // Use AudioExportSettings.newBuilder() to construct.
AudioExportSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)621     private AudioExportSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
622       super(builder);
623     }
624 
AudioExportSettings()625     private AudioExportSettings() {
626       gcsBucket_ = "";
627       audioExportPattern_ = "";
628       audioFormat_ = 0;
629     }
630 
631     @java.lang.Override
632     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)633     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
634       return new AudioExportSettings();
635     }
636 
637     @java.lang.Override
getUnknownFields()638     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
639       return this.unknownFields;
640     }
641 
getDescriptor()642     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
643       return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
644           .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_AudioExportSettings_descriptor;
645     }
646 
647     @java.lang.Override
648     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()649         internalGetFieldAccessorTable() {
650       return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
651           .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_AudioExportSettings_fieldAccessorTable
652           .ensureFieldAccessorsInitialized(
653               com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.class,
654               com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.Builder.class);
655     }
656 
657     /**
658      *
659      *
660      * <pre>
661      * File format for exported audio file. Currently only in telephony
662      * recordings.
663      * </pre>
664      *
665      * Protobuf enum {@code
666      * google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat}
667      */
668     public enum AudioFormat implements com.google.protobuf.ProtocolMessageEnum {
669       /**
670        *
671        *
672        * <pre>
673        * Unspecified. Do not use.
674        * </pre>
675        *
676        * <code>AUDIO_FORMAT_UNSPECIFIED = 0;</code>
677        */
678       AUDIO_FORMAT_UNSPECIFIED(0),
679       /**
680        *
681        *
682        * <pre>
683        * G.711 mu-law PCM with 8kHz sample rate.
684        * </pre>
685        *
686        * <code>MULAW = 1;</code>
687        */
688       MULAW(1),
689       /**
690        *
691        *
692        * <pre>
693        * MP3 file format.
694        * </pre>
695        *
696        * <code>MP3 = 2;</code>
697        */
698       MP3(2),
699       /**
700        *
701        *
702        * <pre>
703        * OGG Vorbis.
704        * </pre>
705        *
706        * <code>OGG = 3;</code>
707        */
708       OGG(3),
709       UNRECOGNIZED(-1),
710       ;
711 
712       /**
713        *
714        *
715        * <pre>
716        * Unspecified. Do not use.
717        * </pre>
718        *
719        * <code>AUDIO_FORMAT_UNSPECIFIED = 0;</code>
720        */
721       public static final int AUDIO_FORMAT_UNSPECIFIED_VALUE = 0;
722       /**
723        *
724        *
725        * <pre>
726        * G.711 mu-law PCM with 8kHz sample rate.
727        * </pre>
728        *
729        * <code>MULAW = 1;</code>
730        */
731       public static final int MULAW_VALUE = 1;
732       /**
733        *
734        *
735        * <pre>
736        * MP3 file format.
737        * </pre>
738        *
739        * <code>MP3 = 2;</code>
740        */
741       public static final int MP3_VALUE = 2;
742       /**
743        *
744        *
745        * <pre>
746        * OGG Vorbis.
747        * </pre>
748        *
749        * <code>OGG = 3;</code>
750        */
751       public static final int OGG_VALUE = 3;
752 
getNumber()753       public final int getNumber() {
754         if (this == UNRECOGNIZED) {
755           throw new java.lang.IllegalArgumentException(
756               "Can't get the number of an unknown enum value.");
757         }
758         return value;
759       }
760 
761       /**
762        * @param value The numeric wire value of the corresponding enum entry.
763        * @return The enum associated with the given numeric wire value.
764        * @deprecated Use {@link #forNumber(int)} instead.
765        */
766       @java.lang.Deprecated
valueOf(int value)767       public static AudioFormat valueOf(int value) {
768         return forNumber(value);
769       }
770 
771       /**
772        * @param value The numeric wire value of the corresponding enum entry.
773        * @return The enum associated with the given numeric wire value.
774        */
forNumber(int value)775       public static AudioFormat forNumber(int value) {
776         switch (value) {
777           case 0:
778             return AUDIO_FORMAT_UNSPECIFIED;
779           case 1:
780             return MULAW;
781           case 2:
782             return MP3;
783           case 3:
784             return OGG;
785           default:
786             return null;
787         }
788       }
789 
internalGetValueMap()790       public static com.google.protobuf.Internal.EnumLiteMap<AudioFormat> internalGetValueMap() {
791         return internalValueMap;
792       }
793 
794       private static final com.google.protobuf.Internal.EnumLiteMap<AudioFormat> internalValueMap =
795           new com.google.protobuf.Internal.EnumLiteMap<AudioFormat>() {
796             public AudioFormat findValueByNumber(int number) {
797               return AudioFormat.forNumber(number);
798             }
799           };
800 
getValueDescriptor()801       public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
802         if (this == UNRECOGNIZED) {
803           throw new java.lang.IllegalStateException(
804               "Can't get the descriptor of an unrecognized enum value.");
805         }
806         return getDescriptor().getValues().get(ordinal());
807       }
808 
getDescriptorForType()809       public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
810         return getDescriptor();
811       }
812 
getDescriptor()813       public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
814         return com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
815             .getDescriptor()
816             .getEnumTypes()
817             .get(0);
818       }
819 
820       private static final AudioFormat[] VALUES = values();
821 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)822       public static AudioFormat valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
823         if (desc.getType() != getDescriptor()) {
824           throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
825         }
826         if (desc.getIndex() == -1) {
827           return UNRECOGNIZED;
828         }
829         return VALUES[desc.getIndex()];
830       }
831 
832       private final int value;
833 
AudioFormat(int value)834       private AudioFormat(int value) {
835         this.value = value;
836       }
837 
838       // @@protoc_insertion_point(enum_scope:google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat)
839     }
840 
841     public static final int GCS_BUCKET_FIELD_NUMBER = 1;
842 
843     @SuppressWarnings("serial")
844     private volatile java.lang.Object gcsBucket_ = "";
845     /**
846      *
847      *
848      * <pre>
849      * Cloud Storage bucket to export audio record to.
850      * Setting this field would grant the Storage Object Creator role to
851      * the Dialogflow Service Agent.
852      * API caller that tries to modify this field should have the permission of
853      * storage.buckets.setIamPolicy.
854      * </pre>
855      *
856      * <code>string gcs_bucket = 1;</code>
857      *
858      * @return The gcsBucket.
859      */
860     @java.lang.Override
getGcsBucket()861     public java.lang.String getGcsBucket() {
862       java.lang.Object ref = gcsBucket_;
863       if (ref instanceof java.lang.String) {
864         return (java.lang.String) ref;
865       } else {
866         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
867         java.lang.String s = bs.toStringUtf8();
868         gcsBucket_ = s;
869         return s;
870       }
871     }
872     /**
873      *
874      *
875      * <pre>
876      * Cloud Storage bucket to export audio record to.
877      * Setting this field would grant the Storage Object Creator role to
878      * the Dialogflow Service Agent.
879      * API caller that tries to modify this field should have the permission of
880      * storage.buckets.setIamPolicy.
881      * </pre>
882      *
883      * <code>string gcs_bucket = 1;</code>
884      *
885      * @return The bytes for gcsBucket.
886      */
887     @java.lang.Override
getGcsBucketBytes()888     public com.google.protobuf.ByteString getGcsBucketBytes() {
889       java.lang.Object ref = gcsBucket_;
890       if (ref instanceof java.lang.String) {
891         com.google.protobuf.ByteString b =
892             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
893         gcsBucket_ = b;
894         return b;
895       } else {
896         return (com.google.protobuf.ByteString) ref;
897       }
898     }
899 
900     public static final int AUDIO_EXPORT_PATTERN_FIELD_NUMBER = 2;
901 
902     @SuppressWarnings("serial")
903     private volatile java.lang.Object audioExportPattern_ = "";
904     /**
905      *
906      *
907      * <pre>
908      * Filename pattern for exported audio.
909      * </pre>
910      *
911      * <code>string audio_export_pattern = 2;</code>
912      *
913      * @return The audioExportPattern.
914      */
915     @java.lang.Override
getAudioExportPattern()916     public java.lang.String getAudioExportPattern() {
917       java.lang.Object ref = audioExportPattern_;
918       if (ref instanceof java.lang.String) {
919         return (java.lang.String) ref;
920       } else {
921         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
922         java.lang.String s = bs.toStringUtf8();
923         audioExportPattern_ = s;
924         return s;
925       }
926     }
927     /**
928      *
929      *
930      * <pre>
931      * Filename pattern for exported audio.
932      * </pre>
933      *
934      * <code>string audio_export_pattern = 2;</code>
935      *
936      * @return The bytes for audioExportPattern.
937      */
938     @java.lang.Override
getAudioExportPatternBytes()939     public com.google.protobuf.ByteString getAudioExportPatternBytes() {
940       java.lang.Object ref = audioExportPattern_;
941       if (ref instanceof java.lang.String) {
942         com.google.protobuf.ByteString b =
943             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
944         audioExportPattern_ = b;
945         return b;
946       } else {
947         return (com.google.protobuf.ByteString) ref;
948       }
949     }
950 
951     public static final int ENABLE_AUDIO_REDACTION_FIELD_NUMBER = 3;
952     private boolean enableAudioRedaction_ = false;
953     /**
954      *
955      *
956      * <pre>
957      * Enable audio redaction if it is true.
958      * </pre>
959      *
960      * <code>bool enable_audio_redaction = 3;</code>
961      *
962      * @return The enableAudioRedaction.
963      */
964     @java.lang.Override
getEnableAudioRedaction()965     public boolean getEnableAudioRedaction() {
966       return enableAudioRedaction_;
967     }
968 
969     public static final int AUDIO_FORMAT_FIELD_NUMBER = 4;
970     private int audioFormat_ = 0;
971     /**
972      *
973      *
974      * <pre>
975      * File format for exported audio file. Currently only in telephony
976      * recordings.
977      * </pre>
978      *
979      * <code>
980      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat audio_format = 4;
981      * </code>
982      *
983      * @return The enum numeric value on the wire for audioFormat.
984      */
985     @java.lang.Override
getAudioFormatValue()986     public int getAudioFormatValue() {
987       return audioFormat_;
988     }
989     /**
990      *
991      *
992      * <pre>
993      * File format for exported audio file. Currently only in telephony
994      * recordings.
995      * </pre>
996      *
997      * <code>
998      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat audio_format = 4;
999      * </code>
1000      *
1001      * @return The audioFormat.
1002      */
1003     @java.lang.Override
1004     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat
getAudioFormat()1005         getAudioFormat() {
1006       com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat result =
1007           com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat
1008               .forNumber(audioFormat_);
1009       return result == null
1010           ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat
1011               .UNRECOGNIZED
1012           : result;
1013     }
1014 
1015     private byte memoizedIsInitialized = -1;
1016 
1017     @java.lang.Override
isInitialized()1018     public final boolean isInitialized() {
1019       byte isInitialized = memoizedIsInitialized;
1020       if (isInitialized == 1) return true;
1021       if (isInitialized == 0) return false;
1022 
1023       memoizedIsInitialized = 1;
1024       return true;
1025     }
1026 
1027     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1028     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1029       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gcsBucket_)) {
1030         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, gcsBucket_);
1031       }
1032       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(audioExportPattern_)) {
1033         com.google.protobuf.GeneratedMessageV3.writeString(output, 2, audioExportPattern_);
1034       }
1035       if (enableAudioRedaction_ != false) {
1036         output.writeBool(3, enableAudioRedaction_);
1037       }
1038       if (audioFormat_
1039           != com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat
1040               .AUDIO_FORMAT_UNSPECIFIED
1041               .getNumber()) {
1042         output.writeEnum(4, audioFormat_);
1043       }
1044       getUnknownFields().writeTo(output);
1045     }
1046 
1047     @java.lang.Override
getSerializedSize()1048     public int getSerializedSize() {
1049       int size = memoizedSize;
1050       if (size != -1) return size;
1051 
1052       size = 0;
1053       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gcsBucket_)) {
1054         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, gcsBucket_);
1055       }
1056       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(audioExportPattern_)) {
1057         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, audioExportPattern_);
1058       }
1059       if (enableAudioRedaction_ != false) {
1060         size += com.google.protobuf.CodedOutputStream.computeBoolSize(3, enableAudioRedaction_);
1061       }
1062       if (audioFormat_
1063           != com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat
1064               .AUDIO_FORMAT_UNSPECIFIED
1065               .getNumber()) {
1066         size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, audioFormat_);
1067       }
1068       size += getUnknownFields().getSerializedSize();
1069       memoizedSize = size;
1070       return size;
1071     }
1072 
1073     @java.lang.Override
equals(final java.lang.Object obj)1074     public boolean equals(final java.lang.Object obj) {
1075       if (obj == this) {
1076         return true;
1077       }
1078       if (!(obj
1079           instanceof com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings)) {
1080         return super.equals(obj);
1081       }
1082       com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings other =
1083           (com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings) obj;
1084 
1085       if (!getGcsBucket().equals(other.getGcsBucket())) return false;
1086       if (!getAudioExportPattern().equals(other.getAudioExportPattern())) return false;
1087       if (getEnableAudioRedaction() != other.getEnableAudioRedaction()) return false;
1088       if (audioFormat_ != other.audioFormat_) return false;
1089       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1090       return true;
1091     }
1092 
1093     @java.lang.Override
hashCode()1094     public int hashCode() {
1095       if (memoizedHashCode != 0) {
1096         return memoizedHashCode;
1097       }
1098       int hash = 41;
1099       hash = (19 * hash) + getDescriptor().hashCode();
1100       hash = (37 * hash) + GCS_BUCKET_FIELD_NUMBER;
1101       hash = (53 * hash) + getGcsBucket().hashCode();
1102       hash = (37 * hash) + AUDIO_EXPORT_PATTERN_FIELD_NUMBER;
1103       hash = (53 * hash) + getAudioExportPattern().hashCode();
1104       hash = (37 * hash) + ENABLE_AUDIO_REDACTION_FIELD_NUMBER;
1105       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getEnableAudioRedaction());
1106       hash = (37 * hash) + AUDIO_FORMAT_FIELD_NUMBER;
1107       hash = (53 * hash) + audioFormat_;
1108       hash = (29 * hash) + getUnknownFields().hashCode();
1109       memoizedHashCode = hash;
1110       return hash;
1111     }
1112 
parseFrom( java.nio.ByteBuffer data)1113     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings parseFrom(
1114         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
1115       return PARSER.parseFrom(data);
1116     }
1117 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1118     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings parseFrom(
1119         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1120         throws com.google.protobuf.InvalidProtocolBufferException {
1121       return PARSER.parseFrom(data, extensionRegistry);
1122     }
1123 
parseFrom( com.google.protobuf.ByteString data)1124     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings parseFrom(
1125         com.google.protobuf.ByteString data)
1126         throws com.google.protobuf.InvalidProtocolBufferException {
1127       return PARSER.parseFrom(data);
1128     }
1129 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1130     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings parseFrom(
1131         com.google.protobuf.ByteString data,
1132         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1133         throws com.google.protobuf.InvalidProtocolBufferException {
1134       return PARSER.parseFrom(data, extensionRegistry);
1135     }
1136 
parseFrom( byte[] data)1137     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings parseFrom(
1138         byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
1139       return PARSER.parseFrom(data);
1140     }
1141 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1142     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings parseFrom(
1143         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1144         throws com.google.protobuf.InvalidProtocolBufferException {
1145       return PARSER.parseFrom(data, extensionRegistry);
1146     }
1147 
parseFrom( java.io.InputStream input)1148     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings parseFrom(
1149         java.io.InputStream input) throws java.io.IOException {
1150       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1151     }
1152 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1153     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings parseFrom(
1154         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1155         throws java.io.IOException {
1156       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1157           PARSER, input, extensionRegistry);
1158     }
1159 
1160     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
parseDelimitedFrom(java.io.InputStream input)1161         parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
1162       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1163     }
1164 
1165     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1166         parseDelimitedFrom(
1167             java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1168             throws java.io.IOException {
1169       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1170           PARSER, input, extensionRegistry);
1171     }
1172 
parseFrom( com.google.protobuf.CodedInputStream input)1173     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings parseFrom(
1174         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1175       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1176     }
1177 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1178     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings parseFrom(
1179         com.google.protobuf.CodedInputStream input,
1180         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1181         throws java.io.IOException {
1182       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1183           PARSER, input, extensionRegistry);
1184     }
1185 
1186     @java.lang.Override
newBuilderForType()1187     public Builder newBuilderForType() {
1188       return newBuilder();
1189     }
1190 
newBuilder()1191     public static Builder newBuilder() {
1192       return DEFAULT_INSTANCE.toBuilder();
1193     }
1194 
newBuilder( com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings prototype)1195     public static Builder newBuilder(
1196         com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings prototype) {
1197       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1198     }
1199 
1200     @java.lang.Override
toBuilder()1201     public Builder toBuilder() {
1202       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1203     }
1204 
1205     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1206     protected Builder newBuilderForType(
1207         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1208       Builder builder = new Builder(parent);
1209       return builder;
1210     }
1211     /**
1212      *
1213      *
1214      * <pre>
1215      * Settings for exporting audio.
1216      * </pre>
1217      *
1218      * Protobuf type {@code google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings}
1219      */
1220     public static final class Builder
1221         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1222         implements
1223         // @@protoc_insertion_point(builder_implements:google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings)
1224         com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettingsOrBuilder {
getDescriptor()1225       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1226         return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
1227             .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_AudioExportSettings_descriptor;
1228       }
1229 
1230       @java.lang.Override
1231       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1232           internalGetFieldAccessorTable() {
1233         return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
1234             .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_AudioExportSettings_fieldAccessorTable
1235             .ensureFieldAccessorsInitialized(
1236                 com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.class,
1237                 com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.Builder
1238                     .class);
1239       }
1240 
1241       // Construct using
1242       // com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.newBuilder()
Builder()1243       private Builder() {}
1244 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1245       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1246         super(parent);
1247       }
1248 
1249       @java.lang.Override
clear()1250       public Builder clear() {
1251         super.clear();
1252         bitField0_ = 0;
1253         gcsBucket_ = "";
1254         audioExportPattern_ = "";
1255         enableAudioRedaction_ = false;
1256         audioFormat_ = 0;
1257         return this;
1258       }
1259 
1260       @java.lang.Override
getDescriptorForType()1261       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1262         return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
1263             .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_AudioExportSettings_descriptor;
1264       }
1265 
1266       @java.lang.Override
1267       public com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
getDefaultInstanceForType()1268           getDefaultInstanceForType() {
1269         return com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
1270             .getDefaultInstance();
1271       }
1272 
1273       @java.lang.Override
build()1274       public com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings build() {
1275         com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings result =
1276             buildPartial();
1277         if (!result.isInitialized()) {
1278           throw newUninitializedMessageException(result);
1279         }
1280         return result;
1281       }
1282 
1283       @java.lang.Override
buildPartial()1284       public com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings buildPartial() {
1285         com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings result =
1286             new com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings(this);
1287         if (bitField0_ != 0) {
1288           buildPartial0(result);
1289         }
1290         onBuilt();
1291         return result;
1292       }
1293 
buildPartial0( com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings result)1294       private void buildPartial0(
1295           com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings result) {
1296         int from_bitField0_ = bitField0_;
1297         if (((from_bitField0_ & 0x00000001) != 0)) {
1298           result.gcsBucket_ = gcsBucket_;
1299         }
1300         if (((from_bitField0_ & 0x00000002) != 0)) {
1301           result.audioExportPattern_ = audioExportPattern_;
1302         }
1303         if (((from_bitField0_ & 0x00000004) != 0)) {
1304           result.enableAudioRedaction_ = enableAudioRedaction_;
1305         }
1306         if (((from_bitField0_ & 0x00000008) != 0)) {
1307           result.audioFormat_ = audioFormat_;
1308         }
1309       }
1310 
1311       @java.lang.Override
clone()1312       public Builder clone() {
1313         return super.clone();
1314       }
1315 
1316       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1317       public Builder setField(
1318           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1319         return super.setField(field, value);
1320       }
1321 
1322       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1323       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1324         return super.clearField(field);
1325       }
1326 
1327       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1328       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1329         return super.clearOneof(oneof);
1330       }
1331 
1332       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1333       public Builder setRepeatedField(
1334           com.google.protobuf.Descriptors.FieldDescriptor field,
1335           int index,
1336           java.lang.Object value) {
1337         return super.setRepeatedField(field, index, value);
1338       }
1339 
1340       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1341       public Builder addRepeatedField(
1342           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1343         return super.addRepeatedField(field, value);
1344       }
1345 
1346       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1347       public Builder mergeFrom(com.google.protobuf.Message other) {
1348         if (other
1349             instanceof com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings) {
1350           return mergeFrom(
1351               (com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings) other);
1352         } else {
1353           super.mergeFrom(other);
1354           return this;
1355         }
1356       }
1357 
mergeFrom( com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings other)1358       public Builder mergeFrom(
1359           com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings other) {
1360         if (other
1361             == com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
1362                 .getDefaultInstance()) return this;
1363         if (!other.getGcsBucket().isEmpty()) {
1364           gcsBucket_ = other.gcsBucket_;
1365           bitField0_ |= 0x00000001;
1366           onChanged();
1367         }
1368         if (!other.getAudioExportPattern().isEmpty()) {
1369           audioExportPattern_ = other.audioExportPattern_;
1370           bitField0_ |= 0x00000002;
1371           onChanged();
1372         }
1373         if (other.getEnableAudioRedaction() != false) {
1374           setEnableAudioRedaction(other.getEnableAudioRedaction());
1375         }
1376         if (other.audioFormat_ != 0) {
1377           setAudioFormatValue(other.getAudioFormatValue());
1378         }
1379         this.mergeUnknownFields(other.getUnknownFields());
1380         onChanged();
1381         return this;
1382       }
1383 
1384       @java.lang.Override
isInitialized()1385       public final boolean isInitialized() {
1386         return true;
1387       }
1388 
1389       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1390       public Builder mergeFrom(
1391           com.google.protobuf.CodedInputStream input,
1392           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1393           throws java.io.IOException {
1394         if (extensionRegistry == null) {
1395           throw new java.lang.NullPointerException();
1396         }
1397         try {
1398           boolean done = false;
1399           while (!done) {
1400             int tag = input.readTag();
1401             switch (tag) {
1402               case 0:
1403                 done = true;
1404                 break;
1405               case 10:
1406                 {
1407                   gcsBucket_ = input.readStringRequireUtf8();
1408                   bitField0_ |= 0x00000001;
1409                   break;
1410                 } // case 10
1411               case 18:
1412                 {
1413                   audioExportPattern_ = input.readStringRequireUtf8();
1414                   bitField0_ |= 0x00000002;
1415                   break;
1416                 } // case 18
1417               case 24:
1418                 {
1419                   enableAudioRedaction_ = input.readBool();
1420                   bitField0_ |= 0x00000004;
1421                   break;
1422                 } // case 24
1423               case 32:
1424                 {
1425                   audioFormat_ = input.readEnum();
1426                   bitField0_ |= 0x00000008;
1427                   break;
1428                 } // case 32
1429               default:
1430                 {
1431                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1432                     done = true; // was an endgroup tag
1433                   }
1434                   break;
1435                 } // default:
1436             } // switch (tag)
1437           } // while (!done)
1438         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1439           throw e.unwrapIOException();
1440         } finally {
1441           onChanged();
1442         } // finally
1443         return this;
1444       }
1445 
1446       private int bitField0_;
1447 
1448       private java.lang.Object gcsBucket_ = "";
1449       /**
1450        *
1451        *
1452        * <pre>
1453        * Cloud Storage bucket to export audio record to.
1454        * Setting this field would grant the Storage Object Creator role to
1455        * the Dialogflow Service Agent.
1456        * API caller that tries to modify this field should have the permission of
1457        * storage.buckets.setIamPolicy.
1458        * </pre>
1459        *
1460        * <code>string gcs_bucket = 1;</code>
1461        *
1462        * @return The gcsBucket.
1463        */
getGcsBucket()1464       public java.lang.String getGcsBucket() {
1465         java.lang.Object ref = gcsBucket_;
1466         if (!(ref instanceof java.lang.String)) {
1467           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1468           java.lang.String s = bs.toStringUtf8();
1469           gcsBucket_ = s;
1470           return s;
1471         } else {
1472           return (java.lang.String) ref;
1473         }
1474       }
1475       /**
1476        *
1477        *
1478        * <pre>
1479        * Cloud Storage bucket to export audio record to.
1480        * Setting this field would grant the Storage Object Creator role to
1481        * the Dialogflow Service Agent.
1482        * API caller that tries to modify this field should have the permission of
1483        * storage.buckets.setIamPolicy.
1484        * </pre>
1485        *
1486        * <code>string gcs_bucket = 1;</code>
1487        *
1488        * @return The bytes for gcsBucket.
1489        */
getGcsBucketBytes()1490       public com.google.protobuf.ByteString getGcsBucketBytes() {
1491         java.lang.Object ref = gcsBucket_;
1492         if (ref instanceof String) {
1493           com.google.protobuf.ByteString b =
1494               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1495           gcsBucket_ = b;
1496           return b;
1497         } else {
1498           return (com.google.protobuf.ByteString) ref;
1499         }
1500       }
1501       /**
1502        *
1503        *
1504        * <pre>
1505        * Cloud Storage bucket to export audio record to.
1506        * Setting this field would grant the Storage Object Creator role to
1507        * the Dialogflow Service Agent.
1508        * API caller that tries to modify this field should have the permission of
1509        * storage.buckets.setIamPolicy.
1510        * </pre>
1511        *
1512        * <code>string gcs_bucket = 1;</code>
1513        *
1514        * @param value The gcsBucket to set.
1515        * @return This builder for chaining.
1516        */
setGcsBucket(java.lang.String value)1517       public Builder setGcsBucket(java.lang.String value) {
1518         if (value == null) {
1519           throw new NullPointerException();
1520         }
1521         gcsBucket_ = value;
1522         bitField0_ |= 0x00000001;
1523         onChanged();
1524         return this;
1525       }
1526       /**
1527        *
1528        *
1529        * <pre>
1530        * Cloud Storage bucket to export audio record to.
1531        * Setting this field would grant the Storage Object Creator role to
1532        * the Dialogflow Service Agent.
1533        * API caller that tries to modify this field should have the permission of
1534        * storage.buckets.setIamPolicy.
1535        * </pre>
1536        *
1537        * <code>string gcs_bucket = 1;</code>
1538        *
1539        * @return This builder for chaining.
1540        */
clearGcsBucket()1541       public Builder clearGcsBucket() {
1542         gcsBucket_ = getDefaultInstance().getGcsBucket();
1543         bitField0_ = (bitField0_ & ~0x00000001);
1544         onChanged();
1545         return this;
1546       }
1547       /**
1548        *
1549        *
1550        * <pre>
1551        * Cloud Storage bucket to export audio record to.
1552        * Setting this field would grant the Storage Object Creator role to
1553        * the Dialogflow Service Agent.
1554        * API caller that tries to modify this field should have the permission of
1555        * storage.buckets.setIamPolicy.
1556        * </pre>
1557        *
1558        * <code>string gcs_bucket = 1;</code>
1559        *
1560        * @param value The bytes for gcsBucket to set.
1561        * @return This builder for chaining.
1562        */
setGcsBucketBytes(com.google.protobuf.ByteString value)1563       public Builder setGcsBucketBytes(com.google.protobuf.ByteString value) {
1564         if (value == null) {
1565           throw new NullPointerException();
1566         }
1567         checkByteStringIsUtf8(value);
1568         gcsBucket_ = value;
1569         bitField0_ |= 0x00000001;
1570         onChanged();
1571         return this;
1572       }
1573 
1574       private java.lang.Object audioExportPattern_ = "";
1575       /**
1576        *
1577        *
1578        * <pre>
1579        * Filename pattern for exported audio.
1580        * </pre>
1581        *
1582        * <code>string audio_export_pattern = 2;</code>
1583        *
1584        * @return The audioExportPattern.
1585        */
getAudioExportPattern()1586       public java.lang.String getAudioExportPattern() {
1587         java.lang.Object ref = audioExportPattern_;
1588         if (!(ref instanceof java.lang.String)) {
1589           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1590           java.lang.String s = bs.toStringUtf8();
1591           audioExportPattern_ = s;
1592           return s;
1593         } else {
1594           return (java.lang.String) ref;
1595         }
1596       }
1597       /**
1598        *
1599        *
1600        * <pre>
1601        * Filename pattern for exported audio.
1602        * </pre>
1603        *
1604        * <code>string audio_export_pattern = 2;</code>
1605        *
1606        * @return The bytes for audioExportPattern.
1607        */
getAudioExportPatternBytes()1608       public com.google.protobuf.ByteString getAudioExportPatternBytes() {
1609         java.lang.Object ref = audioExportPattern_;
1610         if (ref instanceof String) {
1611           com.google.protobuf.ByteString b =
1612               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1613           audioExportPattern_ = b;
1614           return b;
1615         } else {
1616           return (com.google.protobuf.ByteString) ref;
1617         }
1618       }
1619       /**
1620        *
1621        *
1622        * <pre>
1623        * Filename pattern for exported audio.
1624        * </pre>
1625        *
1626        * <code>string audio_export_pattern = 2;</code>
1627        *
1628        * @param value The audioExportPattern to set.
1629        * @return This builder for chaining.
1630        */
setAudioExportPattern(java.lang.String value)1631       public Builder setAudioExportPattern(java.lang.String value) {
1632         if (value == null) {
1633           throw new NullPointerException();
1634         }
1635         audioExportPattern_ = value;
1636         bitField0_ |= 0x00000002;
1637         onChanged();
1638         return this;
1639       }
1640       /**
1641        *
1642        *
1643        * <pre>
1644        * Filename pattern for exported audio.
1645        * </pre>
1646        *
1647        * <code>string audio_export_pattern = 2;</code>
1648        *
1649        * @return This builder for chaining.
1650        */
clearAudioExportPattern()1651       public Builder clearAudioExportPattern() {
1652         audioExportPattern_ = getDefaultInstance().getAudioExportPattern();
1653         bitField0_ = (bitField0_ & ~0x00000002);
1654         onChanged();
1655         return this;
1656       }
1657       /**
1658        *
1659        *
1660        * <pre>
1661        * Filename pattern for exported audio.
1662        * </pre>
1663        *
1664        * <code>string audio_export_pattern = 2;</code>
1665        *
1666        * @param value The bytes for audioExportPattern to set.
1667        * @return This builder for chaining.
1668        */
setAudioExportPatternBytes(com.google.protobuf.ByteString value)1669       public Builder setAudioExportPatternBytes(com.google.protobuf.ByteString value) {
1670         if (value == null) {
1671           throw new NullPointerException();
1672         }
1673         checkByteStringIsUtf8(value);
1674         audioExportPattern_ = value;
1675         bitField0_ |= 0x00000002;
1676         onChanged();
1677         return this;
1678       }
1679 
1680       private boolean enableAudioRedaction_;
1681       /**
1682        *
1683        *
1684        * <pre>
1685        * Enable audio redaction if it is true.
1686        * </pre>
1687        *
1688        * <code>bool enable_audio_redaction = 3;</code>
1689        *
1690        * @return The enableAudioRedaction.
1691        */
1692       @java.lang.Override
getEnableAudioRedaction()1693       public boolean getEnableAudioRedaction() {
1694         return enableAudioRedaction_;
1695       }
1696       /**
1697        *
1698        *
1699        * <pre>
1700        * Enable audio redaction if it is true.
1701        * </pre>
1702        *
1703        * <code>bool enable_audio_redaction = 3;</code>
1704        *
1705        * @param value The enableAudioRedaction to set.
1706        * @return This builder for chaining.
1707        */
setEnableAudioRedaction(boolean value)1708       public Builder setEnableAudioRedaction(boolean value) {
1709 
1710         enableAudioRedaction_ = value;
1711         bitField0_ |= 0x00000004;
1712         onChanged();
1713         return this;
1714       }
1715       /**
1716        *
1717        *
1718        * <pre>
1719        * Enable audio redaction if it is true.
1720        * </pre>
1721        *
1722        * <code>bool enable_audio_redaction = 3;</code>
1723        *
1724        * @return This builder for chaining.
1725        */
clearEnableAudioRedaction()1726       public Builder clearEnableAudioRedaction() {
1727         bitField0_ = (bitField0_ & ~0x00000004);
1728         enableAudioRedaction_ = false;
1729         onChanged();
1730         return this;
1731       }
1732 
1733       private int audioFormat_ = 0;
1734       /**
1735        *
1736        *
1737        * <pre>
1738        * File format for exported audio file. Currently only in telephony
1739        * recordings.
1740        * </pre>
1741        *
1742        * <code>
1743        * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat audio_format = 4;
1744        * </code>
1745        *
1746        * @return The enum numeric value on the wire for audioFormat.
1747        */
1748       @java.lang.Override
getAudioFormatValue()1749       public int getAudioFormatValue() {
1750         return audioFormat_;
1751       }
1752       /**
1753        *
1754        *
1755        * <pre>
1756        * File format for exported audio file. Currently only in telephony
1757        * recordings.
1758        * </pre>
1759        *
1760        * <code>
1761        * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat audio_format = 4;
1762        * </code>
1763        *
1764        * @param value The enum numeric value on the wire for audioFormat to set.
1765        * @return This builder for chaining.
1766        */
setAudioFormatValue(int value)1767       public Builder setAudioFormatValue(int value) {
1768         audioFormat_ = value;
1769         bitField0_ |= 0x00000008;
1770         onChanged();
1771         return this;
1772       }
1773       /**
1774        *
1775        *
1776        * <pre>
1777        * File format for exported audio file. Currently only in telephony
1778        * recordings.
1779        * </pre>
1780        *
1781        * <code>
1782        * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat audio_format = 4;
1783        * </code>
1784        *
1785        * @return The audioFormat.
1786        */
1787       @java.lang.Override
1788       public com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat
getAudioFormat()1789           getAudioFormat() {
1790         com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat result =
1791             com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat
1792                 .forNumber(audioFormat_);
1793         return result == null
1794             ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat
1795                 .UNRECOGNIZED
1796             : result;
1797       }
1798       /**
1799        *
1800        *
1801        * <pre>
1802        * File format for exported audio file. Currently only in telephony
1803        * recordings.
1804        * </pre>
1805        *
1806        * <code>
1807        * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat audio_format = 4;
1808        * </code>
1809        *
1810        * @param value The audioFormat to set.
1811        * @return This builder for chaining.
1812        */
setAudioFormat( com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat value)1813       public Builder setAudioFormat(
1814           com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat
1815               value) {
1816         if (value == null) {
1817           throw new NullPointerException();
1818         }
1819         bitField0_ |= 0x00000008;
1820         audioFormat_ = value.getNumber();
1821         onChanged();
1822         return this;
1823       }
1824       /**
1825        *
1826        *
1827        * <pre>
1828        * File format for exported audio file. Currently only in telephony
1829        * recordings.
1830        * </pre>
1831        *
1832        * <code>
1833        * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat audio_format = 4;
1834        * </code>
1835        *
1836        * @return This builder for chaining.
1837        */
clearAudioFormat()1838       public Builder clearAudioFormat() {
1839         bitField0_ = (bitField0_ & ~0x00000008);
1840         audioFormat_ = 0;
1841         onChanged();
1842         return this;
1843       }
1844 
1845       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1846       public final Builder setUnknownFields(
1847           final com.google.protobuf.UnknownFieldSet unknownFields) {
1848         return super.setUnknownFields(unknownFields);
1849       }
1850 
1851       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1852       public final Builder mergeUnknownFields(
1853           final com.google.protobuf.UnknownFieldSet unknownFields) {
1854         return super.mergeUnknownFields(unknownFields);
1855       }
1856 
1857       // @@protoc_insertion_point(builder_scope:google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings)
1858     }
1859 
1860     // @@protoc_insertion_point(class_scope:google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings)
1861     private static final com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
1862         DEFAULT_INSTANCE;
1863 
1864     static {
1865       DEFAULT_INSTANCE =
1866           new com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings();
1867     }
1868 
1869     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
getDefaultInstance()1870         getDefaultInstance() {
1871       return DEFAULT_INSTANCE;
1872     }
1873 
1874     private static final com.google.protobuf.Parser<AudioExportSettings> PARSER =
1875         new com.google.protobuf.AbstractParser<AudioExportSettings>() {
1876           @java.lang.Override
1877           public AudioExportSettings parsePartialFrom(
1878               com.google.protobuf.CodedInputStream input,
1879               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1880               throws com.google.protobuf.InvalidProtocolBufferException {
1881             Builder builder = newBuilder();
1882             try {
1883               builder.mergeFrom(input, extensionRegistry);
1884             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1885               throw e.setUnfinishedMessage(builder.buildPartial());
1886             } catch (com.google.protobuf.UninitializedMessageException e) {
1887               throw e.asInvalidProtocolBufferException()
1888                   .setUnfinishedMessage(builder.buildPartial());
1889             } catch (java.io.IOException e) {
1890               throw new com.google.protobuf.InvalidProtocolBufferException(e)
1891                   .setUnfinishedMessage(builder.buildPartial());
1892             }
1893             return builder.buildPartial();
1894           }
1895         };
1896 
parser()1897     public static com.google.protobuf.Parser<AudioExportSettings> parser() {
1898       return PARSER;
1899     }
1900 
1901     @java.lang.Override
getParserForType()1902     public com.google.protobuf.Parser<AudioExportSettings> getParserForType() {
1903       return PARSER;
1904     }
1905 
1906     @java.lang.Override
1907     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
getDefaultInstanceForType()1908         getDefaultInstanceForType() {
1909       return DEFAULT_INSTANCE;
1910     }
1911   }
1912 
1913   public interface InsightsExportSettingsOrBuilder
1914       extends
1915       // @@protoc_insertion_point(interface_extends:google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings)
1916       com.google.protobuf.MessageOrBuilder {
1917 
1918     /**
1919      *
1920      *
1921      * <pre>
1922      * If enabled, we will automatically exports
1923      * conversations to Insights and Insights runs its analyzers.
1924      * </pre>
1925      *
1926      * <code>bool enable_insights_export = 1;</code>
1927      *
1928      * @return The enableInsightsExport.
1929      */
getEnableInsightsExport()1930     boolean getEnableInsightsExport();
1931   }
1932   /**
1933    *
1934    *
1935    * <pre>
1936    * Settings for exporting conversations to
1937    * [Insights](https://cloud.google.com/contact-center/insights/docs).
1938    * </pre>
1939    *
1940    * Protobuf type {@code google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings}
1941    */
1942   public static final class InsightsExportSettings extends com.google.protobuf.GeneratedMessageV3
1943       implements
1944       // @@protoc_insertion_point(message_implements:google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings)
1945       InsightsExportSettingsOrBuilder {
1946     private static final long serialVersionUID = 0L;
1947     // Use InsightsExportSettings.newBuilder() to construct.
InsightsExportSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)1948     private InsightsExportSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1949       super(builder);
1950     }
1951 
InsightsExportSettings()1952     private InsightsExportSettings() {}
1953 
1954     @java.lang.Override
1955     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)1956     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
1957       return new InsightsExportSettings();
1958     }
1959 
1960     @java.lang.Override
getUnknownFields()1961     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
1962       return this.unknownFields;
1963     }
1964 
getDescriptor()1965     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1966       return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
1967           .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_InsightsExportSettings_descriptor;
1968     }
1969 
1970     @java.lang.Override
1971     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1972         internalGetFieldAccessorTable() {
1973       return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
1974           .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_InsightsExportSettings_fieldAccessorTable
1975           .ensureFieldAccessorsInitialized(
1976               com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.class,
1977               com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.Builder
1978                   .class);
1979     }
1980 
1981     public static final int ENABLE_INSIGHTS_EXPORT_FIELD_NUMBER = 1;
1982     private boolean enableInsightsExport_ = false;
1983     /**
1984      *
1985      *
1986      * <pre>
1987      * If enabled, we will automatically exports
1988      * conversations to Insights and Insights runs its analyzers.
1989      * </pre>
1990      *
1991      * <code>bool enable_insights_export = 1;</code>
1992      *
1993      * @return The enableInsightsExport.
1994      */
1995     @java.lang.Override
getEnableInsightsExport()1996     public boolean getEnableInsightsExport() {
1997       return enableInsightsExport_;
1998     }
1999 
2000     private byte memoizedIsInitialized = -1;
2001 
2002     @java.lang.Override
isInitialized()2003     public final boolean isInitialized() {
2004       byte isInitialized = memoizedIsInitialized;
2005       if (isInitialized == 1) return true;
2006       if (isInitialized == 0) return false;
2007 
2008       memoizedIsInitialized = 1;
2009       return true;
2010     }
2011 
2012     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)2013     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
2014       if (enableInsightsExport_ != false) {
2015         output.writeBool(1, enableInsightsExport_);
2016       }
2017       getUnknownFields().writeTo(output);
2018     }
2019 
2020     @java.lang.Override
getSerializedSize()2021     public int getSerializedSize() {
2022       int size = memoizedSize;
2023       if (size != -1) return size;
2024 
2025       size = 0;
2026       if (enableInsightsExport_ != false) {
2027         size += com.google.protobuf.CodedOutputStream.computeBoolSize(1, enableInsightsExport_);
2028       }
2029       size += getUnknownFields().getSerializedSize();
2030       memoizedSize = size;
2031       return size;
2032     }
2033 
2034     @java.lang.Override
equals(final java.lang.Object obj)2035     public boolean equals(final java.lang.Object obj) {
2036       if (obj == this) {
2037         return true;
2038       }
2039       if (!(obj
2040           instanceof com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings)) {
2041         return super.equals(obj);
2042       }
2043       com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings other =
2044           (com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings) obj;
2045 
2046       if (getEnableInsightsExport() != other.getEnableInsightsExport()) return false;
2047       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
2048       return true;
2049     }
2050 
2051     @java.lang.Override
hashCode()2052     public int hashCode() {
2053       if (memoizedHashCode != 0) {
2054         return memoizedHashCode;
2055       }
2056       int hash = 41;
2057       hash = (19 * hash) + getDescriptor().hashCode();
2058       hash = (37 * hash) + ENABLE_INSIGHTS_EXPORT_FIELD_NUMBER;
2059       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getEnableInsightsExport());
2060       hash = (29 * hash) + getUnknownFields().hashCode();
2061       memoizedHashCode = hash;
2062       return hash;
2063     }
2064 
2065     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseFrom(java.nio.ByteBuffer data)2066         parseFrom(java.nio.ByteBuffer data)
2067             throws com.google.protobuf.InvalidProtocolBufferException {
2068       return PARSER.parseFrom(data);
2069     }
2070 
2071     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2072         parseFrom(
2073             java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2074             throws com.google.protobuf.InvalidProtocolBufferException {
2075       return PARSER.parseFrom(data, extensionRegistry);
2076     }
2077 
2078     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseFrom(com.google.protobuf.ByteString data)2079         parseFrom(com.google.protobuf.ByteString data)
2080             throws com.google.protobuf.InvalidProtocolBufferException {
2081       return PARSER.parseFrom(data);
2082     }
2083 
2084     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2085         parseFrom(
2086             com.google.protobuf.ByteString data,
2087             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2088             throws com.google.protobuf.InvalidProtocolBufferException {
2089       return PARSER.parseFrom(data, extensionRegistry);
2090     }
2091 
2092     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseFrom(byte[] data)2093         parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
2094       return PARSER.parseFrom(data);
2095     }
2096 
2097     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2098         parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2099             throws com.google.protobuf.InvalidProtocolBufferException {
2100       return PARSER.parseFrom(data, extensionRegistry);
2101     }
2102 
2103     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseFrom(java.io.InputStream input)2104         parseFrom(java.io.InputStream input) throws java.io.IOException {
2105       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
2106     }
2107 
2108     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2109         parseFrom(
2110             java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2111             throws java.io.IOException {
2112       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
2113           PARSER, input, extensionRegistry);
2114     }
2115 
2116     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseDelimitedFrom(java.io.InputStream input)2117         parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
2118       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
2119     }
2120 
2121     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2122         parseDelimitedFrom(
2123             java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2124             throws java.io.IOException {
2125       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
2126           PARSER, input, extensionRegistry);
2127     }
2128 
2129     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseFrom(com.google.protobuf.CodedInputStream input)2130         parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException {
2131       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
2132     }
2133 
2134     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2135         parseFrom(
2136             com.google.protobuf.CodedInputStream input,
2137             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2138             throws java.io.IOException {
2139       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
2140           PARSER, input, extensionRegistry);
2141     }
2142 
2143     @java.lang.Override
newBuilderForType()2144     public Builder newBuilderForType() {
2145       return newBuilder();
2146     }
2147 
newBuilder()2148     public static Builder newBuilder() {
2149       return DEFAULT_INSTANCE.toBuilder();
2150     }
2151 
newBuilder( com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings prototype)2152     public static Builder newBuilder(
2153         com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings prototype) {
2154       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2155     }
2156 
2157     @java.lang.Override
toBuilder()2158     public Builder toBuilder() {
2159       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
2160     }
2161 
2162     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)2163     protected Builder newBuilderForType(
2164         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2165       Builder builder = new Builder(parent);
2166       return builder;
2167     }
2168     /**
2169      *
2170      *
2171      * <pre>
2172      * Settings for exporting conversations to
2173      * [Insights](https://cloud.google.com/contact-center/insights/docs).
2174      * </pre>
2175      *
2176      * Protobuf type {@code google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings}
2177      */
2178     public static final class Builder
2179         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
2180         implements
2181         // @@protoc_insertion_point(builder_implements:google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings)
2182         com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettingsOrBuilder {
getDescriptor()2183       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
2184         return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
2185             .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_InsightsExportSettings_descriptor;
2186       }
2187 
2188       @java.lang.Override
2189       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()2190           internalGetFieldAccessorTable() {
2191         return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
2192             .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_InsightsExportSettings_fieldAccessorTable
2193             .ensureFieldAccessorsInitialized(
2194                 com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.class,
2195                 com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.Builder
2196                     .class);
2197       }
2198 
2199       // Construct using
2200       // com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.newBuilder()
Builder()2201       private Builder() {}
2202 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)2203       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2204         super(parent);
2205       }
2206 
2207       @java.lang.Override
clear()2208       public Builder clear() {
2209         super.clear();
2210         bitField0_ = 0;
2211         enableInsightsExport_ = false;
2212         return this;
2213       }
2214 
2215       @java.lang.Override
getDescriptorForType()2216       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
2217         return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
2218             .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_InsightsExportSettings_descriptor;
2219       }
2220 
2221       @java.lang.Override
2222       public com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
getDefaultInstanceForType()2223           getDefaultInstanceForType() {
2224         return com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
2225             .getDefaultInstance();
2226       }
2227 
2228       @java.lang.Override
build()2229       public com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings build() {
2230         com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings result =
2231             buildPartial();
2232         if (!result.isInitialized()) {
2233           throw newUninitializedMessageException(result);
2234         }
2235         return result;
2236       }
2237 
2238       @java.lang.Override
2239       public com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
buildPartial()2240           buildPartial() {
2241         com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings result =
2242             new com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings(this);
2243         if (bitField0_ != 0) {
2244           buildPartial0(result);
2245         }
2246         onBuilt();
2247         return result;
2248       }
2249 
buildPartial0( com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings result)2250       private void buildPartial0(
2251           com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings result) {
2252         int from_bitField0_ = bitField0_;
2253         if (((from_bitField0_ & 0x00000001) != 0)) {
2254           result.enableInsightsExport_ = enableInsightsExport_;
2255         }
2256       }
2257 
2258       @java.lang.Override
clone()2259       public Builder clone() {
2260         return super.clone();
2261       }
2262 
2263       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2264       public Builder setField(
2265           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2266         return super.setField(field, value);
2267       }
2268 
2269       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)2270       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
2271         return super.clearField(field);
2272       }
2273 
2274       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)2275       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2276         return super.clearOneof(oneof);
2277       }
2278 
2279       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)2280       public Builder setRepeatedField(
2281           com.google.protobuf.Descriptors.FieldDescriptor field,
2282           int index,
2283           java.lang.Object value) {
2284         return super.setRepeatedField(field, index, value);
2285       }
2286 
2287       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2288       public Builder addRepeatedField(
2289           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2290         return super.addRepeatedField(field, value);
2291       }
2292 
2293       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)2294       public Builder mergeFrom(com.google.protobuf.Message other) {
2295         if (other
2296             instanceof com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings) {
2297           return mergeFrom(
2298               (com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings) other);
2299         } else {
2300           super.mergeFrom(other);
2301           return this;
2302         }
2303       }
2304 
mergeFrom( com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings other)2305       public Builder mergeFrom(
2306           com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings other) {
2307         if (other
2308             == com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
2309                 .getDefaultInstance()) return this;
2310         if (other.getEnableInsightsExport() != false) {
2311           setEnableInsightsExport(other.getEnableInsightsExport());
2312         }
2313         this.mergeUnknownFields(other.getUnknownFields());
2314         onChanged();
2315         return this;
2316       }
2317 
2318       @java.lang.Override
isInitialized()2319       public final boolean isInitialized() {
2320         return true;
2321       }
2322 
2323       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2324       public Builder mergeFrom(
2325           com.google.protobuf.CodedInputStream input,
2326           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2327           throws java.io.IOException {
2328         if (extensionRegistry == null) {
2329           throw new java.lang.NullPointerException();
2330         }
2331         try {
2332           boolean done = false;
2333           while (!done) {
2334             int tag = input.readTag();
2335             switch (tag) {
2336               case 0:
2337                 done = true;
2338                 break;
2339               case 8:
2340                 {
2341                   enableInsightsExport_ = input.readBool();
2342                   bitField0_ |= 0x00000001;
2343                   break;
2344                 } // case 8
2345               default:
2346                 {
2347                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2348                     done = true; // was an endgroup tag
2349                   }
2350                   break;
2351                 } // default:
2352             } // switch (tag)
2353           } // while (!done)
2354         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2355           throw e.unwrapIOException();
2356         } finally {
2357           onChanged();
2358         } // finally
2359         return this;
2360       }
2361 
2362       private int bitField0_;
2363 
2364       private boolean enableInsightsExport_;
2365       /**
2366        *
2367        *
2368        * <pre>
2369        * If enabled, we will automatically exports
2370        * conversations to Insights and Insights runs its analyzers.
2371        * </pre>
2372        *
2373        * <code>bool enable_insights_export = 1;</code>
2374        *
2375        * @return The enableInsightsExport.
2376        */
2377       @java.lang.Override
getEnableInsightsExport()2378       public boolean getEnableInsightsExport() {
2379         return enableInsightsExport_;
2380       }
2381       /**
2382        *
2383        *
2384        * <pre>
2385        * If enabled, we will automatically exports
2386        * conversations to Insights and Insights runs its analyzers.
2387        * </pre>
2388        *
2389        * <code>bool enable_insights_export = 1;</code>
2390        *
2391        * @param value The enableInsightsExport to set.
2392        * @return This builder for chaining.
2393        */
setEnableInsightsExport(boolean value)2394       public Builder setEnableInsightsExport(boolean value) {
2395 
2396         enableInsightsExport_ = value;
2397         bitField0_ |= 0x00000001;
2398         onChanged();
2399         return this;
2400       }
2401       /**
2402        *
2403        *
2404        * <pre>
2405        * If enabled, we will automatically exports
2406        * conversations to Insights and Insights runs its analyzers.
2407        * </pre>
2408        *
2409        * <code>bool enable_insights_export = 1;</code>
2410        *
2411        * @return This builder for chaining.
2412        */
clearEnableInsightsExport()2413       public Builder clearEnableInsightsExport() {
2414         bitField0_ = (bitField0_ & ~0x00000001);
2415         enableInsightsExport_ = false;
2416         onChanged();
2417         return this;
2418       }
2419 
2420       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2421       public final Builder setUnknownFields(
2422           final com.google.protobuf.UnknownFieldSet unknownFields) {
2423         return super.setUnknownFields(unknownFields);
2424       }
2425 
2426       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2427       public final Builder mergeUnknownFields(
2428           final com.google.protobuf.UnknownFieldSet unknownFields) {
2429         return super.mergeUnknownFields(unknownFields);
2430       }
2431 
2432       // @@protoc_insertion_point(builder_scope:google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings)
2433     }
2434 
2435     // @@protoc_insertion_point(class_scope:google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings)
2436     private static final com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
2437         DEFAULT_INSTANCE;
2438 
2439     static {
2440       DEFAULT_INSTANCE =
2441           new com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings();
2442     }
2443 
2444     public static com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
getDefaultInstance()2445         getDefaultInstance() {
2446       return DEFAULT_INSTANCE;
2447     }
2448 
2449     private static final com.google.protobuf.Parser<InsightsExportSettings> PARSER =
2450         new com.google.protobuf.AbstractParser<InsightsExportSettings>() {
2451           @java.lang.Override
2452           public InsightsExportSettings parsePartialFrom(
2453               com.google.protobuf.CodedInputStream input,
2454               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2455               throws com.google.protobuf.InvalidProtocolBufferException {
2456             Builder builder = newBuilder();
2457             try {
2458               builder.mergeFrom(input, extensionRegistry);
2459             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2460               throw e.setUnfinishedMessage(builder.buildPartial());
2461             } catch (com.google.protobuf.UninitializedMessageException e) {
2462               throw e.asInvalidProtocolBufferException()
2463                   .setUnfinishedMessage(builder.buildPartial());
2464             } catch (java.io.IOException e) {
2465               throw new com.google.protobuf.InvalidProtocolBufferException(e)
2466                   .setUnfinishedMessage(builder.buildPartial());
2467             }
2468             return builder.buildPartial();
2469           }
2470         };
2471 
parser()2472     public static com.google.protobuf.Parser<InsightsExportSettings> parser() {
2473       return PARSER;
2474     }
2475 
2476     @java.lang.Override
getParserForType()2477     public com.google.protobuf.Parser<InsightsExportSettings> getParserForType() {
2478       return PARSER;
2479     }
2480 
2481     @java.lang.Override
2482     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
getDefaultInstanceForType()2483         getDefaultInstanceForType() {
2484       return DEFAULT_INSTANCE;
2485     }
2486   }
2487 
2488   private int dataRetentionCase_ = 0;
2489   private java.lang.Object dataRetention_;
2490 
2491   public enum DataRetentionCase
2492       implements
2493           com.google.protobuf.Internal.EnumLite,
2494           com.google.protobuf.AbstractMessage.InternalOneOfEnum {
2495     RETENTION_WINDOW_DAYS(6),
2496     DATARETENTION_NOT_SET(0);
2497     private final int value;
2498 
DataRetentionCase(int value)2499     private DataRetentionCase(int value) {
2500       this.value = value;
2501     }
2502     /**
2503      * @param value The number of the enum to look for.
2504      * @return The enum associated with the given number.
2505      * @deprecated Use {@link #forNumber(int)} instead.
2506      */
2507     @java.lang.Deprecated
valueOf(int value)2508     public static DataRetentionCase valueOf(int value) {
2509       return forNumber(value);
2510     }
2511 
forNumber(int value)2512     public static DataRetentionCase forNumber(int value) {
2513       switch (value) {
2514         case 6:
2515           return RETENTION_WINDOW_DAYS;
2516         case 0:
2517           return DATARETENTION_NOT_SET;
2518         default:
2519           return null;
2520       }
2521     }
2522 
getNumber()2523     public int getNumber() {
2524       return this.value;
2525     }
2526   };
2527 
getDataRetentionCase()2528   public DataRetentionCase getDataRetentionCase() {
2529     return DataRetentionCase.forNumber(dataRetentionCase_);
2530   }
2531 
2532   public static final int NAME_FIELD_NUMBER = 1;
2533 
2534   @SuppressWarnings("serial")
2535   private volatile java.lang.Object name_ = "";
2536   /**
2537    *
2538    *
2539    * <pre>
2540    * Resource name of the settings.
2541    * Required for the
2542    * [SecuritySettingsService.UpdateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettings]
2543    * method.
2544    * [SecuritySettingsService.CreateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.CreateSecuritySettings]
2545    * populates the name automatically. Format: `projects/&lt;Project
2546    * ID&gt;/locations/&lt;Location ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
2547    * </pre>
2548    *
2549    * <code>string name = 1;</code>
2550    *
2551    * @return The name.
2552    */
2553   @java.lang.Override
getName()2554   public java.lang.String getName() {
2555     java.lang.Object ref = name_;
2556     if (ref instanceof java.lang.String) {
2557       return (java.lang.String) ref;
2558     } else {
2559       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2560       java.lang.String s = bs.toStringUtf8();
2561       name_ = s;
2562       return s;
2563     }
2564   }
2565   /**
2566    *
2567    *
2568    * <pre>
2569    * Resource name of the settings.
2570    * Required for the
2571    * [SecuritySettingsService.UpdateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettings]
2572    * method.
2573    * [SecuritySettingsService.CreateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.CreateSecuritySettings]
2574    * populates the name automatically. Format: `projects/&lt;Project
2575    * ID&gt;/locations/&lt;Location ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
2576    * </pre>
2577    *
2578    * <code>string name = 1;</code>
2579    *
2580    * @return The bytes for name.
2581    */
2582   @java.lang.Override
getNameBytes()2583   public com.google.protobuf.ByteString getNameBytes() {
2584     java.lang.Object ref = name_;
2585     if (ref instanceof java.lang.String) {
2586       com.google.protobuf.ByteString b =
2587           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2588       name_ = b;
2589       return b;
2590     } else {
2591       return (com.google.protobuf.ByteString) ref;
2592     }
2593   }
2594 
2595   public static final int DISPLAY_NAME_FIELD_NUMBER = 2;
2596 
2597   @SuppressWarnings("serial")
2598   private volatile java.lang.Object displayName_ = "";
2599   /**
2600    *
2601    *
2602    * <pre>
2603    * Required. The human-readable name of the security settings, unique within
2604    * the location.
2605    * </pre>
2606    *
2607    * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
2608    *
2609    * @return The displayName.
2610    */
2611   @java.lang.Override
getDisplayName()2612   public java.lang.String getDisplayName() {
2613     java.lang.Object ref = displayName_;
2614     if (ref instanceof java.lang.String) {
2615       return (java.lang.String) ref;
2616     } else {
2617       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2618       java.lang.String s = bs.toStringUtf8();
2619       displayName_ = s;
2620       return s;
2621     }
2622   }
2623   /**
2624    *
2625    *
2626    * <pre>
2627    * Required. The human-readable name of the security settings, unique within
2628    * the location.
2629    * </pre>
2630    *
2631    * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
2632    *
2633    * @return The bytes for displayName.
2634    */
2635   @java.lang.Override
getDisplayNameBytes()2636   public com.google.protobuf.ByteString getDisplayNameBytes() {
2637     java.lang.Object ref = displayName_;
2638     if (ref instanceof java.lang.String) {
2639       com.google.protobuf.ByteString b =
2640           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2641       displayName_ = b;
2642       return b;
2643     } else {
2644       return (com.google.protobuf.ByteString) ref;
2645     }
2646   }
2647 
2648   public static final int REDACTION_STRATEGY_FIELD_NUMBER = 3;
2649   private int redactionStrategy_ = 0;
2650   /**
2651    *
2652    *
2653    * <pre>
2654    * Strategy that defines how we do redaction.
2655    * </pre>
2656    *
2657    * <code>.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy redaction_strategy = 3;
2658    * </code>
2659    *
2660    * @return The enum numeric value on the wire for redactionStrategy.
2661    */
2662   @java.lang.Override
getRedactionStrategyValue()2663   public int getRedactionStrategyValue() {
2664     return redactionStrategy_;
2665   }
2666   /**
2667    *
2668    *
2669    * <pre>
2670    * Strategy that defines how we do redaction.
2671    * </pre>
2672    *
2673    * <code>.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy redaction_strategy = 3;
2674    * </code>
2675    *
2676    * @return The redactionStrategy.
2677    */
2678   @java.lang.Override
2679   public com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy
getRedactionStrategy()2680       getRedactionStrategy() {
2681     com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy result =
2682         com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy.forNumber(
2683             redactionStrategy_);
2684     return result == null
2685         ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy.UNRECOGNIZED
2686         : result;
2687   }
2688 
2689   public static final int REDACTION_SCOPE_FIELD_NUMBER = 4;
2690   private int redactionScope_ = 0;
2691   /**
2692    *
2693    *
2694    * <pre>
2695    * Defines the data for which Dialogflow applies redaction. Dialogflow does
2696    * not redact data that it does not have access to – for example, Cloud
2697    * logging.
2698    * </pre>
2699    *
2700    * <code>.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope redaction_scope = 4;
2701    * </code>
2702    *
2703    * @return The enum numeric value on the wire for redactionScope.
2704    */
2705   @java.lang.Override
getRedactionScopeValue()2706   public int getRedactionScopeValue() {
2707     return redactionScope_;
2708   }
2709   /**
2710    *
2711    *
2712    * <pre>
2713    * Defines the data for which Dialogflow applies redaction. Dialogflow does
2714    * not redact data that it does not have access to – for example, Cloud
2715    * logging.
2716    * </pre>
2717    *
2718    * <code>.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope redaction_scope = 4;
2719    * </code>
2720    *
2721    * @return The redactionScope.
2722    */
2723   @java.lang.Override
getRedactionScope()2724   public com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope getRedactionScope() {
2725     com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope result =
2726         com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope.forNumber(
2727             redactionScope_);
2728     return result == null
2729         ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope.UNRECOGNIZED
2730         : result;
2731   }
2732 
2733   public static final int INSPECT_TEMPLATE_FIELD_NUMBER = 9;
2734 
2735   @SuppressWarnings("serial")
2736   private volatile java.lang.Object inspectTemplate_ = "";
2737   /**
2738    *
2739    *
2740    * <pre>
2741    * [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this
2742    * template to define inspect base settings.
2743    * The `DLP Inspect Templates Reader` role is needed on the Dialogflow
2744    * service identity service account (has the form
2745    * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
2746    * for your agent's project.
2747    * If empty, we use the default DLP inspect config.
2748    * The template name will have one of the following formats:
2749    * `projects/&lt;Project ID&gt;/locations/&lt;Location ID&gt;/inspectTemplates/&lt;Template
2750    * ID&gt;` OR `organizations/&lt;Organization ID&gt;/locations/&lt;Location
2751    * ID&gt;/inspectTemplates/&lt;Template ID&gt;`
2752    * Note: `inspect_template` must be located in the same region as the
2753    * `SecuritySettings`.
2754    * </pre>
2755    *
2756    * <code>string inspect_template = 9 [(.google.api.resource_reference) = { ... }</code>
2757    *
2758    * @return The inspectTemplate.
2759    */
2760   @java.lang.Override
getInspectTemplate()2761   public java.lang.String getInspectTemplate() {
2762     java.lang.Object ref = inspectTemplate_;
2763     if (ref instanceof java.lang.String) {
2764       return (java.lang.String) ref;
2765     } else {
2766       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2767       java.lang.String s = bs.toStringUtf8();
2768       inspectTemplate_ = s;
2769       return s;
2770     }
2771   }
2772   /**
2773    *
2774    *
2775    * <pre>
2776    * [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this
2777    * template to define inspect base settings.
2778    * The `DLP Inspect Templates Reader` role is needed on the Dialogflow
2779    * service identity service account (has the form
2780    * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
2781    * for your agent's project.
2782    * If empty, we use the default DLP inspect config.
2783    * The template name will have one of the following formats:
2784    * `projects/&lt;Project ID&gt;/locations/&lt;Location ID&gt;/inspectTemplates/&lt;Template
2785    * ID&gt;` OR `organizations/&lt;Organization ID&gt;/locations/&lt;Location
2786    * ID&gt;/inspectTemplates/&lt;Template ID&gt;`
2787    * Note: `inspect_template` must be located in the same region as the
2788    * `SecuritySettings`.
2789    * </pre>
2790    *
2791    * <code>string inspect_template = 9 [(.google.api.resource_reference) = { ... }</code>
2792    *
2793    * @return The bytes for inspectTemplate.
2794    */
2795   @java.lang.Override
getInspectTemplateBytes()2796   public com.google.protobuf.ByteString getInspectTemplateBytes() {
2797     java.lang.Object ref = inspectTemplate_;
2798     if (ref instanceof java.lang.String) {
2799       com.google.protobuf.ByteString b =
2800           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2801       inspectTemplate_ = b;
2802       return b;
2803     } else {
2804       return (com.google.protobuf.ByteString) ref;
2805     }
2806   }
2807 
2808   public static final int DEIDENTIFY_TEMPLATE_FIELD_NUMBER = 17;
2809 
2810   @SuppressWarnings("serial")
2811   private volatile java.lang.Object deidentifyTemplate_ = "";
2812   /**
2813    *
2814    *
2815    * <pre>
2816    * [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this
2817    * template to define de-identification configuration for the content.
2818    * The `DLP De-identify Templates Reader` role is needed on the Dialogflow
2819    * service identity service account (has the form
2820    * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
2821    * for your agent's project.
2822    * If empty, Dialogflow replaces sensitive info with `[redacted]` text.
2823    * The template name will have one of the following formats:
2824    * `projects/&lt;Project ID&gt;/locations/&lt;Location
2825    * ID&gt;/deidentifyTemplates/&lt;Template ID&gt;` OR `organizations/&lt;Organization
2826    * ID&gt;/locations/&lt;Location ID&gt;/deidentifyTemplates/&lt;Template ID&gt;`
2827    * Note: `deidentify_template` must be located in the same region as the
2828    * `SecuritySettings`.
2829    * </pre>
2830    *
2831    * <code>string deidentify_template = 17 [(.google.api.resource_reference) = { ... }</code>
2832    *
2833    * @return The deidentifyTemplate.
2834    */
2835   @java.lang.Override
getDeidentifyTemplate()2836   public java.lang.String getDeidentifyTemplate() {
2837     java.lang.Object ref = deidentifyTemplate_;
2838     if (ref instanceof java.lang.String) {
2839       return (java.lang.String) ref;
2840     } else {
2841       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2842       java.lang.String s = bs.toStringUtf8();
2843       deidentifyTemplate_ = s;
2844       return s;
2845     }
2846   }
2847   /**
2848    *
2849    *
2850    * <pre>
2851    * [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this
2852    * template to define de-identification configuration for the content.
2853    * The `DLP De-identify Templates Reader` role is needed on the Dialogflow
2854    * service identity service account (has the form
2855    * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
2856    * for your agent's project.
2857    * If empty, Dialogflow replaces sensitive info with `[redacted]` text.
2858    * The template name will have one of the following formats:
2859    * `projects/&lt;Project ID&gt;/locations/&lt;Location
2860    * ID&gt;/deidentifyTemplates/&lt;Template ID&gt;` OR `organizations/&lt;Organization
2861    * ID&gt;/locations/&lt;Location ID&gt;/deidentifyTemplates/&lt;Template ID&gt;`
2862    * Note: `deidentify_template` must be located in the same region as the
2863    * `SecuritySettings`.
2864    * </pre>
2865    *
2866    * <code>string deidentify_template = 17 [(.google.api.resource_reference) = { ... }</code>
2867    *
2868    * @return The bytes for deidentifyTemplate.
2869    */
2870   @java.lang.Override
getDeidentifyTemplateBytes()2871   public com.google.protobuf.ByteString getDeidentifyTemplateBytes() {
2872     java.lang.Object ref = deidentifyTemplate_;
2873     if (ref instanceof java.lang.String) {
2874       com.google.protobuf.ByteString b =
2875           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2876       deidentifyTemplate_ = b;
2877       return b;
2878     } else {
2879       return (com.google.protobuf.ByteString) ref;
2880     }
2881   }
2882 
2883   public static final int RETENTION_WINDOW_DAYS_FIELD_NUMBER = 6;
2884   /**
2885    *
2886    *
2887    * <pre>
2888    * Retains the data for the specified number of days.
2889    * User must set a value lower than Dialogflow's default 365d TTL (30 days
2890    * for Agent Assist traffic), higher value will be ignored and use default.
2891    * Setting a value higher than that has no effect. A missing value or
2892    * setting to 0 also means we use default TTL.
2893    * </pre>
2894    *
2895    * <code>int32 retention_window_days = 6;</code>
2896    *
2897    * @return Whether the retentionWindowDays field is set.
2898    */
2899   @java.lang.Override
hasRetentionWindowDays()2900   public boolean hasRetentionWindowDays() {
2901     return dataRetentionCase_ == 6;
2902   }
2903   /**
2904    *
2905    *
2906    * <pre>
2907    * Retains the data for the specified number of days.
2908    * User must set a value lower than Dialogflow's default 365d TTL (30 days
2909    * for Agent Assist traffic), higher value will be ignored and use default.
2910    * Setting a value higher than that has no effect. A missing value or
2911    * setting to 0 also means we use default TTL.
2912    * </pre>
2913    *
2914    * <code>int32 retention_window_days = 6;</code>
2915    *
2916    * @return The retentionWindowDays.
2917    */
2918   @java.lang.Override
getRetentionWindowDays()2919   public int getRetentionWindowDays() {
2920     if (dataRetentionCase_ == 6) {
2921       return (java.lang.Integer) dataRetention_;
2922     }
2923     return 0;
2924   }
2925 
2926   public static final int PURGE_DATA_TYPES_FIELD_NUMBER = 8;
2927 
2928   @SuppressWarnings("serial")
2929   private java.util.List<java.lang.Integer> purgeDataTypes_;
2930 
2931   private static final com.google.protobuf.Internal.ListAdapter.Converter<
2932           java.lang.Integer, com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType>
2933       purgeDataTypes_converter_ =
2934           new com.google.protobuf.Internal.ListAdapter.Converter<
2935               java.lang.Integer,
2936               com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType>() {
2937             public com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType convert(
2938                 java.lang.Integer from) {
2939               com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType result =
2940                   com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType.forNumber(from);
2941               return result == null
2942                   ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType.UNRECOGNIZED
2943                   : result;
2944             }
2945           };
2946   /**
2947    *
2948    *
2949    * <pre>
2950    * List of types of data to remove when retention settings triggers purge.
2951    * </pre>
2952    *
2953    * <code>
2954    * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
2955    * </code>
2956    *
2957    * @return A list containing the purgeDataTypes.
2958    */
2959   @java.lang.Override
2960   public java.util.List<com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType>
getPurgeDataTypesList()2961       getPurgeDataTypesList() {
2962     return new com.google.protobuf.Internal.ListAdapter<
2963         java.lang.Integer, com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType>(
2964         purgeDataTypes_, purgeDataTypes_converter_);
2965   }
2966   /**
2967    *
2968    *
2969    * <pre>
2970    * List of types of data to remove when retention settings triggers purge.
2971    * </pre>
2972    *
2973    * <code>
2974    * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
2975    * </code>
2976    *
2977    * @return The count of purgeDataTypes.
2978    */
2979   @java.lang.Override
getPurgeDataTypesCount()2980   public int getPurgeDataTypesCount() {
2981     return purgeDataTypes_.size();
2982   }
2983   /**
2984    *
2985    *
2986    * <pre>
2987    * List of types of data to remove when retention settings triggers purge.
2988    * </pre>
2989    *
2990    * <code>
2991    * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
2992    * </code>
2993    *
2994    * @param index The index of the element to return.
2995    * @return The purgeDataTypes at the given index.
2996    */
2997   @java.lang.Override
getPurgeDataTypes( int index)2998   public com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType getPurgeDataTypes(
2999       int index) {
3000     return purgeDataTypes_converter_.convert(purgeDataTypes_.get(index));
3001   }
3002   /**
3003    *
3004    *
3005    * <pre>
3006    * List of types of data to remove when retention settings triggers purge.
3007    * </pre>
3008    *
3009    * <code>
3010    * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
3011    * </code>
3012    *
3013    * @return A list containing the enum numeric values on the wire for purgeDataTypes.
3014    */
3015   @java.lang.Override
getPurgeDataTypesValueList()3016   public java.util.List<java.lang.Integer> getPurgeDataTypesValueList() {
3017     return purgeDataTypes_;
3018   }
3019   /**
3020    *
3021    *
3022    * <pre>
3023    * List of types of data to remove when retention settings triggers purge.
3024    * </pre>
3025    *
3026    * <code>
3027    * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
3028    * </code>
3029    *
3030    * @param index The index of the value to return.
3031    * @return The enum numeric value on the wire of purgeDataTypes at the given index.
3032    */
3033   @java.lang.Override
getPurgeDataTypesValue(int index)3034   public int getPurgeDataTypesValue(int index) {
3035     return purgeDataTypes_.get(index);
3036   }
3037 
3038   private int purgeDataTypesMemoizedSerializedSize;
3039 
3040   public static final int AUDIO_EXPORT_SETTINGS_FIELD_NUMBER = 12;
3041   private com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
3042       audioExportSettings_;
3043   /**
3044    *
3045    *
3046    * <pre>
3047    * Controls audio export settings for post-conversation analytics when
3048    * ingesting audio to conversations via [Participants.AnalyzeContent][] or
3049    * [Participants.StreamingAnalyzeContent][].
3050    * If
3051    * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
3052    * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
3053    * is empty, audio export is disabled.
3054    * If audio export is enabled, audio is recorded and saved to
3055    * [audio_export_settings.gcs_bucket][], subject to retention policy of
3056    * [audio_export_settings.gcs_bucket][].
3057    * This setting won't effect audio input for implicit sessions via
3058    * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
3059    * or
3060    * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
3061    * </pre>
3062    *
3063    * <code>
3064    * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
3065    * </code>
3066    *
3067    * @return Whether the audioExportSettings field is set.
3068    */
3069   @java.lang.Override
hasAudioExportSettings()3070   public boolean hasAudioExportSettings() {
3071     return audioExportSettings_ != null;
3072   }
3073   /**
3074    *
3075    *
3076    * <pre>
3077    * Controls audio export settings for post-conversation analytics when
3078    * ingesting audio to conversations via [Participants.AnalyzeContent][] or
3079    * [Participants.StreamingAnalyzeContent][].
3080    * If
3081    * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
3082    * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
3083    * is empty, audio export is disabled.
3084    * If audio export is enabled, audio is recorded and saved to
3085    * [audio_export_settings.gcs_bucket][], subject to retention policy of
3086    * [audio_export_settings.gcs_bucket][].
3087    * This setting won't effect audio input for implicit sessions via
3088    * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
3089    * or
3090    * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
3091    * </pre>
3092    *
3093    * <code>
3094    * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
3095    * </code>
3096    *
3097    * @return The audioExportSettings.
3098    */
3099   @java.lang.Override
3100   public com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
getAudioExportSettings()3101       getAudioExportSettings() {
3102     return audioExportSettings_ == null
3103         ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
3104             .getDefaultInstance()
3105         : audioExportSettings_;
3106   }
3107   /**
3108    *
3109    *
3110    * <pre>
3111    * Controls audio export settings for post-conversation analytics when
3112    * ingesting audio to conversations via [Participants.AnalyzeContent][] or
3113    * [Participants.StreamingAnalyzeContent][].
3114    * If
3115    * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
3116    * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
3117    * is empty, audio export is disabled.
3118    * If audio export is enabled, audio is recorded and saved to
3119    * [audio_export_settings.gcs_bucket][], subject to retention policy of
3120    * [audio_export_settings.gcs_bucket][].
3121    * This setting won't effect audio input for implicit sessions via
3122    * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
3123    * or
3124    * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
3125    * </pre>
3126    *
3127    * <code>
3128    * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
3129    * </code>
3130    */
3131   @java.lang.Override
3132   public com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettingsOrBuilder
getAudioExportSettingsOrBuilder()3133       getAudioExportSettingsOrBuilder() {
3134     return audioExportSettings_ == null
3135         ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
3136             .getDefaultInstance()
3137         : audioExportSettings_;
3138   }
3139 
3140   public static final int INSIGHTS_EXPORT_SETTINGS_FIELD_NUMBER = 13;
3141   private com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
3142       insightsExportSettings_;
3143   /**
3144    *
3145    *
3146    * <pre>
3147    * Controls conversation exporting settings to Insights after conversation is
3148    * completed.
3149    * If
3150    * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
3151    * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
3152    * what you configure here.
3153    * </pre>
3154    *
3155    * <code>
3156    * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
3157    * </code>
3158    *
3159    * @return Whether the insightsExportSettings field is set.
3160    */
3161   @java.lang.Override
hasInsightsExportSettings()3162   public boolean hasInsightsExportSettings() {
3163     return insightsExportSettings_ != null;
3164   }
3165   /**
3166    *
3167    *
3168    * <pre>
3169    * Controls conversation exporting settings to Insights after conversation is
3170    * completed.
3171    * If
3172    * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
3173    * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
3174    * what you configure here.
3175    * </pre>
3176    *
3177    * <code>
3178    * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
3179    * </code>
3180    *
3181    * @return The insightsExportSettings.
3182    */
3183   @java.lang.Override
3184   public com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
getInsightsExportSettings()3185       getInsightsExportSettings() {
3186     return insightsExportSettings_ == null
3187         ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
3188             .getDefaultInstance()
3189         : insightsExportSettings_;
3190   }
3191   /**
3192    *
3193    *
3194    * <pre>
3195    * Controls conversation exporting settings to Insights after conversation is
3196    * completed.
3197    * If
3198    * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
3199    * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
3200    * what you configure here.
3201    * </pre>
3202    *
3203    * <code>
3204    * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
3205    * </code>
3206    */
3207   @java.lang.Override
3208   public com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettingsOrBuilder
getInsightsExportSettingsOrBuilder()3209       getInsightsExportSettingsOrBuilder() {
3210     return insightsExportSettings_ == null
3211         ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
3212             .getDefaultInstance()
3213         : insightsExportSettings_;
3214   }
3215 
3216   private byte memoizedIsInitialized = -1;
3217 
3218   @java.lang.Override
isInitialized()3219   public final boolean isInitialized() {
3220     byte isInitialized = memoizedIsInitialized;
3221     if (isInitialized == 1) return true;
3222     if (isInitialized == 0) return false;
3223 
3224     memoizedIsInitialized = 1;
3225     return true;
3226   }
3227 
3228   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)3229   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
3230     getSerializedSize();
3231     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
3232       com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
3233     }
3234     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) {
3235       com.google.protobuf.GeneratedMessageV3.writeString(output, 2, displayName_);
3236     }
3237     if (redactionStrategy_
3238         != com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy
3239             .REDACTION_STRATEGY_UNSPECIFIED
3240             .getNumber()) {
3241       output.writeEnum(3, redactionStrategy_);
3242     }
3243     if (redactionScope_
3244         != com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope
3245             .REDACTION_SCOPE_UNSPECIFIED
3246             .getNumber()) {
3247       output.writeEnum(4, redactionScope_);
3248     }
3249     if (dataRetentionCase_ == 6) {
3250       output.writeInt32(6, (int) ((java.lang.Integer) dataRetention_));
3251     }
3252     if (getPurgeDataTypesList().size() > 0) {
3253       output.writeUInt32NoTag(66);
3254       output.writeUInt32NoTag(purgeDataTypesMemoizedSerializedSize);
3255     }
3256     for (int i = 0; i < purgeDataTypes_.size(); i++) {
3257       output.writeEnumNoTag(purgeDataTypes_.get(i));
3258     }
3259     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(inspectTemplate_)) {
3260       com.google.protobuf.GeneratedMessageV3.writeString(output, 9, inspectTemplate_);
3261     }
3262     if (audioExportSettings_ != null) {
3263       output.writeMessage(12, getAudioExportSettings());
3264     }
3265     if (insightsExportSettings_ != null) {
3266       output.writeMessage(13, getInsightsExportSettings());
3267     }
3268     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deidentifyTemplate_)) {
3269       com.google.protobuf.GeneratedMessageV3.writeString(output, 17, deidentifyTemplate_);
3270     }
3271     getUnknownFields().writeTo(output);
3272   }
3273 
3274   @java.lang.Override
getSerializedSize()3275   public int getSerializedSize() {
3276     int size = memoizedSize;
3277     if (size != -1) return size;
3278 
3279     size = 0;
3280     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
3281       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
3282     }
3283     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) {
3284       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, displayName_);
3285     }
3286     if (redactionStrategy_
3287         != com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy
3288             .REDACTION_STRATEGY_UNSPECIFIED
3289             .getNumber()) {
3290       size += com.google.protobuf.CodedOutputStream.computeEnumSize(3, redactionStrategy_);
3291     }
3292     if (redactionScope_
3293         != com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope
3294             .REDACTION_SCOPE_UNSPECIFIED
3295             .getNumber()) {
3296       size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, redactionScope_);
3297     }
3298     if (dataRetentionCase_ == 6) {
3299       size +=
3300           com.google.protobuf.CodedOutputStream.computeInt32Size(
3301               6, (int) ((java.lang.Integer) dataRetention_));
3302     }
3303     {
3304       int dataSize = 0;
3305       for (int i = 0; i < purgeDataTypes_.size(); i++) {
3306         dataSize +=
3307             com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(purgeDataTypes_.get(i));
3308       }
3309       size += dataSize;
3310       if (!getPurgeDataTypesList().isEmpty()) {
3311         size += 1;
3312         size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
3313       }
3314       purgeDataTypesMemoizedSerializedSize = dataSize;
3315     }
3316     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(inspectTemplate_)) {
3317       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, inspectTemplate_);
3318     }
3319     if (audioExportSettings_ != null) {
3320       size +=
3321           com.google.protobuf.CodedOutputStream.computeMessageSize(12, getAudioExportSettings());
3322     }
3323     if (insightsExportSettings_ != null) {
3324       size +=
3325           com.google.protobuf.CodedOutputStream.computeMessageSize(13, getInsightsExportSettings());
3326     }
3327     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deidentifyTemplate_)) {
3328       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, deidentifyTemplate_);
3329     }
3330     size += getUnknownFields().getSerializedSize();
3331     memoizedSize = size;
3332     return size;
3333   }
3334 
3335   @java.lang.Override
equals(final java.lang.Object obj)3336   public boolean equals(final java.lang.Object obj) {
3337     if (obj == this) {
3338       return true;
3339     }
3340     if (!(obj instanceof com.google.cloud.dialogflow.cx.v3.SecuritySettings)) {
3341       return super.equals(obj);
3342     }
3343     com.google.cloud.dialogflow.cx.v3.SecuritySettings other =
3344         (com.google.cloud.dialogflow.cx.v3.SecuritySettings) obj;
3345 
3346     if (!getName().equals(other.getName())) return false;
3347     if (!getDisplayName().equals(other.getDisplayName())) return false;
3348     if (redactionStrategy_ != other.redactionStrategy_) return false;
3349     if (redactionScope_ != other.redactionScope_) return false;
3350     if (!getInspectTemplate().equals(other.getInspectTemplate())) return false;
3351     if (!getDeidentifyTemplate().equals(other.getDeidentifyTemplate())) return false;
3352     if (!purgeDataTypes_.equals(other.purgeDataTypes_)) return false;
3353     if (hasAudioExportSettings() != other.hasAudioExportSettings()) return false;
3354     if (hasAudioExportSettings()) {
3355       if (!getAudioExportSettings().equals(other.getAudioExportSettings())) return false;
3356     }
3357     if (hasInsightsExportSettings() != other.hasInsightsExportSettings()) return false;
3358     if (hasInsightsExportSettings()) {
3359       if (!getInsightsExportSettings().equals(other.getInsightsExportSettings())) return false;
3360     }
3361     if (!getDataRetentionCase().equals(other.getDataRetentionCase())) return false;
3362     switch (dataRetentionCase_) {
3363       case 6:
3364         if (getRetentionWindowDays() != other.getRetentionWindowDays()) return false;
3365         break;
3366       case 0:
3367       default:
3368     }
3369     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
3370     return true;
3371   }
3372 
3373   @java.lang.Override
hashCode()3374   public int hashCode() {
3375     if (memoizedHashCode != 0) {
3376       return memoizedHashCode;
3377     }
3378     int hash = 41;
3379     hash = (19 * hash) + getDescriptor().hashCode();
3380     hash = (37 * hash) + NAME_FIELD_NUMBER;
3381     hash = (53 * hash) + getName().hashCode();
3382     hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER;
3383     hash = (53 * hash) + getDisplayName().hashCode();
3384     hash = (37 * hash) + REDACTION_STRATEGY_FIELD_NUMBER;
3385     hash = (53 * hash) + redactionStrategy_;
3386     hash = (37 * hash) + REDACTION_SCOPE_FIELD_NUMBER;
3387     hash = (53 * hash) + redactionScope_;
3388     hash = (37 * hash) + INSPECT_TEMPLATE_FIELD_NUMBER;
3389     hash = (53 * hash) + getInspectTemplate().hashCode();
3390     hash = (37 * hash) + DEIDENTIFY_TEMPLATE_FIELD_NUMBER;
3391     hash = (53 * hash) + getDeidentifyTemplate().hashCode();
3392     if (getPurgeDataTypesCount() > 0) {
3393       hash = (37 * hash) + PURGE_DATA_TYPES_FIELD_NUMBER;
3394       hash = (53 * hash) + purgeDataTypes_.hashCode();
3395     }
3396     if (hasAudioExportSettings()) {
3397       hash = (37 * hash) + AUDIO_EXPORT_SETTINGS_FIELD_NUMBER;
3398       hash = (53 * hash) + getAudioExportSettings().hashCode();
3399     }
3400     if (hasInsightsExportSettings()) {
3401       hash = (37 * hash) + INSIGHTS_EXPORT_SETTINGS_FIELD_NUMBER;
3402       hash = (53 * hash) + getInsightsExportSettings().hashCode();
3403     }
3404     switch (dataRetentionCase_) {
3405       case 6:
3406         hash = (37 * hash) + RETENTION_WINDOW_DAYS_FIELD_NUMBER;
3407         hash = (53 * hash) + getRetentionWindowDays();
3408         break;
3409       case 0:
3410       default:
3411     }
3412     hash = (29 * hash) + getUnknownFields().hashCode();
3413     memoizedHashCode = hash;
3414     return hash;
3415   }
3416 
parseFrom( java.nio.ByteBuffer data)3417   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseFrom(
3418       java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
3419     return PARSER.parseFrom(data);
3420   }
3421 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3422   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseFrom(
3423       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3424       throws com.google.protobuf.InvalidProtocolBufferException {
3425     return PARSER.parseFrom(data, extensionRegistry);
3426   }
3427 
parseFrom( com.google.protobuf.ByteString data)3428   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseFrom(
3429       com.google.protobuf.ByteString data)
3430       throws com.google.protobuf.InvalidProtocolBufferException {
3431     return PARSER.parseFrom(data);
3432   }
3433 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3434   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseFrom(
3435       com.google.protobuf.ByteString data,
3436       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3437       throws com.google.protobuf.InvalidProtocolBufferException {
3438     return PARSER.parseFrom(data, extensionRegistry);
3439   }
3440 
parseFrom(byte[] data)3441   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseFrom(byte[] data)
3442       throws com.google.protobuf.InvalidProtocolBufferException {
3443     return PARSER.parseFrom(data);
3444   }
3445 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3446   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseFrom(
3447       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3448       throws com.google.protobuf.InvalidProtocolBufferException {
3449     return PARSER.parseFrom(data, extensionRegistry);
3450   }
3451 
parseFrom( java.io.InputStream input)3452   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseFrom(
3453       java.io.InputStream input) throws java.io.IOException {
3454     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3455   }
3456 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3457   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseFrom(
3458       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3459       throws java.io.IOException {
3460     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3461         PARSER, input, extensionRegistry);
3462   }
3463 
parseDelimitedFrom( java.io.InputStream input)3464   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseDelimitedFrom(
3465       java.io.InputStream input) throws java.io.IOException {
3466     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
3467   }
3468 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3469   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseDelimitedFrom(
3470       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3471       throws java.io.IOException {
3472     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
3473         PARSER, input, extensionRegistry);
3474   }
3475 
parseFrom( com.google.protobuf.CodedInputStream input)3476   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseFrom(
3477       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
3478     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3479   }
3480 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3481   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings parseFrom(
3482       com.google.protobuf.CodedInputStream input,
3483       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3484       throws java.io.IOException {
3485     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3486         PARSER, input, extensionRegistry);
3487   }
3488 
3489   @java.lang.Override
newBuilderForType()3490   public Builder newBuilderForType() {
3491     return newBuilder();
3492   }
3493 
newBuilder()3494   public static Builder newBuilder() {
3495     return DEFAULT_INSTANCE.toBuilder();
3496   }
3497 
newBuilder(com.google.cloud.dialogflow.cx.v3.SecuritySettings prototype)3498   public static Builder newBuilder(com.google.cloud.dialogflow.cx.v3.SecuritySettings prototype) {
3499     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3500   }
3501 
3502   @java.lang.Override
toBuilder()3503   public Builder toBuilder() {
3504     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
3505   }
3506 
3507   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)3508   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3509     Builder builder = new Builder(parent);
3510     return builder;
3511   }
3512   /**
3513    *
3514    *
3515    * <pre>
3516    * Represents the settings related to security issues, such as data redaction
3517    * and data retention. It may take hours for updates on the settings to
3518    * propagate to all the related components and take effect.
3519    * </pre>
3520    *
3521    * Protobuf type {@code google.cloud.dialogflow.cx.v3.SecuritySettings}
3522    */
3523   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
3524       implements
3525       // @@protoc_insertion_point(builder_implements:google.cloud.dialogflow.cx.v3.SecuritySettings)
3526       com.google.cloud.dialogflow.cx.v3.SecuritySettingsOrBuilder {
getDescriptor()3527     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
3528       return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
3529           .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_descriptor;
3530     }
3531 
3532     @java.lang.Override
3533     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()3534         internalGetFieldAccessorTable() {
3535       return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
3536           .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_fieldAccessorTable
3537           .ensureFieldAccessorsInitialized(
3538               com.google.cloud.dialogflow.cx.v3.SecuritySettings.class,
3539               com.google.cloud.dialogflow.cx.v3.SecuritySettings.Builder.class);
3540     }
3541 
3542     // Construct using com.google.cloud.dialogflow.cx.v3.SecuritySettings.newBuilder()
Builder()3543     private Builder() {}
3544 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)3545     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3546       super(parent);
3547     }
3548 
3549     @java.lang.Override
clear()3550     public Builder clear() {
3551       super.clear();
3552       bitField0_ = 0;
3553       name_ = "";
3554       displayName_ = "";
3555       redactionStrategy_ = 0;
3556       redactionScope_ = 0;
3557       inspectTemplate_ = "";
3558       deidentifyTemplate_ = "";
3559       purgeDataTypes_ = java.util.Collections.emptyList();
3560       bitField0_ = (bitField0_ & ~0x00000080);
3561       audioExportSettings_ = null;
3562       if (audioExportSettingsBuilder_ != null) {
3563         audioExportSettingsBuilder_.dispose();
3564         audioExportSettingsBuilder_ = null;
3565       }
3566       insightsExportSettings_ = null;
3567       if (insightsExportSettingsBuilder_ != null) {
3568         insightsExportSettingsBuilder_.dispose();
3569         insightsExportSettingsBuilder_ = null;
3570       }
3571       dataRetentionCase_ = 0;
3572       dataRetention_ = null;
3573       return this;
3574     }
3575 
3576     @java.lang.Override
getDescriptorForType()3577     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
3578       return com.google.cloud.dialogflow.cx.v3.SecuritySettingsProto
3579           .internal_static_google_cloud_dialogflow_cx_v3_SecuritySettings_descriptor;
3580     }
3581 
3582     @java.lang.Override
getDefaultInstanceForType()3583     public com.google.cloud.dialogflow.cx.v3.SecuritySettings getDefaultInstanceForType() {
3584       return com.google.cloud.dialogflow.cx.v3.SecuritySettings.getDefaultInstance();
3585     }
3586 
3587     @java.lang.Override
build()3588     public com.google.cloud.dialogflow.cx.v3.SecuritySettings build() {
3589       com.google.cloud.dialogflow.cx.v3.SecuritySettings result = buildPartial();
3590       if (!result.isInitialized()) {
3591         throw newUninitializedMessageException(result);
3592       }
3593       return result;
3594     }
3595 
3596     @java.lang.Override
buildPartial()3597     public com.google.cloud.dialogflow.cx.v3.SecuritySettings buildPartial() {
3598       com.google.cloud.dialogflow.cx.v3.SecuritySettings result =
3599           new com.google.cloud.dialogflow.cx.v3.SecuritySettings(this);
3600       buildPartialRepeatedFields(result);
3601       if (bitField0_ != 0) {
3602         buildPartial0(result);
3603       }
3604       buildPartialOneofs(result);
3605       onBuilt();
3606       return result;
3607     }
3608 
buildPartialRepeatedFields( com.google.cloud.dialogflow.cx.v3.SecuritySettings result)3609     private void buildPartialRepeatedFields(
3610         com.google.cloud.dialogflow.cx.v3.SecuritySettings result) {
3611       if (((bitField0_ & 0x00000080) != 0)) {
3612         purgeDataTypes_ = java.util.Collections.unmodifiableList(purgeDataTypes_);
3613         bitField0_ = (bitField0_ & ~0x00000080);
3614       }
3615       result.purgeDataTypes_ = purgeDataTypes_;
3616     }
3617 
buildPartial0(com.google.cloud.dialogflow.cx.v3.SecuritySettings result)3618     private void buildPartial0(com.google.cloud.dialogflow.cx.v3.SecuritySettings result) {
3619       int from_bitField0_ = bitField0_;
3620       if (((from_bitField0_ & 0x00000001) != 0)) {
3621         result.name_ = name_;
3622       }
3623       if (((from_bitField0_ & 0x00000002) != 0)) {
3624         result.displayName_ = displayName_;
3625       }
3626       if (((from_bitField0_ & 0x00000004) != 0)) {
3627         result.redactionStrategy_ = redactionStrategy_;
3628       }
3629       if (((from_bitField0_ & 0x00000008) != 0)) {
3630         result.redactionScope_ = redactionScope_;
3631       }
3632       if (((from_bitField0_ & 0x00000010) != 0)) {
3633         result.inspectTemplate_ = inspectTemplate_;
3634       }
3635       if (((from_bitField0_ & 0x00000020) != 0)) {
3636         result.deidentifyTemplate_ = deidentifyTemplate_;
3637       }
3638       if (((from_bitField0_ & 0x00000100) != 0)) {
3639         result.audioExportSettings_ =
3640             audioExportSettingsBuilder_ == null
3641                 ? audioExportSettings_
3642                 : audioExportSettingsBuilder_.build();
3643       }
3644       if (((from_bitField0_ & 0x00000200) != 0)) {
3645         result.insightsExportSettings_ =
3646             insightsExportSettingsBuilder_ == null
3647                 ? insightsExportSettings_
3648                 : insightsExportSettingsBuilder_.build();
3649       }
3650     }
3651 
buildPartialOneofs(com.google.cloud.dialogflow.cx.v3.SecuritySettings result)3652     private void buildPartialOneofs(com.google.cloud.dialogflow.cx.v3.SecuritySettings result) {
3653       result.dataRetentionCase_ = dataRetentionCase_;
3654       result.dataRetention_ = this.dataRetention_;
3655     }
3656 
3657     @java.lang.Override
clone()3658     public Builder clone() {
3659       return super.clone();
3660     }
3661 
3662     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)3663     public Builder setField(
3664         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
3665       return super.setField(field, value);
3666     }
3667 
3668     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)3669     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
3670       return super.clearField(field);
3671     }
3672 
3673     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)3674     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
3675       return super.clearOneof(oneof);
3676     }
3677 
3678     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)3679     public Builder setRepeatedField(
3680         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
3681       return super.setRepeatedField(field, index, value);
3682     }
3683 
3684     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)3685     public Builder addRepeatedField(
3686         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
3687       return super.addRepeatedField(field, value);
3688     }
3689 
3690     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)3691     public Builder mergeFrom(com.google.protobuf.Message other) {
3692       if (other instanceof com.google.cloud.dialogflow.cx.v3.SecuritySettings) {
3693         return mergeFrom((com.google.cloud.dialogflow.cx.v3.SecuritySettings) other);
3694       } else {
3695         super.mergeFrom(other);
3696         return this;
3697       }
3698     }
3699 
mergeFrom(com.google.cloud.dialogflow.cx.v3.SecuritySettings other)3700     public Builder mergeFrom(com.google.cloud.dialogflow.cx.v3.SecuritySettings other) {
3701       if (other == com.google.cloud.dialogflow.cx.v3.SecuritySettings.getDefaultInstance())
3702         return this;
3703       if (!other.getName().isEmpty()) {
3704         name_ = other.name_;
3705         bitField0_ |= 0x00000001;
3706         onChanged();
3707       }
3708       if (!other.getDisplayName().isEmpty()) {
3709         displayName_ = other.displayName_;
3710         bitField0_ |= 0x00000002;
3711         onChanged();
3712       }
3713       if (other.redactionStrategy_ != 0) {
3714         setRedactionStrategyValue(other.getRedactionStrategyValue());
3715       }
3716       if (other.redactionScope_ != 0) {
3717         setRedactionScopeValue(other.getRedactionScopeValue());
3718       }
3719       if (!other.getInspectTemplate().isEmpty()) {
3720         inspectTemplate_ = other.inspectTemplate_;
3721         bitField0_ |= 0x00000010;
3722         onChanged();
3723       }
3724       if (!other.getDeidentifyTemplate().isEmpty()) {
3725         deidentifyTemplate_ = other.deidentifyTemplate_;
3726         bitField0_ |= 0x00000020;
3727         onChanged();
3728       }
3729       if (!other.purgeDataTypes_.isEmpty()) {
3730         if (purgeDataTypes_.isEmpty()) {
3731           purgeDataTypes_ = other.purgeDataTypes_;
3732           bitField0_ = (bitField0_ & ~0x00000080);
3733         } else {
3734           ensurePurgeDataTypesIsMutable();
3735           purgeDataTypes_.addAll(other.purgeDataTypes_);
3736         }
3737         onChanged();
3738       }
3739       if (other.hasAudioExportSettings()) {
3740         mergeAudioExportSettings(other.getAudioExportSettings());
3741       }
3742       if (other.hasInsightsExportSettings()) {
3743         mergeInsightsExportSettings(other.getInsightsExportSettings());
3744       }
3745       switch (other.getDataRetentionCase()) {
3746         case RETENTION_WINDOW_DAYS:
3747           {
3748             setRetentionWindowDays(other.getRetentionWindowDays());
3749             break;
3750           }
3751         case DATARETENTION_NOT_SET:
3752           {
3753             break;
3754           }
3755       }
3756       this.mergeUnknownFields(other.getUnknownFields());
3757       onChanged();
3758       return this;
3759     }
3760 
3761     @java.lang.Override
isInitialized()3762     public final boolean isInitialized() {
3763       return true;
3764     }
3765 
3766     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3767     public Builder mergeFrom(
3768         com.google.protobuf.CodedInputStream input,
3769         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3770         throws java.io.IOException {
3771       if (extensionRegistry == null) {
3772         throw new java.lang.NullPointerException();
3773       }
3774       try {
3775         boolean done = false;
3776         while (!done) {
3777           int tag = input.readTag();
3778           switch (tag) {
3779             case 0:
3780               done = true;
3781               break;
3782             case 10:
3783               {
3784                 name_ = input.readStringRequireUtf8();
3785                 bitField0_ |= 0x00000001;
3786                 break;
3787               } // case 10
3788             case 18:
3789               {
3790                 displayName_ = input.readStringRequireUtf8();
3791                 bitField0_ |= 0x00000002;
3792                 break;
3793               } // case 18
3794             case 24:
3795               {
3796                 redactionStrategy_ = input.readEnum();
3797                 bitField0_ |= 0x00000004;
3798                 break;
3799               } // case 24
3800             case 32:
3801               {
3802                 redactionScope_ = input.readEnum();
3803                 bitField0_ |= 0x00000008;
3804                 break;
3805               } // case 32
3806             case 48:
3807               {
3808                 dataRetention_ = input.readInt32();
3809                 dataRetentionCase_ = 6;
3810                 break;
3811               } // case 48
3812             case 64:
3813               {
3814                 int tmpRaw = input.readEnum();
3815                 ensurePurgeDataTypesIsMutable();
3816                 purgeDataTypes_.add(tmpRaw);
3817                 break;
3818               } // case 64
3819             case 66:
3820               {
3821                 int length = input.readRawVarint32();
3822                 int oldLimit = input.pushLimit(length);
3823                 while (input.getBytesUntilLimit() > 0) {
3824                   int tmpRaw = input.readEnum();
3825                   ensurePurgeDataTypesIsMutable();
3826                   purgeDataTypes_.add(tmpRaw);
3827                 }
3828                 input.popLimit(oldLimit);
3829                 break;
3830               } // case 66
3831             case 74:
3832               {
3833                 inspectTemplate_ = input.readStringRequireUtf8();
3834                 bitField0_ |= 0x00000010;
3835                 break;
3836               } // case 74
3837             case 98:
3838               {
3839                 input.readMessage(
3840                     getAudioExportSettingsFieldBuilder().getBuilder(), extensionRegistry);
3841                 bitField0_ |= 0x00000100;
3842                 break;
3843               } // case 98
3844             case 106:
3845               {
3846                 input.readMessage(
3847                     getInsightsExportSettingsFieldBuilder().getBuilder(), extensionRegistry);
3848                 bitField0_ |= 0x00000200;
3849                 break;
3850               } // case 106
3851             case 138:
3852               {
3853                 deidentifyTemplate_ = input.readStringRequireUtf8();
3854                 bitField0_ |= 0x00000020;
3855                 break;
3856               } // case 138
3857             default:
3858               {
3859                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
3860                   done = true; // was an endgroup tag
3861                 }
3862                 break;
3863               } // default:
3864           } // switch (tag)
3865         } // while (!done)
3866       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3867         throw e.unwrapIOException();
3868       } finally {
3869         onChanged();
3870       } // finally
3871       return this;
3872     }
3873 
3874     private int dataRetentionCase_ = 0;
3875     private java.lang.Object dataRetention_;
3876 
getDataRetentionCase()3877     public DataRetentionCase getDataRetentionCase() {
3878       return DataRetentionCase.forNumber(dataRetentionCase_);
3879     }
3880 
clearDataRetention()3881     public Builder clearDataRetention() {
3882       dataRetentionCase_ = 0;
3883       dataRetention_ = null;
3884       onChanged();
3885       return this;
3886     }
3887 
3888     private int bitField0_;
3889 
3890     private java.lang.Object name_ = "";
3891     /**
3892      *
3893      *
3894      * <pre>
3895      * Resource name of the settings.
3896      * Required for the
3897      * [SecuritySettingsService.UpdateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettings]
3898      * method.
3899      * [SecuritySettingsService.CreateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.CreateSecuritySettings]
3900      * populates the name automatically. Format: `projects/&lt;Project
3901      * ID&gt;/locations/&lt;Location ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
3902      * </pre>
3903      *
3904      * <code>string name = 1;</code>
3905      *
3906      * @return The name.
3907      */
getName()3908     public java.lang.String getName() {
3909       java.lang.Object ref = name_;
3910       if (!(ref instanceof java.lang.String)) {
3911         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3912         java.lang.String s = bs.toStringUtf8();
3913         name_ = s;
3914         return s;
3915       } else {
3916         return (java.lang.String) ref;
3917       }
3918     }
3919     /**
3920      *
3921      *
3922      * <pre>
3923      * Resource name of the settings.
3924      * Required for the
3925      * [SecuritySettingsService.UpdateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettings]
3926      * method.
3927      * [SecuritySettingsService.CreateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.CreateSecuritySettings]
3928      * populates the name automatically. Format: `projects/&lt;Project
3929      * ID&gt;/locations/&lt;Location ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
3930      * </pre>
3931      *
3932      * <code>string name = 1;</code>
3933      *
3934      * @return The bytes for name.
3935      */
getNameBytes()3936     public com.google.protobuf.ByteString getNameBytes() {
3937       java.lang.Object ref = name_;
3938       if (ref instanceof String) {
3939         com.google.protobuf.ByteString b =
3940             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3941         name_ = b;
3942         return b;
3943       } else {
3944         return (com.google.protobuf.ByteString) ref;
3945       }
3946     }
3947     /**
3948      *
3949      *
3950      * <pre>
3951      * Resource name of the settings.
3952      * Required for the
3953      * [SecuritySettingsService.UpdateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettings]
3954      * method.
3955      * [SecuritySettingsService.CreateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.CreateSecuritySettings]
3956      * populates the name automatically. Format: `projects/&lt;Project
3957      * ID&gt;/locations/&lt;Location ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
3958      * </pre>
3959      *
3960      * <code>string name = 1;</code>
3961      *
3962      * @param value The name to set.
3963      * @return This builder for chaining.
3964      */
setName(java.lang.String value)3965     public Builder setName(java.lang.String value) {
3966       if (value == null) {
3967         throw new NullPointerException();
3968       }
3969       name_ = value;
3970       bitField0_ |= 0x00000001;
3971       onChanged();
3972       return this;
3973     }
3974     /**
3975      *
3976      *
3977      * <pre>
3978      * Resource name of the settings.
3979      * Required for the
3980      * [SecuritySettingsService.UpdateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettings]
3981      * method.
3982      * [SecuritySettingsService.CreateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.CreateSecuritySettings]
3983      * populates the name automatically. Format: `projects/&lt;Project
3984      * ID&gt;/locations/&lt;Location ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
3985      * </pre>
3986      *
3987      * <code>string name = 1;</code>
3988      *
3989      * @return This builder for chaining.
3990      */
clearName()3991     public Builder clearName() {
3992       name_ = getDefaultInstance().getName();
3993       bitField0_ = (bitField0_ & ~0x00000001);
3994       onChanged();
3995       return this;
3996     }
3997     /**
3998      *
3999      *
4000      * <pre>
4001      * Resource name of the settings.
4002      * Required for the
4003      * [SecuritySettingsService.UpdateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettings]
4004      * method.
4005      * [SecuritySettingsService.CreateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.CreateSecuritySettings]
4006      * populates the name automatically. Format: `projects/&lt;Project
4007      * ID&gt;/locations/&lt;Location ID&gt;/securitySettings/&lt;Security Settings ID&gt;`.
4008      * </pre>
4009      *
4010      * <code>string name = 1;</code>
4011      *
4012      * @param value The bytes for name to set.
4013      * @return This builder for chaining.
4014      */
setNameBytes(com.google.protobuf.ByteString value)4015     public Builder setNameBytes(com.google.protobuf.ByteString value) {
4016       if (value == null) {
4017         throw new NullPointerException();
4018       }
4019       checkByteStringIsUtf8(value);
4020       name_ = value;
4021       bitField0_ |= 0x00000001;
4022       onChanged();
4023       return this;
4024     }
4025 
4026     private java.lang.Object displayName_ = "";
4027     /**
4028      *
4029      *
4030      * <pre>
4031      * Required. The human-readable name of the security settings, unique within
4032      * the location.
4033      * </pre>
4034      *
4035      * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
4036      *
4037      * @return The displayName.
4038      */
getDisplayName()4039     public java.lang.String getDisplayName() {
4040       java.lang.Object ref = displayName_;
4041       if (!(ref instanceof java.lang.String)) {
4042         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4043         java.lang.String s = bs.toStringUtf8();
4044         displayName_ = s;
4045         return s;
4046       } else {
4047         return (java.lang.String) ref;
4048       }
4049     }
4050     /**
4051      *
4052      *
4053      * <pre>
4054      * Required. The human-readable name of the security settings, unique within
4055      * the location.
4056      * </pre>
4057      *
4058      * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
4059      *
4060      * @return The bytes for displayName.
4061      */
getDisplayNameBytes()4062     public com.google.protobuf.ByteString getDisplayNameBytes() {
4063       java.lang.Object ref = displayName_;
4064       if (ref instanceof String) {
4065         com.google.protobuf.ByteString b =
4066             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4067         displayName_ = b;
4068         return b;
4069       } else {
4070         return (com.google.protobuf.ByteString) ref;
4071       }
4072     }
4073     /**
4074      *
4075      *
4076      * <pre>
4077      * Required. The human-readable name of the security settings, unique within
4078      * the location.
4079      * </pre>
4080      *
4081      * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
4082      *
4083      * @param value The displayName to set.
4084      * @return This builder for chaining.
4085      */
setDisplayName(java.lang.String value)4086     public Builder setDisplayName(java.lang.String value) {
4087       if (value == null) {
4088         throw new NullPointerException();
4089       }
4090       displayName_ = value;
4091       bitField0_ |= 0x00000002;
4092       onChanged();
4093       return this;
4094     }
4095     /**
4096      *
4097      *
4098      * <pre>
4099      * Required. The human-readable name of the security settings, unique within
4100      * the location.
4101      * </pre>
4102      *
4103      * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
4104      *
4105      * @return This builder for chaining.
4106      */
clearDisplayName()4107     public Builder clearDisplayName() {
4108       displayName_ = getDefaultInstance().getDisplayName();
4109       bitField0_ = (bitField0_ & ~0x00000002);
4110       onChanged();
4111       return this;
4112     }
4113     /**
4114      *
4115      *
4116      * <pre>
4117      * Required. The human-readable name of the security settings, unique within
4118      * the location.
4119      * </pre>
4120      *
4121      * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code>
4122      *
4123      * @param value The bytes for displayName to set.
4124      * @return This builder for chaining.
4125      */
setDisplayNameBytes(com.google.protobuf.ByteString value)4126     public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) {
4127       if (value == null) {
4128         throw new NullPointerException();
4129       }
4130       checkByteStringIsUtf8(value);
4131       displayName_ = value;
4132       bitField0_ |= 0x00000002;
4133       onChanged();
4134       return this;
4135     }
4136 
4137     private int redactionStrategy_ = 0;
4138     /**
4139      *
4140      *
4141      * <pre>
4142      * Strategy that defines how we do redaction.
4143      * </pre>
4144      *
4145      * <code>
4146      * .google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy redaction_strategy = 3;
4147      * </code>
4148      *
4149      * @return The enum numeric value on the wire for redactionStrategy.
4150      */
4151     @java.lang.Override
getRedactionStrategyValue()4152     public int getRedactionStrategyValue() {
4153       return redactionStrategy_;
4154     }
4155     /**
4156      *
4157      *
4158      * <pre>
4159      * Strategy that defines how we do redaction.
4160      * </pre>
4161      *
4162      * <code>
4163      * .google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy redaction_strategy = 3;
4164      * </code>
4165      *
4166      * @param value The enum numeric value on the wire for redactionStrategy to set.
4167      * @return This builder for chaining.
4168      */
setRedactionStrategyValue(int value)4169     public Builder setRedactionStrategyValue(int value) {
4170       redactionStrategy_ = value;
4171       bitField0_ |= 0x00000004;
4172       onChanged();
4173       return this;
4174     }
4175     /**
4176      *
4177      *
4178      * <pre>
4179      * Strategy that defines how we do redaction.
4180      * </pre>
4181      *
4182      * <code>
4183      * .google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy redaction_strategy = 3;
4184      * </code>
4185      *
4186      * @return The redactionStrategy.
4187      */
4188     @java.lang.Override
4189     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy
getRedactionStrategy()4190         getRedactionStrategy() {
4191       com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy result =
4192           com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy.forNumber(
4193               redactionStrategy_);
4194       return result == null
4195           ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy.UNRECOGNIZED
4196           : result;
4197     }
4198     /**
4199      *
4200      *
4201      * <pre>
4202      * Strategy that defines how we do redaction.
4203      * </pre>
4204      *
4205      * <code>
4206      * .google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy redaction_strategy = 3;
4207      * </code>
4208      *
4209      * @param value The redactionStrategy to set.
4210      * @return This builder for chaining.
4211      */
setRedactionStrategy( com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy value)4212     public Builder setRedactionStrategy(
4213         com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy value) {
4214       if (value == null) {
4215         throw new NullPointerException();
4216       }
4217       bitField0_ |= 0x00000004;
4218       redactionStrategy_ = value.getNumber();
4219       onChanged();
4220       return this;
4221     }
4222     /**
4223      *
4224      *
4225      * <pre>
4226      * Strategy that defines how we do redaction.
4227      * </pre>
4228      *
4229      * <code>
4230      * .google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy redaction_strategy = 3;
4231      * </code>
4232      *
4233      * @return This builder for chaining.
4234      */
clearRedactionStrategy()4235     public Builder clearRedactionStrategy() {
4236       bitField0_ = (bitField0_ & ~0x00000004);
4237       redactionStrategy_ = 0;
4238       onChanged();
4239       return this;
4240     }
4241 
4242     private int redactionScope_ = 0;
4243     /**
4244      *
4245      *
4246      * <pre>
4247      * Defines the data for which Dialogflow applies redaction. Dialogflow does
4248      * not redact data that it does not have access to – for example, Cloud
4249      * logging.
4250      * </pre>
4251      *
4252      * <code>.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope redaction_scope = 4;
4253      * </code>
4254      *
4255      * @return The enum numeric value on the wire for redactionScope.
4256      */
4257     @java.lang.Override
getRedactionScopeValue()4258     public int getRedactionScopeValue() {
4259       return redactionScope_;
4260     }
4261     /**
4262      *
4263      *
4264      * <pre>
4265      * Defines the data for which Dialogflow applies redaction. Dialogflow does
4266      * not redact data that it does not have access to – for example, Cloud
4267      * logging.
4268      * </pre>
4269      *
4270      * <code>.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope redaction_scope = 4;
4271      * </code>
4272      *
4273      * @param value The enum numeric value on the wire for redactionScope to set.
4274      * @return This builder for chaining.
4275      */
setRedactionScopeValue(int value)4276     public Builder setRedactionScopeValue(int value) {
4277       redactionScope_ = value;
4278       bitField0_ |= 0x00000008;
4279       onChanged();
4280       return this;
4281     }
4282     /**
4283      *
4284      *
4285      * <pre>
4286      * Defines the data for which Dialogflow applies redaction. Dialogflow does
4287      * not redact data that it does not have access to – for example, Cloud
4288      * logging.
4289      * </pre>
4290      *
4291      * <code>.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope redaction_scope = 4;
4292      * </code>
4293      *
4294      * @return The redactionScope.
4295      */
4296     @java.lang.Override
getRedactionScope()4297     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope getRedactionScope() {
4298       com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope result =
4299           com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope.forNumber(
4300               redactionScope_);
4301       return result == null
4302           ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope.UNRECOGNIZED
4303           : result;
4304     }
4305     /**
4306      *
4307      *
4308      * <pre>
4309      * Defines the data for which Dialogflow applies redaction. Dialogflow does
4310      * not redact data that it does not have access to – for example, Cloud
4311      * logging.
4312      * </pre>
4313      *
4314      * <code>.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope redaction_scope = 4;
4315      * </code>
4316      *
4317      * @param value The redactionScope to set.
4318      * @return This builder for chaining.
4319      */
setRedactionScope( com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope value)4320     public Builder setRedactionScope(
4321         com.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope value) {
4322       if (value == null) {
4323         throw new NullPointerException();
4324       }
4325       bitField0_ |= 0x00000008;
4326       redactionScope_ = value.getNumber();
4327       onChanged();
4328       return this;
4329     }
4330     /**
4331      *
4332      *
4333      * <pre>
4334      * Defines the data for which Dialogflow applies redaction. Dialogflow does
4335      * not redact data that it does not have access to – for example, Cloud
4336      * logging.
4337      * </pre>
4338      *
4339      * <code>.google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope redaction_scope = 4;
4340      * </code>
4341      *
4342      * @return This builder for chaining.
4343      */
clearRedactionScope()4344     public Builder clearRedactionScope() {
4345       bitField0_ = (bitField0_ & ~0x00000008);
4346       redactionScope_ = 0;
4347       onChanged();
4348       return this;
4349     }
4350 
4351     private java.lang.Object inspectTemplate_ = "";
4352     /**
4353      *
4354      *
4355      * <pre>
4356      * [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this
4357      * template to define inspect base settings.
4358      * The `DLP Inspect Templates Reader` role is needed on the Dialogflow
4359      * service identity service account (has the form
4360      * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
4361      * for your agent's project.
4362      * If empty, we use the default DLP inspect config.
4363      * The template name will have one of the following formats:
4364      * `projects/&lt;Project ID&gt;/locations/&lt;Location ID&gt;/inspectTemplates/&lt;Template
4365      * ID&gt;` OR `organizations/&lt;Organization ID&gt;/locations/&lt;Location
4366      * ID&gt;/inspectTemplates/&lt;Template ID&gt;`
4367      * Note: `inspect_template` must be located in the same region as the
4368      * `SecuritySettings`.
4369      * </pre>
4370      *
4371      * <code>string inspect_template = 9 [(.google.api.resource_reference) = { ... }</code>
4372      *
4373      * @return The inspectTemplate.
4374      */
getInspectTemplate()4375     public java.lang.String getInspectTemplate() {
4376       java.lang.Object ref = inspectTemplate_;
4377       if (!(ref instanceof java.lang.String)) {
4378         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4379         java.lang.String s = bs.toStringUtf8();
4380         inspectTemplate_ = s;
4381         return s;
4382       } else {
4383         return (java.lang.String) ref;
4384       }
4385     }
4386     /**
4387      *
4388      *
4389      * <pre>
4390      * [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this
4391      * template to define inspect base settings.
4392      * The `DLP Inspect Templates Reader` role is needed on the Dialogflow
4393      * service identity service account (has the form
4394      * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
4395      * for your agent's project.
4396      * If empty, we use the default DLP inspect config.
4397      * The template name will have one of the following formats:
4398      * `projects/&lt;Project ID&gt;/locations/&lt;Location ID&gt;/inspectTemplates/&lt;Template
4399      * ID&gt;` OR `organizations/&lt;Organization ID&gt;/locations/&lt;Location
4400      * ID&gt;/inspectTemplates/&lt;Template ID&gt;`
4401      * Note: `inspect_template` must be located in the same region as the
4402      * `SecuritySettings`.
4403      * </pre>
4404      *
4405      * <code>string inspect_template = 9 [(.google.api.resource_reference) = { ... }</code>
4406      *
4407      * @return The bytes for inspectTemplate.
4408      */
getInspectTemplateBytes()4409     public com.google.protobuf.ByteString getInspectTemplateBytes() {
4410       java.lang.Object ref = inspectTemplate_;
4411       if (ref instanceof String) {
4412         com.google.protobuf.ByteString b =
4413             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4414         inspectTemplate_ = b;
4415         return b;
4416       } else {
4417         return (com.google.protobuf.ByteString) ref;
4418       }
4419     }
4420     /**
4421      *
4422      *
4423      * <pre>
4424      * [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this
4425      * template to define inspect base settings.
4426      * The `DLP Inspect Templates Reader` role is needed on the Dialogflow
4427      * service identity service account (has the form
4428      * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
4429      * for your agent's project.
4430      * If empty, we use the default DLP inspect config.
4431      * The template name will have one of the following formats:
4432      * `projects/&lt;Project ID&gt;/locations/&lt;Location ID&gt;/inspectTemplates/&lt;Template
4433      * ID&gt;` OR `organizations/&lt;Organization ID&gt;/locations/&lt;Location
4434      * ID&gt;/inspectTemplates/&lt;Template ID&gt;`
4435      * Note: `inspect_template` must be located in the same region as the
4436      * `SecuritySettings`.
4437      * </pre>
4438      *
4439      * <code>string inspect_template = 9 [(.google.api.resource_reference) = { ... }</code>
4440      *
4441      * @param value The inspectTemplate to set.
4442      * @return This builder for chaining.
4443      */
setInspectTemplate(java.lang.String value)4444     public Builder setInspectTemplate(java.lang.String value) {
4445       if (value == null) {
4446         throw new NullPointerException();
4447       }
4448       inspectTemplate_ = value;
4449       bitField0_ |= 0x00000010;
4450       onChanged();
4451       return this;
4452     }
4453     /**
4454      *
4455      *
4456      * <pre>
4457      * [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this
4458      * template to define inspect base settings.
4459      * The `DLP Inspect Templates Reader` role is needed on the Dialogflow
4460      * service identity service account (has the form
4461      * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
4462      * for your agent's project.
4463      * If empty, we use the default DLP inspect config.
4464      * The template name will have one of the following formats:
4465      * `projects/&lt;Project ID&gt;/locations/&lt;Location ID&gt;/inspectTemplates/&lt;Template
4466      * ID&gt;` OR `organizations/&lt;Organization ID&gt;/locations/&lt;Location
4467      * ID&gt;/inspectTemplates/&lt;Template ID&gt;`
4468      * Note: `inspect_template` must be located in the same region as the
4469      * `SecuritySettings`.
4470      * </pre>
4471      *
4472      * <code>string inspect_template = 9 [(.google.api.resource_reference) = { ... }</code>
4473      *
4474      * @return This builder for chaining.
4475      */
clearInspectTemplate()4476     public Builder clearInspectTemplate() {
4477       inspectTemplate_ = getDefaultInstance().getInspectTemplate();
4478       bitField0_ = (bitField0_ & ~0x00000010);
4479       onChanged();
4480       return this;
4481     }
4482     /**
4483      *
4484      *
4485      * <pre>
4486      * [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this
4487      * template to define inspect base settings.
4488      * The `DLP Inspect Templates Reader` role is needed on the Dialogflow
4489      * service identity service account (has the form
4490      * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
4491      * for your agent's project.
4492      * If empty, we use the default DLP inspect config.
4493      * The template name will have one of the following formats:
4494      * `projects/&lt;Project ID&gt;/locations/&lt;Location ID&gt;/inspectTemplates/&lt;Template
4495      * ID&gt;` OR `organizations/&lt;Organization ID&gt;/locations/&lt;Location
4496      * ID&gt;/inspectTemplates/&lt;Template ID&gt;`
4497      * Note: `inspect_template` must be located in the same region as the
4498      * `SecuritySettings`.
4499      * </pre>
4500      *
4501      * <code>string inspect_template = 9 [(.google.api.resource_reference) = { ... }</code>
4502      *
4503      * @param value The bytes for inspectTemplate to set.
4504      * @return This builder for chaining.
4505      */
setInspectTemplateBytes(com.google.protobuf.ByteString value)4506     public Builder setInspectTemplateBytes(com.google.protobuf.ByteString value) {
4507       if (value == null) {
4508         throw new NullPointerException();
4509       }
4510       checkByteStringIsUtf8(value);
4511       inspectTemplate_ = value;
4512       bitField0_ |= 0x00000010;
4513       onChanged();
4514       return this;
4515     }
4516 
4517     private java.lang.Object deidentifyTemplate_ = "";
4518     /**
4519      *
4520      *
4521      * <pre>
4522      * [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this
4523      * template to define de-identification configuration for the content.
4524      * The `DLP De-identify Templates Reader` role is needed on the Dialogflow
4525      * service identity service account (has the form
4526      * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
4527      * for your agent's project.
4528      * If empty, Dialogflow replaces sensitive info with `[redacted]` text.
4529      * The template name will have one of the following formats:
4530      * `projects/&lt;Project ID&gt;/locations/&lt;Location
4531      * ID&gt;/deidentifyTemplates/&lt;Template ID&gt;` OR `organizations/&lt;Organization
4532      * ID&gt;/locations/&lt;Location ID&gt;/deidentifyTemplates/&lt;Template ID&gt;`
4533      * Note: `deidentify_template` must be located in the same region as the
4534      * `SecuritySettings`.
4535      * </pre>
4536      *
4537      * <code>string deidentify_template = 17 [(.google.api.resource_reference) = { ... }</code>
4538      *
4539      * @return The deidentifyTemplate.
4540      */
getDeidentifyTemplate()4541     public java.lang.String getDeidentifyTemplate() {
4542       java.lang.Object ref = deidentifyTemplate_;
4543       if (!(ref instanceof java.lang.String)) {
4544         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4545         java.lang.String s = bs.toStringUtf8();
4546         deidentifyTemplate_ = s;
4547         return s;
4548       } else {
4549         return (java.lang.String) ref;
4550       }
4551     }
4552     /**
4553      *
4554      *
4555      * <pre>
4556      * [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this
4557      * template to define de-identification configuration for the content.
4558      * The `DLP De-identify Templates Reader` role is needed on the Dialogflow
4559      * service identity service account (has the form
4560      * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
4561      * for your agent's project.
4562      * If empty, Dialogflow replaces sensitive info with `[redacted]` text.
4563      * The template name will have one of the following formats:
4564      * `projects/&lt;Project ID&gt;/locations/&lt;Location
4565      * ID&gt;/deidentifyTemplates/&lt;Template ID&gt;` OR `organizations/&lt;Organization
4566      * ID&gt;/locations/&lt;Location ID&gt;/deidentifyTemplates/&lt;Template ID&gt;`
4567      * Note: `deidentify_template` must be located in the same region as the
4568      * `SecuritySettings`.
4569      * </pre>
4570      *
4571      * <code>string deidentify_template = 17 [(.google.api.resource_reference) = { ... }</code>
4572      *
4573      * @return The bytes for deidentifyTemplate.
4574      */
getDeidentifyTemplateBytes()4575     public com.google.protobuf.ByteString getDeidentifyTemplateBytes() {
4576       java.lang.Object ref = deidentifyTemplate_;
4577       if (ref instanceof String) {
4578         com.google.protobuf.ByteString b =
4579             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4580         deidentifyTemplate_ = b;
4581         return b;
4582       } else {
4583         return (com.google.protobuf.ByteString) ref;
4584       }
4585     }
4586     /**
4587      *
4588      *
4589      * <pre>
4590      * [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this
4591      * template to define de-identification configuration for the content.
4592      * The `DLP De-identify Templates Reader` role is needed on the Dialogflow
4593      * service identity service account (has the form
4594      * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
4595      * for your agent's project.
4596      * If empty, Dialogflow replaces sensitive info with `[redacted]` text.
4597      * The template name will have one of the following formats:
4598      * `projects/&lt;Project ID&gt;/locations/&lt;Location
4599      * ID&gt;/deidentifyTemplates/&lt;Template ID&gt;` OR `organizations/&lt;Organization
4600      * ID&gt;/locations/&lt;Location ID&gt;/deidentifyTemplates/&lt;Template ID&gt;`
4601      * Note: `deidentify_template` must be located in the same region as the
4602      * `SecuritySettings`.
4603      * </pre>
4604      *
4605      * <code>string deidentify_template = 17 [(.google.api.resource_reference) = { ... }</code>
4606      *
4607      * @param value The deidentifyTemplate to set.
4608      * @return This builder for chaining.
4609      */
setDeidentifyTemplate(java.lang.String value)4610     public Builder setDeidentifyTemplate(java.lang.String value) {
4611       if (value == null) {
4612         throw new NullPointerException();
4613       }
4614       deidentifyTemplate_ = value;
4615       bitField0_ |= 0x00000020;
4616       onChanged();
4617       return this;
4618     }
4619     /**
4620      *
4621      *
4622      * <pre>
4623      * [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this
4624      * template to define de-identification configuration for the content.
4625      * The `DLP De-identify Templates Reader` role is needed on the Dialogflow
4626      * service identity service account (has the form
4627      * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
4628      * for your agent's project.
4629      * If empty, Dialogflow replaces sensitive info with `[redacted]` text.
4630      * The template name will have one of the following formats:
4631      * `projects/&lt;Project ID&gt;/locations/&lt;Location
4632      * ID&gt;/deidentifyTemplates/&lt;Template ID&gt;` OR `organizations/&lt;Organization
4633      * ID&gt;/locations/&lt;Location ID&gt;/deidentifyTemplates/&lt;Template ID&gt;`
4634      * Note: `deidentify_template` must be located in the same region as the
4635      * `SecuritySettings`.
4636      * </pre>
4637      *
4638      * <code>string deidentify_template = 17 [(.google.api.resource_reference) = { ... }</code>
4639      *
4640      * @return This builder for chaining.
4641      */
clearDeidentifyTemplate()4642     public Builder clearDeidentifyTemplate() {
4643       deidentifyTemplate_ = getDefaultInstance().getDeidentifyTemplate();
4644       bitField0_ = (bitField0_ & ~0x00000020);
4645       onChanged();
4646       return this;
4647     }
4648     /**
4649      *
4650      *
4651      * <pre>
4652      * [DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this
4653      * template to define de-identification configuration for the content.
4654      * The `DLP De-identify Templates Reader` role is needed on the Dialogflow
4655      * service identity service account (has the form
4656      * `service-PROJECT_NUMBER&#64;gcp-sa-dialogflow.iam.gserviceaccount.com`)
4657      * for your agent's project.
4658      * If empty, Dialogflow replaces sensitive info with `[redacted]` text.
4659      * The template name will have one of the following formats:
4660      * `projects/&lt;Project ID&gt;/locations/&lt;Location
4661      * ID&gt;/deidentifyTemplates/&lt;Template ID&gt;` OR `organizations/&lt;Organization
4662      * ID&gt;/locations/&lt;Location ID&gt;/deidentifyTemplates/&lt;Template ID&gt;`
4663      * Note: `deidentify_template` must be located in the same region as the
4664      * `SecuritySettings`.
4665      * </pre>
4666      *
4667      * <code>string deidentify_template = 17 [(.google.api.resource_reference) = { ... }</code>
4668      *
4669      * @param value The bytes for deidentifyTemplate to set.
4670      * @return This builder for chaining.
4671      */
setDeidentifyTemplateBytes(com.google.protobuf.ByteString value)4672     public Builder setDeidentifyTemplateBytes(com.google.protobuf.ByteString value) {
4673       if (value == null) {
4674         throw new NullPointerException();
4675       }
4676       checkByteStringIsUtf8(value);
4677       deidentifyTemplate_ = value;
4678       bitField0_ |= 0x00000020;
4679       onChanged();
4680       return this;
4681     }
4682 
4683     /**
4684      *
4685      *
4686      * <pre>
4687      * Retains the data for the specified number of days.
4688      * User must set a value lower than Dialogflow's default 365d TTL (30 days
4689      * for Agent Assist traffic), higher value will be ignored and use default.
4690      * Setting a value higher than that has no effect. A missing value or
4691      * setting to 0 also means we use default TTL.
4692      * </pre>
4693      *
4694      * <code>int32 retention_window_days = 6;</code>
4695      *
4696      * @return Whether the retentionWindowDays field is set.
4697      */
hasRetentionWindowDays()4698     public boolean hasRetentionWindowDays() {
4699       return dataRetentionCase_ == 6;
4700     }
4701     /**
4702      *
4703      *
4704      * <pre>
4705      * Retains the data for the specified number of days.
4706      * User must set a value lower than Dialogflow's default 365d TTL (30 days
4707      * for Agent Assist traffic), higher value will be ignored and use default.
4708      * Setting a value higher than that has no effect. A missing value or
4709      * setting to 0 also means we use default TTL.
4710      * </pre>
4711      *
4712      * <code>int32 retention_window_days = 6;</code>
4713      *
4714      * @return The retentionWindowDays.
4715      */
getRetentionWindowDays()4716     public int getRetentionWindowDays() {
4717       if (dataRetentionCase_ == 6) {
4718         return (java.lang.Integer) dataRetention_;
4719       }
4720       return 0;
4721     }
4722     /**
4723      *
4724      *
4725      * <pre>
4726      * Retains the data for the specified number of days.
4727      * User must set a value lower than Dialogflow's default 365d TTL (30 days
4728      * for Agent Assist traffic), higher value will be ignored and use default.
4729      * Setting a value higher than that has no effect. A missing value or
4730      * setting to 0 also means we use default TTL.
4731      * </pre>
4732      *
4733      * <code>int32 retention_window_days = 6;</code>
4734      *
4735      * @param value The retentionWindowDays to set.
4736      * @return This builder for chaining.
4737      */
setRetentionWindowDays(int value)4738     public Builder setRetentionWindowDays(int value) {
4739 
4740       dataRetentionCase_ = 6;
4741       dataRetention_ = value;
4742       onChanged();
4743       return this;
4744     }
4745     /**
4746      *
4747      *
4748      * <pre>
4749      * Retains the data for the specified number of days.
4750      * User must set a value lower than Dialogflow's default 365d TTL (30 days
4751      * for Agent Assist traffic), higher value will be ignored and use default.
4752      * Setting a value higher than that has no effect. A missing value or
4753      * setting to 0 also means we use default TTL.
4754      * </pre>
4755      *
4756      * <code>int32 retention_window_days = 6;</code>
4757      *
4758      * @return This builder for chaining.
4759      */
clearRetentionWindowDays()4760     public Builder clearRetentionWindowDays() {
4761       if (dataRetentionCase_ == 6) {
4762         dataRetentionCase_ = 0;
4763         dataRetention_ = null;
4764         onChanged();
4765       }
4766       return this;
4767     }
4768 
4769     private java.util.List<java.lang.Integer> purgeDataTypes_ = java.util.Collections.emptyList();
4770 
ensurePurgeDataTypesIsMutable()4771     private void ensurePurgeDataTypesIsMutable() {
4772       if (!((bitField0_ & 0x00000080) != 0)) {
4773         purgeDataTypes_ = new java.util.ArrayList<java.lang.Integer>(purgeDataTypes_);
4774         bitField0_ |= 0x00000080;
4775       }
4776     }
4777     /**
4778      *
4779      *
4780      * <pre>
4781      * List of types of data to remove when retention settings triggers purge.
4782      * </pre>
4783      *
4784      * <code>
4785      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
4786      * </code>
4787      *
4788      * @return A list containing the purgeDataTypes.
4789      */
4790     public java.util.List<com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType>
getPurgeDataTypesList()4791         getPurgeDataTypesList() {
4792       return new com.google.protobuf.Internal.ListAdapter<
4793           java.lang.Integer, com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType>(
4794           purgeDataTypes_, purgeDataTypes_converter_);
4795     }
4796     /**
4797      *
4798      *
4799      * <pre>
4800      * List of types of data to remove when retention settings triggers purge.
4801      * </pre>
4802      *
4803      * <code>
4804      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
4805      * </code>
4806      *
4807      * @return The count of purgeDataTypes.
4808      */
getPurgeDataTypesCount()4809     public int getPurgeDataTypesCount() {
4810       return purgeDataTypes_.size();
4811     }
4812     /**
4813      *
4814      *
4815      * <pre>
4816      * List of types of data to remove when retention settings triggers purge.
4817      * </pre>
4818      *
4819      * <code>
4820      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
4821      * </code>
4822      *
4823      * @param index The index of the element to return.
4824      * @return The purgeDataTypes at the given index.
4825      */
getPurgeDataTypes( int index)4826     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType getPurgeDataTypes(
4827         int index) {
4828       return purgeDataTypes_converter_.convert(purgeDataTypes_.get(index));
4829     }
4830     /**
4831      *
4832      *
4833      * <pre>
4834      * List of types of data to remove when retention settings triggers purge.
4835      * </pre>
4836      *
4837      * <code>
4838      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
4839      * </code>
4840      *
4841      * @param index The index to set the value at.
4842      * @param value The purgeDataTypes to set.
4843      * @return This builder for chaining.
4844      */
setPurgeDataTypes( int index, com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType value)4845     public Builder setPurgeDataTypes(
4846         int index, com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType value) {
4847       if (value == null) {
4848         throw new NullPointerException();
4849       }
4850       ensurePurgeDataTypesIsMutable();
4851       purgeDataTypes_.set(index, value.getNumber());
4852       onChanged();
4853       return this;
4854     }
4855     /**
4856      *
4857      *
4858      * <pre>
4859      * List of types of data to remove when retention settings triggers purge.
4860      * </pre>
4861      *
4862      * <code>
4863      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
4864      * </code>
4865      *
4866      * @param value The purgeDataTypes to add.
4867      * @return This builder for chaining.
4868      */
addPurgeDataTypes( com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType value)4869     public Builder addPurgeDataTypes(
4870         com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType value) {
4871       if (value == null) {
4872         throw new NullPointerException();
4873       }
4874       ensurePurgeDataTypesIsMutable();
4875       purgeDataTypes_.add(value.getNumber());
4876       onChanged();
4877       return this;
4878     }
4879     /**
4880      *
4881      *
4882      * <pre>
4883      * List of types of data to remove when retention settings triggers purge.
4884      * </pre>
4885      *
4886      * <code>
4887      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
4888      * </code>
4889      *
4890      * @param values The purgeDataTypes to add.
4891      * @return This builder for chaining.
4892      */
addAllPurgeDataTypes( java.lang.Iterable< ? extends com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType> values)4893     public Builder addAllPurgeDataTypes(
4894         java.lang.Iterable<
4895                 ? extends com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType>
4896             values) {
4897       ensurePurgeDataTypesIsMutable();
4898       for (com.google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType value : values) {
4899         purgeDataTypes_.add(value.getNumber());
4900       }
4901       onChanged();
4902       return this;
4903     }
4904     /**
4905      *
4906      *
4907      * <pre>
4908      * List of types of data to remove when retention settings triggers purge.
4909      * </pre>
4910      *
4911      * <code>
4912      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
4913      * </code>
4914      *
4915      * @return This builder for chaining.
4916      */
clearPurgeDataTypes()4917     public Builder clearPurgeDataTypes() {
4918       purgeDataTypes_ = java.util.Collections.emptyList();
4919       bitField0_ = (bitField0_ & ~0x00000080);
4920       onChanged();
4921       return this;
4922     }
4923     /**
4924      *
4925      *
4926      * <pre>
4927      * List of types of data to remove when retention settings triggers purge.
4928      * </pre>
4929      *
4930      * <code>
4931      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
4932      * </code>
4933      *
4934      * @return A list containing the enum numeric values on the wire for purgeDataTypes.
4935      */
getPurgeDataTypesValueList()4936     public java.util.List<java.lang.Integer> getPurgeDataTypesValueList() {
4937       return java.util.Collections.unmodifiableList(purgeDataTypes_);
4938     }
4939     /**
4940      *
4941      *
4942      * <pre>
4943      * List of types of data to remove when retention settings triggers purge.
4944      * </pre>
4945      *
4946      * <code>
4947      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
4948      * </code>
4949      *
4950      * @param index The index of the value to return.
4951      * @return The enum numeric value on the wire of purgeDataTypes at the given index.
4952      */
getPurgeDataTypesValue(int index)4953     public int getPurgeDataTypesValue(int index) {
4954       return purgeDataTypes_.get(index);
4955     }
4956     /**
4957      *
4958      *
4959      * <pre>
4960      * List of types of data to remove when retention settings triggers purge.
4961      * </pre>
4962      *
4963      * <code>
4964      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
4965      * </code>
4966      *
4967      * @param index The index to set the value at.
4968      * @param value The enum numeric value on the wire for purgeDataTypes to set.
4969      * @return This builder for chaining.
4970      */
setPurgeDataTypesValue(int index, int value)4971     public Builder setPurgeDataTypesValue(int index, int value) {
4972       ensurePurgeDataTypesIsMutable();
4973       purgeDataTypes_.set(index, value);
4974       onChanged();
4975       return this;
4976     }
4977     /**
4978      *
4979      *
4980      * <pre>
4981      * List of types of data to remove when retention settings triggers purge.
4982      * </pre>
4983      *
4984      * <code>
4985      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
4986      * </code>
4987      *
4988      * @param value The enum numeric value on the wire for purgeDataTypes to add.
4989      * @return This builder for chaining.
4990      */
addPurgeDataTypesValue(int value)4991     public Builder addPurgeDataTypesValue(int value) {
4992       ensurePurgeDataTypesIsMutable();
4993       purgeDataTypes_.add(value);
4994       onChanged();
4995       return this;
4996     }
4997     /**
4998      *
4999      *
5000      * <pre>
5001      * List of types of data to remove when retention settings triggers purge.
5002      * </pre>
5003      *
5004      * <code>
5005      * repeated .google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType purge_data_types = 8;
5006      * </code>
5007      *
5008      * @param values The enum numeric values on the wire for purgeDataTypes to add.
5009      * @return This builder for chaining.
5010      */
addAllPurgeDataTypesValue(java.lang.Iterable<java.lang.Integer> values)5011     public Builder addAllPurgeDataTypesValue(java.lang.Iterable<java.lang.Integer> values) {
5012       ensurePurgeDataTypesIsMutable();
5013       for (int value : values) {
5014         purgeDataTypes_.add(value);
5015       }
5016       onChanged();
5017       return this;
5018     }
5019 
5020     private com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
5021         audioExportSettings_;
5022     private com.google.protobuf.SingleFieldBuilderV3<
5023             com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings,
5024             com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.Builder,
5025             com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettingsOrBuilder>
5026         audioExportSettingsBuilder_;
5027     /**
5028      *
5029      *
5030      * <pre>
5031      * Controls audio export settings for post-conversation analytics when
5032      * ingesting audio to conversations via [Participants.AnalyzeContent][] or
5033      * [Participants.StreamingAnalyzeContent][].
5034      * If
5035      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5036      * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
5037      * is empty, audio export is disabled.
5038      * If audio export is enabled, audio is recorded and saved to
5039      * [audio_export_settings.gcs_bucket][], subject to retention policy of
5040      * [audio_export_settings.gcs_bucket][].
5041      * This setting won't effect audio input for implicit sessions via
5042      * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
5043      * or
5044      * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
5045      * </pre>
5046      *
5047      * <code>
5048      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
5049      * </code>
5050      *
5051      * @return Whether the audioExportSettings field is set.
5052      */
hasAudioExportSettings()5053     public boolean hasAudioExportSettings() {
5054       return ((bitField0_ & 0x00000100) != 0);
5055     }
5056     /**
5057      *
5058      *
5059      * <pre>
5060      * Controls audio export settings for post-conversation analytics when
5061      * ingesting audio to conversations via [Participants.AnalyzeContent][] or
5062      * [Participants.StreamingAnalyzeContent][].
5063      * If
5064      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5065      * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
5066      * is empty, audio export is disabled.
5067      * If audio export is enabled, audio is recorded and saved to
5068      * [audio_export_settings.gcs_bucket][], subject to retention policy of
5069      * [audio_export_settings.gcs_bucket][].
5070      * This setting won't effect audio input for implicit sessions via
5071      * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
5072      * or
5073      * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
5074      * </pre>
5075      *
5076      * <code>
5077      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
5078      * </code>
5079      *
5080      * @return The audioExportSettings.
5081      */
5082     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
getAudioExportSettings()5083         getAudioExportSettings() {
5084       if (audioExportSettingsBuilder_ == null) {
5085         return audioExportSettings_ == null
5086             ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
5087                 .getDefaultInstance()
5088             : audioExportSettings_;
5089       } else {
5090         return audioExportSettingsBuilder_.getMessage();
5091       }
5092     }
5093     /**
5094      *
5095      *
5096      * <pre>
5097      * Controls audio export settings for post-conversation analytics when
5098      * ingesting audio to conversations via [Participants.AnalyzeContent][] or
5099      * [Participants.StreamingAnalyzeContent][].
5100      * If
5101      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5102      * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
5103      * is empty, audio export is disabled.
5104      * If audio export is enabled, audio is recorded and saved to
5105      * [audio_export_settings.gcs_bucket][], subject to retention policy of
5106      * [audio_export_settings.gcs_bucket][].
5107      * This setting won't effect audio input for implicit sessions via
5108      * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
5109      * or
5110      * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
5111      * </pre>
5112      *
5113      * <code>
5114      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
5115      * </code>
5116      */
setAudioExportSettings( com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings value)5117     public Builder setAudioExportSettings(
5118         com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings value) {
5119       if (audioExportSettingsBuilder_ == null) {
5120         if (value == null) {
5121           throw new NullPointerException();
5122         }
5123         audioExportSettings_ = value;
5124       } else {
5125         audioExportSettingsBuilder_.setMessage(value);
5126       }
5127       bitField0_ |= 0x00000100;
5128       onChanged();
5129       return this;
5130     }
5131     /**
5132      *
5133      *
5134      * <pre>
5135      * Controls audio export settings for post-conversation analytics when
5136      * ingesting audio to conversations via [Participants.AnalyzeContent][] or
5137      * [Participants.StreamingAnalyzeContent][].
5138      * If
5139      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5140      * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
5141      * is empty, audio export is disabled.
5142      * If audio export is enabled, audio is recorded and saved to
5143      * [audio_export_settings.gcs_bucket][], subject to retention policy of
5144      * [audio_export_settings.gcs_bucket][].
5145      * This setting won't effect audio input for implicit sessions via
5146      * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
5147      * or
5148      * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
5149      * </pre>
5150      *
5151      * <code>
5152      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
5153      * </code>
5154      */
setAudioExportSettings( com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.Builder builderForValue)5155     public Builder setAudioExportSettings(
5156         com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.Builder
5157             builderForValue) {
5158       if (audioExportSettingsBuilder_ == null) {
5159         audioExportSettings_ = builderForValue.build();
5160       } else {
5161         audioExportSettingsBuilder_.setMessage(builderForValue.build());
5162       }
5163       bitField0_ |= 0x00000100;
5164       onChanged();
5165       return this;
5166     }
5167     /**
5168      *
5169      *
5170      * <pre>
5171      * Controls audio export settings for post-conversation analytics when
5172      * ingesting audio to conversations via [Participants.AnalyzeContent][] or
5173      * [Participants.StreamingAnalyzeContent][].
5174      * If
5175      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5176      * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
5177      * is empty, audio export is disabled.
5178      * If audio export is enabled, audio is recorded and saved to
5179      * [audio_export_settings.gcs_bucket][], subject to retention policy of
5180      * [audio_export_settings.gcs_bucket][].
5181      * This setting won't effect audio input for implicit sessions via
5182      * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
5183      * or
5184      * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
5185      * </pre>
5186      *
5187      * <code>
5188      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
5189      * </code>
5190      */
mergeAudioExportSettings( com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings value)5191     public Builder mergeAudioExportSettings(
5192         com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings value) {
5193       if (audioExportSettingsBuilder_ == null) {
5194         if (((bitField0_ & 0x00000100) != 0)
5195             && audioExportSettings_ != null
5196             && audioExportSettings_
5197                 != com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
5198                     .getDefaultInstance()) {
5199           getAudioExportSettingsBuilder().mergeFrom(value);
5200         } else {
5201           audioExportSettings_ = value;
5202         }
5203       } else {
5204         audioExportSettingsBuilder_.mergeFrom(value);
5205       }
5206       bitField0_ |= 0x00000100;
5207       onChanged();
5208       return this;
5209     }
5210     /**
5211      *
5212      *
5213      * <pre>
5214      * Controls audio export settings for post-conversation analytics when
5215      * ingesting audio to conversations via [Participants.AnalyzeContent][] or
5216      * [Participants.StreamingAnalyzeContent][].
5217      * If
5218      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5219      * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
5220      * is empty, audio export is disabled.
5221      * If audio export is enabled, audio is recorded and saved to
5222      * [audio_export_settings.gcs_bucket][], subject to retention policy of
5223      * [audio_export_settings.gcs_bucket][].
5224      * This setting won't effect audio input for implicit sessions via
5225      * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
5226      * or
5227      * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
5228      * </pre>
5229      *
5230      * <code>
5231      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
5232      * </code>
5233      */
clearAudioExportSettings()5234     public Builder clearAudioExportSettings() {
5235       bitField0_ = (bitField0_ & ~0x00000100);
5236       audioExportSettings_ = null;
5237       if (audioExportSettingsBuilder_ != null) {
5238         audioExportSettingsBuilder_.dispose();
5239         audioExportSettingsBuilder_ = null;
5240       }
5241       onChanged();
5242       return this;
5243     }
5244     /**
5245      *
5246      *
5247      * <pre>
5248      * Controls audio export settings for post-conversation analytics when
5249      * ingesting audio to conversations via [Participants.AnalyzeContent][] or
5250      * [Participants.StreamingAnalyzeContent][].
5251      * If
5252      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5253      * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
5254      * is empty, audio export is disabled.
5255      * If audio export is enabled, audio is recorded and saved to
5256      * [audio_export_settings.gcs_bucket][], subject to retention policy of
5257      * [audio_export_settings.gcs_bucket][].
5258      * This setting won't effect audio input for implicit sessions via
5259      * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
5260      * or
5261      * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
5262      * </pre>
5263      *
5264      * <code>
5265      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
5266      * </code>
5267      */
5268     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.Builder
getAudioExportSettingsBuilder()5269         getAudioExportSettingsBuilder() {
5270       bitField0_ |= 0x00000100;
5271       onChanged();
5272       return getAudioExportSettingsFieldBuilder().getBuilder();
5273     }
5274     /**
5275      *
5276      *
5277      * <pre>
5278      * Controls audio export settings for post-conversation analytics when
5279      * ingesting audio to conversations via [Participants.AnalyzeContent][] or
5280      * [Participants.StreamingAnalyzeContent][].
5281      * If
5282      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5283      * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
5284      * is empty, audio export is disabled.
5285      * If audio export is enabled, audio is recorded and saved to
5286      * [audio_export_settings.gcs_bucket][], subject to retention policy of
5287      * [audio_export_settings.gcs_bucket][].
5288      * This setting won't effect audio input for implicit sessions via
5289      * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
5290      * or
5291      * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
5292      * </pre>
5293      *
5294      * <code>
5295      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
5296      * </code>
5297      */
5298     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettingsOrBuilder
getAudioExportSettingsOrBuilder()5299         getAudioExportSettingsOrBuilder() {
5300       if (audioExportSettingsBuilder_ != null) {
5301         return audioExportSettingsBuilder_.getMessageOrBuilder();
5302       } else {
5303         return audioExportSettings_ == null
5304             ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings
5305                 .getDefaultInstance()
5306             : audioExportSettings_;
5307       }
5308     }
5309     /**
5310      *
5311      *
5312      * <pre>
5313      * Controls audio export settings for post-conversation analytics when
5314      * ingesting audio to conversations via [Participants.AnalyzeContent][] or
5315      * [Participants.StreamingAnalyzeContent][].
5316      * If
5317      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5318      * is set to REMOVE_AFTER_CONVERSATION or [audio_export_settings.gcs_bucket][]
5319      * is empty, audio export is disabled.
5320      * If audio export is enabled, audio is recorded and saved to
5321      * [audio_export_settings.gcs_bucket][], subject to retention policy of
5322      * [audio_export_settings.gcs_bucket][].
5323      * This setting won't effect audio input for implicit sessions via
5324      * [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent]
5325      * or
5326      * [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent].
5327      * </pre>
5328      *
5329      * <code>
5330      * .google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings audio_export_settings = 12;
5331      * </code>
5332      */
5333     private com.google.protobuf.SingleFieldBuilderV3<
5334             com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings,
5335             com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.Builder,
5336             com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettingsOrBuilder>
getAudioExportSettingsFieldBuilder()5337         getAudioExportSettingsFieldBuilder() {
5338       if (audioExportSettingsBuilder_ == null) {
5339         audioExportSettingsBuilder_ =
5340             new com.google.protobuf.SingleFieldBuilderV3<
5341                 com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings,
5342                 com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.Builder,
5343                 com.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettingsOrBuilder>(
5344                 getAudioExportSettings(), getParentForChildren(), isClean());
5345         audioExportSettings_ = null;
5346       }
5347       return audioExportSettingsBuilder_;
5348     }
5349 
5350     private com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
5351         insightsExportSettings_;
5352     private com.google.protobuf.SingleFieldBuilderV3<
5353             com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings,
5354             com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.Builder,
5355             com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettingsOrBuilder>
5356         insightsExportSettingsBuilder_;
5357     /**
5358      *
5359      *
5360      * <pre>
5361      * Controls conversation exporting settings to Insights after conversation is
5362      * completed.
5363      * If
5364      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5365      * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
5366      * what you configure here.
5367      * </pre>
5368      *
5369      * <code>
5370      * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
5371      * </code>
5372      *
5373      * @return Whether the insightsExportSettings field is set.
5374      */
hasInsightsExportSettings()5375     public boolean hasInsightsExportSettings() {
5376       return ((bitField0_ & 0x00000200) != 0);
5377     }
5378     /**
5379      *
5380      *
5381      * <pre>
5382      * Controls conversation exporting settings to Insights after conversation is
5383      * completed.
5384      * If
5385      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5386      * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
5387      * what you configure here.
5388      * </pre>
5389      *
5390      * <code>
5391      * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
5392      * </code>
5393      *
5394      * @return The insightsExportSettings.
5395      */
5396     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
getInsightsExportSettings()5397         getInsightsExportSettings() {
5398       if (insightsExportSettingsBuilder_ == null) {
5399         return insightsExportSettings_ == null
5400             ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
5401                 .getDefaultInstance()
5402             : insightsExportSettings_;
5403       } else {
5404         return insightsExportSettingsBuilder_.getMessage();
5405       }
5406     }
5407     /**
5408      *
5409      *
5410      * <pre>
5411      * Controls conversation exporting settings to Insights after conversation is
5412      * completed.
5413      * If
5414      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5415      * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
5416      * what you configure here.
5417      * </pre>
5418      *
5419      * <code>
5420      * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
5421      * </code>
5422      */
setInsightsExportSettings( com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings value)5423     public Builder setInsightsExportSettings(
5424         com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings value) {
5425       if (insightsExportSettingsBuilder_ == null) {
5426         if (value == null) {
5427           throw new NullPointerException();
5428         }
5429         insightsExportSettings_ = value;
5430       } else {
5431         insightsExportSettingsBuilder_.setMessage(value);
5432       }
5433       bitField0_ |= 0x00000200;
5434       onChanged();
5435       return this;
5436     }
5437     /**
5438      *
5439      *
5440      * <pre>
5441      * Controls conversation exporting settings to Insights after conversation is
5442      * completed.
5443      * If
5444      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5445      * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
5446      * what you configure here.
5447      * </pre>
5448      *
5449      * <code>
5450      * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
5451      * </code>
5452      */
setInsightsExportSettings( com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.Builder builderForValue)5453     public Builder setInsightsExportSettings(
5454         com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.Builder
5455             builderForValue) {
5456       if (insightsExportSettingsBuilder_ == null) {
5457         insightsExportSettings_ = builderForValue.build();
5458       } else {
5459         insightsExportSettingsBuilder_.setMessage(builderForValue.build());
5460       }
5461       bitField0_ |= 0x00000200;
5462       onChanged();
5463       return this;
5464     }
5465     /**
5466      *
5467      *
5468      * <pre>
5469      * Controls conversation exporting settings to Insights after conversation is
5470      * completed.
5471      * If
5472      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5473      * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
5474      * what you configure here.
5475      * </pre>
5476      *
5477      * <code>
5478      * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
5479      * </code>
5480      */
mergeInsightsExportSettings( com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings value)5481     public Builder mergeInsightsExportSettings(
5482         com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings value) {
5483       if (insightsExportSettingsBuilder_ == null) {
5484         if (((bitField0_ & 0x00000200) != 0)
5485             && insightsExportSettings_ != null
5486             && insightsExportSettings_
5487                 != com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
5488                     .getDefaultInstance()) {
5489           getInsightsExportSettingsBuilder().mergeFrom(value);
5490         } else {
5491           insightsExportSettings_ = value;
5492         }
5493       } else {
5494         insightsExportSettingsBuilder_.mergeFrom(value);
5495       }
5496       bitField0_ |= 0x00000200;
5497       onChanged();
5498       return this;
5499     }
5500     /**
5501      *
5502      *
5503      * <pre>
5504      * Controls conversation exporting settings to Insights after conversation is
5505      * completed.
5506      * If
5507      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5508      * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
5509      * what you configure here.
5510      * </pre>
5511      *
5512      * <code>
5513      * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
5514      * </code>
5515      */
clearInsightsExportSettings()5516     public Builder clearInsightsExportSettings() {
5517       bitField0_ = (bitField0_ & ~0x00000200);
5518       insightsExportSettings_ = null;
5519       if (insightsExportSettingsBuilder_ != null) {
5520         insightsExportSettingsBuilder_.dispose();
5521         insightsExportSettingsBuilder_ = null;
5522       }
5523       onChanged();
5524       return this;
5525     }
5526     /**
5527      *
5528      *
5529      * <pre>
5530      * Controls conversation exporting settings to Insights after conversation is
5531      * completed.
5532      * If
5533      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5534      * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
5535      * what you configure here.
5536      * </pre>
5537      *
5538      * <code>
5539      * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
5540      * </code>
5541      */
5542     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.Builder
getInsightsExportSettingsBuilder()5543         getInsightsExportSettingsBuilder() {
5544       bitField0_ |= 0x00000200;
5545       onChanged();
5546       return getInsightsExportSettingsFieldBuilder().getBuilder();
5547     }
5548     /**
5549      *
5550      *
5551      * <pre>
5552      * Controls conversation exporting settings to Insights after conversation is
5553      * completed.
5554      * If
5555      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5556      * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
5557      * what you configure here.
5558      * </pre>
5559      *
5560      * <code>
5561      * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
5562      * </code>
5563      */
5564     public com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettingsOrBuilder
getInsightsExportSettingsOrBuilder()5565         getInsightsExportSettingsOrBuilder() {
5566       if (insightsExportSettingsBuilder_ != null) {
5567         return insightsExportSettingsBuilder_.getMessageOrBuilder();
5568       } else {
5569         return insightsExportSettings_ == null
5570             ? com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings
5571                 .getDefaultInstance()
5572             : insightsExportSettings_;
5573       }
5574     }
5575     /**
5576      *
5577      *
5578      * <pre>
5579      * Controls conversation exporting settings to Insights after conversation is
5580      * completed.
5581      * If
5582      * [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy]
5583      * is set to REMOVE_AFTER_CONVERSATION, Insights export is disabled no matter
5584      * what you configure here.
5585      * </pre>
5586      *
5587      * <code>
5588      * .google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings insights_export_settings = 13;
5589      * </code>
5590      */
5591     private com.google.protobuf.SingleFieldBuilderV3<
5592             com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings,
5593             com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.Builder,
5594             com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettingsOrBuilder>
getInsightsExportSettingsFieldBuilder()5595         getInsightsExportSettingsFieldBuilder() {
5596       if (insightsExportSettingsBuilder_ == null) {
5597         insightsExportSettingsBuilder_ =
5598             new com.google.protobuf.SingleFieldBuilderV3<
5599                 com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings,
5600                 com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.Builder,
5601                 com.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettingsOrBuilder>(
5602                 getInsightsExportSettings(), getParentForChildren(), isClean());
5603         insightsExportSettings_ = null;
5604       }
5605       return insightsExportSettingsBuilder_;
5606     }
5607 
5608     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)5609     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
5610       return super.setUnknownFields(unknownFields);
5611     }
5612 
5613     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)5614     public final Builder mergeUnknownFields(
5615         final com.google.protobuf.UnknownFieldSet unknownFields) {
5616       return super.mergeUnknownFields(unknownFields);
5617     }
5618 
5619     // @@protoc_insertion_point(builder_scope:google.cloud.dialogflow.cx.v3.SecuritySettings)
5620   }
5621 
5622   // @@protoc_insertion_point(class_scope:google.cloud.dialogflow.cx.v3.SecuritySettings)
5623   private static final com.google.cloud.dialogflow.cx.v3.SecuritySettings DEFAULT_INSTANCE;
5624 
5625   static {
5626     DEFAULT_INSTANCE = new com.google.cloud.dialogflow.cx.v3.SecuritySettings();
5627   }
5628 
getDefaultInstance()5629   public static com.google.cloud.dialogflow.cx.v3.SecuritySettings getDefaultInstance() {
5630     return DEFAULT_INSTANCE;
5631   }
5632 
5633   private static final com.google.protobuf.Parser<SecuritySettings> PARSER =
5634       new com.google.protobuf.AbstractParser<SecuritySettings>() {
5635         @java.lang.Override
5636         public SecuritySettings parsePartialFrom(
5637             com.google.protobuf.CodedInputStream input,
5638             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5639             throws com.google.protobuf.InvalidProtocolBufferException {
5640           Builder builder = newBuilder();
5641           try {
5642             builder.mergeFrom(input, extensionRegistry);
5643           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5644             throw e.setUnfinishedMessage(builder.buildPartial());
5645           } catch (com.google.protobuf.UninitializedMessageException e) {
5646             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
5647           } catch (java.io.IOException e) {
5648             throw new com.google.protobuf.InvalidProtocolBufferException(e)
5649                 .setUnfinishedMessage(builder.buildPartial());
5650           }
5651           return builder.buildPartial();
5652         }
5653       };
5654 
parser()5655   public static com.google.protobuf.Parser<SecuritySettings> parser() {
5656     return PARSER;
5657   }
5658 
5659   @java.lang.Override
getParserForType()5660   public com.google.protobuf.Parser<SecuritySettings> getParserForType() {
5661     return PARSER;
5662   }
5663 
5664   @java.lang.Override
getDefaultInstanceForType()5665   public com.google.cloud.dialogflow.cx.v3.SecuritySettings getDefaultInstanceForType() {
5666     return DEFAULT_INSTANCE;
5667   }
5668 }
5669