• 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/securitycenter/v1/finding.proto
18 
19 package com.google.cloud.securitycenter.v1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * Security Command Center finding.
26  * A finding is a record of assessment data like security, risk, health, or
27  * privacy, that is ingested into Security Command Center for presentation,
28  * notification, analysis, policy testing, and enforcement. For example, a
29  * cross-site scripting (XSS) vulnerability in an App Engine application is a
30  * finding.
31  * </pre>
32  *
33  * Protobuf type {@code google.cloud.securitycenter.v1.Finding}
34  */
35 public final class Finding extends com.google.protobuf.GeneratedMessageV3
36     implements
37     // @@protoc_insertion_point(message_implements:google.cloud.securitycenter.v1.Finding)
38     FindingOrBuilder {
39   private static final long serialVersionUID = 0L;
40   // Use Finding.newBuilder() to construct.
Finding(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)41   private Finding(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
42     super(builder);
43   }
44 
Finding()45   private Finding() {
46     name_ = "";
47     parent_ = "";
48     resourceName_ = "";
49     state_ = 0;
50     category_ = "";
51     externalUri_ = "";
52     severity_ = 0;
53     canonicalName_ = "";
54     mute_ = 0;
55     findingClass_ = 0;
56     connections_ = java.util.Collections.emptyList();
57     muteInitiator_ = "";
58     processes_ = java.util.Collections.emptyList();
59     compliances_ = java.util.Collections.emptyList();
60     parentDisplayName_ = "";
61     description_ = "";
62     iamBindings_ = java.util.Collections.emptyList();
63     nextSteps_ = "";
64     moduleName_ = "";
65     containers_ = java.util.Collections.emptyList();
66     files_ = java.util.Collections.emptyList();
67   }
68 
69   @java.lang.Override
70   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)71   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
72     return new Finding();
73   }
74 
75   @java.lang.Override
getUnknownFields()76   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
77     return this.unknownFields;
78   }
79 
getDescriptor()80   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
81     return com.google.cloud.securitycenter.v1.FindingOuterClass
82         .internal_static_google_cloud_securitycenter_v1_Finding_descriptor;
83   }
84 
85   @SuppressWarnings({"rawtypes"})
86   @java.lang.Override
internalGetMapField(int number)87   protected com.google.protobuf.MapField internalGetMapField(int number) {
88     switch (number) {
89       case 7:
90         return internalGetSourceProperties();
91       case 22:
92         return internalGetExternalSystems();
93       case 33:
94         return internalGetContacts();
95       default:
96         throw new RuntimeException("Invalid map field number: " + number);
97     }
98   }
99 
100   @java.lang.Override
101   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()102       internalGetFieldAccessorTable() {
103     return com.google.cloud.securitycenter.v1.FindingOuterClass
104         .internal_static_google_cloud_securitycenter_v1_Finding_fieldAccessorTable
105         .ensureFieldAccessorsInitialized(
106             com.google.cloud.securitycenter.v1.Finding.class,
107             com.google.cloud.securitycenter.v1.Finding.Builder.class);
108   }
109 
110   /**
111    *
112    *
113    * <pre>
114    * The state of the finding.
115    * </pre>
116    *
117    * Protobuf enum {@code google.cloud.securitycenter.v1.Finding.State}
118    */
119   public enum State implements com.google.protobuf.ProtocolMessageEnum {
120     /**
121      *
122      *
123      * <pre>
124      * Unspecified state.
125      * </pre>
126      *
127      * <code>STATE_UNSPECIFIED = 0;</code>
128      */
129     STATE_UNSPECIFIED(0),
130     /**
131      *
132      *
133      * <pre>
134      * The finding requires attention and has not been addressed yet.
135      * </pre>
136      *
137      * <code>ACTIVE = 1;</code>
138      */
139     ACTIVE(1),
140     /**
141      *
142      *
143      * <pre>
144      * The finding has been fixed, triaged as a non-issue or otherwise addressed
145      * and is no longer active.
146      * </pre>
147      *
148      * <code>INACTIVE = 2;</code>
149      */
150     INACTIVE(2),
151     UNRECOGNIZED(-1),
152     ;
153 
154     /**
155      *
156      *
157      * <pre>
158      * Unspecified state.
159      * </pre>
160      *
161      * <code>STATE_UNSPECIFIED = 0;</code>
162      */
163     public static final int STATE_UNSPECIFIED_VALUE = 0;
164     /**
165      *
166      *
167      * <pre>
168      * The finding requires attention and has not been addressed yet.
169      * </pre>
170      *
171      * <code>ACTIVE = 1;</code>
172      */
173     public static final int ACTIVE_VALUE = 1;
174     /**
175      *
176      *
177      * <pre>
178      * The finding has been fixed, triaged as a non-issue or otherwise addressed
179      * and is no longer active.
180      * </pre>
181      *
182      * <code>INACTIVE = 2;</code>
183      */
184     public static final int INACTIVE_VALUE = 2;
185 
getNumber()186     public final int getNumber() {
187       if (this == UNRECOGNIZED) {
188         throw new java.lang.IllegalArgumentException(
189             "Can't get the number of an unknown enum value.");
190       }
191       return value;
192     }
193 
194     /**
195      * @param value The numeric wire value of the corresponding enum entry.
196      * @return The enum associated with the given numeric wire value.
197      * @deprecated Use {@link #forNumber(int)} instead.
198      */
199     @java.lang.Deprecated
valueOf(int value)200     public static State valueOf(int value) {
201       return forNumber(value);
202     }
203 
204     /**
205      * @param value The numeric wire value of the corresponding enum entry.
206      * @return The enum associated with the given numeric wire value.
207      */
forNumber(int value)208     public static State forNumber(int value) {
209       switch (value) {
210         case 0:
211           return STATE_UNSPECIFIED;
212         case 1:
213           return ACTIVE;
214         case 2:
215           return INACTIVE;
216         default:
217           return null;
218       }
219     }
220 
internalGetValueMap()221     public static com.google.protobuf.Internal.EnumLiteMap<State> internalGetValueMap() {
222       return internalValueMap;
223     }
224 
225     private static final com.google.protobuf.Internal.EnumLiteMap<State> internalValueMap =
226         new com.google.protobuf.Internal.EnumLiteMap<State>() {
227           public State findValueByNumber(int number) {
228             return State.forNumber(number);
229           }
230         };
231 
getValueDescriptor()232     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
233       if (this == UNRECOGNIZED) {
234         throw new java.lang.IllegalStateException(
235             "Can't get the descriptor of an unrecognized enum value.");
236       }
237       return getDescriptor().getValues().get(ordinal());
238     }
239 
getDescriptorForType()240     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
241       return getDescriptor();
242     }
243 
getDescriptor()244     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
245       return com.google.cloud.securitycenter.v1.Finding.getDescriptor().getEnumTypes().get(0);
246     }
247 
248     private static final State[] VALUES = values();
249 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)250     public static State valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
251       if (desc.getType() != getDescriptor()) {
252         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
253       }
254       if (desc.getIndex() == -1) {
255         return UNRECOGNIZED;
256       }
257       return VALUES[desc.getIndex()];
258     }
259 
260     private final int value;
261 
State(int value)262     private State(int value) {
263       this.value = value;
264     }
265 
266     // @@protoc_insertion_point(enum_scope:google.cloud.securitycenter.v1.Finding.State)
267   }
268 
269   /**
270    *
271    *
272    * <pre>
273    * The severity of the finding.
274    * </pre>
275    *
276    * Protobuf enum {@code google.cloud.securitycenter.v1.Finding.Severity}
277    */
278   public enum Severity implements com.google.protobuf.ProtocolMessageEnum {
279     /**
280      *
281      *
282      * <pre>
283      * This value is used for findings when a source doesn't write a severity
284      * value.
285      * </pre>
286      *
287      * <code>SEVERITY_UNSPECIFIED = 0;</code>
288      */
289     SEVERITY_UNSPECIFIED(0),
290     /**
291      *
292      *
293      * <pre>
294      * Vulnerability:
295      * A critical vulnerability is easily discoverable by an external actor,
296      * exploitable, and results in the direct ability to execute arbitrary code,
297      * exfiltrate data, and otherwise gain additional access and privileges to
298      * cloud resources and workloads. Examples include publicly accessible
299      * unprotected user data and public SSH access with weak or no
300      * passwords.
301      * Threat:
302      * Indicates a threat that is able to access, modify, or delete data or
303      * execute unauthorized code within existing resources.
304      * </pre>
305      *
306      * <code>CRITICAL = 1;</code>
307      */
308     CRITICAL(1),
309     /**
310      *
311      *
312      * <pre>
313      * Vulnerability:
314      * A high risk vulnerability can be easily discovered and exploited in
315      * combination with other vulnerabilities in order to gain direct access and
316      * the ability to execute arbitrary code, exfiltrate data, and otherwise
317      * gain additional access and privileges to cloud resources and workloads.
318      * An example is a database with weak or no passwords that is only
319      * accessible internally. This database could easily be compromised by an
320      * actor that had access to the internal network.
321      * Threat:
322      * Indicates a threat that is able to create new computational resources in
323      * an environment but not able to access data or execute code in existing
324      * resources.
325      * </pre>
326      *
327      * <code>HIGH = 2;</code>
328      */
329     HIGH(2),
330     /**
331      *
332      *
333      * <pre>
334      * Vulnerability:
335      * A medium risk vulnerability could be used by an actor to gain access to
336      * resources or privileges that enable them to eventually (through multiple
337      * steps or a complex exploit) gain access and the ability to execute
338      * arbitrary code or exfiltrate data. An example is a service account with
339      * access to more projects than it should have. If an actor gains access to
340      * the service account, they could potentially use that access to manipulate
341      * a project the service account was not intended to.
342      * Threat:
343      * Indicates a threat that is able to cause operational impact but may not
344      * access data or execute unauthorized code.
345      * </pre>
346      *
347      * <code>MEDIUM = 3;</code>
348      */
349     MEDIUM(3),
350     /**
351      *
352      *
353      * <pre>
354      * Vulnerability:
355      * A low risk vulnerability hampers a security organization's ability to
356      * detect vulnerabilities or active threats in their deployment, or prevents
357      * the root cause investigation of security issues. An example is monitoring
358      * and logs being disabled for resource configurations and access.
359      * Threat:
360      * Indicates a threat that has obtained minimal access to an environment but
361      * is not able to access data, execute code, or create resources.
362      * </pre>
363      *
364      * <code>LOW = 4;</code>
365      */
366     LOW(4),
367     UNRECOGNIZED(-1),
368     ;
369 
370     /**
371      *
372      *
373      * <pre>
374      * This value is used for findings when a source doesn't write a severity
375      * value.
376      * </pre>
377      *
378      * <code>SEVERITY_UNSPECIFIED = 0;</code>
379      */
380     public static final int SEVERITY_UNSPECIFIED_VALUE = 0;
381     /**
382      *
383      *
384      * <pre>
385      * Vulnerability:
386      * A critical vulnerability is easily discoverable by an external actor,
387      * exploitable, and results in the direct ability to execute arbitrary code,
388      * exfiltrate data, and otherwise gain additional access and privileges to
389      * cloud resources and workloads. Examples include publicly accessible
390      * unprotected user data and public SSH access with weak or no
391      * passwords.
392      * Threat:
393      * Indicates a threat that is able to access, modify, or delete data or
394      * execute unauthorized code within existing resources.
395      * </pre>
396      *
397      * <code>CRITICAL = 1;</code>
398      */
399     public static final int CRITICAL_VALUE = 1;
400     /**
401      *
402      *
403      * <pre>
404      * Vulnerability:
405      * A high risk vulnerability can be easily discovered and exploited in
406      * combination with other vulnerabilities in order to gain direct access and
407      * the ability to execute arbitrary code, exfiltrate data, and otherwise
408      * gain additional access and privileges to cloud resources and workloads.
409      * An example is a database with weak or no passwords that is only
410      * accessible internally. This database could easily be compromised by an
411      * actor that had access to the internal network.
412      * Threat:
413      * Indicates a threat that is able to create new computational resources in
414      * an environment but not able to access data or execute code in existing
415      * resources.
416      * </pre>
417      *
418      * <code>HIGH = 2;</code>
419      */
420     public static final int HIGH_VALUE = 2;
421     /**
422      *
423      *
424      * <pre>
425      * Vulnerability:
426      * A medium risk vulnerability could be used by an actor to gain access to
427      * resources or privileges that enable them to eventually (through multiple
428      * steps or a complex exploit) gain access and the ability to execute
429      * arbitrary code or exfiltrate data. An example is a service account with
430      * access to more projects than it should have. If an actor gains access to
431      * the service account, they could potentially use that access to manipulate
432      * a project the service account was not intended to.
433      * Threat:
434      * Indicates a threat that is able to cause operational impact but may not
435      * access data or execute unauthorized code.
436      * </pre>
437      *
438      * <code>MEDIUM = 3;</code>
439      */
440     public static final int MEDIUM_VALUE = 3;
441     /**
442      *
443      *
444      * <pre>
445      * Vulnerability:
446      * A low risk vulnerability hampers a security organization's ability to
447      * detect vulnerabilities or active threats in their deployment, or prevents
448      * the root cause investigation of security issues. An example is monitoring
449      * and logs being disabled for resource configurations and access.
450      * Threat:
451      * Indicates a threat that has obtained minimal access to an environment but
452      * is not able to access data, execute code, or create resources.
453      * </pre>
454      *
455      * <code>LOW = 4;</code>
456      */
457     public static final int LOW_VALUE = 4;
458 
getNumber()459     public final int getNumber() {
460       if (this == UNRECOGNIZED) {
461         throw new java.lang.IllegalArgumentException(
462             "Can't get the number of an unknown enum value.");
463       }
464       return value;
465     }
466 
467     /**
468      * @param value The numeric wire value of the corresponding enum entry.
469      * @return The enum associated with the given numeric wire value.
470      * @deprecated Use {@link #forNumber(int)} instead.
471      */
472     @java.lang.Deprecated
valueOf(int value)473     public static Severity valueOf(int value) {
474       return forNumber(value);
475     }
476 
477     /**
478      * @param value The numeric wire value of the corresponding enum entry.
479      * @return The enum associated with the given numeric wire value.
480      */
forNumber(int value)481     public static Severity forNumber(int value) {
482       switch (value) {
483         case 0:
484           return SEVERITY_UNSPECIFIED;
485         case 1:
486           return CRITICAL;
487         case 2:
488           return HIGH;
489         case 3:
490           return MEDIUM;
491         case 4:
492           return LOW;
493         default:
494           return null;
495       }
496     }
497 
internalGetValueMap()498     public static com.google.protobuf.Internal.EnumLiteMap<Severity> internalGetValueMap() {
499       return internalValueMap;
500     }
501 
502     private static final com.google.protobuf.Internal.EnumLiteMap<Severity> internalValueMap =
503         new com.google.protobuf.Internal.EnumLiteMap<Severity>() {
504           public Severity findValueByNumber(int number) {
505             return Severity.forNumber(number);
506           }
507         };
508 
getValueDescriptor()509     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
510       if (this == UNRECOGNIZED) {
511         throw new java.lang.IllegalStateException(
512             "Can't get the descriptor of an unrecognized enum value.");
513       }
514       return getDescriptor().getValues().get(ordinal());
515     }
516 
getDescriptorForType()517     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
518       return getDescriptor();
519     }
520 
getDescriptor()521     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
522       return com.google.cloud.securitycenter.v1.Finding.getDescriptor().getEnumTypes().get(1);
523     }
524 
525     private static final Severity[] VALUES = values();
526 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)527     public static Severity valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
528       if (desc.getType() != getDescriptor()) {
529         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
530       }
531       if (desc.getIndex() == -1) {
532         return UNRECOGNIZED;
533       }
534       return VALUES[desc.getIndex()];
535     }
536 
537     private final int value;
538 
Severity(int value)539     private Severity(int value) {
540       this.value = value;
541     }
542 
543     // @@protoc_insertion_point(enum_scope:google.cloud.securitycenter.v1.Finding.Severity)
544   }
545 
546   /**
547    *
548    *
549    * <pre>
550    * Mute state a finding can be in.
551    * </pre>
552    *
553    * Protobuf enum {@code google.cloud.securitycenter.v1.Finding.Mute}
554    */
555   public enum Mute implements com.google.protobuf.ProtocolMessageEnum {
556     /**
557      *
558      *
559      * <pre>
560      * Unspecified.
561      * </pre>
562      *
563      * <code>MUTE_UNSPECIFIED = 0;</code>
564      */
565     MUTE_UNSPECIFIED(0),
566     /**
567      *
568      *
569      * <pre>
570      * Finding has been muted.
571      * </pre>
572      *
573      * <code>MUTED = 1;</code>
574      */
575     MUTED(1),
576     /**
577      *
578      *
579      * <pre>
580      * Finding has been unmuted.
581      * </pre>
582      *
583      * <code>UNMUTED = 2;</code>
584      */
585     UNMUTED(2),
586     /**
587      *
588      *
589      * <pre>
590      * Finding has never been muted/unmuted.
591      * </pre>
592      *
593      * <code>UNDEFINED = 4;</code>
594      */
595     UNDEFINED(4),
596     UNRECOGNIZED(-1),
597     ;
598 
599     /**
600      *
601      *
602      * <pre>
603      * Unspecified.
604      * </pre>
605      *
606      * <code>MUTE_UNSPECIFIED = 0;</code>
607      */
608     public static final int MUTE_UNSPECIFIED_VALUE = 0;
609     /**
610      *
611      *
612      * <pre>
613      * Finding has been muted.
614      * </pre>
615      *
616      * <code>MUTED = 1;</code>
617      */
618     public static final int MUTED_VALUE = 1;
619     /**
620      *
621      *
622      * <pre>
623      * Finding has been unmuted.
624      * </pre>
625      *
626      * <code>UNMUTED = 2;</code>
627      */
628     public static final int UNMUTED_VALUE = 2;
629     /**
630      *
631      *
632      * <pre>
633      * Finding has never been muted/unmuted.
634      * </pre>
635      *
636      * <code>UNDEFINED = 4;</code>
637      */
638     public static final int UNDEFINED_VALUE = 4;
639 
getNumber()640     public final int getNumber() {
641       if (this == UNRECOGNIZED) {
642         throw new java.lang.IllegalArgumentException(
643             "Can't get the number of an unknown enum value.");
644       }
645       return value;
646     }
647 
648     /**
649      * @param value The numeric wire value of the corresponding enum entry.
650      * @return The enum associated with the given numeric wire value.
651      * @deprecated Use {@link #forNumber(int)} instead.
652      */
653     @java.lang.Deprecated
valueOf(int value)654     public static Mute valueOf(int value) {
655       return forNumber(value);
656     }
657 
658     /**
659      * @param value The numeric wire value of the corresponding enum entry.
660      * @return The enum associated with the given numeric wire value.
661      */
forNumber(int value)662     public static Mute forNumber(int value) {
663       switch (value) {
664         case 0:
665           return MUTE_UNSPECIFIED;
666         case 1:
667           return MUTED;
668         case 2:
669           return UNMUTED;
670         case 4:
671           return UNDEFINED;
672         default:
673           return null;
674       }
675     }
676 
internalGetValueMap()677     public static com.google.protobuf.Internal.EnumLiteMap<Mute> internalGetValueMap() {
678       return internalValueMap;
679     }
680 
681     private static final com.google.protobuf.Internal.EnumLiteMap<Mute> internalValueMap =
682         new com.google.protobuf.Internal.EnumLiteMap<Mute>() {
683           public Mute findValueByNumber(int number) {
684             return Mute.forNumber(number);
685           }
686         };
687 
getValueDescriptor()688     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
689       if (this == UNRECOGNIZED) {
690         throw new java.lang.IllegalStateException(
691             "Can't get the descriptor of an unrecognized enum value.");
692       }
693       return getDescriptor().getValues().get(ordinal());
694     }
695 
getDescriptorForType()696     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
697       return getDescriptor();
698     }
699 
getDescriptor()700     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
701       return com.google.cloud.securitycenter.v1.Finding.getDescriptor().getEnumTypes().get(2);
702     }
703 
704     private static final Mute[] VALUES = values();
705 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)706     public static Mute valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
707       if (desc.getType() != getDescriptor()) {
708         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
709       }
710       if (desc.getIndex() == -1) {
711         return UNRECOGNIZED;
712       }
713       return VALUES[desc.getIndex()];
714     }
715 
716     private final int value;
717 
Mute(int value)718     private Mute(int value) {
719       this.value = value;
720     }
721 
722     // @@protoc_insertion_point(enum_scope:google.cloud.securitycenter.v1.Finding.Mute)
723   }
724 
725   /**
726    *
727    *
728    * <pre>
729    * Represents what kind of Finding it is.
730    * </pre>
731    *
732    * Protobuf enum {@code google.cloud.securitycenter.v1.Finding.FindingClass}
733    */
734   public enum FindingClass implements com.google.protobuf.ProtocolMessageEnum {
735     /**
736      *
737      *
738      * <pre>
739      * Unspecified finding class.
740      * </pre>
741      *
742      * <code>FINDING_CLASS_UNSPECIFIED = 0;</code>
743      */
744     FINDING_CLASS_UNSPECIFIED(0),
745     /**
746      *
747      *
748      * <pre>
749      * Describes unwanted or malicious activity.
750      * </pre>
751      *
752      * <code>THREAT = 1;</code>
753      */
754     THREAT(1),
755     /**
756      *
757      *
758      * <pre>
759      * Describes a potential weakness in software that increases risk to
760      * Confidentiality &amp; Integrity &amp; Availability.
761      * </pre>
762      *
763      * <code>VULNERABILITY = 2;</code>
764      */
765     VULNERABILITY(2),
766     /**
767      *
768      *
769      * <pre>
770      * Describes a potential weakness in cloud resource/asset configuration that
771      * increases risk.
772      * </pre>
773      *
774      * <code>MISCONFIGURATION = 3;</code>
775      */
776     MISCONFIGURATION(3),
777     /**
778      *
779      *
780      * <pre>
781      * Describes a security observation that is for informational purposes.
782      * </pre>
783      *
784      * <code>OBSERVATION = 4;</code>
785      */
786     OBSERVATION(4),
787     /**
788      *
789      *
790      * <pre>
791      * Describes an error that prevents some SCC functionality.
792      * </pre>
793      *
794      * <code>SCC_ERROR = 5;</code>
795      */
796     SCC_ERROR(5),
797     UNRECOGNIZED(-1),
798     ;
799 
800     /**
801      *
802      *
803      * <pre>
804      * Unspecified finding class.
805      * </pre>
806      *
807      * <code>FINDING_CLASS_UNSPECIFIED = 0;</code>
808      */
809     public static final int FINDING_CLASS_UNSPECIFIED_VALUE = 0;
810     /**
811      *
812      *
813      * <pre>
814      * Describes unwanted or malicious activity.
815      * </pre>
816      *
817      * <code>THREAT = 1;</code>
818      */
819     public static final int THREAT_VALUE = 1;
820     /**
821      *
822      *
823      * <pre>
824      * Describes a potential weakness in software that increases risk to
825      * Confidentiality &amp; Integrity &amp; Availability.
826      * </pre>
827      *
828      * <code>VULNERABILITY = 2;</code>
829      */
830     public static final int VULNERABILITY_VALUE = 2;
831     /**
832      *
833      *
834      * <pre>
835      * Describes a potential weakness in cloud resource/asset configuration that
836      * increases risk.
837      * </pre>
838      *
839      * <code>MISCONFIGURATION = 3;</code>
840      */
841     public static final int MISCONFIGURATION_VALUE = 3;
842     /**
843      *
844      *
845      * <pre>
846      * Describes a security observation that is for informational purposes.
847      * </pre>
848      *
849      * <code>OBSERVATION = 4;</code>
850      */
851     public static final int OBSERVATION_VALUE = 4;
852     /**
853      *
854      *
855      * <pre>
856      * Describes an error that prevents some SCC functionality.
857      * </pre>
858      *
859      * <code>SCC_ERROR = 5;</code>
860      */
861     public static final int SCC_ERROR_VALUE = 5;
862 
getNumber()863     public final int getNumber() {
864       if (this == UNRECOGNIZED) {
865         throw new java.lang.IllegalArgumentException(
866             "Can't get the number of an unknown enum value.");
867       }
868       return value;
869     }
870 
871     /**
872      * @param value The numeric wire value of the corresponding enum entry.
873      * @return The enum associated with the given numeric wire value.
874      * @deprecated Use {@link #forNumber(int)} instead.
875      */
876     @java.lang.Deprecated
valueOf(int value)877     public static FindingClass valueOf(int value) {
878       return forNumber(value);
879     }
880 
881     /**
882      * @param value The numeric wire value of the corresponding enum entry.
883      * @return The enum associated with the given numeric wire value.
884      */
forNumber(int value)885     public static FindingClass forNumber(int value) {
886       switch (value) {
887         case 0:
888           return FINDING_CLASS_UNSPECIFIED;
889         case 1:
890           return THREAT;
891         case 2:
892           return VULNERABILITY;
893         case 3:
894           return MISCONFIGURATION;
895         case 4:
896           return OBSERVATION;
897         case 5:
898           return SCC_ERROR;
899         default:
900           return null;
901       }
902     }
903 
internalGetValueMap()904     public static com.google.protobuf.Internal.EnumLiteMap<FindingClass> internalGetValueMap() {
905       return internalValueMap;
906     }
907 
908     private static final com.google.protobuf.Internal.EnumLiteMap<FindingClass> internalValueMap =
909         new com.google.protobuf.Internal.EnumLiteMap<FindingClass>() {
910           public FindingClass findValueByNumber(int number) {
911             return FindingClass.forNumber(number);
912           }
913         };
914 
getValueDescriptor()915     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
916       if (this == UNRECOGNIZED) {
917         throw new java.lang.IllegalStateException(
918             "Can't get the descriptor of an unrecognized enum value.");
919       }
920       return getDescriptor().getValues().get(ordinal());
921     }
922 
getDescriptorForType()923     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
924       return getDescriptor();
925     }
926 
getDescriptor()927     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
928       return com.google.cloud.securitycenter.v1.Finding.getDescriptor().getEnumTypes().get(3);
929     }
930 
931     private static final FindingClass[] VALUES = values();
932 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)933     public static FindingClass valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
934       if (desc.getType() != getDescriptor()) {
935         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
936       }
937       if (desc.getIndex() == -1) {
938         return UNRECOGNIZED;
939       }
940       return VALUES[desc.getIndex()];
941     }
942 
943     private final int value;
944 
FindingClass(int value)945     private FindingClass(int value) {
946       this.value = value;
947     }
948 
949     // @@protoc_insertion_point(enum_scope:google.cloud.securitycenter.v1.Finding.FindingClass)
950   }
951 
952   public static final int NAME_FIELD_NUMBER = 1;
953 
954   @SuppressWarnings("serial")
955   private volatile java.lang.Object name_ = "";
956   /**
957    *
958    *
959    * <pre>
960    * The [relative resource
961    * name](https://cloud.google.com/apis/design/resource_names#relative_resource_name)
962    * of the finding. Example:
963    * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
964    * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}",
965    * "projects/{project_id}/sources/{source_id}/findings/{finding_id}".
966    * </pre>
967    *
968    * <code>string name = 1;</code>
969    *
970    * @return The name.
971    */
972   @java.lang.Override
getName()973   public java.lang.String getName() {
974     java.lang.Object ref = name_;
975     if (ref instanceof java.lang.String) {
976       return (java.lang.String) ref;
977     } else {
978       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
979       java.lang.String s = bs.toStringUtf8();
980       name_ = s;
981       return s;
982     }
983   }
984   /**
985    *
986    *
987    * <pre>
988    * The [relative resource
989    * name](https://cloud.google.com/apis/design/resource_names#relative_resource_name)
990    * of the finding. Example:
991    * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
992    * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}",
993    * "projects/{project_id}/sources/{source_id}/findings/{finding_id}".
994    * </pre>
995    *
996    * <code>string name = 1;</code>
997    *
998    * @return The bytes for name.
999    */
1000   @java.lang.Override
getNameBytes()1001   public com.google.protobuf.ByteString getNameBytes() {
1002     java.lang.Object ref = name_;
1003     if (ref instanceof java.lang.String) {
1004       com.google.protobuf.ByteString b =
1005           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1006       name_ = b;
1007       return b;
1008     } else {
1009       return (com.google.protobuf.ByteString) ref;
1010     }
1011   }
1012 
1013   public static final int PARENT_FIELD_NUMBER = 2;
1014 
1015   @SuppressWarnings("serial")
1016   private volatile java.lang.Object parent_ = "";
1017   /**
1018    *
1019    *
1020    * <pre>
1021    * The relative resource name of the source the finding belongs to. See:
1022    * https://cloud.google.com/apis/design/resource_names#relative_resource_name
1023    * This field is immutable after creation time.
1024    * For example:
1025    * "organizations/{organization_id}/sources/{source_id}"
1026    * </pre>
1027    *
1028    * <code>string parent = 2;</code>
1029    *
1030    * @return The parent.
1031    */
1032   @java.lang.Override
getParent()1033   public java.lang.String getParent() {
1034     java.lang.Object ref = parent_;
1035     if (ref instanceof java.lang.String) {
1036       return (java.lang.String) ref;
1037     } else {
1038       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1039       java.lang.String s = bs.toStringUtf8();
1040       parent_ = s;
1041       return s;
1042     }
1043   }
1044   /**
1045    *
1046    *
1047    * <pre>
1048    * The relative resource name of the source the finding belongs to. See:
1049    * https://cloud.google.com/apis/design/resource_names#relative_resource_name
1050    * This field is immutable after creation time.
1051    * For example:
1052    * "organizations/{organization_id}/sources/{source_id}"
1053    * </pre>
1054    *
1055    * <code>string parent = 2;</code>
1056    *
1057    * @return The bytes for parent.
1058    */
1059   @java.lang.Override
getParentBytes()1060   public com.google.protobuf.ByteString getParentBytes() {
1061     java.lang.Object ref = parent_;
1062     if (ref instanceof java.lang.String) {
1063       com.google.protobuf.ByteString b =
1064           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1065       parent_ = b;
1066       return b;
1067     } else {
1068       return (com.google.protobuf.ByteString) ref;
1069     }
1070   }
1071 
1072   public static final int RESOURCE_NAME_FIELD_NUMBER = 3;
1073 
1074   @SuppressWarnings("serial")
1075   private volatile java.lang.Object resourceName_ = "";
1076   /**
1077    *
1078    *
1079    * <pre>
1080    * For findings on Google Cloud resources, the full resource
1081    * name of the Google Cloud resource this finding is for. See:
1082    * https://cloud.google.com/apis/design/resource_names#full_resource_name
1083    * When the finding is for a non-Google Cloud resource, the resourceName can
1084    * be a customer or partner defined string. This field is immutable after
1085    * creation time.
1086    * </pre>
1087    *
1088    * <code>string resource_name = 3;</code>
1089    *
1090    * @return The resourceName.
1091    */
1092   @java.lang.Override
getResourceName()1093   public java.lang.String getResourceName() {
1094     java.lang.Object ref = resourceName_;
1095     if (ref instanceof java.lang.String) {
1096       return (java.lang.String) ref;
1097     } else {
1098       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1099       java.lang.String s = bs.toStringUtf8();
1100       resourceName_ = s;
1101       return s;
1102     }
1103   }
1104   /**
1105    *
1106    *
1107    * <pre>
1108    * For findings on Google Cloud resources, the full resource
1109    * name of the Google Cloud resource this finding is for. See:
1110    * https://cloud.google.com/apis/design/resource_names#full_resource_name
1111    * When the finding is for a non-Google Cloud resource, the resourceName can
1112    * be a customer or partner defined string. This field is immutable after
1113    * creation time.
1114    * </pre>
1115    *
1116    * <code>string resource_name = 3;</code>
1117    *
1118    * @return The bytes for resourceName.
1119    */
1120   @java.lang.Override
getResourceNameBytes()1121   public com.google.protobuf.ByteString getResourceNameBytes() {
1122     java.lang.Object ref = resourceName_;
1123     if (ref instanceof java.lang.String) {
1124       com.google.protobuf.ByteString b =
1125           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1126       resourceName_ = b;
1127       return b;
1128     } else {
1129       return (com.google.protobuf.ByteString) ref;
1130     }
1131   }
1132 
1133   public static final int STATE_FIELD_NUMBER = 4;
1134   private int state_ = 0;
1135   /**
1136    *
1137    *
1138    * <pre>
1139    * The state of the finding.
1140    * </pre>
1141    *
1142    * <code>.google.cloud.securitycenter.v1.Finding.State state = 4;</code>
1143    *
1144    * @return The enum numeric value on the wire for state.
1145    */
1146   @java.lang.Override
getStateValue()1147   public int getStateValue() {
1148     return state_;
1149   }
1150   /**
1151    *
1152    *
1153    * <pre>
1154    * The state of the finding.
1155    * </pre>
1156    *
1157    * <code>.google.cloud.securitycenter.v1.Finding.State state = 4;</code>
1158    *
1159    * @return The state.
1160    */
1161   @java.lang.Override
getState()1162   public com.google.cloud.securitycenter.v1.Finding.State getState() {
1163     com.google.cloud.securitycenter.v1.Finding.State result =
1164         com.google.cloud.securitycenter.v1.Finding.State.forNumber(state_);
1165     return result == null ? com.google.cloud.securitycenter.v1.Finding.State.UNRECOGNIZED : result;
1166   }
1167 
1168   public static final int CATEGORY_FIELD_NUMBER = 5;
1169 
1170   @SuppressWarnings("serial")
1171   private volatile java.lang.Object category_ = "";
1172   /**
1173    *
1174    *
1175    * <pre>
1176    * The additional taxonomy group within findings from a given source.
1177    * This field is immutable after creation time.
1178    * Example: "XSS_FLASH_INJECTION"
1179    * </pre>
1180    *
1181    * <code>string category = 5;</code>
1182    *
1183    * @return The category.
1184    */
1185   @java.lang.Override
getCategory()1186   public java.lang.String getCategory() {
1187     java.lang.Object ref = category_;
1188     if (ref instanceof java.lang.String) {
1189       return (java.lang.String) ref;
1190     } else {
1191       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1192       java.lang.String s = bs.toStringUtf8();
1193       category_ = s;
1194       return s;
1195     }
1196   }
1197   /**
1198    *
1199    *
1200    * <pre>
1201    * The additional taxonomy group within findings from a given source.
1202    * This field is immutable after creation time.
1203    * Example: "XSS_FLASH_INJECTION"
1204    * </pre>
1205    *
1206    * <code>string category = 5;</code>
1207    *
1208    * @return The bytes for category.
1209    */
1210   @java.lang.Override
getCategoryBytes()1211   public com.google.protobuf.ByteString getCategoryBytes() {
1212     java.lang.Object ref = category_;
1213     if (ref instanceof java.lang.String) {
1214       com.google.protobuf.ByteString b =
1215           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1216       category_ = b;
1217       return b;
1218     } else {
1219       return (com.google.protobuf.ByteString) ref;
1220     }
1221   }
1222 
1223   public static final int EXTERNAL_URI_FIELD_NUMBER = 6;
1224 
1225   @SuppressWarnings("serial")
1226   private volatile java.lang.Object externalUri_ = "";
1227   /**
1228    *
1229    *
1230    * <pre>
1231    * The URI that, if available, points to a web page outside of Security
1232    * Command Center where additional information about the finding can be found.
1233    * This field is guaranteed to be either empty or a well formed URL.
1234    * </pre>
1235    *
1236    * <code>string external_uri = 6;</code>
1237    *
1238    * @return The externalUri.
1239    */
1240   @java.lang.Override
getExternalUri()1241   public java.lang.String getExternalUri() {
1242     java.lang.Object ref = externalUri_;
1243     if (ref instanceof java.lang.String) {
1244       return (java.lang.String) ref;
1245     } else {
1246       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1247       java.lang.String s = bs.toStringUtf8();
1248       externalUri_ = s;
1249       return s;
1250     }
1251   }
1252   /**
1253    *
1254    *
1255    * <pre>
1256    * The URI that, if available, points to a web page outside of Security
1257    * Command Center where additional information about the finding can be found.
1258    * This field is guaranteed to be either empty or a well formed URL.
1259    * </pre>
1260    *
1261    * <code>string external_uri = 6;</code>
1262    *
1263    * @return The bytes for externalUri.
1264    */
1265   @java.lang.Override
getExternalUriBytes()1266   public com.google.protobuf.ByteString getExternalUriBytes() {
1267     java.lang.Object ref = externalUri_;
1268     if (ref instanceof java.lang.String) {
1269       com.google.protobuf.ByteString b =
1270           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1271       externalUri_ = b;
1272       return b;
1273     } else {
1274       return (com.google.protobuf.ByteString) ref;
1275     }
1276   }
1277 
1278   public static final int SOURCE_PROPERTIES_FIELD_NUMBER = 7;
1279 
1280   private static final class SourcePropertiesDefaultEntryHolder {
1281     static final com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Value>
1282         defaultEntry =
1283             com.google.protobuf.MapEntry
1284                 .<java.lang.String, com.google.protobuf.Value>newDefaultInstance(
1285                     com.google.cloud.securitycenter.v1.FindingOuterClass
1286                         .internal_static_google_cloud_securitycenter_v1_Finding_SourcePropertiesEntry_descriptor,
1287                     com.google.protobuf.WireFormat.FieldType.STRING,
1288                     "",
1289                     com.google.protobuf.WireFormat.FieldType.MESSAGE,
1290                     com.google.protobuf.Value.getDefaultInstance());
1291   }
1292 
1293   @SuppressWarnings("serial")
1294   private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Value>
1295       sourceProperties_;
1296 
1297   private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Value>
internalGetSourceProperties()1298       internalGetSourceProperties() {
1299     if (sourceProperties_ == null) {
1300       return com.google.protobuf.MapField.emptyMapField(
1301           SourcePropertiesDefaultEntryHolder.defaultEntry);
1302     }
1303     return sourceProperties_;
1304   }
1305 
getSourcePropertiesCount()1306   public int getSourcePropertiesCount() {
1307     return internalGetSourceProperties().getMap().size();
1308   }
1309   /**
1310    *
1311    *
1312    * <pre>
1313    * Source specific properties. These properties are managed by the source
1314    * that writes the finding. The key names in the source_properties map must be
1315    * between 1 and 255 characters, and must start with a letter and contain
1316    * alphanumeric characters or underscores only.
1317    * </pre>
1318    *
1319    * <code>map&lt;string, .google.protobuf.Value&gt; source_properties = 7;</code>
1320    */
1321   @java.lang.Override
containsSourceProperties(java.lang.String key)1322   public boolean containsSourceProperties(java.lang.String key) {
1323     if (key == null) {
1324       throw new NullPointerException("map key");
1325     }
1326     return internalGetSourceProperties().getMap().containsKey(key);
1327   }
1328   /** Use {@link #getSourcePropertiesMap()} instead. */
1329   @java.lang.Override
1330   @java.lang.Deprecated
getSourceProperties()1331   public java.util.Map<java.lang.String, com.google.protobuf.Value> getSourceProperties() {
1332     return getSourcePropertiesMap();
1333   }
1334   /**
1335    *
1336    *
1337    * <pre>
1338    * Source specific properties. These properties are managed by the source
1339    * that writes the finding. The key names in the source_properties map must be
1340    * between 1 and 255 characters, and must start with a letter and contain
1341    * alphanumeric characters or underscores only.
1342    * </pre>
1343    *
1344    * <code>map&lt;string, .google.protobuf.Value&gt; source_properties = 7;</code>
1345    */
1346   @java.lang.Override
getSourcePropertiesMap()1347   public java.util.Map<java.lang.String, com.google.protobuf.Value> getSourcePropertiesMap() {
1348     return internalGetSourceProperties().getMap();
1349   }
1350   /**
1351    *
1352    *
1353    * <pre>
1354    * Source specific properties. These properties are managed by the source
1355    * that writes the finding. The key names in the source_properties map must be
1356    * between 1 and 255 characters, and must start with a letter and contain
1357    * alphanumeric characters or underscores only.
1358    * </pre>
1359    *
1360    * <code>map&lt;string, .google.protobuf.Value&gt; source_properties = 7;</code>
1361    */
1362   @java.lang.Override
getSourcePropertiesOrDefault( java.lang.String key, com.google.protobuf.Value defaultValue)1363   public /* nullable */ com.google.protobuf.Value getSourcePropertiesOrDefault(
1364       java.lang.String key,
1365       /* nullable */
1366       com.google.protobuf.Value defaultValue) {
1367     if (key == null) {
1368       throw new NullPointerException("map key");
1369     }
1370     java.util.Map<java.lang.String, com.google.protobuf.Value> map =
1371         internalGetSourceProperties().getMap();
1372     return map.containsKey(key) ? map.get(key) : defaultValue;
1373   }
1374   /**
1375    *
1376    *
1377    * <pre>
1378    * Source specific properties. These properties are managed by the source
1379    * that writes the finding. The key names in the source_properties map must be
1380    * between 1 and 255 characters, and must start with a letter and contain
1381    * alphanumeric characters or underscores only.
1382    * </pre>
1383    *
1384    * <code>map&lt;string, .google.protobuf.Value&gt; source_properties = 7;</code>
1385    */
1386   @java.lang.Override
getSourcePropertiesOrThrow(java.lang.String key)1387   public com.google.protobuf.Value getSourcePropertiesOrThrow(java.lang.String key) {
1388     if (key == null) {
1389       throw new NullPointerException("map key");
1390     }
1391     java.util.Map<java.lang.String, com.google.protobuf.Value> map =
1392         internalGetSourceProperties().getMap();
1393     if (!map.containsKey(key)) {
1394       throw new java.lang.IllegalArgumentException();
1395     }
1396     return map.get(key);
1397   }
1398 
1399   public static final int SECURITY_MARKS_FIELD_NUMBER = 8;
1400   private com.google.cloud.securitycenter.v1.SecurityMarks securityMarks_;
1401   /**
1402    *
1403    *
1404    * <pre>
1405    * Output only. User specified security marks. These marks are entirely
1406    * managed by the user and come from the SecurityMarks resource that belongs
1407    * to the finding.
1408    * </pre>
1409    *
1410    * <code>
1411    * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
1412    * </code>
1413    *
1414    * @return Whether the securityMarks field is set.
1415    */
1416   @java.lang.Override
hasSecurityMarks()1417   public boolean hasSecurityMarks() {
1418     return securityMarks_ != null;
1419   }
1420   /**
1421    *
1422    *
1423    * <pre>
1424    * Output only. User specified security marks. These marks are entirely
1425    * managed by the user and come from the SecurityMarks resource that belongs
1426    * to the finding.
1427    * </pre>
1428    *
1429    * <code>
1430    * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
1431    * </code>
1432    *
1433    * @return The securityMarks.
1434    */
1435   @java.lang.Override
getSecurityMarks()1436   public com.google.cloud.securitycenter.v1.SecurityMarks getSecurityMarks() {
1437     return securityMarks_ == null
1438         ? com.google.cloud.securitycenter.v1.SecurityMarks.getDefaultInstance()
1439         : securityMarks_;
1440   }
1441   /**
1442    *
1443    *
1444    * <pre>
1445    * Output only. User specified security marks. These marks are entirely
1446    * managed by the user and come from the SecurityMarks resource that belongs
1447    * to the finding.
1448    * </pre>
1449    *
1450    * <code>
1451    * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
1452    * </code>
1453    */
1454   @java.lang.Override
getSecurityMarksOrBuilder()1455   public com.google.cloud.securitycenter.v1.SecurityMarksOrBuilder getSecurityMarksOrBuilder() {
1456     return securityMarks_ == null
1457         ? com.google.cloud.securitycenter.v1.SecurityMarks.getDefaultInstance()
1458         : securityMarks_;
1459   }
1460 
1461   public static final int EVENT_TIME_FIELD_NUMBER = 9;
1462   private com.google.protobuf.Timestamp eventTime_;
1463   /**
1464    *
1465    *
1466    * <pre>
1467    * The time the finding was first detected. If an existing finding is updated,
1468    * then this is the time the update occurred.
1469    * For example, if the finding represents an open firewall, this property
1470    * captures the time the detector believes the firewall became open. The
1471    * accuracy is determined by the detector. If the finding is later resolved,
1472    * then this time reflects when the finding was resolved. This must not
1473    * be set to a value greater than the current timestamp.
1474    * </pre>
1475    *
1476    * <code>.google.protobuf.Timestamp event_time = 9;</code>
1477    *
1478    * @return Whether the eventTime field is set.
1479    */
1480   @java.lang.Override
hasEventTime()1481   public boolean hasEventTime() {
1482     return eventTime_ != null;
1483   }
1484   /**
1485    *
1486    *
1487    * <pre>
1488    * The time the finding was first detected. If an existing finding is updated,
1489    * then this is the time the update occurred.
1490    * For example, if the finding represents an open firewall, this property
1491    * captures the time the detector believes the firewall became open. The
1492    * accuracy is determined by the detector. If the finding is later resolved,
1493    * then this time reflects when the finding was resolved. This must not
1494    * be set to a value greater than the current timestamp.
1495    * </pre>
1496    *
1497    * <code>.google.protobuf.Timestamp event_time = 9;</code>
1498    *
1499    * @return The eventTime.
1500    */
1501   @java.lang.Override
getEventTime()1502   public com.google.protobuf.Timestamp getEventTime() {
1503     return eventTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : eventTime_;
1504   }
1505   /**
1506    *
1507    *
1508    * <pre>
1509    * The time the finding was first detected. If an existing finding is updated,
1510    * then this is the time the update occurred.
1511    * For example, if the finding represents an open firewall, this property
1512    * captures the time the detector believes the firewall became open. The
1513    * accuracy is determined by the detector. If the finding is later resolved,
1514    * then this time reflects when the finding was resolved. This must not
1515    * be set to a value greater than the current timestamp.
1516    * </pre>
1517    *
1518    * <code>.google.protobuf.Timestamp event_time = 9;</code>
1519    */
1520   @java.lang.Override
getEventTimeOrBuilder()1521   public com.google.protobuf.TimestampOrBuilder getEventTimeOrBuilder() {
1522     return eventTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : eventTime_;
1523   }
1524 
1525   public static final int CREATE_TIME_FIELD_NUMBER = 10;
1526   private com.google.protobuf.Timestamp createTime_;
1527   /**
1528    *
1529    *
1530    * <pre>
1531    * The time at which the finding was created in Security Command Center.
1532    * </pre>
1533    *
1534    * <code>.google.protobuf.Timestamp create_time = 10;</code>
1535    *
1536    * @return Whether the createTime field is set.
1537    */
1538   @java.lang.Override
hasCreateTime()1539   public boolean hasCreateTime() {
1540     return createTime_ != null;
1541   }
1542   /**
1543    *
1544    *
1545    * <pre>
1546    * The time at which the finding was created in Security Command Center.
1547    * </pre>
1548    *
1549    * <code>.google.protobuf.Timestamp create_time = 10;</code>
1550    *
1551    * @return The createTime.
1552    */
1553   @java.lang.Override
getCreateTime()1554   public com.google.protobuf.Timestamp getCreateTime() {
1555     return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_;
1556   }
1557   /**
1558    *
1559    *
1560    * <pre>
1561    * The time at which the finding was created in Security Command Center.
1562    * </pre>
1563    *
1564    * <code>.google.protobuf.Timestamp create_time = 10;</code>
1565    */
1566   @java.lang.Override
getCreateTimeOrBuilder()1567   public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
1568     return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_;
1569   }
1570 
1571   public static final int SEVERITY_FIELD_NUMBER = 12;
1572   private int severity_ = 0;
1573   /**
1574    *
1575    *
1576    * <pre>
1577    * The severity of the finding. This field is managed by the source that
1578    * writes the finding.
1579    * </pre>
1580    *
1581    * <code>.google.cloud.securitycenter.v1.Finding.Severity severity = 12;</code>
1582    *
1583    * @return The enum numeric value on the wire for severity.
1584    */
1585   @java.lang.Override
getSeverityValue()1586   public int getSeverityValue() {
1587     return severity_;
1588   }
1589   /**
1590    *
1591    *
1592    * <pre>
1593    * The severity of the finding. This field is managed by the source that
1594    * writes the finding.
1595    * </pre>
1596    *
1597    * <code>.google.cloud.securitycenter.v1.Finding.Severity severity = 12;</code>
1598    *
1599    * @return The severity.
1600    */
1601   @java.lang.Override
getSeverity()1602   public com.google.cloud.securitycenter.v1.Finding.Severity getSeverity() {
1603     com.google.cloud.securitycenter.v1.Finding.Severity result =
1604         com.google.cloud.securitycenter.v1.Finding.Severity.forNumber(severity_);
1605     return result == null
1606         ? com.google.cloud.securitycenter.v1.Finding.Severity.UNRECOGNIZED
1607         : result;
1608   }
1609 
1610   public static final int CANONICAL_NAME_FIELD_NUMBER = 14;
1611 
1612   @SuppressWarnings("serial")
1613   private volatile java.lang.Object canonicalName_ = "";
1614   /**
1615    *
1616    *
1617    * <pre>
1618    * The canonical name of the finding. It's either
1619    * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
1620    * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or
1621    * "projects/{project_number}/sources/{source_id}/findings/{finding_id}",
1622    * depending on the closest CRM ancestor of the resource associated with the
1623    * finding.
1624    * </pre>
1625    *
1626    * <code>string canonical_name = 14;</code>
1627    *
1628    * @return The canonicalName.
1629    */
1630   @java.lang.Override
getCanonicalName()1631   public java.lang.String getCanonicalName() {
1632     java.lang.Object ref = canonicalName_;
1633     if (ref instanceof java.lang.String) {
1634       return (java.lang.String) ref;
1635     } else {
1636       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1637       java.lang.String s = bs.toStringUtf8();
1638       canonicalName_ = s;
1639       return s;
1640     }
1641   }
1642   /**
1643    *
1644    *
1645    * <pre>
1646    * The canonical name of the finding. It's either
1647    * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
1648    * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or
1649    * "projects/{project_number}/sources/{source_id}/findings/{finding_id}",
1650    * depending on the closest CRM ancestor of the resource associated with the
1651    * finding.
1652    * </pre>
1653    *
1654    * <code>string canonical_name = 14;</code>
1655    *
1656    * @return The bytes for canonicalName.
1657    */
1658   @java.lang.Override
getCanonicalNameBytes()1659   public com.google.protobuf.ByteString getCanonicalNameBytes() {
1660     java.lang.Object ref = canonicalName_;
1661     if (ref instanceof java.lang.String) {
1662       com.google.protobuf.ByteString b =
1663           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1664       canonicalName_ = b;
1665       return b;
1666     } else {
1667       return (com.google.protobuf.ByteString) ref;
1668     }
1669   }
1670 
1671   public static final int MUTE_FIELD_NUMBER = 15;
1672   private int mute_ = 0;
1673   /**
1674    *
1675    *
1676    * <pre>
1677    * Indicates the mute state of a finding (either muted, unmuted
1678    * or undefined). Unlike other attributes of a finding, a finding provider
1679    * shouldn't set the value of mute.
1680    * </pre>
1681    *
1682    * <code>.google.cloud.securitycenter.v1.Finding.Mute mute = 15;</code>
1683    *
1684    * @return The enum numeric value on the wire for mute.
1685    */
1686   @java.lang.Override
getMuteValue()1687   public int getMuteValue() {
1688     return mute_;
1689   }
1690   /**
1691    *
1692    *
1693    * <pre>
1694    * Indicates the mute state of a finding (either muted, unmuted
1695    * or undefined). Unlike other attributes of a finding, a finding provider
1696    * shouldn't set the value of mute.
1697    * </pre>
1698    *
1699    * <code>.google.cloud.securitycenter.v1.Finding.Mute mute = 15;</code>
1700    *
1701    * @return The mute.
1702    */
1703   @java.lang.Override
getMute()1704   public com.google.cloud.securitycenter.v1.Finding.Mute getMute() {
1705     com.google.cloud.securitycenter.v1.Finding.Mute result =
1706         com.google.cloud.securitycenter.v1.Finding.Mute.forNumber(mute_);
1707     return result == null ? com.google.cloud.securitycenter.v1.Finding.Mute.UNRECOGNIZED : result;
1708   }
1709 
1710   public static final int FINDING_CLASS_FIELD_NUMBER = 17;
1711   private int findingClass_ = 0;
1712   /**
1713    *
1714    *
1715    * <pre>
1716    * The class of the finding.
1717    * </pre>
1718    *
1719    * <code>.google.cloud.securitycenter.v1.Finding.FindingClass finding_class = 17;</code>
1720    *
1721    * @return The enum numeric value on the wire for findingClass.
1722    */
1723   @java.lang.Override
getFindingClassValue()1724   public int getFindingClassValue() {
1725     return findingClass_;
1726   }
1727   /**
1728    *
1729    *
1730    * <pre>
1731    * The class of the finding.
1732    * </pre>
1733    *
1734    * <code>.google.cloud.securitycenter.v1.Finding.FindingClass finding_class = 17;</code>
1735    *
1736    * @return The findingClass.
1737    */
1738   @java.lang.Override
getFindingClass()1739   public com.google.cloud.securitycenter.v1.Finding.FindingClass getFindingClass() {
1740     com.google.cloud.securitycenter.v1.Finding.FindingClass result =
1741         com.google.cloud.securitycenter.v1.Finding.FindingClass.forNumber(findingClass_);
1742     return result == null
1743         ? com.google.cloud.securitycenter.v1.Finding.FindingClass.UNRECOGNIZED
1744         : result;
1745   }
1746 
1747   public static final int INDICATOR_FIELD_NUMBER = 18;
1748   private com.google.cloud.securitycenter.v1.Indicator indicator_;
1749   /**
1750    *
1751    *
1752    * <pre>
1753    * Represents what's commonly known as an *indicator of compromise* (IoC) in
1754    * computer forensics. This is an artifact observed on a network or in an
1755    * operating system that, with high confidence, indicates a computer
1756    * intrusion. For more information, see [Indicator of
1757    * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
1758    * </pre>
1759    *
1760    * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
1761    *
1762    * @return Whether the indicator field is set.
1763    */
1764   @java.lang.Override
hasIndicator()1765   public boolean hasIndicator() {
1766     return indicator_ != null;
1767   }
1768   /**
1769    *
1770    *
1771    * <pre>
1772    * Represents what's commonly known as an *indicator of compromise* (IoC) in
1773    * computer forensics. This is an artifact observed on a network or in an
1774    * operating system that, with high confidence, indicates a computer
1775    * intrusion. For more information, see [Indicator of
1776    * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
1777    * </pre>
1778    *
1779    * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
1780    *
1781    * @return The indicator.
1782    */
1783   @java.lang.Override
getIndicator()1784   public com.google.cloud.securitycenter.v1.Indicator getIndicator() {
1785     return indicator_ == null
1786         ? com.google.cloud.securitycenter.v1.Indicator.getDefaultInstance()
1787         : indicator_;
1788   }
1789   /**
1790    *
1791    *
1792    * <pre>
1793    * Represents what's commonly known as an *indicator of compromise* (IoC) in
1794    * computer forensics. This is an artifact observed on a network or in an
1795    * operating system that, with high confidence, indicates a computer
1796    * intrusion. For more information, see [Indicator of
1797    * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
1798    * </pre>
1799    *
1800    * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
1801    */
1802   @java.lang.Override
getIndicatorOrBuilder()1803   public com.google.cloud.securitycenter.v1.IndicatorOrBuilder getIndicatorOrBuilder() {
1804     return indicator_ == null
1805         ? com.google.cloud.securitycenter.v1.Indicator.getDefaultInstance()
1806         : indicator_;
1807   }
1808 
1809   public static final int VULNERABILITY_FIELD_NUMBER = 20;
1810   private com.google.cloud.securitycenter.v1.Vulnerability vulnerability_;
1811   /**
1812    *
1813    *
1814    * <pre>
1815    * Represents vulnerability-specific fields like CVE and CVSS scores.
1816    * CVE stands for Common Vulnerabilities and Exposures
1817    * (https://cve.mitre.org/about/)
1818    * </pre>
1819    *
1820    * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
1821    *
1822    * @return Whether the vulnerability field is set.
1823    */
1824   @java.lang.Override
hasVulnerability()1825   public boolean hasVulnerability() {
1826     return vulnerability_ != null;
1827   }
1828   /**
1829    *
1830    *
1831    * <pre>
1832    * Represents vulnerability-specific fields like CVE and CVSS scores.
1833    * CVE stands for Common Vulnerabilities and Exposures
1834    * (https://cve.mitre.org/about/)
1835    * </pre>
1836    *
1837    * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
1838    *
1839    * @return The vulnerability.
1840    */
1841   @java.lang.Override
getVulnerability()1842   public com.google.cloud.securitycenter.v1.Vulnerability getVulnerability() {
1843     return vulnerability_ == null
1844         ? com.google.cloud.securitycenter.v1.Vulnerability.getDefaultInstance()
1845         : vulnerability_;
1846   }
1847   /**
1848    *
1849    *
1850    * <pre>
1851    * Represents vulnerability-specific fields like CVE and CVSS scores.
1852    * CVE stands for Common Vulnerabilities and Exposures
1853    * (https://cve.mitre.org/about/)
1854    * </pre>
1855    *
1856    * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
1857    */
1858   @java.lang.Override
getVulnerabilityOrBuilder()1859   public com.google.cloud.securitycenter.v1.VulnerabilityOrBuilder getVulnerabilityOrBuilder() {
1860     return vulnerability_ == null
1861         ? com.google.cloud.securitycenter.v1.Vulnerability.getDefaultInstance()
1862         : vulnerability_;
1863   }
1864 
1865   public static final int MUTE_UPDATE_TIME_FIELD_NUMBER = 21;
1866   private com.google.protobuf.Timestamp muteUpdateTime_;
1867   /**
1868    *
1869    *
1870    * <pre>
1871    * Output only. The most recent time this finding was muted or unmuted.
1872    * </pre>
1873    *
1874    * <code>
1875    * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
1876    * </code>
1877    *
1878    * @return Whether the muteUpdateTime field is set.
1879    */
1880   @java.lang.Override
hasMuteUpdateTime()1881   public boolean hasMuteUpdateTime() {
1882     return muteUpdateTime_ != null;
1883   }
1884   /**
1885    *
1886    *
1887    * <pre>
1888    * Output only. The most recent time this finding was muted or unmuted.
1889    * </pre>
1890    *
1891    * <code>
1892    * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
1893    * </code>
1894    *
1895    * @return The muteUpdateTime.
1896    */
1897   @java.lang.Override
getMuteUpdateTime()1898   public com.google.protobuf.Timestamp getMuteUpdateTime() {
1899     return muteUpdateTime_ == null
1900         ? com.google.protobuf.Timestamp.getDefaultInstance()
1901         : muteUpdateTime_;
1902   }
1903   /**
1904    *
1905    *
1906    * <pre>
1907    * Output only. The most recent time this finding was muted or unmuted.
1908    * </pre>
1909    *
1910    * <code>
1911    * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
1912    * </code>
1913    */
1914   @java.lang.Override
getMuteUpdateTimeOrBuilder()1915   public com.google.protobuf.TimestampOrBuilder getMuteUpdateTimeOrBuilder() {
1916     return muteUpdateTime_ == null
1917         ? com.google.protobuf.Timestamp.getDefaultInstance()
1918         : muteUpdateTime_;
1919   }
1920 
1921   public static final int EXTERNAL_SYSTEMS_FIELD_NUMBER = 22;
1922 
1923   private static final class ExternalSystemsDefaultEntryHolder {
1924     static final com.google.protobuf.MapEntry<
1925             java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
1926         defaultEntry =
1927             com.google.protobuf.MapEntry
1928                 .<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
1929                     newDefaultInstance(
1930                         com.google.cloud.securitycenter.v1.FindingOuterClass
1931                             .internal_static_google_cloud_securitycenter_v1_Finding_ExternalSystemsEntry_descriptor,
1932                         com.google.protobuf.WireFormat.FieldType.STRING,
1933                         "",
1934                         com.google.protobuf.WireFormat.FieldType.MESSAGE,
1935                         com.google.cloud.securitycenter.v1.ExternalSystem.getDefaultInstance());
1936   }
1937 
1938   @SuppressWarnings("serial")
1939   private com.google.protobuf.MapField<
1940           java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
1941       externalSystems_;
1942 
1943   private com.google.protobuf.MapField<
1944           java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
internalGetExternalSystems()1945       internalGetExternalSystems() {
1946     if (externalSystems_ == null) {
1947       return com.google.protobuf.MapField.emptyMapField(
1948           ExternalSystemsDefaultEntryHolder.defaultEntry);
1949     }
1950     return externalSystems_;
1951   }
1952 
getExternalSystemsCount()1953   public int getExternalSystemsCount() {
1954     return internalGetExternalSystems().getMap().size();
1955   }
1956   /**
1957    *
1958    *
1959    * <pre>
1960    * Output only. Third party SIEM/SOAR fields within SCC, contains external
1961    * system information and external system finding fields.
1962    * </pre>
1963    *
1964    * <code>
1965    * map&lt;string, .google.cloud.securitycenter.v1.ExternalSystem&gt; external_systems = 22 [(.google.api.field_behavior) = OUTPUT_ONLY];
1966    * </code>
1967    */
1968   @java.lang.Override
containsExternalSystems(java.lang.String key)1969   public boolean containsExternalSystems(java.lang.String key) {
1970     if (key == null) {
1971       throw new NullPointerException("map key");
1972     }
1973     return internalGetExternalSystems().getMap().containsKey(key);
1974   }
1975   /** Use {@link #getExternalSystemsMap()} instead. */
1976   @java.lang.Override
1977   @java.lang.Deprecated
1978   public java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
getExternalSystems()1979       getExternalSystems() {
1980     return getExternalSystemsMap();
1981   }
1982   /**
1983    *
1984    *
1985    * <pre>
1986    * Output only. Third party SIEM/SOAR fields within SCC, contains external
1987    * system information and external system finding fields.
1988    * </pre>
1989    *
1990    * <code>
1991    * map&lt;string, .google.cloud.securitycenter.v1.ExternalSystem&gt; external_systems = 22 [(.google.api.field_behavior) = OUTPUT_ONLY];
1992    * </code>
1993    */
1994   @java.lang.Override
1995   public java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
getExternalSystemsMap()1996       getExternalSystemsMap() {
1997     return internalGetExternalSystems().getMap();
1998   }
1999   /**
2000    *
2001    *
2002    * <pre>
2003    * Output only. Third party SIEM/SOAR fields within SCC, contains external
2004    * system information and external system finding fields.
2005    * </pre>
2006    *
2007    * <code>
2008    * map&lt;string, .google.cloud.securitycenter.v1.ExternalSystem&gt; external_systems = 22 [(.google.api.field_behavior) = OUTPUT_ONLY];
2009    * </code>
2010    */
2011   @java.lang.Override
2012   public /* nullable */ com.google.cloud.securitycenter.v1.ExternalSystem
getExternalSystemsOrDefault( java.lang.String key, com.google.cloud.securitycenter.v1.ExternalSystem defaultValue)2013       getExternalSystemsOrDefault(
2014           java.lang.String key,
2015           /* nullable */
2016           com.google.cloud.securitycenter.v1.ExternalSystem defaultValue) {
2017     if (key == null) {
2018       throw new NullPointerException("map key");
2019     }
2020     java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem> map =
2021         internalGetExternalSystems().getMap();
2022     return map.containsKey(key) ? map.get(key) : defaultValue;
2023   }
2024   /**
2025    *
2026    *
2027    * <pre>
2028    * Output only. Third party SIEM/SOAR fields within SCC, contains external
2029    * system information and external system finding fields.
2030    * </pre>
2031    *
2032    * <code>
2033    * map&lt;string, .google.cloud.securitycenter.v1.ExternalSystem&gt; external_systems = 22 [(.google.api.field_behavior) = OUTPUT_ONLY];
2034    * </code>
2035    */
2036   @java.lang.Override
getExternalSystemsOrThrow( java.lang.String key)2037   public com.google.cloud.securitycenter.v1.ExternalSystem getExternalSystemsOrThrow(
2038       java.lang.String key) {
2039     if (key == null) {
2040       throw new NullPointerException("map key");
2041     }
2042     java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem> map =
2043         internalGetExternalSystems().getMap();
2044     if (!map.containsKey(key)) {
2045       throw new java.lang.IllegalArgumentException();
2046     }
2047     return map.get(key);
2048   }
2049 
2050   public static final int MITRE_ATTACK_FIELD_NUMBER = 25;
2051   private com.google.cloud.securitycenter.v1.MitreAttack mitreAttack_;
2052   /**
2053    *
2054    *
2055    * <pre>
2056    * MITRE ATT&amp;CK tactics and techniques related to this finding.
2057    * See: https://attack.mitre.org
2058    * </pre>
2059    *
2060    * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
2061    *
2062    * @return Whether the mitreAttack field is set.
2063    */
2064   @java.lang.Override
hasMitreAttack()2065   public boolean hasMitreAttack() {
2066     return mitreAttack_ != null;
2067   }
2068   /**
2069    *
2070    *
2071    * <pre>
2072    * MITRE ATT&amp;CK tactics and techniques related to this finding.
2073    * See: https://attack.mitre.org
2074    * </pre>
2075    *
2076    * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
2077    *
2078    * @return The mitreAttack.
2079    */
2080   @java.lang.Override
getMitreAttack()2081   public com.google.cloud.securitycenter.v1.MitreAttack getMitreAttack() {
2082     return mitreAttack_ == null
2083         ? com.google.cloud.securitycenter.v1.MitreAttack.getDefaultInstance()
2084         : mitreAttack_;
2085   }
2086   /**
2087    *
2088    *
2089    * <pre>
2090    * MITRE ATT&amp;CK tactics and techniques related to this finding.
2091    * See: https://attack.mitre.org
2092    * </pre>
2093    *
2094    * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
2095    */
2096   @java.lang.Override
getMitreAttackOrBuilder()2097   public com.google.cloud.securitycenter.v1.MitreAttackOrBuilder getMitreAttackOrBuilder() {
2098     return mitreAttack_ == null
2099         ? com.google.cloud.securitycenter.v1.MitreAttack.getDefaultInstance()
2100         : mitreAttack_;
2101   }
2102 
2103   public static final int ACCESS_FIELD_NUMBER = 26;
2104   private com.google.cloud.securitycenter.v1.Access access_;
2105   /**
2106    *
2107    *
2108    * <pre>
2109    * Access details associated with the finding, such as more information on the
2110    * caller, which method was accessed, and from where.
2111    * </pre>
2112    *
2113    * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
2114    *
2115    * @return Whether the access field is set.
2116    */
2117   @java.lang.Override
hasAccess()2118   public boolean hasAccess() {
2119     return access_ != null;
2120   }
2121   /**
2122    *
2123    *
2124    * <pre>
2125    * Access details associated with the finding, such as more information on the
2126    * caller, which method was accessed, and from where.
2127    * </pre>
2128    *
2129    * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
2130    *
2131    * @return The access.
2132    */
2133   @java.lang.Override
getAccess()2134   public com.google.cloud.securitycenter.v1.Access getAccess() {
2135     return access_ == null
2136         ? com.google.cloud.securitycenter.v1.Access.getDefaultInstance()
2137         : access_;
2138   }
2139   /**
2140    *
2141    *
2142    * <pre>
2143    * Access details associated with the finding, such as more information on the
2144    * caller, which method was accessed, and from where.
2145    * </pre>
2146    *
2147    * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
2148    */
2149   @java.lang.Override
getAccessOrBuilder()2150   public com.google.cloud.securitycenter.v1.AccessOrBuilder getAccessOrBuilder() {
2151     return access_ == null
2152         ? com.google.cloud.securitycenter.v1.Access.getDefaultInstance()
2153         : access_;
2154   }
2155 
2156   public static final int CONNECTIONS_FIELD_NUMBER = 31;
2157 
2158   @SuppressWarnings("serial")
2159   private java.util.List<com.google.cloud.securitycenter.v1.Connection> connections_;
2160   /**
2161    *
2162    *
2163    * <pre>
2164    * Contains information about the IP connection associated with the finding.
2165    * </pre>
2166    *
2167    * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
2168    */
2169   @java.lang.Override
getConnectionsList()2170   public java.util.List<com.google.cloud.securitycenter.v1.Connection> getConnectionsList() {
2171     return connections_;
2172   }
2173   /**
2174    *
2175    *
2176    * <pre>
2177    * Contains information about the IP connection associated with the finding.
2178    * </pre>
2179    *
2180    * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
2181    */
2182   @java.lang.Override
2183   public java.util.List<? extends com.google.cloud.securitycenter.v1.ConnectionOrBuilder>
getConnectionsOrBuilderList()2184       getConnectionsOrBuilderList() {
2185     return connections_;
2186   }
2187   /**
2188    *
2189    *
2190    * <pre>
2191    * Contains information about the IP connection associated with the finding.
2192    * </pre>
2193    *
2194    * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
2195    */
2196   @java.lang.Override
getConnectionsCount()2197   public int getConnectionsCount() {
2198     return connections_.size();
2199   }
2200   /**
2201    *
2202    *
2203    * <pre>
2204    * Contains information about the IP connection associated with the finding.
2205    * </pre>
2206    *
2207    * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
2208    */
2209   @java.lang.Override
getConnections(int index)2210   public com.google.cloud.securitycenter.v1.Connection getConnections(int index) {
2211     return connections_.get(index);
2212   }
2213   /**
2214    *
2215    *
2216    * <pre>
2217    * Contains information about the IP connection associated with the finding.
2218    * </pre>
2219    *
2220    * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
2221    */
2222   @java.lang.Override
getConnectionsOrBuilder(int index)2223   public com.google.cloud.securitycenter.v1.ConnectionOrBuilder getConnectionsOrBuilder(int index) {
2224     return connections_.get(index);
2225   }
2226 
2227   public static final int MUTE_INITIATOR_FIELD_NUMBER = 28;
2228 
2229   @SuppressWarnings("serial")
2230   private volatile java.lang.Object muteInitiator_ = "";
2231   /**
2232    *
2233    *
2234    * <pre>
2235    * Records additional information about the mute operation, for example, the
2236    * [mute configuration](/security-command-center/docs/how-to-mute-findings)
2237    * that muted the finding and the user who muted the finding.
2238    * </pre>
2239    *
2240    * <code>string mute_initiator = 28;</code>
2241    *
2242    * @return The muteInitiator.
2243    */
2244   @java.lang.Override
getMuteInitiator()2245   public java.lang.String getMuteInitiator() {
2246     java.lang.Object ref = muteInitiator_;
2247     if (ref instanceof java.lang.String) {
2248       return (java.lang.String) ref;
2249     } else {
2250       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2251       java.lang.String s = bs.toStringUtf8();
2252       muteInitiator_ = s;
2253       return s;
2254     }
2255   }
2256   /**
2257    *
2258    *
2259    * <pre>
2260    * Records additional information about the mute operation, for example, the
2261    * [mute configuration](/security-command-center/docs/how-to-mute-findings)
2262    * that muted the finding and the user who muted the finding.
2263    * </pre>
2264    *
2265    * <code>string mute_initiator = 28;</code>
2266    *
2267    * @return The bytes for muteInitiator.
2268    */
2269   @java.lang.Override
getMuteInitiatorBytes()2270   public com.google.protobuf.ByteString getMuteInitiatorBytes() {
2271     java.lang.Object ref = muteInitiator_;
2272     if (ref instanceof java.lang.String) {
2273       com.google.protobuf.ByteString b =
2274           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2275       muteInitiator_ = b;
2276       return b;
2277     } else {
2278       return (com.google.protobuf.ByteString) ref;
2279     }
2280   }
2281 
2282   public static final int PROCESSES_FIELD_NUMBER = 30;
2283 
2284   @SuppressWarnings("serial")
2285   private java.util.List<com.google.cloud.securitycenter.v1.Process> processes_;
2286   /**
2287    *
2288    *
2289    * <pre>
2290    * Represents operating system processes associated with the Finding.
2291    * </pre>
2292    *
2293    * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
2294    */
2295   @java.lang.Override
getProcessesList()2296   public java.util.List<com.google.cloud.securitycenter.v1.Process> getProcessesList() {
2297     return processes_;
2298   }
2299   /**
2300    *
2301    *
2302    * <pre>
2303    * Represents operating system processes associated with the Finding.
2304    * </pre>
2305    *
2306    * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
2307    */
2308   @java.lang.Override
2309   public java.util.List<? extends com.google.cloud.securitycenter.v1.ProcessOrBuilder>
getProcessesOrBuilderList()2310       getProcessesOrBuilderList() {
2311     return processes_;
2312   }
2313   /**
2314    *
2315    *
2316    * <pre>
2317    * Represents operating system processes associated with the Finding.
2318    * </pre>
2319    *
2320    * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
2321    */
2322   @java.lang.Override
getProcessesCount()2323   public int getProcessesCount() {
2324     return processes_.size();
2325   }
2326   /**
2327    *
2328    *
2329    * <pre>
2330    * Represents operating system processes associated with the Finding.
2331    * </pre>
2332    *
2333    * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
2334    */
2335   @java.lang.Override
getProcesses(int index)2336   public com.google.cloud.securitycenter.v1.Process getProcesses(int index) {
2337     return processes_.get(index);
2338   }
2339   /**
2340    *
2341    *
2342    * <pre>
2343    * Represents operating system processes associated with the Finding.
2344    * </pre>
2345    *
2346    * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
2347    */
2348   @java.lang.Override
getProcessesOrBuilder(int index)2349   public com.google.cloud.securitycenter.v1.ProcessOrBuilder getProcessesOrBuilder(int index) {
2350     return processes_.get(index);
2351   }
2352 
2353   public static final int CONTACTS_FIELD_NUMBER = 33;
2354 
2355   private static final class ContactsDefaultEntryHolder {
2356     static final com.google.protobuf.MapEntry<
2357             java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
2358         defaultEntry =
2359             com.google.protobuf.MapEntry
2360                 .<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
2361                     newDefaultInstance(
2362                         com.google.cloud.securitycenter.v1.FindingOuterClass
2363                             .internal_static_google_cloud_securitycenter_v1_Finding_ContactsEntry_descriptor,
2364                         com.google.protobuf.WireFormat.FieldType.STRING,
2365                         "",
2366                         com.google.protobuf.WireFormat.FieldType.MESSAGE,
2367                         com.google.cloud.securitycenter.v1.ContactDetails.getDefaultInstance());
2368   }
2369 
2370   @SuppressWarnings("serial")
2371   private com.google.protobuf.MapField<
2372           java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
2373       contacts_;
2374 
2375   private com.google.protobuf.MapField<
2376           java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
internalGetContacts()2377       internalGetContacts() {
2378     if (contacts_ == null) {
2379       return com.google.protobuf.MapField.emptyMapField(ContactsDefaultEntryHolder.defaultEntry);
2380     }
2381     return contacts_;
2382   }
2383 
getContactsCount()2384   public int getContactsCount() {
2385     return internalGetContacts().getMap().size();
2386   }
2387   /**
2388    *
2389    *
2390    * <pre>
2391    * Output only. Map containing the points of contact for the given finding.
2392    * The key represents the type of contact, while the value contains a list of
2393    * all the contacts that pertain. Please refer to:
2394    * https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
2395    *     {
2396    *       "security": {
2397    *         "contacts": [
2398    *           {
2399    *             "email": "person1&#64;company.com"
2400    *           },
2401    *           {
2402    *             "email": "person2&#64;company.com"
2403    *           }
2404    *         ]
2405    *       }
2406    *     }
2407    * </pre>
2408    *
2409    * <code>
2410    * map&lt;string, .google.cloud.securitycenter.v1.ContactDetails&gt; contacts = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];
2411    * </code>
2412    */
2413   @java.lang.Override
containsContacts(java.lang.String key)2414   public boolean containsContacts(java.lang.String key) {
2415     if (key == null) {
2416       throw new NullPointerException("map key");
2417     }
2418     return internalGetContacts().getMap().containsKey(key);
2419   }
2420   /** Use {@link #getContactsMap()} instead. */
2421   @java.lang.Override
2422   @java.lang.Deprecated
2423   public java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
getContacts()2424       getContacts() {
2425     return getContactsMap();
2426   }
2427   /**
2428    *
2429    *
2430    * <pre>
2431    * Output only. Map containing the points of contact for the given finding.
2432    * The key represents the type of contact, while the value contains a list of
2433    * all the contacts that pertain. Please refer to:
2434    * https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
2435    *     {
2436    *       "security": {
2437    *         "contacts": [
2438    *           {
2439    *             "email": "person1&#64;company.com"
2440    *           },
2441    *           {
2442    *             "email": "person2&#64;company.com"
2443    *           }
2444    *         ]
2445    *       }
2446    *     }
2447    * </pre>
2448    *
2449    * <code>
2450    * map&lt;string, .google.cloud.securitycenter.v1.ContactDetails&gt; contacts = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];
2451    * </code>
2452    */
2453   @java.lang.Override
2454   public java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
getContactsMap()2455       getContactsMap() {
2456     return internalGetContacts().getMap();
2457   }
2458   /**
2459    *
2460    *
2461    * <pre>
2462    * Output only. Map containing the points of contact for the given finding.
2463    * The key represents the type of contact, while the value contains a list of
2464    * all the contacts that pertain. Please refer to:
2465    * https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
2466    *     {
2467    *       "security": {
2468    *         "contacts": [
2469    *           {
2470    *             "email": "person1&#64;company.com"
2471    *           },
2472    *           {
2473    *             "email": "person2&#64;company.com"
2474    *           }
2475    *         ]
2476    *       }
2477    *     }
2478    * </pre>
2479    *
2480    * <code>
2481    * map&lt;string, .google.cloud.securitycenter.v1.ContactDetails&gt; contacts = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];
2482    * </code>
2483    */
2484   @java.lang.Override
getContactsOrDefault( java.lang.String key, com.google.cloud.securitycenter.v1.ContactDetails defaultValue)2485   public /* nullable */ com.google.cloud.securitycenter.v1.ContactDetails getContactsOrDefault(
2486       java.lang.String key,
2487       /* nullable */
2488       com.google.cloud.securitycenter.v1.ContactDetails defaultValue) {
2489     if (key == null) {
2490       throw new NullPointerException("map key");
2491     }
2492     java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails> map =
2493         internalGetContacts().getMap();
2494     return map.containsKey(key) ? map.get(key) : defaultValue;
2495   }
2496   /**
2497    *
2498    *
2499    * <pre>
2500    * Output only. Map containing the points of contact for the given finding.
2501    * The key represents the type of contact, while the value contains a list of
2502    * all the contacts that pertain. Please refer to:
2503    * https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
2504    *     {
2505    *       "security": {
2506    *         "contacts": [
2507    *           {
2508    *             "email": "person1&#64;company.com"
2509    *           },
2510    *           {
2511    *             "email": "person2&#64;company.com"
2512    *           }
2513    *         ]
2514    *       }
2515    *     }
2516    * </pre>
2517    *
2518    * <code>
2519    * map&lt;string, .google.cloud.securitycenter.v1.ContactDetails&gt; contacts = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];
2520    * </code>
2521    */
2522   @java.lang.Override
getContactsOrThrow( java.lang.String key)2523   public com.google.cloud.securitycenter.v1.ContactDetails getContactsOrThrow(
2524       java.lang.String key) {
2525     if (key == null) {
2526       throw new NullPointerException("map key");
2527     }
2528     java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails> map =
2529         internalGetContacts().getMap();
2530     if (!map.containsKey(key)) {
2531       throw new java.lang.IllegalArgumentException();
2532     }
2533     return map.get(key);
2534   }
2535 
2536   public static final int COMPLIANCES_FIELD_NUMBER = 34;
2537 
2538   @SuppressWarnings("serial")
2539   private java.util.List<com.google.cloud.securitycenter.v1.Compliance> compliances_;
2540   /**
2541    *
2542    *
2543    * <pre>
2544    * Contains compliance information for security standards associated to the
2545    * finding.
2546    * </pre>
2547    *
2548    * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
2549    */
2550   @java.lang.Override
getCompliancesList()2551   public java.util.List<com.google.cloud.securitycenter.v1.Compliance> getCompliancesList() {
2552     return compliances_;
2553   }
2554   /**
2555    *
2556    *
2557    * <pre>
2558    * Contains compliance information for security standards associated to the
2559    * finding.
2560    * </pre>
2561    *
2562    * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
2563    */
2564   @java.lang.Override
2565   public java.util.List<? extends com.google.cloud.securitycenter.v1.ComplianceOrBuilder>
getCompliancesOrBuilderList()2566       getCompliancesOrBuilderList() {
2567     return compliances_;
2568   }
2569   /**
2570    *
2571    *
2572    * <pre>
2573    * Contains compliance information for security standards associated to the
2574    * finding.
2575    * </pre>
2576    *
2577    * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
2578    */
2579   @java.lang.Override
getCompliancesCount()2580   public int getCompliancesCount() {
2581     return compliances_.size();
2582   }
2583   /**
2584    *
2585    *
2586    * <pre>
2587    * Contains compliance information for security standards associated to the
2588    * finding.
2589    * </pre>
2590    *
2591    * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
2592    */
2593   @java.lang.Override
getCompliances(int index)2594   public com.google.cloud.securitycenter.v1.Compliance getCompliances(int index) {
2595     return compliances_.get(index);
2596   }
2597   /**
2598    *
2599    *
2600    * <pre>
2601    * Contains compliance information for security standards associated to the
2602    * finding.
2603    * </pre>
2604    *
2605    * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
2606    */
2607   @java.lang.Override
getCompliancesOrBuilder(int index)2608   public com.google.cloud.securitycenter.v1.ComplianceOrBuilder getCompliancesOrBuilder(int index) {
2609     return compliances_.get(index);
2610   }
2611 
2612   public static final int PARENT_DISPLAY_NAME_FIELD_NUMBER = 36;
2613 
2614   @SuppressWarnings("serial")
2615   private volatile java.lang.Object parentDisplayName_ = "";
2616   /**
2617    *
2618    *
2619    * <pre>
2620    * Output only. The human readable display name of the finding source such as
2621    * "Event Threat Detection" or "Security Health Analytics".
2622    * </pre>
2623    *
2624    * <code>string parent_display_name = 36 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2625    *
2626    * @return The parentDisplayName.
2627    */
2628   @java.lang.Override
getParentDisplayName()2629   public java.lang.String getParentDisplayName() {
2630     java.lang.Object ref = parentDisplayName_;
2631     if (ref instanceof java.lang.String) {
2632       return (java.lang.String) ref;
2633     } else {
2634       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2635       java.lang.String s = bs.toStringUtf8();
2636       parentDisplayName_ = s;
2637       return s;
2638     }
2639   }
2640   /**
2641    *
2642    *
2643    * <pre>
2644    * Output only. The human readable display name of the finding source such as
2645    * "Event Threat Detection" or "Security Health Analytics".
2646    * </pre>
2647    *
2648    * <code>string parent_display_name = 36 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2649    *
2650    * @return The bytes for parentDisplayName.
2651    */
2652   @java.lang.Override
getParentDisplayNameBytes()2653   public com.google.protobuf.ByteString getParentDisplayNameBytes() {
2654     java.lang.Object ref = parentDisplayName_;
2655     if (ref instanceof java.lang.String) {
2656       com.google.protobuf.ByteString b =
2657           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2658       parentDisplayName_ = b;
2659       return b;
2660     } else {
2661       return (com.google.protobuf.ByteString) ref;
2662     }
2663   }
2664 
2665   public static final int DESCRIPTION_FIELD_NUMBER = 37;
2666 
2667   @SuppressWarnings("serial")
2668   private volatile java.lang.Object description_ = "";
2669   /**
2670    *
2671    *
2672    * <pre>
2673    * Contains more details about the finding.
2674    * </pre>
2675    *
2676    * <code>string description = 37;</code>
2677    *
2678    * @return The description.
2679    */
2680   @java.lang.Override
getDescription()2681   public java.lang.String getDescription() {
2682     java.lang.Object ref = description_;
2683     if (ref instanceof java.lang.String) {
2684       return (java.lang.String) ref;
2685     } else {
2686       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2687       java.lang.String s = bs.toStringUtf8();
2688       description_ = s;
2689       return s;
2690     }
2691   }
2692   /**
2693    *
2694    *
2695    * <pre>
2696    * Contains more details about the finding.
2697    * </pre>
2698    *
2699    * <code>string description = 37;</code>
2700    *
2701    * @return The bytes for description.
2702    */
2703   @java.lang.Override
getDescriptionBytes()2704   public com.google.protobuf.ByteString getDescriptionBytes() {
2705     java.lang.Object ref = description_;
2706     if (ref instanceof java.lang.String) {
2707       com.google.protobuf.ByteString b =
2708           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2709       description_ = b;
2710       return b;
2711     } else {
2712       return (com.google.protobuf.ByteString) ref;
2713     }
2714   }
2715 
2716   public static final int EXFILTRATION_FIELD_NUMBER = 38;
2717   private com.google.cloud.securitycenter.v1.Exfiltration exfiltration_;
2718   /**
2719    *
2720    *
2721    * <pre>
2722    * Represents exfiltrations associated with the finding.
2723    * </pre>
2724    *
2725    * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
2726    *
2727    * @return Whether the exfiltration field is set.
2728    */
2729   @java.lang.Override
hasExfiltration()2730   public boolean hasExfiltration() {
2731     return exfiltration_ != null;
2732   }
2733   /**
2734    *
2735    *
2736    * <pre>
2737    * Represents exfiltrations associated with the finding.
2738    * </pre>
2739    *
2740    * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
2741    *
2742    * @return The exfiltration.
2743    */
2744   @java.lang.Override
getExfiltration()2745   public com.google.cloud.securitycenter.v1.Exfiltration getExfiltration() {
2746     return exfiltration_ == null
2747         ? com.google.cloud.securitycenter.v1.Exfiltration.getDefaultInstance()
2748         : exfiltration_;
2749   }
2750   /**
2751    *
2752    *
2753    * <pre>
2754    * Represents exfiltrations associated with the finding.
2755    * </pre>
2756    *
2757    * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
2758    */
2759   @java.lang.Override
getExfiltrationOrBuilder()2760   public com.google.cloud.securitycenter.v1.ExfiltrationOrBuilder getExfiltrationOrBuilder() {
2761     return exfiltration_ == null
2762         ? com.google.cloud.securitycenter.v1.Exfiltration.getDefaultInstance()
2763         : exfiltration_;
2764   }
2765 
2766   public static final int IAM_BINDINGS_FIELD_NUMBER = 39;
2767 
2768   @SuppressWarnings("serial")
2769   private java.util.List<com.google.cloud.securitycenter.v1.IamBinding> iamBindings_;
2770   /**
2771    *
2772    *
2773    * <pre>
2774    * Represents IAM bindings associated with the finding.
2775    * </pre>
2776    *
2777    * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
2778    */
2779   @java.lang.Override
getIamBindingsList()2780   public java.util.List<com.google.cloud.securitycenter.v1.IamBinding> getIamBindingsList() {
2781     return iamBindings_;
2782   }
2783   /**
2784    *
2785    *
2786    * <pre>
2787    * Represents IAM bindings associated with the finding.
2788    * </pre>
2789    *
2790    * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
2791    */
2792   @java.lang.Override
2793   public java.util.List<? extends com.google.cloud.securitycenter.v1.IamBindingOrBuilder>
getIamBindingsOrBuilderList()2794       getIamBindingsOrBuilderList() {
2795     return iamBindings_;
2796   }
2797   /**
2798    *
2799    *
2800    * <pre>
2801    * Represents IAM bindings associated with the finding.
2802    * </pre>
2803    *
2804    * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
2805    */
2806   @java.lang.Override
getIamBindingsCount()2807   public int getIamBindingsCount() {
2808     return iamBindings_.size();
2809   }
2810   /**
2811    *
2812    *
2813    * <pre>
2814    * Represents IAM bindings associated with the finding.
2815    * </pre>
2816    *
2817    * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
2818    */
2819   @java.lang.Override
getIamBindings(int index)2820   public com.google.cloud.securitycenter.v1.IamBinding getIamBindings(int index) {
2821     return iamBindings_.get(index);
2822   }
2823   /**
2824    *
2825    *
2826    * <pre>
2827    * Represents IAM bindings associated with the finding.
2828    * </pre>
2829    *
2830    * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
2831    */
2832   @java.lang.Override
getIamBindingsOrBuilder(int index)2833   public com.google.cloud.securitycenter.v1.IamBindingOrBuilder getIamBindingsOrBuilder(int index) {
2834     return iamBindings_.get(index);
2835   }
2836 
2837   public static final int NEXT_STEPS_FIELD_NUMBER = 40;
2838 
2839   @SuppressWarnings("serial")
2840   private volatile java.lang.Object nextSteps_ = "";
2841   /**
2842    *
2843    *
2844    * <pre>
2845    * Steps to address the finding.
2846    * </pre>
2847    *
2848    * <code>string next_steps = 40;</code>
2849    *
2850    * @return The nextSteps.
2851    */
2852   @java.lang.Override
getNextSteps()2853   public java.lang.String getNextSteps() {
2854     java.lang.Object ref = nextSteps_;
2855     if (ref instanceof java.lang.String) {
2856       return (java.lang.String) ref;
2857     } else {
2858       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2859       java.lang.String s = bs.toStringUtf8();
2860       nextSteps_ = s;
2861       return s;
2862     }
2863   }
2864   /**
2865    *
2866    *
2867    * <pre>
2868    * Steps to address the finding.
2869    * </pre>
2870    *
2871    * <code>string next_steps = 40;</code>
2872    *
2873    * @return The bytes for nextSteps.
2874    */
2875   @java.lang.Override
getNextStepsBytes()2876   public com.google.protobuf.ByteString getNextStepsBytes() {
2877     java.lang.Object ref = nextSteps_;
2878     if (ref instanceof java.lang.String) {
2879       com.google.protobuf.ByteString b =
2880           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2881       nextSteps_ = b;
2882       return b;
2883     } else {
2884       return (com.google.protobuf.ByteString) ref;
2885     }
2886   }
2887 
2888   public static final int MODULE_NAME_FIELD_NUMBER = 41;
2889 
2890   @SuppressWarnings("serial")
2891   private volatile java.lang.Object moduleName_ = "";
2892   /**
2893    *
2894    *
2895    * <pre>
2896    * Unique identifier of the module which generated the finding.
2897    * Example:
2898    * folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
2899    * </pre>
2900    *
2901    * <code>string module_name = 41;</code>
2902    *
2903    * @return The moduleName.
2904    */
2905   @java.lang.Override
getModuleName()2906   public java.lang.String getModuleName() {
2907     java.lang.Object ref = moduleName_;
2908     if (ref instanceof java.lang.String) {
2909       return (java.lang.String) ref;
2910     } else {
2911       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2912       java.lang.String s = bs.toStringUtf8();
2913       moduleName_ = s;
2914       return s;
2915     }
2916   }
2917   /**
2918    *
2919    *
2920    * <pre>
2921    * Unique identifier of the module which generated the finding.
2922    * Example:
2923    * folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
2924    * </pre>
2925    *
2926    * <code>string module_name = 41;</code>
2927    *
2928    * @return The bytes for moduleName.
2929    */
2930   @java.lang.Override
getModuleNameBytes()2931   public com.google.protobuf.ByteString getModuleNameBytes() {
2932     java.lang.Object ref = moduleName_;
2933     if (ref instanceof java.lang.String) {
2934       com.google.protobuf.ByteString b =
2935           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2936       moduleName_ = b;
2937       return b;
2938     } else {
2939       return (com.google.protobuf.ByteString) ref;
2940     }
2941   }
2942 
2943   public static final int CONTAINERS_FIELD_NUMBER = 42;
2944 
2945   @SuppressWarnings("serial")
2946   private java.util.List<com.google.cloud.securitycenter.v1.Container> containers_;
2947   /**
2948    *
2949    *
2950    * <pre>
2951    * Containers associated with the finding. This field provides information for
2952    * both Kubernetes and non-Kubernetes containers.
2953    * </pre>
2954    *
2955    * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
2956    */
2957   @java.lang.Override
getContainersList()2958   public java.util.List<com.google.cloud.securitycenter.v1.Container> getContainersList() {
2959     return containers_;
2960   }
2961   /**
2962    *
2963    *
2964    * <pre>
2965    * Containers associated with the finding. This field provides information for
2966    * both Kubernetes and non-Kubernetes containers.
2967    * </pre>
2968    *
2969    * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
2970    */
2971   @java.lang.Override
2972   public java.util.List<? extends com.google.cloud.securitycenter.v1.ContainerOrBuilder>
getContainersOrBuilderList()2973       getContainersOrBuilderList() {
2974     return containers_;
2975   }
2976   /**
2977    *
2978    *
2979    * <pre>
2980    * Containers associated with the finding. This field provides information for
2981    * both Kubernetes and non-Kubernetes containers.
2982    * </pre>
2983    *
2984    * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
2985    */
2986   @java.lang.Override
getContainersCount()2987   public int getContainersCount() {
2988     return containers_.size();
2989   }
2990   /**
2991    *
2992    *
2993    * <pre>
2994    * Containers associated with the finding. This field provides information for
2995    * both Kubernetes and non-Kubernetes containers.
2996    * </pre>
2997    *
2998    * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
2999    */
3000   @java.lang.Override
getContainers(int index)3001   public com.google.cloud.securitycenter.v1.Container getContainers(int index) {
3002     return containers_.get(index);
3003   }
3004   /**
3005    *
3006    *
3007    * <pre>
3008    * Containers associated with the finding. This field provides information for
3009    * both Kubernetes and non-Kubernetes containers.
3010    * </pre>
3011    *
3012    * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
3013    */
3014   @java.lang.Override
getContainersOrBuilder(int index)3015   public com.google.cloud.securitycenter.v1.ContainerOrBuilder getContainersOrBuilder(int index) {
3016     return containers_.get(index);
3017   }
3018 
3019   public static final int KUBERNETES_FIELD_NUMBER = 43;
3020   private com.google.cloud.securitycenter.v1.Kubernetes kubernetes_;
3021   /**
3022    *
3023    *
3024    * <pre>
3025    * Kubernetes resources associated with the finding.
3026    * </pre>
3027    *
3028    * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
3029    *
3030    * @return Whether the kubernetes field is set.
3031    */
3032   @java.lang.Override
hasKubernetes()3033   public boolean hasKubernetes() {
3034     return kubernetes_ != null;
3035   }
3036   /**
3037    *
3038    *
3039    * <pre>
3040    * Kubernetes resources associated with the finding.
3041    * </pre>
3042    *
3043    * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
3044    *
3045    * @return The kubernetes.
3046    */
3047   @java.lang.Override
getKubernetes()3048   public com.google.cloud.securitycenter.v1.Kubernetes getKubernetes() {
3049     return kubernetes_ == null
3050         ? com.google.cloud.securitycenter.v1.Kubernetes.getDefaultInstance()
3051         : kubernetes_;
3052   }
3053   /**
3054    *
3055    *
3056    * <pre>
3057    * Kubernetes resources associated with the finding.
3058    * </pre>
3059    *
3060    * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
3061    */
3062   @java.lang.Override
getKubernetesOrBuilder()3063   public com.google.cloud.securitycenter.v1.KubernetesOrBuilder getKubernetesOrBuilder() {
3064     return kubernetes_ == null
3065         ? com.google.cloud.securitycenter.v1.Kubernetes.getDefaultInstance()
3066         : kubernetes_;
3067   }
3068 
3069   public static final int DATABASE_FIELD_NUMBER = 44;
3070   private com.google.cloud.securitycenter.v1.Database database_;
3071   /**
3072    *
3073    *
3074    * <pre>
3075    * Database associated with the finding.
3076    * </pre>
3077    *
3078    * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
3079    *
3080    * @return Whether the database field is set.
3081    */
3082   @java.lang.Override
hasDatabase()3083   public boolean hasDatabase() {
3084     return database_ != null;
3085   }
3086   /**
3087    *
3088    *
3089    * <pre>
3090    * Database associated with the finding.
3091    * </pre>
3092    *
3093    * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
3094    *
3095    * @return The database.
3096    */
3097   @java.lang.Override
getDatabase()3098   public com.google.cloud.securitycenter.v1.Database getDatabase() {
3099     return database_ == null
3100         ? com.google.cloud.securitycenter.v1.Database.getDefaultInstance()
3101         : database_;
3102   }
3103   /**
3104    *
3105    *
3106    * <pre>
3107    * Database associated with the finding.
3108    * </pre>
3109    *
3110    * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
3111    */
3112   @java.lang.Override
getDatabaseOrBuilder()3113   public com.google.cloud.securitycenter.v1.DatabaseOrBuilder getDatabaseOrBuilder() {
3114     return database_ == null
3115         ? com.google.cloud.securitycenter.v1.Database.getDefaultInstance()
3116         : database_;
3117   }
3118 
3119   public static final int FILES_FIELD_NUMBER = 46;
3120 
3121   @SuppressWarnings("serial")
3122   private java.util.List<com.google.cloud.securitycenter.v1.File> files_;
3123   /**
3124    *
3125    *
3126    * <pre>
3127    * File associated with the finding.
3128    * </pre>
3129    *
3130    * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
3131    */
3132   @java.lang.Override
getFilesList()3133   public java.util.List<com.google.cloud.securitycenter.v1.File> getFilesList() {
3134     return files_;
3135   }
3136   /**
3137    *
3138    *
3139    * <pre>
3140    * File associated with the finding.
3141    * </pre>
3142    *
3143    * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
3144    */
3145   @java.lang.Override
3146   public java.util.List<? extends com.google.cloud.securitycenter.v1.FileOrBuilder>
getFilesOrBuilderList()3147       getFilesOrBuilderList() {
3148     return files_;
3149   }
3150   /**
3151    *
3152    *
3153    * <pre>
3154    * File associated with the finding.
3155    * </pre>
3156    *
3157    * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
3158    */
3159   @java.lang.Override
getFilesCount()3160   public int getFilesCount() {
3161     return files_.size();
3162   }
3163   /**
3164    *
3165    *
3166    * <pre>
3167    * File associated with the finding.
3168    * </pre>
3169    *
3170    * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
3171    */
3172   @java.lang.Override
getFiles(int index)3173   public com.google.cloud.securitycenter.v1.File getFiles(int index) {
3174     return files_.get(index);
3175   }
3176   /**
3177    *
3178    *
3179    * <pre>
3180    * File associated with the finding.
3181    * </pre>
3182    *
3183    * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
3184    */
3185   @java.lang.Override
getFilesOrBuilder(int index)3186   public com.google.cloud.securitycenter.v1.FileOrBuilder getFilesOrBuilder(int index) {
3187     return files_.get(index);
3188   }
3189 
3190   public static final int CLOUD_DLP_INSPECTION_FIELD_NUMBER = 48;
3191   private com.google.cloud.securitycenter.v1.CloudDlpInspection cloudDlpInspection_;
3192   /**
3193    *
3194    *
3195    * <pre>
3196    * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
3197    * associated with the finding.
3198    * </pre>
3199    *
3200    * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
3201    *
3202    * @return Whether the cloudDlpInspection field is set.
3203    */
3204   @java.lang.Override
hasCloudDlpInspection()3205   public boolean hasCloudDlpInspection() {
3206     return cloudDlpInspection_ != null;
3207   }
3208   /**
3209    *
3210    *
3211    * <pre>
3212    * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
3213    * associated with the finding.
3214    * </pre>
3215    *
3216    * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
3217    *
3218    * @return The cloudDlpInspection.
3219    */
3220   @java.lang.Override
getCloudDlpInspection()3221   public com.google.cloud.securitycenter.v1.CloudDlpInspection getCloudDlpInspection() {
3222     return cloudDlpInspection_ == null
3223         ? com.google.cloud.securitycenter.v1.CloudDlpInspection.getDefaultInstance()
3224         : cloudDlpInspection_;
3225   }
3226   /**
3227    *
3228    *
3229    * <pre>
3230    * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
3231    * associated with the finding.
3232    * </pre>
3233    *
3234    * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
3235    */
3236   @java.lang.Override
3237   public com.google.cloud.securitycenter.v1.CloudDlpInspectionOrBuilder
getCloudDlpInspectionOrBuilder()3238       getCloudDlpInspectionOrBuilder() {
3239     return cloudDlpInspection_ == null
3240         ? com.google.cloud.securitycenter.v1.CloudDlpInspection.getDefaultInstance()
3241         : cloudDlpInspection_;
3242   }
3243 
3244   public static final int CLOUD_DLP_DATA_PROFILE_FIELD_NUMBER = 49;
3245   private com.google.cloud.securitycenter.v1.CloudDlpDataProfile cloudDlpDataProfile_;
3246   /**
3247    *
3248    *
3249    * <pre>
3250    * Cloud DLP data profile that is associated with the finding.
3251    * </pre>
3252    *
3253    * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
3254    *
3255    * @return Whether the cloudDlpDataProfile field is set.
3256    */
3257   @java.lang.Override
hasCloudDlpDataProfile()3258   public boolean hasCloudDlpDataProfile() {
3259     return cloudDlpDataProfile_ != null;
3260   }
3261   /**
3262    *
3263    *
3264    * <pre>
3265    * Cloud DLP data profile that is associated with the finding.
3266    * </pre>
3267    *
3268    * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
3269    *
3270    * @return The cloudDlpDataProfile.
3271    */
3272   @java.lang.Override
getCloudDlpDataProfile()3273   public com.google.cloud.securitycenter.v1.CloudDlpDataProfile getCloudDlpDataProfile() {
3274     return cloudDlpDataProfile_ == null
3275         ? com.google.cloud.securitycenter.v1.CloudDlpDataProfile.getDefaultInstance()
3276         : cloudDlpDataProfile_;
3277   }
3278   /**
3279    *
3280    *
3281    * <pre>
3282    * Cloud DLP data profile that is associated with the finding.
3283    * </pre>
3284    *
3285    * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
3286    */
3287   @java.lang.Override
3288   public com.google.cloud.securitycenter.v1.CloudDlpDataProfileOrBuilder
getCloudDlpDataProfileOrBuilder()3289       getCloudDlpDataProfileOrBuilder() {
3290     return cloudDlpDataProfile_ == null
3291         ? com.google.cloud.securitycenter.v1.CloudDlpDataProfile.getDefaultInstance()
3292         : cloudDlpDataProfile_;
3293   }
3294 
3295   public static final int KERNEL_ROOTKIT_FIELD_NUMBER = 50;
3296   private com.google.cloud.securitycenter.v1.KernelRootkit kernelRootkit_;
3297   /**
3298    *
3299    *
3300    * <pre>
3301    * Signature of the kernel rootkit.
3302    * </pre>
3303    *
3304    * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
3305    *
3306    * @return Whether the kernelRootkit field is set.
3307    */
3308   @java.lang.Override
hasKernelRootkit()3309   public boolean hasKernelRootkit() {
3310     return kernelRootkit_ != null;
3311   }
3312   /**
3313    *
3314    *
3315    * <pre>
3316    * Signature of the kernel rootkit.
3317    * </pre>
3318    *
3319    * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
3320    *
3321    * @return The kernelRootkit.
3322    */
3323   @java.lang.Override
getKernelRootkit()3324   public com.google.cloud.securitycenter.v1.KernelRootkit getKernelRootkit() {
3325     return kernelRootkit_ == null
3326         ? com.google.cloud.securitycenter.v1.KernelRootkit.getDefaultInstance()
3327         : kernelRootkit_;
3328   }
3329   /**
3330    *
3331    *
3332    * <pre>
3333    * Signature of the kernel rootkit.
3334    * </pre>
3335    *
3336    * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
3337    */
3338   @java.lang.Override
getKernelRootkitOrBuilder()3339   public com.google.cloud.securitycenter.v1.KernelRootkitOrBuilder getKernelRootkitOrBuilder() {
3340     return kernelRootkit_ == null
3341         ? com.google.cloud.securitycenter.v1.KernelRootkit.getDefaultInstance()
3342         : kernelRootkit_;
3343   }
3344 
3345   private byte memoizedIsInitialized = -1;
3346 
3347   @java.lang.Override
isInitialized()3348   public final boolean isInitialized() {
3349     byte isInitialized = memoizedIsInitialized;
3350     if (isInitialized == 1) return true;
3351     if (isInitialized == 0) return false;
3352 
3353     memoizedIsInitialized = 1;
3354     return true;
3355   }
3356 
3357   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)3358   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
3359     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
3360       com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
3361     }
3362     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) {
3363       com.google.protobuf.GeneratedMessageV3.writeString(output, 2, parent_);
3364     }
3365     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceName_)) {
3366       com.google.protobuf.GeneratedMessageV3.writeString(output, 3, resourceName_);
3367     }
3368     if (state_ != com.google.cloud.securitycenter.v1.Finding.State.STATE_UNSPECIFIED.getNumber()) {
3369       output.writeEnum(4, state_);
3370     }
3371     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(category_)) {
3372       com.google.protobuf.GeneratedMessageV3.writeString(output, 5, category_);
3373     }
3374     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(externalUri_)) {
3375       com.google.protobuf.GeneratedMessageV3.writeString(output, 6, externalUri_);
3376     }
3377     com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
3378         output, internalGetSourceProperties(), SourcePropertiesDefaultEntryHolder.defaultEntry, 7);
3379     if (securityMarks_ != null) {
3380       output.writeMessage(8, getSecurityMarks());
3381     }
3382     if (eventTime_ != null) {
3383       output.writeMessage(9, getEventTime());
3384     }
3385     if (createTime_ != null) {
3386       output.writeMessage(10, getCreateTime());
3387     }
3388     if (severity_
3389         != com.google.cloud.securitycenter.v1.Finding.Severity.SEVERITY_UNSPECIFIED.getNumber()) {
3390       output.writeEnum(12, severity_);
3391     }
3392     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(canonicalName_)) {
3393       com.google.protobuf.GeneratedMessageV3.writeString(output, 14, canonicalName_);
3394     }
3395     if (mute_ != com.google.cloud.securitycenter.v1.Finding.Mute.MUTE_UNSPECIFIED.getNumber()) {
3396       output.writeEnum(15, mute_);
3397     }
3398     if (findingClass_
3399         != com.google.cloud.securitycenter.v1.Finding.FindingClass.FINDING_CLASS_UNSPECIFIED
3400             .getNumber()) {
3401       output.writeEnum(17, findingClass_);
3402     }
3403     if (indicator_ != null) {
3404       output.writeMessage(18, getIndicator());
3405     }
3406     if (vulnerability_ != null) {
3407       output.writeMessage(20, getVulnerability());
3408     }
3409     if (muteUpdateTime_ != null) {
3410       output.writeMessage(21, getMuteUpdateTime());
3411     }
3412     com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
3413         output, internalGetExternalSystems(), ExternalSystemsDefaultEntryHolder.defaultEntry, 22);
3414     if (mitreAttack_ != null) {
3415       output.writeMessage(25, getMitreAttack());
3416     }
3417     if (access_ != null) {
3418       output.writeMessage(26, getAccess());
3419     }
3420     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(muteInitiator_)) {
3421       com.google.protobuf.GeneratedMessageV3.writeString(output, 28, muteInitiator_);
3422     }
3423     for (int i = 0; i < processes_.size(); i++) {
3424       output.writeMessage(30, processes_.get(i));
3425     }
3426     for (int i = 0; i < connections_.size(); i++) {
3427       output.writeMessage(31, connections_.get(i));
3428     }
3429     com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
3430         output, internalGetContacts(), ContactsDefaultEntryHolder.defaultEntry, 33);
3431     for (int i = 0; i < compliances_.size(); i++) {
3432       output.writeMessage(34, compliances_.get(i));
3433     }
3434     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parentDisplayName_)) {
3435       com.google.protobuf.GeneratedMessageV3.writeString(output, 36, parentDisplayName_);
3436     }
3437     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
3438       com.google.protobuf.GeneratedMessageV3.writeString(output, 37, description_);
3439     }
3440     if (exfiltration_ != null) {
3441       output.writeMessage(38, getExfiltration());
3442     }
3443     for (int i = 0; i < iamBindings_.size(); i++) {
3444       output.writeMessage(39, iamBindings_.get(i));
3445     }
3446     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nextSteps_)) {
3447       com.google.protobuf.GeneratedMessageV3.writeString(output, 40, nextSteps_);
3448     }
3449     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(moduleName_)) {
3450       com.google.protobuf.GeneratedMessageV3.writeString(output, 41, moduleName_);
3451     }
3452     for (int i = 0; i < containers_.size(); i++) {
3453       output.writeMessage(42, containers_.get(i));
3454     }
3455     if (kubernetes_ != null) {
3456       output.writeMessage(43, getKubernetes());
3457     }
3458     if (database_ != null) {
3459       output.writeMessage(44, getDatabase());
3460     }
3461     for (int i = 0; i < files_.size(); i++) {
3462       output.writeMessage(46, files_.get(i));
3463     }
3464     if (cloudDlpInspection_ != null) {
3465       output.writeMessage(48, getCloudDlpInspection());
3466     }
3467     if (cloudDlpDataProfile_ != null) {
3468       output.writeMessage(49, getCloudDlpDataProfile());
3469     }
3470     if (kernelRootkit_ != null) {
3471       output.writeMessage(50, getKernelRootkit());
3472     }
3473     getUnknownFields().writeTo(output);
3474   }
3475 
3476   @java.lang.Override
getSerializedSize()3477   public int getSerializedSize() {
3478     int size = memoizedSize;
3479     if (size != -1) return size;
3480 
3481     size = 0;
3482     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
3483       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
3484     }
3485     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) {
3486       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, parent_);
3487     }
3488     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceName_)) {
3489       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, resourceName_);
3490     }
3491     if (state_ != com.google.cloud.securitycenter.v1.Finding.State.STATE_UNSPECIFIED.getNumber()) {
3492       size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, state_);
3493     }
3494     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(category_)) {
3495       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, category_);
3496     }
3497     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(externalUri_)) {
3498       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, externalUri_);
3499     }
3500     for (java.util.Map.Entry<java.lang.String, com.google.protobuf.Value> entry :
3501         internalGetSourceProperties().getMap().entrySet()) {
3502       com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Value> sourceProperties__ =
3503           SourcePropertiesDefaultEntryHolder.defaultEntry
3504               .newBuilderForType()
3505               .setKey(entry.getKey())
3506               .setValue(entry.getValue())
3507               .build();
3508       size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, sourceProperties__);
3509     }
3510     if (securityMarks_ != null) {
3511       size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getSecurityMarks());
3512     }
3513     if (eventTime_ != null) {
3514       size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getEventTime());
3515     }
3516     if (createTime_ != null) {
3517       size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getCreateTime());
3518     }
3519     if (severity_
3520         != com.google.cloud.securitycenter.v1.Finding.Severity.SEVERITY_UNSPECIFIED.getNumber()) {
3521       size += com.google.protobuf.CodedOutputStream.computeEnumSize(12, severity_);
3522     }
3523     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(canonicalName_)) {
3524       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, canonicalName_);
3525     }
3526     if (mute_ != com.google.cloud.securitycenter.v1.Finding.Mute.MUTE_UNSPECIFIED.getNumber()) {
3527       size += com.google.protobuf.CodedOutputStream.computeEnumSize(15, mute_);
3528     }
3529     if (findingClass_
3530         != com.google.cloud.securitycenter.v1.Finding.FindingClass.FINDING_CLASS_UNSPECIFIED
3531             .getNumber()) {
3532       size += com.google.protobuf.CodedOutputStream.computeEnumSize(17, findingClass_);
3533     }
3534     if (indicator_ != null) {
3535       size += com.google.protobuf.CodedOutputStream.computeMessageSize(18, getIndicator());
3536     }
3537     if (vulnerability_ != null) {
3538       size += com.google.protobuf.CodedOutputStream.computeMessageSize(20, getVulnerability());
3539     }
3540     if (muteUpdateTime_ != null) {
3541       size += com.google.protobuf.CodedOutputStream.computeMessageSize(21, getMuteUpdateTime());
3542     }
3543     for (java.util.Map.Entry<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
3544         entry : internalGetExternalSystems().getMap().entrySet()) {
3545       com.google.protobuf.MapEntry<
3546               java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
3547           externalSystems__ =
3548               ExternalSystemsDefaultEntryHolder.defaultEntry
3549                   .newBuilderForType()
3550                   .setKey(entry.getKey())
3551                   .setValue(entry.getValue())
3552                   .build();
3553       size += com.google.protobuf.CodedOutputStream.computeMessageSize(22, externalSystems__);
3554     }
3555     if (mitreAttack_ != null) {
3556       size += com.google.protobuf.CodedOutputStream.computeMessageSize(25, getMitreAttack());
3557     }
3558     if (access_ != null) {
3559       size += com.google.protobuf.CodedOutputStream.computeMessageSize(26, getAccess());
3560     }
3561     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(muteInitiator_)) {
3562       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(28, muteInitiator_);
3563     }
3564     for (int i = 0; i < processes_.size(); i++) {
3565       size += com.google.protobuf.CodedOutputStream.computeMessageSize(30, processes_.get(i));
3566     }
3567     for (int i = 0; i < connections_.size(); i++) {
3568       size += com.google.protobuf.CodedOutputStream.computeMessageSize(31, connections_.get(i));
3569     }
3570     for (java.util.Map.Entry<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
3571         entry : internalGetContacts().getMap().entrySet()) {
3572       com.google.protobuf.MapEntry<
3573               java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
3574           contacts__ =
3575               ContactsDefaultEntryHolder.defaultEntry
3576                   .newBuilderForType()
3577                   .setKey(entry.getKey())
3578                   .setValue(entry.getValue())
3579                   .build();
3580       size += com.google.protobuf.CodedOutputStream.computeMessageSize(33, contacts__);
3581     }
3582     for (int i = 0; i < compliances_.size(); i++) {
3583       size += com.google.protobuf.CodedOutputStream.computeMessageSize(34, compliances_.get(i));
3584     }
3585     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parentDisplayName_)) {
3586       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(36, parentDisplayName_);
3587     }
3588     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
3589       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(37, description_);
3590     }
3591     if (exfiltration_ != null) {
3592       size += com.google.protobuf.CodedOutputStream.computeMessageSize(38, getExfiltration());
3593     }
3594     for (int i = 0; i < iamBindings_.size(); i++) {
3595       size += com.google.protobuf.CodedOutputStream.computeMessageSize(39, iamBindings_.get(i));
3596     }
3597     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nextSteps_)) {
3598       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(40, nextSteps_);
3599     }
3600     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(moduleName_)) {
3601       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(41, moduleName_);
3602     }
3603     for (int i = 0; i < containers_.size(); i++) {
3604       size += com.google.protobuf.CodedOutputStream.computeMessageSize(42, containers_.get(i));
3605     }
3606     if (kubernetes_ != null) {
3607       size += com.google.protobuf.CodedOutputStream.computeMessageSize(43, getKubernetes());
3608     }
3609     if (database_ != null) {
3610       size += com.google.protobuf.CodedOutputStream.computeMessageSize(44, getDatabase());
3611     }
3612     for (int i = 0; i < files_.size(); i++) {
3613       size += com.google.protobuf.CodedOutputStream.computeMessageSize(46, files_.get(i));
3614     }
3615     if (cloudDlpInspection_ != null) {
3616       size += com.google.protobuf.CodedOutputStream.computeMessageSize(48, getCloudDlpInspection());
3617     }
3618     if (cloudDlpDataProfile_ != null) {
3619       size +=
3620           com.google.protobuf.CodedOutputStream.computeMessageSize(49, getCloudDlpDataProfile());
3621     }
3622     if (kernelRootkit_ != null) {
3623       size += com.google.protobuf.CodedOutputStream.computeMessageSize(50, getKernelRootkit());
3624     }
3625     size += getUnknownFields().getSerializedSize();
3626     memoizedSize = size;
3627     return size;
3628   }
3629 
3630   @java.lang.Override
equals(final java.lang.Object obj)3631   public boolean equals(final java.lang.Object obj) {
3632     if (obj == this) {
3633       return true;
3634     }
3635     if (!(obj instanceof com.google.cloud.securitycenter.v1.Finding)) {
3636       return super.equals(obj);
3637     }
3638     com.google.cloud.securitycenter.v1.Finding other =
3639         (com.google.cloud.securitycenter.v1.Finding) obj;
3640 
3641     if (!getName().equals(other.getName())) return false;
3642     if (!getParent().equals(other.getParent())) return false;
3643     if (!getResourceName().equals(other.getResourceName())) return false;
3644     if (state_ != other.state_) return false;
3645     if (!getCategory().equals(other.getCategory())) return false;
3646     if (!getExternalUri().equals(other.getExternalUri())) return false;
3647     if (!internalGetSourceProperties().equals(other.internalGetSourceProperties())) return false;
3648     if (hasSecurityMarks() != other.hasSecurityMarks()) return false;
3649     if (hasSecurityMarks()) {
3650       if (!getSecurityMarks().equals(other.getSecurityMarks())) return false;
3651     }
3652     if (hasEventTime() != other.hasEventTime()) return false;
3653     if (hasEventTime()) {
3654       if (!getEventTime().equals(other.getEventTime())) return false;
3655     }
3656     if (hasCreateTime() != other.hasCreateTime()) return false;
3657     if (hasCreateTime()) {
3658       if (!getCreateTime().equals(other.getCreateTime())) return false;
3659     }
3660     if (severity_ != other.severity_) return false;
3661     if (!getCanonicalName().equals(other.getCanonicalName())) return false;
3662     if (mute_ != other.mute_) return false;
3663     if (findingClass_ != other.findingClass_) return false;
3664     if (hasIndicator() != other.hasIndicator()) return false;
3665     if (hasIndicator()) {
3666       if (!getIndicator().equals(other.getIndicator())) return false;
3667     }
3668     if (hasVulnerability() != other.hasVulnerability()) return false;
3669     if (hasVulnerability()) {
3670       if (!getVulnerability().equals(other.getVulnerability())) return false;
3671     }
3672     if (hasMuteUpdateTime() != other.hasMuteUpdateTime()) return false;
3673     if (hasMuteUpdateTime()) {
3674       if (!getMuteUpdateTime().equals(other.getMuteUpdateTime())) return false;
3675     }
3676     if (!internalGetExternalSystems().equals(other.internalGetExternalSystems())) return false;
3677     if (hasMitreAttack() != other.hasMitreAttack()) return false;
3678     if (hasMitreAttack()) {
3679       if (!getMitreAttack().equals(other.getMitreAttack())) return false;
3680     }
3681     if (hasAccess() != other.hasAccess()) return false;
3682     if (hasAccess()) {
3683       if (!getAccess().equals(other.getAccess())) return false;
3684     }
3685     if (!getConnectionsList().equals(other.getConnectionsList())) return false;
3686     if (!getMuteInitiator().equals(other.getMuteInitiator())) return false;
3687     if (!getProcessesList().equals(other.getProcessesList())) return false;
3688     if (!internalGetContacts().equals(other.internalGetContacts())) return false;
3689     if (!getCompliancesList().equals(other.getCompliancesList())) return false;
3690     if (!getParentDisplayName().equals(other.getParentDisplayName())) return false;
3691     if (!getDescription().equals(other.getDescription())) return false;
3692     if (hasExfiltration() != other.hasExfiltration()) return false;
3693     if (hasExfiltration()) {
3694       if (!getExfiltration().equals(other.getExfiltration())) return false;
3695     }
3696     if (!getIamBindingsList().equals(other.getIamBindingsList())) return false;
3697     if (!getNextSteps().equals(other.getNextSteps())) return false;
3698     if (!getModuleName().equals(other.getModuleName())) return false;
3699     if (!getContainersList().equals(other.getContainersList())) return false;
3700     if (hasKubernetes() != other.hasKubernetes()) return false;
3701     if (hasKubernetes()) {
3702       if (!getKubernetes().equals(other.getKubernetes())) return false;
3703     }
3704     if (hasDatabase() != other.hasDatabase()) return false;
3705     if (hasDatabase()) {
3706       if (!getDatabase().equals(other.getDatabase())) return false;
3707     }
3708     if (!getFilesList().equals(other.getFilesList())) return false;
3709     if (hasCloudDlpInspection() != other.hasCloudDlpInspection()) return false;
3710     if (hasCloudDlpInspection()) {
3711       if (!getCloudDlpInspection().equals(other.getCloudDlpInspection())) return false;
3712     }
3713     if (hasCloudDlpDataProfile() != other.hasCloudDlpDataProfile()) return false;
3714     if (hasCloudDlpDataProfile()) {
3715       if (!getCloudDlpDataProfile().equals(other.getCloudDlpDataProfile())) return false;
3716     }
3717     if (hasKernelRootkit() != other.hasKernelRootkit()) return false;
3718     if (hasKernelRootkit()) {
3719       if (!getKernelRootkit().equals(other.getKernelRootkit())) return false;
3720     }
3721     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
3722     return true;
3723   }
3724 
3725   @java.lang.Override
hashCode()3726   public int hashCode() {
3727     if (memoizedHashCode != 0) {
3728       return memoizedHashCode;
3729     }
3730     int hash = 41;
3731     hash = (19 * hash) + getDescriptor().hashCode();
3732     hash = (37 * hash) + NAME_FIELD_NUMBER;
3733     hash = (53 * hash) + getName().hashCode();
3734     hash = (37 * hash) + PARENT_FIELD_NUMBER;
3735     hash = (53 * hash) + getParent().hashCode();
3736     hash = (37 * hash) + RESOURCE_NAME_FIELD_NUMBER;
3737     hash = (53 * hash) + getResourceName().hashCode();
3738     hash = (37 * hash) + STATE_FIELD_NUMBER;
3739     hash = (53 * hash) + state_;
3740     hash = (37 * hash) + CATEGORY_FIELD_NUMBER;
3741     hash = (53 * hash) + getCategory().hashCode();
3742     hash = (37 * hash) + EXTERNAL_URI_FIELD_NUMBER;
3743     hash = (53 * hash) + getExternalUri().hashCode();
3744     if (!internalGetSourceProperties().getMap().isEmpty()) {
3745       hash = (37 * hash) + SOURCE_PROPERTIES_FIELD_NUMBER;
3746       hash = (53 * hash) + internalGetSourceProperties().hashCode();
3747     }
3748     if (hasSecurityMarks()) {
3749       hash = (37 * hash) + SECURITY_MARKS_FIELD_NUMBER;
3750       hash = (53 * hash) + getSecurityMarks().hashCode();
3751     }
3752     if (hasEventTime()) {
3753       hash = (37 * hash) + EVENT_TIME_FIELD_NUMBER;
3754       hash = (53 * hash) + getEventTime().hashCode();
3755     }
3756     if (hasCreateTime()) {
3757       hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER;
3758       hash = (53 * hash) + getCreateTime().hashCode();
3759     }
3760     hash = (37 * hash) + SEVERITY_FIELD_NUMBER;
3761     hash = (53 * hash) + severity_;
3762     hash = (37 * hash) + CANONICAL_NAME_FIELD_NUMBER;
3763     hash = (53 * hash) + getCanonicalName().hashCode();
3764     hash = (37 * hash) + MUTE_FIELD_NUMBER;
3765     hash = (53 * hash) + mute_;
3766     hash = (37 * hash) + FINDING_CLASS_FIELD_NUMBER;
3767     hash = (53 * hash) + findingClass_;
3768     if (hasIndicator()) {
3769       hash = (37 * hash) + INDICATOR_FIELD_NUMBER;
3770       hash = (53 * hash) + getIndicator().hashCode();
3771     }
3772     if (hasVulnerability()) {
3773       hash = (37 * hash) + VULNERABILITY_FIELD_NUMBER;
3774       hash = (53 * hash) + getVulnerability().hashCode();
3775     }
3776     if (hasMuteUpdateTime()) {
3777       hash = (37 * hash) + MUTE_UPDATE_TIME_FIELD_NUMBER;
3778       hash = (53 * hash) + getMuteUpdateTime().hashCode();
3779     }
3780     if (!internalGetExternalSystems().getMap().isEmpty()) {
3781       hash = (37 * hash) + EXTERNAL_SYSTEMS_FIELD_NUMBER;
3782       hash = (53 * hash) + internalGetExternalSystems().hashCode();
3783     }
3784     if (hasMitreAttack()) {
3785       hash = (37 * hash) + MITRE_ATTACK_FIELD_NUMBER;
3786       hash = (53 * hash) + getMitreAttack().hashCode();
3787     }
3788     if (hasAccess()) {
3789       hash = (37 * hash) + ACCESS_FIELD_NUMBER;
3790       hash = (53 * hash) + getAccess().hashCode();
3791     }
3792     if (getConnectionsCount() > 0) {
3793       hash = (37 * hash) + CONNECTIONS_FIELD_NUMBER;
3794       hash = (53 * hash) + getConnectionsList().hashCode();
3795     }
3796     hash = (37 * hash) + MUTE_INITIATOR_FIELD_NUMBER;
3797     hash = (53 * hash) + getMuteInitiator().hashCode();
3798     if (getProcessesCount() > 0) {
3799       hash = (37 * hash) + PROCESSES_FIELD_NUMBER;
3800       hash = (53 * hash) + getProcessesList().hashCode();
3801     }
3802     if (!internalGetContacts().getMap().isEmpty()) {
3803       hash = (37 * hash) + CONTACTS_FIELD_NUMBER;
3804       hash = (53 * hash) + internalGetContacts().hashCode();
3805     }
3806     if (getCompliancesCount() > 0) {
3807       hash = (37 * hash) + COMPLIANCES_FIELD_NUMBER;
3808       hash = (53 * hash) + getCompliancesList().hashCode();
3809     }
3810     hash = (37 * hash) + PARENT_DISPLAY_NAME_FIELD_NUMBER;
3811     hash = (53 * hash) + getParentDisplayName().hashCode();
3812     hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
3813     hash = (53 * hash) + getDescription().hashCode();
3814     if (hasExfiltration()) {
3815       hash = (37 * hash) + EXFILTRATION_FIELD_NUMBER;
3816       hash = (53 * hash) + getExfiltration().hashCode();
3817     }
3818     if (getIamBindingsCount() > 0) {
3819       hash = (37 * hash) + IAM_BINDINGS_FIELD_NUMBER;
3820       hash = (53 * hash) + getIamBindingsList().hashCode();
3821     }
3822     hash = (37 * hash) + NEXT_STEPS_FIELD_NUMBER;
3823     hash = (53 * hash) + getNextSteps().hashCode();
3824     hash = (37 * hash) + MODULE_NAME_FIELD_NUMBER;
3825     hash = (53 * hash) + getModuleName().hashCode();
3826     if (getContainersCount() > 0) {
3827       hash = (37 * hash) + CONTAINERS_FIELD_NUMBER;
3828       hash = (53 * hash) + getContainersList().hashCode();
3829     }
3830     if (hasKubernetes()) {
3831       hash = (37 * hash) + KUBERNETES_FIELD_NUMBER;
3832       hash = (53 * hash) + getKubernetes().hashCode();
3833     }
3834     if (hasDatabase()) {
3835       hash = (37 * hash) + DATABASE_FIELD_NUMBER;
3836       hash = (53 * hash) + getDatabase().hashCode();
3837     }
3838     if (getFilesCount() > 0) {
3839       hash = (37 * hash) + FILES_FIELD_NUMBER;
3840       hash = (53 * hash) + getFilesList().hashCode();
3841     }
3842     if (hasCloudDlpInspection()) {
3843       hash = (37 * hash) + CLOUD_DLP_INSPECTION_FIELD_NUMBER;
3844       hash = (53 * hash) + getCloudDlpInspection().hashCode();
3845     }
3846     if (hasCloudDlpDataProfile()) {
3847       hash = (37 * hash) + CLOUD_DLP_DATA_PROFILE_FIELD_NUMBER;
3848       hash = (53 * hash) + getCloudDlpDataProfile().hashCode();
3849     }
3850     if (hasKernelRootkit()) {
3851       hash = (37 * hash) + KERNEL_ROOTKIT_FIELD_NUMBER;
3852       hash = (53 * hash) + getKernelRootkit().hashCode();
3853     }
3854     hash = (29 * hash) + getUnknownFields().hashCode();
3855     memoizedHashCode = hash;
3856     return hash;
3857   }
3858 
parseFrom(java.nio.ByteBuffer data)3859   public static com.google.cloud.securitycenter.v1.Finding parseFrom(java.nio.ByteBuffer data)
3860       throws com.google.protobuf.InvalidProtocolBufferException {
3861     return PARSER.parseFrom(data);
3862   }
3863 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3864   public static com.google.cloud.securitycenter.v1.Finding parseFrom(
3865       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3866       throws com.google.protobuf.InvalidProtocolBufferException {
3867     return PARSER.parseFrom(data, extensionRegistry);
3868   }
3869 
parseFrom( com.google.protobuf.ByteString data)3870   public static com.google.cloud.securitycenter.v1.Finding parseFrom(
3871       com.google.protobuf.ByteString data)
3872       throws com.google.protobuf.InvalidProtocolBufferException {
3873     return PARSER.parseFrom(data);
3874   }
3875 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3876   public static com.google.cloud.securitycenter.v1.Finding parseFrom(
3877       com.google.protobuf.ByteString data,
3878       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3879       throws com.google.protobuf.InvalidProtocolBufferException {
3880     return PARSER.parseFrom(data, extensionRegistry);
3881   }
3882 
parseFrom(byte[] data)3883   public static com.google.cloud.securitycenter.v1.Finding parseFrom(byte[] data)
3884       throws com.google.protobuf.InvalidProtocolBufferException {
3885     return PARSER.parseFrom(data);
3886   }
3887 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3888   public static com.google.cloud.securitycenter.v1.Finding parseFrom(
3889       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3890       throws com.google.protobuf.InvalidProtocolBufferException {
3891     return PARSER.parseFrom(data, extensionRegistry);
3892   }
3893 
parseFrom(java.io.InputStream input)3894   public static com.google.cloud.securitycenter.v1.Finding parseFrom(java.io.InputStream input)
3895       throws java.io.IOException {
3896     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3897   }
3898 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3899   public static com.google.cloud.securitycenter.v1.Finding parseFrom(
3900       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3901       throws java.io.IOException {
3902     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3903         PARSER, input, extensionRegistry);
3904   }
3905 
parseDelimitedFrom( java.io.InputStream input)3906   public static com.google.cloud.securitycenter.v1.Finding parseDelimitedFrom(
3907       java.io.InputStream input) throws java.io.IOException {
3908     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
3909   }
3910 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3911   public static com.google.cloud.securitycenter.v1.Finding parseDelimitedFrom(
3912       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3913       throws java.io.IOException {
3914     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
3915         PARSER, input, extensionRegistry);
3916   }
3917 
parseFrom( com.google.protobuf.CodedInputStream input)3918   public static com.google.cloud.securitycenter.v1.Finding parseFrom(
3919       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
3920     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3921   }
3922 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3923   public static com.google.cloud.securitycenter.v1.Finding parseFrom(
3924       com.google.protobuf.CodedInputStream input,
3925       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3926       throws java.io.IOException {
3927     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3928         PARSER, input, extensionRegistry);
3929   }
3930 
3931   @java.lang.Override
newBuilderForType()3932   public Builder newBuilderForType() {
3933     return newBuilder();
3934   }
3935 
newBuilder()3936   public static Builder newBuilder() {
3937     return DEFAULT_INSTANCE.toBuilder();
3938   }
3939 
newBuilder(com.google.cloud.securitycenter.v1.Finding prototype)3940   public static Builder newBuilder(com.google.cloud.securitycenter.v1.Finding prototype) {
3941     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3942   }
3943 
3944   @java.lang.Override
toBuilder()3945   public Builder toBuilder() {
3946     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
3947   }
3948 
3949   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)3950   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3951     Builder builder = new Builder(parent);
3952     return builder;
3953   }
3954   /**
3955    *
3956    *
3957    * <pre>
3958    * Security Command Center finding.
3959    * A finding is a record of assessment data like security, risk, health, or
3960    * privacy, that is ingested into Security Command Center for presentation,
3961    * notification, analysis, policy testing, and enforcement. For example, a
3962    * cross-site scripting (XSS) vulnerability in an App Engine application is a
3963    * finding.
3964    * </pre>
3965    *
3966    * Protobuf type {@code google.cloud.securitycenter.v1.Finding}
3967    */
3968   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
3969       implements
3970       // @@protoc_insertion_point(builder_implements:google.cloud.securitycenter.v1.Finding)
3971       com.google.cloud.securitycenter.v1.FindingOrBuilder {
getDescriptor()3972     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
3973       return com.google.cloud.securitycenter.v1.FindingOuterClass
3974           .internal_static_google_cloud_securitycenter_v1_Finding_descriptor;
3975     }
3976 
3977     @SuppressWarnings({"rawtypes"})
internalGetMapField(int number)3978     protected com.google.protobuf.MapField internalGetMapField(int number) {
3979       switch (number) {
3980         case 7:
3981           return internalGetSourceProperties();
3982         case 22:
3983           return internalGetExternalSystems();
3984         case 33:
3985           return internalGetContacts();
3986         default:
3987           throw new RuntimeException("Invalid map field number: " + number);
3988       }
3989     }
3990 
3991     @SuppressWarnings({"rawtypes"})
internalGetMutableMapField(int number)3992     protected com.google.protobuf.MapField internalGetMutableMapField(int number) {
3993       switch (number) {
3994         case 7:
3995           return internalGetMutableSourceProperties();
3996         case 22:
3997           return internalGetMutableExternalSystems();
3998         case 33:
3999           return internalGetMutableContacts();
4000         default:
4001           throw new RuntimeException("Invalid map field number: " + number);
4002       }
4003     }
4004 
4005     @java.lang.Override
4006     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()4007         internalGetFieldAccessorTable() {
4008       return com.google.cloud.securitycenter.v1.FindingOuterClass
4009           .internal_static_google_cloud_securitycenter_v1_Finding_fieldAccessorTable
4010           .ensureFieldAccessorsInitialized(
4011               com.google.cloud.securitycenter.v1.Finding.class,
4012               com.google.cloud.securitycenter.v1.Finding.Builder.class);
4013     }
4014 
4015     // Construct using com.google.cloud.securitycenter.v1.Finding.newBuilder()
Builder()4016     private Builder() {}
4017 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)4018     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
4019       super(parent);
4020     }
4021 
4022     @java.lang.Override
clear()4023     public Builder clear() {
4024       super.clear();
4025       bitField0_ = 0;
4026       bitField1_ = 0;
4027       name_ = "";
4028       parent_ = "";
4029       resourceName_ = "";
4030       state_ = 0;
4031       category_ = "";
4032       externalUri_ = "";
4033       internalGetMutableSourceProperties().clear();
4034       securityMarks_ = null;
4035       if (securityMarksBuilder_ != null) {
4036         securityMarksBuilder_.dispose();
4037         securityMarksBuilder_ = null;
4038       }
4039       eventTime_ = null;
4040       if (eventTimeBuilder_ != null) {
4041         eventTimeBuilder_.dispose();
4042         eventTimeBuilder_ = null;
4043       }
4044       createTime_ = null;
4045       if (createTimeBuilder_ != null) {
4046         createTimeBuilder_.dispose();
4047         createTimeBuilder_ = null;
4048       }
4049       severity_ = 0;
4050       canonicalName_ = "";
4051       mute_ = 0;
4052       findingClass_ = 0;
4053       indicator_ = null;
4054       if (indicatorBuilder_ != null) {
4055         indicatorBuilder_.dispose();
4056         indicatorBuilder_ = null;
4057       }
4058       vulnerability_ = null;
4059       if (vulnerabilityBuilder_ != null) {
4060         vulnerabilityBuilder_.dispose();
4061         vulnerabilityBuilder_ = null;
4062       }
4063       muteUpdateTime_ = null;
4064       if (muteUpdateTimeBuilder_ != null) {
4065         muteUpdateTimeBuilder_.dispose();
4066         muteUpdateTimeBuilder_ = null;
4067       }
4068       internalGetMutableExternalSystems().clear();
4069       mitreAttack_ = null;
4070       if (mitreAttackBuilder_ != null) {
4071         mitreAttackBuilder_.dispose();
4072         mitreAttackBuilder_ = null;
4073       }
4074       access_ = null;
4075       if (accessBuilder_ != null) {
4076         accessBuilder_.dispose();
4077         accessBuilder_ = null;
4078       }
4079       if (connectionsBuilder_ == null) {
4080         connections_ = java.util.Collections.emptyList();
4081       } else {
4082         connections_ = null;
4083         connectionsBuilder_.clear();
4084       }
4085       bitField0_ = (bitField0_ & ~0x00100000);
4086       muteInitiator_ = "";
4087       if (processesBuilder_ == null) {
4088         processes_ = java.util.Collections.emptyList();
4089       } else {
4090         processes_ = null;
4091         processesBuilder_.clear();
4092       }
4093       bitField0_ = (bitField0_ & ~0x00400000);
4094       internalGetMutableContacts().clear();
4095       if (compliancesBuilder_ == null) {
4096         compliances_ = java.util.Collections.emptyList();
4097       } else {
4098         compliances_ = null;
4099         compliancesBuilder_.clear();
4100       }
4101       bitField0_ = (bitField0_ & ~0x01000000);
4102       parentDisplayName_ = "";
4103       description_ = "";
4104       exfiltration_ = null;
4105       if (exfiltrationBuilder_ != null) {
4106         exfiltrationBuilder_.dispose();
4107         exfiltrationBuilder_ = null;
4108       }
4109       if (iamBindingsBuilder_ == null) {
4110         iamBindings_ = java.util.Collections.emptyList();
4111       } else {
4112         iamBindings_ = null;
4113         iamBindingsBuilder_.clear();
4114       }
4115       bitField0_ = (bitField0_ & ~0x10000000);
4116       nextSteps_ = "";
4117       moduleName_ = "";
4118       if (containersBuilder_ == null) {
4119         containers_ = java.util.Collections.emptyList();
4120       } else {
4121         containers_ = null;
4122         containersBuilder_.clear();
4123       }
4124       bitField0_ = (bitField0_ & ~0x80000000);
4125       kubernetes_ = null;
4126       if (kubernetesBuilder_ != null) {
4127         kubernetesBuilder_.dispose();
4128         kubernetesBuilder_ = null;
4129       }
4130       database_ = null;
4131       if (databaseBuilder_ != null) {
4132         databaseBuilder_.dispose();
4133         databaseBuilder_ = null;
4134       }
4135       if (filesBuilder_ == null) {
4136         files_ = java.util.Collections.emptyList();
4137       } else {
4138         files_ = null;
4139         filesBuilder_.clear();
4140       }
4141       bitField1_ = (bitField1_ & ~0x00000004);
4142       cloudDlpInspection_ = null;
4143       if (cloudDlpInspectionBuilder_ != null) {
4144         cloudDlpInspectionBuilder_.dispose();
4145         cloudDlpInspectionBuilder_ = null;
4146       }
4147       cloudDlpDataProfile_ = null;
4148       if (cloudDlpDataProfileBuilder_ != null) {
4149         cloudDlpDataProfileBuilder_.dispose();
4150         cloudDlpDataProfileBuilder_ = null;
4151       }
4152       kernelRootkit_ = null;
4153       if (kernelRootkitBuilder_ != null) {
4154         kernelRootkitBuilder_.dispose();
4155         kernelRootkitBuilder_ = null;
4156       }
4157       return this;
4158     }
4159 
4160     @java.lang.Override
getDescriptorForType()4161     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
4162       return com.google.cloud.securitycenter.v1.FindingOuterClass
4163           .internal_static_google_cloud_securitycenter_v1_Finding_descriptor;
4164     }
4165 
4166     @java.lang.Override
getDefaultInstanceForType()4167     public com.google.cloud.securitycenter.v1.Finding getDefaultInstanceForType() {
4168       return com.google.cloud.securitycenter.v1.Finding.getDefaultInstance();
4169     }
4170 
4171     @java.lang.Override
build()4172     public com.google.cloud.securitycenter.v1.Finding build() {
4173       com.google.cloud.securitycenter.v1.Finding result = buildPartial();
4174       if (!result.isInitialized()) {
4175         throw newUninitializedMessageException(result);
4176       }
4177       return result;
4178     }
4179 
4180     @java.lang.Override
buildPartial()4181     public com.google.cloud.securitycenter.v1.Finding buildPartial() {
4182       com.google.cloud.securitycenter.v1.Finding result =
4183           new com.google.cloud.securitycenter.v1.Finding(this);
4184       buildPartialRepeatedFields(result);
4185       if (bitField0_ != 0) {
4186         buildPartial0(result);
4187       }
4188       if (bitField1_ != 0) {
4189         buildPartial1(result);
4190       }
4191       onBuilt();
4192       return result;
4193     }
4194 
buildPartialRepeatedFields(com.google.cloud.securitycenter.v1.Finding result)4195     private void buildPartialRepeatedFields(com.google.cloud.securitycenter.v1.Finding result) {
4196       if (connectionsBuilder_ == null) {
4197         if (((bitField0_ & 0x00100000) != 0)) {
4198           connections_ = java.util.Collections.unmodifiableList(connections_);
4199           bitField0_ = (bitField0_ & ~0x00100000);
4200         }
4201         result.connections_ = connections_;
4202       } else {
4203         result.connections_ = connectionsBuilder_.build();
4204       }
4205       if (processesBuilder_ == null) {
4206         if (((bitField0_ & 0x00400000) != 0)) {
4207           processes_ = java.util.Collections.unmodifiableList(processes_);
4208           bitField0_ = (bitField0_ & ~0x00400000);
4209         }
4210         result.processes_ = processes_;
4211       } else {
4212         result.processes_ = processesBuilder_.build();
4213       }
4214       if (compliancesBuilder_ == null) {
4215         if (((bitField0_ & 0x01000000) != 0)) {
4216           compliances_ = java.util.Collections.unmodifiableList(compliances_);
4217           bitField0_ = (bitField0_ & ~0x01000000);
4218         }
4219         result.compliances_ = compliances_;
4220       } else {
4221         result.compliances_ = compliancesBuilder_.build();
4222       }
4223       if (iamBindingsBuilder_ == null) {
4224         if (((bitField0_ & 0x10000000) != 0)) {
4225           iamBindings_ = java.util.Collections.unmodifiableList(iamBindings_);
4226           bitField0_ = (bitField0_ & ~0x10000000);
4227         }
4228         result.iamBindings_ = iamBindings_;
4229       } else {
4230         result.iamBindings_ = iamBindingsBuilder_.build();
4231       }
4232       if (containersBuilder_ == null) {
4233         if (((bitField0_ & 0x80000000) != 0)) {
4234           containers_ = java.util.Collections.unmodifiableList(containers_);
4235           bitField0_ = (bitField0_ & ~0x80000000);
4236         }
4237         result.containers_ = containers_;
4238       } else {
4239         result.containers_ = containersBuilder_.build();
4240       }
4241       if (filesBuilder_ == null) {
4242         if (((bitField1_ & 0x00000004) != 0)) {
4243           files_ = java.util.Collections.unmodifiableList(files_);
4244           bitField1_ = (bitField1_ & ~0x00000004);
4245         }
4246         result.files_ = files_;
4247       } else {
4248         result.files_ = filesBuilder_.build();
4249       }
4250     }
4251 
buildPartial0(com.google.cloud.securitycenter.v1.Finding result)4252     private void buildPartial0(com.google.cloud.securitycenter.v1.Finding result) {
4253       int from_bitField0_ = bitField0_;
4254       if (((from_bitField0_ & 0x00000001) != 0)) {
4255         result.name_ = name_;
4256       }
4257       if (((from_bitField0_ & 0x00000002) != 0)) {
4258         result.parent_ = parent_;
4259       }
4260       if (((from_bitField0_ & 0x00000004) != 0)) {
4261         result.resourceName_ = resourceName_;
4262       }
4263       if (((from_bitField0_ & 0x00000008) != 0)) {
4264         result.state_ = state_;
4265       }
4266       if (((from_bitField0_ & 0x00000010) != 0)) {
4267         result.category_ = category_;
4268       }
4269       if (((from_bitField0_ & 0x00000020) != 0)) {
4270         result.externalUri_ = externalUri_;
4271       }
4272       if (((from_bitField0_ & 0x00000040) != 0)) {
4273         result.sourceProperties_ = internalGetSourceProperties();
4274         result.sourceProperties_.makeImmutable();
4275       }
4276       if (((from_bitField0_ & 0x00000080) != 0)) {
4277         result.securityMarks_ =
4278             securityMarksBuilder_ == null ? securityMarks_ : securityMarksBuilder_.build();
4279       }
4280       if (((from_bitField0_ & 0x00000100) != 0)) {
4281         result.eventTime_ = eventTimeBuilder_ == null ? eventTime_ : eventTimeBuilder_.build();
4282       }
4283       if (((from_bitField0_ & 0x00000200) != 0)) {
4284         result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build();
4285       }
4286       if (((from_bitField0_ & 0x00000400) != 0)) {
4287         result.severity_ = severity_;
4288       }
4289       if (((from_bitField0_ & 0x00000800) != 0)) {
4290         result.canonicalName_ = canonicalName_;
4291       }
4292       if (((from_bitField0_ & 0x00001000) != 0)) {
4293         result.mute_ = mute_;
4294       }
4295       if (((from_bitField0_ & 0x00002000) != 0)) {
4296         result.findingClass_ = findingClass_;
4297       }
4298       if (((from_bitField0_ & 0x00004000) != 0)) {
4299         result.indicator_ = indicatorBuilder_ == null ? indicator_ : indicatorBuilder_.build();
4300       }
4301       if (((from_bitField0_ & 0x00008000) != 0)) {
4302         result.vulnerability_ =
4303             vulnerabilityBuilder_ == null ? vulnerability_ : vulnerabilityBuilder_.build();
4304       }
4305       if (((from_bitField0_ & 0x00010000) != 0)) {
4306         result.muteUpdateTime_ =
4307             muteUpdateTimeBuilder_ == null ? muteUpdateTime_ : muteUpdateTimeBuilder_.build();
4308       }
4309       if (((from_bitField0_ & 0x00020000) != 0)) {
4310         result.externalSystems_ = internalGetExternalSystems();
4311         result.externalSystems_.makeImmutable();
4312       }
4313       if (((from_bitField0_ & 0x00040000) != 0)) {
4314         result.mitreAttack_ =
4315             mitreAttackBuilder_ == null ? mitreAttack_ : mitreAttackBuilder_.build();
4316       }
4317       if (((from_bitField0_ & 0x00080000) != 0)) {
4318         result.access_ = accessBuilder_ == null ? access_ : accessBuilder_.build();
4319       }
4320       if (((from_bitField0_ & 0x00200000) != 0)) {
4321         result.muteInitiator_ = muteInitiator_;
4322       }
4323       if (((from_bitField0_ & 0x00800000) != 0)) {
4324         result.contacts_ = internalGetContacts();
4325         result.contacts_.makeImmutable();
4326       }
4327       if (((from_bitField0_ & 0x02000000) != 0)) {
4328         result.parentDisplayName_ = parentDisplayName_;
4329       }
4330       if (((from_bitField0_ & 0x04000000) != 0)) {
4331         result.description_ = description_;
4332       }
4333       if (((from_bitField0_ & 0x08000000) != 0)) {
4334         result.exfiltration_ =
4335             exfiltrationBuilder_ == null ? exfiltration_ : exfiltrationBuilder_.build();
4336       }
4337       if (((from_bitField0_ & 0x20000000) != 0)) {
4338         result.nextSteps_ = nextSteps_;
4339       }
4340       if (((from_bitField0_ & 0x40000000) != 0)) {
4341         result.moduleName_ = moduleName_;
4342       }
4343     }
4344 
buildPartial1(com.google.cloud.securitycenter.v1.Finding result)4345     private void buildPartial1(com.google.cloud.securitycenter.v1.Finding result) {
4346       int from_bitField1_ = bitField1_;
4347       if (((from_bitField1_ & 0x00000001) != 0)) {
4348         result.kubernetes_ = kubernetesBuilder_ == null ? kubernetes_ : kubernetesBuilder_.build();
4349       }
4350       if (((from_bitField1_ & 0x00000002) != 0)) {
4351         result.database_ = databaseBuilder_ == null ? database_ : databaseBuilder_.build();
4352       }
4353       if (((from_bitField1_ & 0x00000008) != 0)) {
4354         result.cloudDlpInspection_ =
4355             cloudDlpInspectionBuilder_ == null
4356                 ? cloudDlpInspection_
4357                 : cloudDlpInspectionBuilder_.build();
4358       }
4359       if (((from_bitField1_ & 0x00000010) != 0)) {
4360         result.cloudDlpDataProfile_ =
4361             cloudDlpDataProfileBuilder_ == null
4362                 ? cloudDlpDataProfile_
4363                 : cloudDlpDataProfileBuilder_.build();
4364       }
4365       if (((from_bitField1_ & 0x00000020) != 0)) {
4366         result.kernelRootkit_ =
4367             kernelRootkitBuilder_ == null ? kernelRootkit_ : kernelRootkitBuilder_.build();
4368       }
4369     }
4370 
4371     @java.lang.Override
clone()4372     public Builder clone() {
4373       return super.clone();
4374     }
4375 
4376     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4377     public Builder setField(
4378         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4379       return super.setField(field, value);
4380     }
4381 
4382     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)4383     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
4384       return super.clearField(field);
4385     }
4386 
4387     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)4388     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
4389       return super.clearOneof(oneof);
4390     }
4391 
4392     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)4393     public Builder setRepeatedField(
4394         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
4395       return super.setRepeatedField(field, index, value);
4396     }
4397 
4398     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4399     public Builder addRepeatedField(
4400         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4401       return super.addRepeatedField(field, value);
4402     }
4403 
4404     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)4405     public Builder mergeFrom(com.google.protobuf.Message other) {
4406       if (other instanceof com.google.cloud.securitycenter.v1.Finding) {
4407         return mergeFrom((com.google.cloud.securitycenter.v1.Finding) other);
4408       } else {
4409         super.mergeFrom(other);
4410         return this;
4411       }
4412     }
4413 
mergeFrom(com.google.cloud.securitycenter.v1.Finding other)4414     public Builder mergeFrom(com.google.cloud.securitycenter.v1.Finding other) {
4415       if (other == com.google.cloud.securitycenter.v1.Finding.getDefaultInstance()) return this;
4416       if (!other.getName().isEmpty()) {
4417         name_ = other.name_;
4418         bitField0_ |= 0x00000001;
4419         onChanged();
4420       }
4421       if (!other.getParent().isEmpty()) {
4422         parent_ = other.parent_;
4423         bitField0_ |= 0x00000002;
4424         onChanged();
4425       }
4426       if (!other.getResourceName().isEmpty()) {
4427         resourceName_ = other.resourceName_;
4428         bitField0_ |= 0x00000004;
4429         onChanged();
4430       }
4431       if (other.state_ != 0) {
4432         setStateValue(other.getStateValue());
4433       }
4434       if (!other.getCategory().isEmpty()) {
4435         category_ = other.category_;
4436         bitField0_ |= 0x00000010;
4437         onChanged();
4438       }
4439       if (!other.getExternalUri().isEmpty()) {
4440         externalUri_ = other.externalUri_;
4441         bitField0_ |= 0x00000020;
4442         onChanged();
4443       }
4444       internalGetMutableSourceProperties().mergeFrom(other.internalGetSourceProperties());
4445       bitField0_ |= 0x00000040;
4446       if (other.hasSecurityMarks()) {
4447         mergeSecurityMarks(other.getSecurityMarks());
4448       }
4449       if (other.hasEventTime()) {
4450         mergeEventTime(other.getEventTime());
4451       }
4452       if (other.hasCreateTime()) {
4453         mergeCreateTime(other.getCreateTime());
4454       }
4455       if (other.severity_ != 0) {
4456         setSeverityValue(other.getSeverityValue());
4457       }
4458       if (!other.getCanonicalName().isEmpty()) {
4459         canonicalName_ = other.canonicalName_;
4460         bitField0_ |= 0x00000800;
4461         onChanged();
4462       }
4463       if (other.mute_ != 0) {
4464         setMuteValue(other.getMuteValue());
4465       }
4466       if (other.findingClass_ != 0) {
4467         setFindingClassValue(other.getFindingClassValue());
4468       }
4469       if (other.hasIndicator()) {
4470         mergeIndicator(other.getIndicator());
4471       }
4472       if (other.hasVulnerability()) {
4473         mergeVulnerability(other.getVulnerability());
4474       }
4475       if (other.hasMuteUpdateTime()) {
4476         mergeMuteUpdateTime(other.getMuteUpdateTime());
4477       }
4478       internalGetMutableExternalSystems().mergeFrom(other.internalGetExternalSystems());
4479       bitField0_ |= 0x00020000;
4480       if (other.hasMitreAttack()) {
4481         mergeMitreAttack(other.getMitreAttack());
4482       }
4483       if (other.hasAccess()) {
4484         mergeAccess(other.getAccess());
4485       }
4486       if (connectionsBuilder_ == null) {
4487         if (!other.connections_.isEmpty()) {
4488           if (connections_.isEmpty()) {
4489             connections_ = other.connections_;
4490             bitField0_ = (bitField0_ & ~0x00100000);
4491           } else {
4492             ensureConnectionsIsMutable();
4493             connections_.addAll(other.connections_);
4494           }
4495           onChanged();
4496         }
4497       } else {
4498         if (!other.connections_.isEmpty()) {
4499           if (connectionsBuilder_.isEmpty()) {
4500             connectionsBuilder_.dispose();
4501             connectionsBuilder_ = null;
4502             connections_ = other.connections_;
4503             bitField0_ = (bitField0_ & ~0x00100000);
4504             connectionsBuilder_ =
4505                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4506                     ? getConnectionsFieldBuilder()
4507                     : null;
4508           } else {
4509             connectionsBuilder_.addAllMessages(other.connections_);
4510           }
4511         }
4512       }
4513       if (!other.getMuteInitiator().isEmpty()) {
4514         muteInitiator_ = other.muteInitiator_;
4515         bitField0_ |= 0x00200000;
4516         onChanged();
4517       }
4518       if (processesBuilder_ == null) {
4519         if (!other.processes_.isEmpty()) {
4520           if (processes_.isEmpty()) {
4521             processes_ = other.processes_;
4522             bitField0_ = (bitField0_ & ~0x00400000);
4523           } else {
4524             ensureProcessesIsMutable();
4525             processes_.addAll(other.processes_);
4526           }
4527           onChanged();
4528         }
4529       } else {
4530         if (!other.processes_.isEmpty()) {
4531           if (processesBuilder_.isEmpty()) {
4532             processesBuilder_.dispose();
4533             processesBuilder_ = null;
4534             processes_ = other.processes_;
4535             bitField0_ = (bitField0_ & ~0x00400000);
4536             processesBuilder_ =
4537                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4538                     ? getProcessesFieldBuilder()
4539                     : null;
4540           } else {
4541             processesBuilder_.addAllMessages(other.processes_);
4542           }
4543         }
4544       }
4545       internalGetMutableContacts().mergeFrom(other.internalGetContacts());
4546       bitField0_ |= 0x00800000;
4547       if (compliancesBuilder_ == null) {
4548         if (!other.compliances_.isEmpty()) {
4549           if (compliances_.isEmpty()) {
4550             compliances_ = other.compliances_;
4551             bitField0_ = (bitField0_ & ~0x01000000);
4552           } else {
4553             ensureCompliancesIsMutable();
4554             compliances_.addAll(other.compliances_);
4555           }
4556           onChanged();
4557         }
4558       } else {
4559         if (!other.compliances_.isEmpty()) {
4560           if (compliancesBuilder_.isEmpty()) {
4561             compliancesBuilder_.dispose();
4562             compliancesBuilder_ = null;
4563             compliances_ = other.compliances_;
4564             bitField0_ = (bitField0_ & ~0x01000000);
4565             compliancesBuilder_ =
4566                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4567                     ? getCompliancesFieldBuilder()
4568                     : null;
4569           } else {
4570             compliancesBuilder_.addAllMessages(other.compliances_);
4571           }
4572         }
4573       }
4574       if (!other.getParentDisplayName().isEmpty()) {
4575         parentDisplayName_ = other.parentDisplayName_;
4576         bitField0_ |= 0x02000000;
4577         onChanged();
4578       }
4579       if (!other.getDescription().isEmpty()) {
4580         description_ = other.description_;
4581         bitField0_ |= 0x04000000;
4582         onChanged();
4583       }
4584       if (other.hasExfiltration()) {
4585         mergeExfiltration(other.getExfiltration());
4586       }
4587       if (iamBindingsBuilder_ == null) {
4588         if (!other.iamBindings_.isEmpty()) {
4589           if (iamBindings_.isEmpty()) {
4590             iamBindings_ = other.iamBindings_;
4591             bitField0_ = (bitField0_ & ~0x10000000);
4592           } else {
4593             ensureIamBindingsIsMutable();
4594             iamBindings_.addAll(other.iamBindings_);
4595           }
4596           onChanged();
4597         }
4598       } else {
4599         if (!other.iamBindings_.isEmpty()) {
4600           if (iamBindingsBuilder_.isEmpty()) {
4601             iamBindingsBuilder_.dispose();
4602             iamBindingsBuilder_ = null;
4603             iamBindings_ = other.iamBindings_;
4604             bitField0_ = (bitField0_ & ~0x10000000);
4605             iamBindingsBuilder_ =
4606                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4607                     ? getIamBindingsFieldBuilder()
4608                     : null;
4609           } else {
4610             iamBindingsBuilder_.addAllMessages(other.iamBindings_);
4611           }
4612         }
4613       }
4614       if (!other.getNextSteps().isEmpty()) {
4615         nextSteps_ = other.nextSteps_;
4616         bitField0_ |= 0x20000000;
4617         onChanged();
4618       }
4619       if (!other.getModuleName().isEmpty()) {
4620         moduleName_ = other.moduleName_;
4621         bitField0_ |= 0x40000000;
4622         onChanged();
4623       }
4624       if (containersBuilder_ == null) {
4625         if (!other.containers_.isEmpty()) {
4626           if (containers_.isEmpty()) {
4627             containers_ = other.containers_;
4628             bitField0_ = (bitField0_ & ~0x80000000);
4629           } else {
4630             ensureContainersIsMutable();
4631             containers_.addAll(other.containers_);
4632           }
4633           onChanged();
4634         }
4635       } else {
4636         if (!other.containers_.isEmpty()) {
4637           if (containersBuilder_.isEmpty()) {
4638             containersBuilder_.dispose();
4639             containersBuilder_ = null;
4640             containers_ = other.containers_;
4641             bitField0_ = (bitField0_ & ~0x80000000);
4642             containersBuilder_ =
4643                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4644                     ? getContainersFieldBuilder()
4645                     : null;
4646           } else {
4647             containersBuilder_.addAllMessages(other.containers_);
4648           }
4649         }
4650       }
4651       if (other.hasKubernetes()) {
4652         mergeKubernetes(other.getKubernetes());
4653       }
4654       if (other.hasDatabase()) {
4655         mergeDatabase(other.getDatabase());
4656       }
4657       if (filesBuilder_ == null) {
4658         if (!other.files_.isEmpty()) {
4659           if (files_.isEmpty()) {
4660             files_ = other.files_;
4661             bitField1_ = (bitField1_ & ~0x00000004);
4662           } else {
4663             ensureFilesIsMutable();
4664             files_.addAll(other.files_);
4665           }
4666           onChanged();
4667         }
4668       } else {
4669         if (!other.files_.isEmpty()) {
4670           if (filesBuilder_.isEmpty()) {
4671             filesBuilder_.dispose();
4672             filesBuilder_ = null;
4673             files_ = other.files_;
4674             bitField1_ = (bitField1_ & ~0x00000004);
4675             filesBuilder_ =
4676                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4677                     ? getFilesFieldBuilder()
4678                     : null;
4679           } else {
4680             filesBuilder_.addAllMessages(other.files_);
4681           }
4682         }
4683       }
4684       if (other.hasCloudDlpInspection()) {
4685         mergeCloudDlpInspection(other.getCloudDlpInspection());
4686       }
4687       if (other.hasCloudDlpDataProfile()) {
4688         mergeCloudDlpDataProfile(other.getCloudDlpDataProfile());
4689       }
4690       if (other.hasKernelRootkit()) {
4691         mergeKernelRootkit(other.getKernelRootkit());
4692       }
4693       this.mergeUnknownFields(other.getUnknownFields());
4694       onChanged();
4695       return this;
4696     }
4697 
4698     @java.lang.Override
isInitialized()4699     public final boolean isInitialized() {
4700       return true;
4701     }
4702 
4703     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4704     public Builder mergeFrom(
4705         com.google.protobuf.CodedInputStream input,
4706         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4707         throws java.io.IOException {
4708       if (extensionRegistry == null) {
4709         throw new java.lang.NullPointerException();
4710       }
4711       try {
4712         boolean done = false;
4713         while (!done) {
4714           int tag = input.readTag();
4715           switch (tag) {
4716             case 0:
4717               done = true;
4718               break;
4719             case 10:
4720               {
4721                 name_ = input.readStringRequireUtf8();
4722                 bitField0_ |= 0x00000001;
4723                 break;
4724               } // case 10
4725             case 18:
4726               {
4727                 parent_ = input.readStringRequireUtf8();
4728                 bitField0_ |= 0x00000002;
4729                 break;
4730               } // case 18
4731             case 26:
4732               {
4733                 resourceName_ = input.readStringRequireUtf8();
4734                 bitField0_ |= 0x00000004;
4735                 break;
4736               } // case 26
4737             case 32:
4738               {
4739                 state_ = input.readEnum();
4740                 bitField0_ |= 0x00000008;
4741                 break;
4742               } // case 32
4743             case 42:
4744               {
4745                 category_ = input.readStringRequireUtf8();
4746                 bitField0_ |= 0x00000010;
4747                 break;
4748               } // case 42
4749             case 50:
4750               {
4751                 externalUri_ = input.readStringRequireUtf8();
4752                 bitField0_ |= 0x00000020;
4753                 break;
4754               } // case 50
4755             case 58:
4756               {
4757                 com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Value>
4758                     sourceProperties__ =
4759                         input.readMessage(
4760                             SourcePropertiesDefaultEntryHolder.defaultEntry.getParserForType(),
4761                             extensionRegistry);
4762                 internalGetMutableSourceProperties()
4763                     .getMutableMap()
4764                     .put(sourceProperties__.getKey(), sourceProperties__.getValue());
4765                 bitField0_ |= 0x00000040;
4766                 break;
4767               } // case 58
4768             case 66:
4769               {
4770                 input.readMessage(getSecurityMarksFieldBuilder().getBuilder(), extensionRegistry);
4771                 bitField0_ |= 0x00000080;
4772                 break;
4773               } // case 66
4774             case 74:
4775               {
4776                 input.readMessage(getEventTimeFieldBuilder().getBuilder(), extensionRegistry);
4777                 bitField0_ |= 0x00000100;
4778                 break;
4779               } // case 74
4780             case 82:
4781               {
4782                 input.readMessage(getCreateTimeFieldBuilder().getBuilder(), extensionRegistry);
4783                 bitField0_ |= 0x00000200;
4784                 break;
4785               } // case 82
4786             case 96:
4787               {
4788                 severity_ = input.readEnum();
4789                 bitField0_ |= 0x00000400;
4790                 break;
4791               } // case 96
4792             case 114:
4793               {
4794                 canonicalName_ = input.readStringRequireUtf8();
4795                 bitField0_ |= 0x00000800;
4796                 break;
4797               } // case 114
4798             case 120:
4799               {
4800                 mute_ = input.readEnum();
4801                 bitField0_ |= 0x00001000;
4802                 break;
4803               } // case 120
4804             case 136:
4805               {
4806                 findingClass_ = input.readEnum();
4807                 bitField0_ |= 0x00002000;
4808                 break;
4809               } // case 136
4810             case 146:
4811               {
4812                 input.readMessage(getIndicatorFieldBuilder().getBuilder(), extensionRegistry);
4813                 bitField0_ |= 0x00004000;
4814                 break;
4815               } // case 146
4816             case 162:
4817               {
4818                 input.readMessage(getVulnerabilityFieldBuilder().getBuilder(), extensionRegistry);
4819                 bitField0_ |= 0x00008000;
4820                 break;
4821               } // case 162
4822             case 170:
4823               {
4824                 input.readMessage(getMuteUpdateTimeFieldBuilder().getBuilder(), extensionRegistry);
4825                 bitField0_ |= 0x00010000;
4826                 break;
4827               } // case 170
4828             case 178:
4829               {
4830                 com.google.protobuf.MapEntry<
4831                         java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
4832                     externalSystems__ =
4833                         input.readMessage(
4834                             ExternalSystemsDefaultEntryHolder.defaultEntry.getParserForType(),
4835                             extensionRegistry);
4836                 internalGetMutableExternalSystems()
4837                     .getMutableMap()
4838                     .put(externalSystems__.getKey(), externalSystems__.getValue());
4839                 bitField0_ |= 0x00020000;
4840                 break;
4841               } // case 178
4842             case 202:
4843               {
4844                 input.readMessage(getMitreAttackFieldBuilder().getBuilder(), extensionRegistry);
4845                 bitField0_ |= 0x00040000;
4846                 break;
4847               } // case 202
4848             case 210:
4849               {
4850                 input.readMessage(getAccessFieldBuilder().getBuilder(), extensionRegistry);
4851                 bitField0_ |= 0x00080000;
4852                 break;
4853               } // case 210
4854             case 226:
4855               {
4856                 muteInitiator_ = input.readStringRequireUtf8();
4857                 bitField0_ |= 0x00200000;
4858                 break;
4859               } // case 226
4860             case 242:
4861               {
4862                 com.google.cloud.securitycenter.v1.Process m =
4863                     input.readMessage(
4864                         com.google.cloud.securitycenter.v1.Process.parser(), extensionRegistry);
4865                 if (processesBuilder_ == null) {
4866                   ensureProcessesIsMutable();
4867                   processes_.add(m);
4868                 } else {
4869                   processesBuilder_.addMessage(m);
4870                 }
4871                 break;
4872               } // case 242
4873             case 250:
4874               {
4875                 com.google.cloud.securitycenter.v1.Connection m =
4876                     input.readMessage(
4877                         com.google.cloud.securitycenter.v1.Connection.parser(), extensionRegistry);
4878                 if (connectionsBuilder_ == null) {
4879                   ensureConnectionsIsMutable();
4880                   connections_.add(m);
4881                 } else {
4882                   connectionsBuilder_.addMessage(m);
4883                 }
4884                 break;
4885               } // case 250
4886             case 266:
4887               {
4888                 com.google.protobuf.MapEntry<
4889                         java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
4890                     contacts__ =
4891                         input.readMessage(
4892                             ContactsDefaultEntryHolder.defaultEntry.getParserForType(),
4893                             extensionRegistry);
4894                 internalGetMutableContacts()
4895                     .getMutableMap()
4896                     .put(contacts__.getKey(), contacts__.getValue());
4897                 bitField0_ |= 0x00800000;
4898                 break;
4899               } // case 266
4900             case 274:
4901               {
4902                 com.google.cloud.securitycenter.v1.Compliance m =
4903                     input.readMessage(
4904                         com.google.cloud.securitycenter.v1.Compliance.parser(), extensionRegistry);
4905                 if (compliancesBuilder_ == null) {
4906                   ensureCompliancesIsMutable();
4907                   compliances_.add(m);
4908                 } else {
4909                   compliancesBuilder_.addMessage(m);
4910                 }
4911                 break;
4912               } // case 274
4913             case 290:
4914               {
4915                 parentDisplayName_ = input.readStringRequireUtf8();
4916                 bitField0_ |= 0x02000000;
4917                 break;
4918               } // case 290
4919             case 298:
4920               {
4921                 description_ = input.readStringRequireUtf8();
4922                 bitField0_ |= 0x04000000;
4923                 break;
4924               } // case 298
4925             case 306:
4926               {
4927                 input.readMessage(getExfiltrationFieldBuilder().getBuilder(), extensionRegistry);
4928                 bitField0_ |= 0x08000000;
4929                 break;
4930               } // case 306
4931             case 314:
4932               {
4933                 com.google.cloud.securitycenter.v1.IamBinding m =
4934                     input.readMessage(
4935                         com.google.cloud.securitycenter.v1.IamBinding.parser(), extensionRegistry);
4936                 if (iamBindingsBuilder_ == null) {
4937                   ensureIamBindingsIsMutable();
4938                   iamBindings_.add(m);
4939                 } else {
4940                   iamBindingsBuilder_.addMessage(m);
4941                 }
4942                 break;
4943               } // case 314
4944             case 322:
4945               {
4946                 nextSteps_ = input.readStringRequireUtf8();
4947                 bitField0_ |= 0x20000000;
4948                 break;
4949               } // case 322
4950             case 330:
4951               {
4952                 moduleName_ = input.readStringRequireUtf8();
4953                 bitField0_ |= 0x40000000;
4954                 break;
4955               } // case 330
4956             case 338:
4957               {
4958                 com.google.cloud.securitycenter.v1.Container m =
4959                     input.readMessage(
4960                         com.google.cloud.securitycenter.v1.Container.parser(), extensionRegistry);
4961                 if (containersBuilder_ == null) {
4962                   ensureContainersIsMutable();
4963                   containers_.add(m);
4964                 } else {
4965                   containersBuilder_.addMessage(m);
4966                 }
4967                 break;
4968               } // case 338
4969             case 346:
4970               {
4971                 input.readMessage(getKubernetesFieldBuilder().getBuilder(), extensionRegistry);
4972                 bitField1_ |= 0x00000001;
4973                 break;
4974               } // case 346
4975             case 354:
4976               {
4977                 input.readMessage(getDatabaseFieldBuilder().getBuilder(), extensionRegistry);
4978                 bitField1_ |= 0x00000002;
4979                 break;
4980               } // case 354
4981             case 370:
4982               {
4983                 com.google.cloud.securitycenter.v1.File m =
4984                     input.readMessage(
4985                         com.google.cloud.securitycenter.v1.File.parser(), extensionRegistry);
4986                 if (filesBuilder_ == null) {
4987                   ensureFilesIsMutable();
4988                   files_.add(m);
4989                 } else {
4990                   filesBuilder_.addMessage(m);
4991                 }
4992                 break;
4993               } // case 370
4994             case 386:
4995               {
4996                 input.readMessage(
4997                     getCloudDlpInspectionFieldBuilder().getBuilder(), extensionRegistry);
4998                 bitField1_ |= 0x00000008;
4999                 break;
5000               } // case 386
5001             case 394:
5002               {
5003                 input.readMessage(
5004                     getCloudDlpDataProfileFieldBuilder().getBuilder(), extensionRegistry);
5005                 bitField1_ |= 0x00000010;
5006                 break;
5007               } // case 394
5008             case 402:
5009               {
5010                 input.readMessage(getKernelRootkitFieldBuilder().getBuilder(), extensionRegistry);
5011                 bitField1_ |= 0x00000020;
5012                 break;
5013               } // case 402
5014             default:
5015               {
5016                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
5017                   done = true; // was an endgroup tag
5018                 }
5019                 break;
5020               } // default:
5021           } // switch (tag)
5022         } // while (!done)
5023       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5024         throw e.unwrapIOException();
5025       } finally {
5026         onChanged();
5027       } // finally
5028       return this;
5029     }
5030 
5031     private int bitField0_;
5032     private int bitField1_;
5033 
5034     private java.lang.Object name_ = "";
5035     /**
5036      *
5037      *
5038      * <pre>
5039      * The [relative resource
5040      * name](https://cloud.google.com/apis/design/resource_names#relative_resource_name)
5041      * of the finding. Example:
5042      * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
5043      * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}",
5044      * "projects/{project_id}/sources/{source_id}/findings/{finding_id}".
5045      * </pre>
5046      *
5047      * <code>string name = 1;</code>
5048      *
5049      * @return The name.
5050      */
getName()5051     public java.lang.String getName() {
5052       java.lang.Object ref = name_;
5053       if (!(ref instanceof java.lang.String)) {
5054         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5055         java.lang.String s = bs.toStringUtf8();
5056         name_ = s;
5057         return s;
5058       } else {
5059         return (java.lang.String) ref;
5060       }
5061     }
5062     /**
5063      *
5064      *
5065      * <pre>
5066      * The [relative resource
5067      * name](https://cloud.google.com/apis/design/resource_names#relative_resource_name)
5068      * of the finding. Example:
5069      * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
5070      * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}",
5071      * "projects/{project_id}/sources/{source_id}/findings/{finding_id}".
5072      * </pre>
5073      *
5074      * <code>string name = 1;</code>
5075      *
5076      * @return The bytes for name.
5077      */
getNameBytes()5078     public com.google.protobuf.ByteString getNameBytes() {
5079       java.lang.Object ref = name_;
5080       if (ref instanceof String) {
5081         com.google.protobuf.ByteString b =
5082             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5083         name_ = b;
5084         return b;
5085       } else {
5086         return (com.google.protobuf.ByteString) ref;
5087       }
5088     }
5089     /**
5090      *
5091      *
5092      * <pre>
5093      * The [relative resource
5094      * name](https://cloud.google.com/apis/design/resource_names#relative_resource_name)
5095      * of the finding. Example:
5096      * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
5097      * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}",
5098      * "projects/{project_id}/sources/{source_id}/findings/{finding_id}".
5099      * </pre>
5100      *
5101      * <code>string name = 1;</code>
5102      *
5103      * @param value The name to set.
5104      * @return This builder for chaining.
5105      */
setName(java.lang.String value)5106     public Builder setName(java.lang.String value) {
5107       if (value == null) {
5108         throw new NullPointerException();
5109       }
5110       name_ = value;
5111       bitField0_ |= 0x00000001;
5112       onChanged();
5113       return this;
5114     }
5115     /**
5116      *
5117      *
5118      * <pre>
5119      * The [relative resource
5120      * name](https://cloud.google.com/apis/design/resource_names#relative_resource_name)
5121      * of the finding. Example:
5122      * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
5123      * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}",
5124      * "projects/{project_id}/sources/{source_id}/findings/{finding_id}".
5125      * </pre>
5126      *
5127      * <code>string name = 1;</code>
5128      *
5129      * @return This builder for chaining.
5130      */
clearName()5131     public Builder clearName() {
5132       name_ = getDefaultInstance().getName();
5133       bitField0_ = (bitField0_ & ~0x00000001);
5134       onChanged();
5135       return this;
5136     }
5137     /**
5138      *
5139      *
5140      * <pre>
5141      * The [relative resource
5142      * name](https://cloud.google.com/apis/design/resource_names#relative_resource_name)
5143      * of the finding. Example:
5144      * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
5145      * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}",
5146      * "projects/{project_id}/sources/{source_id}/findings/{finding_id}".
5147      * </pre>
5148      *
5149      * <code>string name = 1;</code>
5150      *
5151      * @param value The bytes for name to set.
5152      * @return This builder for chaining.
5153      */
setNameBytes(com.google.protobuf.ByteString value)5154     public Builder setNameBytes(com.google.protobuf.ByteString value) {
5155       if (value == null) {
5156         throw new NullPointerException();
5157       }
5158       checkByteStringIsUtf8(value);
5159       name_ = value;
5160       bitField0_ |= 0x00000001;
5161       onChanged();
5162       return this;
5163     }
5164 
5165     private java.lang.Object parent_ = "";
5166     /**
5167      *
5168      *
5169      * <pre>
5170      * The relative resource name of the source the finding belongs to. See:
5171      * https://cloud.google.com/apis/design/resource_names#relative_resource_name
5172      * This field is immutable after creation time.
5173      * For example:
5174      * "organizations/{organization_id}/sources/{source_id}"
5175      * </pre>
5176      *
5177      * <code>string parent = 2;</code>
5178      *
5179      * @return The parent.
5180      */
getParent()5181     public java.lang.String getParent() {
5182       java.lang.Object ref = parent_;
5183       if (!(ref instanceof java.lang.String)) {
5184         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5185         java.lang.String s = bs.toStringUtf8();
5186         parent_ = s;
5187         return s;
5188       } else {
5189         return (java.lang.String) ref;
5190       }
5191     }
5192     /**
5193      *
5194      *
5195      * <pre>
5196      * The relative resource name of the source the finding belongs to. See:
5197      * https://cloud.google.com/apis/design/resource_names#relative_resource_name
5198      * This field is immutable after creation time.
5199      * For example:
5200      * "organizations/{organization_id}/sources/{source_id}"
5201      * </pre>
5202      *
5203      * <code>string parent = 2;</code>
5204      *
5205      * @return The bytes for parent.
5206      */
getParentBytes()5207     public com.google.protobuf.ByteString getParentBytes() {
5208       java.lang.Object ref = parent_;
5209       if (ref instanceof String) {
5210         com.google.protobuf.ByteString b =
5211             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5212         parent_ = b;
5213         return b;
5214       } else {
5215         return (com.google.protobuf.ByteString) ref;
5216       }
5217     }
5218     /**
5219      *
5220      *
5221      * <pre>
5222      * The relative resource name of the source the finding belongs to. See:
5223      * https://cloud.google.com/apis/design/resource_names#relative_resource_name
5224      * This field is immutable after creation time.
5225      * For example:
5226      * "organizations/{organization_id}/sources/{source_id}"
5227      * </pre>
5228      *
5229      * <code>string parent = 2;</code>
5230      *
5231      * @param value The parent to set.
5232      * @return This builder for chaining.
5233      */
setParent(java.lang.String value)5234     public Builder setParent(java.lang.String value) {
5235       if (value == null) {
5236         throw new NullPointerException();
5237       }
5238       parent_ = value;
5239       bitField0_ |= 0x00000002;
5240       onChanged();
5241       return this;
5242     }
5243     /**
5244      *
5245      *
5246      * <pre>
5247      * The relative resource name of the source the finding belongs to. See:
5248      * https://cloud.google.com/apis/design/resource_names#relative_resource_name
5249      * This field is immutable after creation time.
5250      * For example:
5251      * "organizations/{organization_id}/sources/{source_id}"
5252      * </pre>
5253      *
5254      * <code>string parent = 2;</code>
5255      *
5256      * @return This builder for chaining.
5257      */
clearParent()5258     public Builder clearParent() {
5259       parent_ = getDefaultInstance().getParent();
5260       bitField0_ = (bitField0_ & ~0x00000002);
5261       onChanged();
5262       return this;
5263     }
5264     /**
5265      *
5266      *
5267      * <pre>
5268      * The relative resource name of the source the finding belongs to. See:
5269      * https://cloud.google.com/apis/design/resource_names#relative_resource_name
5270      * This field is immutable after creation time.
5271      * For example:
5272      * "organizations/{organization_id}/sources/{source_id}"
5273      * </pre>
5274      *
5275      * <code>string parent = 2;</code>
5276      *
5277      * @param value The bytes for parent to set.
5278      * @return This builder for chaining.
5279      */
setParentBytes(com.google.protobuf.ByteString value)5280     public Builder setParentBytes(com.google.protobuf.ByteString value) {
5281       if (value == null) {
5282         throw new NullPointerException();
5283       }
5284       checkByteStringIsUtf8(value);
5285       parent_ = value;
5286       bitField0_ |= 0x00000002;
5287       onChanged();
5288       return this;
5289     }
5290 
5291     private java.lang.Object resourceName_ = "";
5292     /**
5293      *
5294      *
5295      * <pre>
5296      * For findings on Google Cloud resources, the full resource
5297      * name of the Google Cloud resource this finding is for. See:
5298      * https://cloud.google.com/apis/design/resource_names#full_resource_name
5299      * When the finding is for a non-Google Cloud resource, the resourceName can
5300      * be a customer or partner defined string. This field is immutable after
5301      * creation time.
5302      * </pre>
5303      *
5304      * <code>string resource_name = 3;</code>
5305      *
5306      * @return The resourceName.
5307      */
getResourceName()5308     public java.lang.String getResourceName() {
5309       java.lang.Object ref = resourceName_;
5310       if (!(ref instanceof java.lang.String)) {
5311         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5312         java.lang.String s = bs.toStringUtf8();
5313         resourceName_ = s;
5314         return s;
5315       } else {
5316         return (java.lang.String) ref;
5317       }
5318     }
5319     /**
5320      *
5321      *
5322      * <pre>
5323      * For findings on Google Cloud resources, the full resource
5324      * name of the Google Cloud resource this finding is for. See:
5325      * https://cloud.google.com/apis/design/resource_names#full_resource_name
5326      * When the finding is for a non-Google Cloud resource, the resourceName can
5327      * be a customer or partner defined string. This field is immutable after
5328      * creation time.
5329      * </pre>
5330      *
5331      * <code>string resource_name = 3;</code>
5332      *
5333      * @return The bytes for resourceName.
5334      */
getResourceNameBytes()5335     public com.google.protobuf.ByteString getResourceNameBytes() {
5336       java.lang.Object ref = resourceName_;
5337       if (ref instanceof String) {
5338         com.google.protobuf.ByteString b =
5339             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5340         resourceName_ = b;
5341         return b;
5342       } else {
5343         return (com.google.protobuf.ByteString) ref;
5344       }
5345     }
5346     /**
5347      *
5348      *
5349      * <pre>
5350      * For findings on Google Cloud resources, the full resource
5351      * name of the Google Cloud resource this finding is for. See:
5352      * https://cloud.google.com/apis/design/resource_names#full_resource_name
5353      * When the finding is for a non-Google Cloud resource, the resourceName can
5354      * be a customer or partner defined string. This field is immutable after
5355      * creation time.
5356      * </pre>
5357      *
5358      * <code>string resource_name = 3;</code>
5359      *
5360      * @param value The resourceName to set.
5361      * @return This builder for chaining.
5362      */
setResourceName(java.lang.String value)5363     public Builder setResourceName(java.lang.String value) {
5364       if (value == null) {
5365         throw new NullPointerException();
5366       }
5367       resourceName_ = value;
5368       bitField0_ |= 0x00000004;
5369       onChanged();
5370       return this;
5371     }
5372     /**
5373      *
5374      *
5375      * <pre>
5376      * For findings on Google Cloud resources, the full resource
5377      * name of the Google Cloud resource this finding is for. See:
5378      * https://cloud.google.com/apis/design/resource_names#full_resource_name
5379      * When the finding is for a non-Google Cloud resource, the resourceName can
5380      * be a customer or partner defined string. This field is immutable after
5381      * creation time.
5382      * </pre>
5383      *
5384      * <code>string resource_name = 3;</code>
5385      *
5386      * @return This builder for chaining.
5387      */
clearResourceName()5388     public Builder clearResourceName() {
5389       resourceName_ = getDefaultInstance().getResourceName();
5390       bitField0_ = (bitField0_ & ~0x00000004);
5391       onChanged();
5392       return this;
5393     }
5394     /**
5395      *
5396      *
5397      * <pre>
5398      * For findings on Google Cloud resources, the full resource
5399      * name of the Google Cloud resource this finding is for. See:
5400      * https://cloud.google.com/apis/design/resource_names#full_resource_name
5401      * When the finding is for a non-Google Cloud resource, the resourceName can
5402      * be a customer or partner defined string. This field is immutable after
5403      * creation time.
5404      * </pre>
5405      *
5406      * <code>string resource_name = 3;</code>
5407      *
5408      * @param value The bytes for resourceName to set.
5409      * @return This builder for chaining.
5410      */
setResourceNameBytes(com.google.protobuf.ByteString value)5411     public Builder setResourceNameBytes(com.google.protobuf.ByteString value) {
5412       if (value == null) {
5413         throw new NullPointerException();
5414       }
5415       checkByteStringIsUtf8(value);
5416       resourceName_ = value;
5417       bitField0_ |= 0x00000004;
5418       onChanged();
5419       return this;
5420     }
5421 
5422     private int state_ = 0;
5423     /**
5424      *
5425      *
5426      * <pre>
5427      * The state of the finding.
5428      * </pre>
5429      *
5430      * <code>.google.cloud.securitycenter.v1.Finding.State state = 4;</code>
5431      *
5432      * @return The enum numeric value on the wire for state.
5433      */
5434     @java.lang.Override
getStateValue()5435     public int getStateValue() {
5436       return state_;
5437     }
5438     /**
5439      *
5440      *
5441      * <pre>
5442      * The state of the finding.
5443      * </pre>
5444      *
5445      * <code>.google.cloud.securitycenter.v1.Finding.State state = 4;</code>
5446      *
5447      * @param value The enum numeric value on the wire for state to set.
5448      * @return This builder for chaining.
5449      */
setStateValue(int value)5450     public Builder setStateValue(int value) {
5451       state_ = value;
5452       bitField0_ |= 0x00000008;
5453       onChanged();
5454       return this;
5455     }
5456     /**
5457      *
5458      *
5459      * <pre>
5460      * The state of the finding.
5461      * </pre>
5462      *
5463      * <code>.google.cloud.securitycenter.v1.Finding.State state = 4;</code>
5464      *
5465      * @return The state.
5466      */
5467     @java.lang.Override
getState()5468     public com.google.cloud.securitycenter.v1.Finding.State getState() {
5469       com.google.cloud.securitycenter.v1.Finding.State result =
5470           com.google.cloud.securitycenter.v1.Finding.State.forNumber(state_);
5471       return result == null
5472           ? com.google.cloud.securitycenter.v1.Finding.State.UNRECOGNIZED
5473           : result;
5474     }
5475     /**
5476      *
5477      *
5478      * <pre>
5479      * The state of the finding.
5480      * </pre>
5481      *
5482      * <code>.google.cloud.securitycenter.v1.Finding.State state = 4;</code>
5483      *
5484      * @param value The state to set.
5485      * @return This builder for chaining.
5486      */
setState(com.google.cloud.securitycenter.v1.Finding.State value)5487     public Builder setState(com.google.cloud.securitycenter.v1.Finding.State value) {
5488       if (value == null) {
5489         throw new NullPointerException();
5490       }
5491       bitField0_ |= 0x00000008;
5492       state_ = value.getNumber();
5493       onChanged();
5494       return this;
5495     }
5496     /**
5497      *
5498      *
5499      * <pre>
5500      * The state of the finding.
5501      * </pre>
5502      *
5503      * <code>.google.cloud.securitycenter.v1.Finding.State state = 4;</code>
5504      *
5505      * @return This builder for chaining.
5506      */
clearState()5507     public Builder clearState() {
5508       bitField0_ = (bitField0_ & ~0x00000008);
5509       state_ = 0;
5510       onChanged();
5511       return this;
5512     }
5513 
5514     private java.lang.Object category_ = "";
5515     /**
5516      *
5517      *
5518      * <pre>
5519      * The additional taxonomy group within findings from a given source.
5520      * This field is immutable after creation time.
5521      * Example: "XSS_FLASH_INJECTION"
5522      * </pre>
5523      *
5524      * <code>string category = 5;</code>
5525      *
5526      * @return The category.
5527      */
getCategory()5528     public java.lang.String getCategory() {
5529       java.lang.Object ref = category_;
5530       if (!(ref instanceof java.lang.String)) {
5531         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5532         java.lang.String s = bs.toStringUtf8();
5533         category_ = s;
5534         return s;
5535       } else {
5536         return (java.lang.String) ref;
5537       }
5538     }
5539     /**
5540      *
5541      *
5542      * <pre>
5543      * The additional taxonomy group within findings from a given source.
5544      * This field is immutable after creation time.
5545      * Example: "XSS_FLASH_INJECTION"
5546      * </pre>
5547      *
5548      * <code>string category = 5;</code>
5549      *
5550      * @return The bytes for category.
5551      */
getCategoryBytes()5552     public com.google.protobuf.ByteString getCategoryBytes() {
5553       java.lang.Object ref = category_;
5554       if (ref instanceof String) {
5555         com.google.protobuf.ByteString b =
5556             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5557         category_ = b;
5558         return b;
5559       } else {
5560         return (com.google.protobuf.ByteString) ref;
5561       }
5562     }
5563     /**
5564      *
5565      *
5566      * <pre>
5567      * The additional taxonomy group within findings from a given source.
5568      * This field is immutable after creation time.
5569      * Example: "XSS_FLASH_INJECTION"
5570      * </pre>
5571      *
5572      * <code>string category = 5;</code>
5573      *
5574      * @param value The category to set.
5575      * @return This builder for chaining.
5576      */
setCategory(java.lang.String value)5577     public Builder setCategory(java.lang.String value) {
5578       if (value == null) {
5579         throw new NullPointerException();
5580       }
5581       category_ = value;
5582       bitField0_ |= 0x00000010;
5583       onChanged();
5584       return this;
5585     }
5586     /**
5587      *
5588      *
5589      * <pre>
5590      * The additional taxonomy group within findings from a given source.
5591      * This field is immutable after creation time.
5592      * Example: "XSS_FLASH_INJECTION"
5593      * </pre>
5594      *
5595      * <code>string category = 5;</code>
5596      *
5597      * @return This builder for chaining.
5598      */
clearCategory()5599     public Builder clearCategory() {
5600       category_ = getDefaultInstance().getCategory();
5601       bitField0_ = (bitField0_ & ~0x00000010);
5602       onChanged();
5603       return this;
5604     }
5605     /**
5606      *
5607      *
5608      * <pre>
5609      * The additional taxonomy group within findings from a given source.
5610      * This field is immutable after creation time.
5611      * Example: "XSS_FLASH_INJECTION"
5612      * </pre>
5613      *
5614      * <code>string category = 5;</code>
5615      *
5616      * @param value The bytes for category to set.
5617      * @return This builder for chaining.
5618      */
setCategoryBytes(com.google.protobuf.ByteString value)5619     public Builder setCategoryBytes(com.google.protobuf.ByteString value) {
5620       if (value == null) {
5621         throw new NullPointerException();
5622       }
5623       checkByteStringIsUtf8(value);
5624       category_ = value;
5625       bitField0_ |= 0x00000010;
5626       onChanged();
5627       return this;
5628     }
5629 
5630     private java.lang.Object externalUri_ = "";
5631     /**
5632      *
5633      *
5634      * <pre>
5635      * The URI that, if available, points to a web page outside of Security
5636      * Command Center where additional information about the finding can be found.
5637      * This field is guaranteed to be either empty or a well formed URL.
5638      * </pre>
5639      *
5640      * <code>string external_uri = 6;</code>
5641      *
5642      * @return The externalUri.
5643      */
getExternalUri()5644     public java.lang.String getExternalUri() {
5645       java.lang.Object ref = externalUri_;
5646       if (!(ref instanceof java.lang.String)) {
5647         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5648         java.lang.String s = bs.toStringUtf8();
5649         externalUri_ = s;
5650         return s;
5651       } else {
5652         return (java.lang.String) ref;
5653       }
5654     }
5655     /**
5656      *
5657      *
5658      * <pre>
5659      * The URI that, if available, points to a web page outside of Security
5660      * Command Center where additional information about the finding can be found.
5661      * This field is guaranteed to be either empty or a well formed URL.
5662      * </pre>
5663      *
5664      * <code>string external_uri = 6;</code>
5665      *
5666      * @return The bytes for externalUri.
5667      */
getExternalUriBytes()5668     public com.google.protobuf.ByteString getExternalUriBytes() {
5669       java.lang.Object ref = externalUri_;
5670       if (ref instanceof String) {
5671         com.google.protobuf.ByteString b =
5672             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5673         externalUri_ = b;
5674         return b;
5675       } else {
5676         return (com.google.protobuf.ByteString) ref;
5677       }
5678     }
5679     /**
5680      *
5681      *
5682      * <pre>
5683      * The URI that, if available, points to a web page outside of Security
5684      * Command Center where additional information about the finding can be found.
5685      * This field is guaranteed to be either empty or a well formed URL.
5686      * </pre>
5687      *
5688      * <code>string external_uri = 6;</code>
5689      *
5690      * @param value The externalUri to set.
5691      * @return This builder for chaining.
5692      */
setExternalUri(java.lang.String value)5693     public Builder setExternalUri(java.lang.String value) {
5694       if (value == null) {
5695         throw new NullPointerException();
5696       }
5697       externalUri_ = value;
5698       bitField0_ |= 0x00000020;
5699       onChanged();
5700       return this;
5701     }
5702     /**
5703      *
5704      *
5705      * <pre>
5706      * The URI that, if available, points to a web page outside of Security
5707      * Command Center where additional information about the finding can be found.
5708      * This field is guaranteed to be either empty or a well formed URL.
5709      * </pre>
5710      *
5711      * <code>string external_uri = 6;</code>
5712      *
5713      * @return This builder for chaining.
5714      */
clearExternalUri()5715     public Builder clearExternalUri() {
5716       externalUri_ = getDefaultInstance().getExternalUri();
5717       bitField0_ = (bitField0_ & ~0x00000020);
5718       onChanged();
5719       return this;
5720     }
5721     /**
5722      *
5723      *
5724      * <pre>
5725      * The URI that, if available, points to a web page outside of Security
5726      * Command Center where additional information about the finding can be found.
5727      * This field is guaranteed to be either empty or a well formed URL.
5728      * </pre>
5729      *
5730      * <code>string external_uri = 6;</code>
5731      *
5732      * @param value The bytes for externalUri to set.
5733      * @return This builder for chaining.
5734      */
setExternalUriBytes(com.google.protobuf.ByteString value)5735     public Builder setExternalUriBytes(com.google.protobuf.ByteString value) {
5736       if (value == null) {
5737         throw new NullPointerException();
5738       }
5739       checkByteStringIsUtf8(value);
5740       externalUri_ = value;
5741       bitField0_ |= 0x00000020;
5742       onChanged();
5743       return this;
5744     }
5745 
5746     private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Value>
5747         sourceProperties_;
5748 
5749     private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Value>
internalGetSourceProperties()5750         internalGetSourceProperties() {
5751       if (sourceProperties_ == null) {
5752         return com.google.protobuf.MapField.emptyMapField(
5753             SourcePropertiesDefaultEntryHolder.defaultEntry);
5754       }
5755       return sourceProperties_;
5756     }
5757 
5758     private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Value>
internalGetMutableSourceProperties()5759         internalGetMutableSourceProperties() {
5760       if (sourceProperties_ == null) {
5761         sourceProperties_ =
5762             com.google.protobuf.MapField.newMapField(
5763                 SourcePropertiesDefaultEntryHolder.defaultEntry);
5764       }
5765       if (!sourceProperties_.isMutable()) {
5766         sourceProperties_ = sourceProperties_.copy();
5767       }
5768       bitField0_ |= 0x00000040;
5769       onChanged();
5770       return sourceProperties_;
5771     }
5772 
getSourcePropertiesCount()5773     public int getSourcePropertiesCount() {
5774       return internalGetSourceProperties().getMap().size();
5775     }
5776     /**
5777      *
5778      *
5779      * <pre>
5780      * Source specific properties. These properties are managed by the source
5781      * that writes the finding. The key names in the source_properties map must be
5782      * between 1 and 255 characters, and must start with a letter and contain
5783      * alphanumeric characters or underscores only.
5784      * </pre>
5785      *
5786      * <code>map&lt;string, .google.protobuf.Value&gt; source_properties = 7;</code>
5787      */
5788     @java.lang.Override
containsSourceProperties(java.lang.String key)5789     public boolean containsSourceProperties(java.lang.String key) {
5790       if (key == null) {
5791         throw new NullPointerException("map key");
5792       }
5793       return internalGetSourceProperties().getMap().containsKey(key);
5794     }
5795     /** Use {@link #getSourcePropertiesMap()} instead. */
5796     @java.lang.Override
5797     @java.lang.Deprecated
getSourceProperties()5798     public java.util.Map<java.lang.String, com.google.protobuf.Value> getSourceProperties() {
5799       return getSourcePropertiesMap();
5800     }
5801     /**
5802      *
5803      *
5804      * <pre>
5805      * Source specific properties. These properties are managed by the source
5806      * that writes the finding. The key names in the source_properties map must be
5807      * between 1 and 255 characters, and must start with a letter and contain
5808      * alphanumeric characters or underscores only.
5809      * </pre>
5810      *
5811      * <code>map&lt;string, .google.protobuf.Value&gt; source_properties = 7;</code>
5812      */
5813     @java.lang.Override
getSourcePropertiesMap()5814     public java.util.Map<java.lang.String, com.google.protobuf.Value> getSourcePropertiesMap() {
5815       return internalGetSourceProperties().getMap();
5816     }
5817     /**
5818      *
5819      *
5820      * <pre>
5821      * Source specific properties. These properties are managed by the source
5822      * that writes the finding. The key names in the source_properties map must be
5823      * between 1 and 255 characters, and must start with a letter and contain
5824      * alphanumeric characters or underscores only.
5825      * </pre>
5826      *
5827      * <code>map&lt;string, .google.protobuf.Value&gt; source_properties = 7;</code>
5828      */
5829     @java.lang.Override
getSourcePropertiesOrDefault( java.lang.String key, com.google.protobuf.Value defaultValue)5830     public /* nullable */ com.google.protobuf.Value getSourcePropertiesOrDefault(
5831         java.lang.String key,
5832         /* nullable */
5833         com.google.protobuf.Value defaultValue) {
5834       if (key == null) {
5835         throw new NullPointerException("map key");
5836       }
5837       java.util.Map<java.lang.String, com.google.protobuf.Value> map =
5838           internalGetSourceProperties().getMap();
5839       return map.containsKey(key) ? map.get(key) : defaultValue;
5840     }
5841     /**
5842      *
5843      *
5844      * <pre>
5845      * Source specific properties. These properties are managed by the source
5846      * that writes the finding. The key names in the source_properties map must be
5847      * between 1 and 255 characters, and must start with a letter and contain
5848      * alphanumeric characters or underscores only.
5849      * </pre>
5850      *
5851      * <code>map&lt;string, .google.protobuf.Value&gt; source_properties = 7;</code>
5852      */
5853     @java.lang.Override
getSourcePropertiesOrThrow(java.lang.String key)5854     public com.google.protobuf.Value getSourcePropertiesOrThrow(java.lang.String key) {
5855       if (key == null) {
5856         throw new NullPointerException("map key");
5857       }
5858       java.util.Map<java.lang.String, com.google.protobuf.Value> map =
5859           internalGetSourceProperties().getMap();
5860       if (!map.containsKey(key)) {
5861         throw new java.lang.IllegalArgumentException();
5862       }
5863       return map.get(key);
5864     }
5865 
clearSourceProperties()5866     public Builder clearSourceProperties() {
5867       bitField0_ = (bitField0_ & ~0x00000040);
5868       internalGetMutableSourceProperties().getMutableMap().clear();
5869       return this;
5870     }
5871     /**
5872      *
5873      *
5874      * <pre>
5875      * Source specific properties. These properties are managed by the source
5876      * that writes the finding. The key names in the source_properties map must be
5877      * between 1 and 255 characters, and must start with a letter and contain
5878      * alphanumeric characters or underscores only.
5879      * </pre>
5880      *
5881      * <code>map&lt;string, .google.protobuf.Value&gt; source_properties = 7;</code>
5882      */
removeSourceProperties(java.lang.String key)5883     public Builder removeSourceProperties(java.lang.String key) {
5884       if (key == null) {
5885         throw new NullPointerException("map key");
5886       }
5887       internalGetMutableSourceProperties().getMutableMap().remove(key);
5888       return this;
5889     }
5890     /** Use alternate mutation accessors instead. */
5891     @java.lang.Deprecated
getMutableSourceProperties()5892     public java.util.Map<java.lang.String, com.google.protobuf.Value> getMutableSourceProperties() {
5893       bitField0_ |= 0x00000040;
5894       return internalGetMutableSourceProperties().getMutableMap();
5895     }
5896     /**
5897      *
5898      *
5899      * <pre>
5900      * Source specific properties. These properties are managed by the source
5901      * that writes the finding. The key names in the source_properties map must be
5902      * between 1 and 255 characters, and must start with a letter and contain
5903      * alphanumeric characters or underscores only.
5904      * </pre>
5905      *
5906      * <code>map&lt;string, .google.protobuf.Value&gt; source_properties = 7;</code>
5907      */
putSourceProperties(java.lang.String key, com.google.protobuf.Value value)5908     public Builder putSourceProperties(java.lang.String key, com.google.protobuf.Value value) {
5909       if (key == null) {
5910         throw new NullPointerException("map key");
5911       }
5912       if (value == null) {
5913         throw new NullPointerException("map value");
5914       }
5915       internalGetMutableSourceProperties().getMutableMap().put(key, value);
5916       bitField0_ |= 0x00000040;
5917       return this;
5918     }
5919     /**
5920      *
5921      *
5922      * <pre>
5923      * Source specific properties. These properties are managed by the source
5924      * that writes the finding. The key names in the source_properties map must be
5925      * between 1 and 255 characters, and must start with a letter and contain
5926      * alphanumeric characters or underscores only.
5927      * </pre>
5928      *
5929      * <code>map&lt;string, .google.protobuf.Value&gt; source_properties = 7;</code>
5930      */
putAllSourceProperties( java.util.Map<java.lang.String, com.google.protobuf.Value> values)5931     public Builder putAllSourceProperties(
5932         java.util.Map<java.lang.String, com.google.protobuf.Value> values) {
5933       internalGetMutableSourceProperties().getMutableMap().putAll(values);
5934       bitField0_ |= 0x00000040;
5935       return this;
5936     }
5937 
5938     private com.google.cloud.securitycenter.v1.SecurityMarks securityMarks_;
5939     private com.google.protobuf.SingleFieldBuilderV3<
5940             com.google.cloud.securitycenter.v1.SecurityMarks,
5941             com.google.cloud.securitycenter.v1.SecurityMarks.Builder,
5942             com.google.cloud.securitycenter.v1.SecurityMarksOrBuilder>
5943         securityMarksBuilder_;
5944     /**
5945      *
5946      *
5947      * <pre>
5948      * Output only. User specified security marks. These marks are entirely
5949      * managed by the user and come from the SecurityMarks resource that belongs
5950      * to the finding.
5951      * </pre>
5952      *
5953      * <code>
5954      * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
5955      * </code>
5956      *
5957      * @return Whether the securityMarks field is set.
5958      */
hasSecurityMarks()5959     public boolean hasSecurityMarks() {
5960       return ((bitField0_ & 0x00000080) != 0);
5961     }
5962     /**
5963      *
5964      *
5965      * <pre>
5966      * Output only. User specified security marks. These marks are entirely
5967      * managed by the user and come from the SecurityMarks resource that belongs
5968      * to the finding.
5969      * </pre>
5970      *
5971      * <code>
5972      * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
5973      * </code>
5974      *
5975      * @return The securityMarks.
5976      */
getSecurityMarks()5977     public com.google.cloud.securitycenter.v1.SecurityMarks getSecurityMarks() {
5978       if (securityMarksBuilder_ == null) {
5979         return securityMarks_ == null
5980             ? com.google.cloud.securitycenter.v1.SecurityMarks.getDefaultInstance()
5981             : securityMarks_;
5982       } else {
5983         return securityMarksBuilder_.getMessage();
5984       }
5985     }
5986     /**
5987      *
5988      *
5989      * <pre>
5990      * Output only. User specified security marks. These marks are entirely
5991      * managed by the user and come from the SecurityMarks resource that belongs
5992      * to the finding.
5993      * </pre>
5994      *
5995      * <code>
5996      * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
5997      * </code>
5998      */
setSecurityMarks(com.google.cloud.securitycenter.v1.SecurityMarks value)5999     public Builder setSecurityMarks(com.google.cloud.securitycenter.v1.SecurityMarks value) {
6000       if (securityMarksBuilder_ == null) {
6001         if (value == null) {
6002           throw new NullPointerException();
6003         }
6004         securityMarks_ = value;
6005       } else {
6006         securityMarksBuilder_.setMessage(value);
6007       }
6008       bitField0_ |= 0x00000080;
6009       onChanged();
6010       return this;
6011     }
6012     /**
6013      *
6014      *
6015      * <pre>
6016      * Output only. User specified security marks. These marks are entirely
6017      * managed by the user and come from the SecurityMarks resource that belongs
6018      * to the finding.
6019      * </pre>
6020      *
6021      * <code>
6022      * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
6023      * </code>
6024      */
setSecurityMarks( com.google.cloud.securitycenter.v1.SecurityMarks.Builder builderForValue)6025     public Builder setSecurityMarks(
6026         com.google.cloud.securitycenter.v1.SecurityMarks.Builder builderForValue) {
6027       if (securityMarksBuilder_ == null) {
6028         securityMarks_ = builderForValue.build();
6029       } else {
6030         securityMarksBuilder_.setMessage(builderForValue.build());
6031       }
6032       bitField0_ |= 0x00000080;
6033       onChanged();
6034       return this;
6035     }
6036     /**
6037      *
6038      *
6039      * <pre>
6040      * Output only. User specified security marks. These marks are entirely
6041      * managed by the user and come from the SecurityMarks resource that belongs
6042      * to the finding.
6043      * </pre>
6044      *
6045      * <code>
6046      * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
6047      * </code>
6048      */
mergeSecurityMarks(com.google.cloud.securitycenter.v1.SecurityMarks value)6049     public Builder mergeSecurityMarks(com.google.cloud.securitycenter.v1.SecurityMarks value) {
6050       if (securityMarksBuilder_ == null) {
6051         if (((bitField0_ & 0x00000080) != 0)
6052             && securityMarks_ != null
6053             && securityMarks_
6054                 != com.google.cloud.securitycenter.v1.SecurityMarks.getDefaultInstance()) {
6055           getSecurityMarksBuilder().mergeFrom(value);
6056         } else {
6057           securityMarks_ = value;
6058         }
6059       } else {
6060         securityMarksBuilder_.mergeFrom(value);
6061       }
6062       bitField0_ |= 0x00000080;
6063       onChanged();
6064       return this;
6065     }
6066     /**
6067      *
6068      *
6069      * <pre>
6070      * Output only. User specified security marks. These marks are entirely
6071      * managed by the user and come from the SecurityMarks resource that belongs
6072      * to the finding.
6073      * </pre>
6074      *
6075      * <code>
6076      * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
6077      * </code>
6078      */
clearSecurityMarks()6079     public Builder clearSecurityMarks() {
6080       bitField0_ = (bitField0_ & ~0x00000080);
6081       securityMarks_ = null;
6082       if (securityMarksBuilder_ != null) {
6083         securityMarksBuilder_.dispose();
6084         securityMarksBuilder_ = null;
6085       }
6086       onChanged();
6087       return this;
6088     }
6089     /**
6090      *
6091      *
6092      * <pre>
6093      * Output only. User specified security marks. These marks are entirely
6094      * managed by the user and come from the SecurityMarks resource that belongs
6095      * to the finding.
6096      * </pre>
6097      *
6098      * <code>
6099      * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
6100      * </code>
6101      */
getSecurityMarksBuilder()6102     public com.google.cloud.securitycenter.v1.SecurityMarks.Builder getSecurityMarksBuilder() {
6103       bitField0_ |= 0x00000080;
6104       onChanged();
6105       return getSecurityMarksFieldBuilder().getBuilder();
6106     }
6107     /**
6108      *
6109      *
6110      * <pre>
6111      * Output only. User specified security marks. These marks are entirely
6112      * managed by the user and come from the SecurityMarks resource that belongs
6113      * to the finding.
6114      * </pre>
6115      *
6116      * <code>
6117      * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
6118      * </code>
6119      */
getSecurityMarksOrBuilder()6120     public com.google.cloud.securitycenter.v1.SecurityMarksOrBuilder getSecurityMarksOrBuilder() {
6121       if (securityMarksBuilder_ != null) {
6122         return securityMarksBuilder_.getMessageOrBuilder();
6123       } else {
6124         return securityMarks_ == null
6125             ? com.google.cloud.securitycenter.v1.SecurityMarks.getDefaultInstance()
6126             : securityMarks_;
6127       }
6128     }
6129     /**
6130      *
6131      *
6132      * <pre>
6133      * Output only. User specified security marks. These marks are entirely
6134      * managed by the user and come from the SecurityMarks resource that belongs
6135      * to the finding.
6136      * </pre>
6137      *
6138      * <code>
6139      * .google.cloud.securitycenter.v1.SecurityMarks security_marks = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
6140      * </code>
6141      */
6142     private com.google.protobuf.SingleFieldBuilderV3<
6143             com.google.cloud.securitycenter.v1.SecurityMarks,
6144             com.google.cloud.securitycenter.v1.SecurityMarks.Builder,
6145             com.google.cloud.securitycenter.v1.SecurityMarksOrBuilder>
getSecurityMarksFieldBuilder()6146         getSecurityMarksFieldBuilder() {
6147       if (securityMarksBuilder_ == null) {
6148         securityMarksBuilder_ =
6149             new com.google.protobuf.SingleFieldBuilderV3<
6150                 com.google.cloud.securitycenter.v1.SecurityMarks,
6151                 com.google.cloud.securitycenter.v1.SecurityMarks.Builder,
6152                 com.google.cloud.securitycenter.v1.SecurityMarksOrBuilder>(
6153                 getSecurityMarks(), getParentForChildren(), isClean());
6154         securityMarks_ = null;
6155       }
6156       return securityMarksBuilder_;
6157     }
6158 
6159     private com.google.protobuf.Timestamp eventTime_;
6160     private com.google.protobuf.SingleFieldBuilderV3<
6161             com.google.protobuf.Timestamp,
6162             com.google.protobuf.Timestamp.Builder,
6163             com.google.protobuf.TimestampOrBuilder>
6164         eventTimeBuilder_;
6165     /**
6166      *
6167      *
6168      * <pre>
6169      * The time the finding was first detected. If an existing finding is updated,
6170      * then this is the time the update occurred.
6171      * For example, if the finding represents an open firewall, this property
6172      * captures the time the detector believes the firewall became open. The
6173      * accuracy is determined by the detector. If the finding is later resolved,
6174      * then this time reflects when the finding was resolved. This must not
6175      * be set to a value greater than the current timestamp.
6176      * </pre>
6177      *
6178      * <code>.google.protobuf.Timestamp event_time = 9;</code>
6179      *
6180      * @return Whether the eventTime field is set.
6181      */
hasEventTime()6182     public boolean hasEventTime() {
6183       return ((bitField0_ & 0x00000100) != 0);
6184     }
6185     /**
6186      *
6187      *
6188      * <pre>
6189      * The time the finding was first detected. If an existing finding is updated,
6190      * then this is the time the update occurred.
6191      * For example, if the finding represents an open firewall, this property
6192      * captures the time the detector believes the firewall became open. The
6193      * accuracy is determined by the detector. If the finding is later resolved,
6194      * then this time reflects when the finding was resolved. This must not
6195      * be set to a value greater than the current timestamp.
6196      * </pre>
6197      *
6198      * <code>.google.protobuf.Timestamp event_time = 9;</code>
6199      *
6200      * @return The eventTime.
6201      */
getEventTime()6202     public com.google.protobuf.Timestamp getEventTime() {
6203       if (eventTimeBuilder_ == null) {
6204         return eventTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : eventTime_;
6205       } else {
6206         return eventTimeBuilder_.getMessage();
6207       }
6208     }
6209     /**
6210      *
6211      *
6212      * <pre>
6213      * The time the finding was first detected. If an existing finding is updated,
6214      * then this is the time the update occurred.
6215      * For example, if the finding represents an open firewall, this property
6216      * captures the time the detector believes the firewall became open. The
6217      * accuracy is determined by the detector. If the finding is later resolved,
6218      * then this time reflects when the finding was resolved. This must not
6219      * be set to a value greater than the current timestamp.
6220      * </pre>
6221      *
6222      * <code>.google.protobuf.Timestamp event_time = 9;</code>
6223      */
setEventTime(com.google.protobuf.Timestamp value)6224     public Builder setEventTime(com.google.protobuf.Timestamp value) {
6225       if (eventTimeBuilder_ == null) {
6226         if (value == null) {
6227           throw new NullPointerException();
6228         }
6229         eventTime_ = value;
6230       } else {
6231         eventTimeBuilder_.setMessage(value);
6232       }
6233       bitField0_ |= 0x00000100;
6234       onChanged();
6235       return this;
6236     }
6237     /**
6238      *
6239      *
6240      * <pre>
6241      * The time the finding was first detected. If an existing finding is updated,
6242      * then this is the time the update occurred.
6243      * For example, if the finding represents an open firewall, this property
6244      * captures the time the detector believes the firewall became open. The
6245      * accuracy is determined by the detector. If the finding is later resolved,
6246      * then this time reflects when the finding was resolved. This must not
6247      * be set to a value greater than the current timestamp.
6248      * </pre>
6249      *
6250      * <code>.google.protobuf.Timestamp event_time = 9;</code>
6251      */
setEventTime(com.google.protobuf.Timestamp.Builder builderForValue)6252     public Builder setEventTime(com.google.protobuf.Timestamp.Builder builderForValue) {
6253       if (eventTimeBuilder_ == null) {
6254         eventTime_ = builderForValue.build();
6255       } else {
6256         eventTimeBuilder_.setMessage(builderForValue.build());
6257       }
6258       bitField0_ |= 0x00000100;
6259       onChanged();
6260       return this;
6261     }
6262     /**
6263      *
6264      *
6265      * <pre>
6266      * The time the finding was first detected. If an existing finding is updated,
6267      * then this is the time the update occurred.
6268      * For example, if the finding represents an open firewall, this property
6269      * captures the time the detector believes the firewall became open. The
6270      * accuracy is determined by the detector. If the finding is later resolved,
6271      * then this time reflects when the finding was resolved. This must not
6272      * be set to a value greater than the current timestamp.
6273      * </pre>
6274      *
6275      * <code>.google.protobuf.Timestamp event_time = 9;</code>
6276      */
mergeEventTime(com.google.protobuf.Timestamp value)6277     public Builder mergeEventTime(com.google.protobuf.Timestamp value) {
6278       if (eventTimeBuilder_ == null) {
6279         if (((bitField0_ & 0x00000100) != 0)
6280             && eventTime_ != null
6281             && eventTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
6282           getEventTimeBuilder().mergeFrom(value);
6283         } else {
6284           eventTime_ = value;
6285         }
6286       } else {
6287         eventTimeBuilder_.mergeFrom(value);
6288       }
6289       bitField0_ |= 0x00000100;
6290       onChanged();
6291       return this;
6292     }
6293     /**
6294      *
6295      *
6296      * <pre>
6297      * The time the finding was first detected. If an existing finding is updated,
6298      * then this is the time the update occurred.
6299      * For example, if the finding represents an open firewall, this property
6300      * captures the time the detector believes the firewall became open. The
6301      * accuracy is determined by the detector. If the finding is later resolved,
6302      * then this time reflects when the finding was resolved. This must not
6303      * be set to a value greater than the current timestamp.
6304      * </pre>
6305      *
6306      * <code>.google.protobuf.Timestamp event_time = 9;</code>
6307      */
clearEventTime()6308     public Builder clearEventTime() {
6309       bitField0_ = (bitField0_ & ~0x00000100);
6310       eventTime_ = null;
6311       if (eventTimeBuilder_ != null) {
6312         eventTimeBuilder_.dispose();
6313         eventTimeBuilder_ = null;
6314       }
6315       onChanged();
6316       return this;
6317     }
6318     /**
6319      *
6320      *
6321      * <pre>
6322      * The time the finding was first detected. If an existing finding is updated,
6323      * then this is the time the update occurred.
6324      * For example, if the finding represents an open firewall, this property
6325      * captures the time the detector believes the firewall became open. The
6326      * accuracy is determined by the detector. If the finding is later resolved,
6327      * then this time reflects when the finding was resolved. This must not
6328      * be set to a value greater than the current timestamp.
6329      * </pre>
6330      *
6331      * <code>.google.protobuf.Timestamp event_time = 9;</code>
6332      */
getEventTimeBuilder()6333     public com.google.protobuf.Timestamp.Builder getEventTimeBuilder() {
6334       bitField0_ |= 0x00000100;
6335       onChanged();
6336       return getEventTimeFieldBuilder().getBuilder();
6337     }
6338     /**
6339      *
6340      *
6341      * <pre>
6342      * The time the finding was first detected. If an existing finding is updated,
6343      * then this is the time the update occurred.
6344      * For example, if the finding represents an open firewall, this property
6345      * captures the time the detector believes the firewall became open. The
6346      * accuracy is determined by the detector. If the finding is later resolved,
6347      * then this time reflects when the finding was resolved. This must not
6348      * be set to a value greater than the current timestamp.
6349      * </pre>
6350      *
6351      * <code>.google.protobuf.Timestamp event_time = 9;</code>
6352      */
getEventTimeOrBuilder()6353     public com.google.protobuf.TimestampOrBuilder getEventTimeOrBuilder() {
6354       if (eventTimeBuilder_ != null) {
6355         return eventTimeBuilder_.getMessageOrBuilder();
6356       } else {
6357         return eventTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : eventTime_;
6358       }
6359     }
6360     /**
6361      *
6362      *
6363      * <pre>
6364      * The time the finding was first detected. If an existing finding is updated,
6365      * then this is the time the update occurred.
6366      * For example, if the finding represents an open firewall, this property
6367      * captures the time the detector believes the firewall became open. The
6368      * accuracy is determined by the detector. If the finding is later resolved,
6369      * then this time reflects when the finding was resolved. This must not
6370      * be set to a value greater than the current timestamp.
6371      * </pre>
6372      *
6373      * <code>.google.protobuf.Timestamp event_time = 9;</code>
6374      */
6375     private com.google.protobuf.SingleFieldBuilderV3<
6376             com.google.protobuf.Timestamp,
6377             com.google.protobuf.Timestamp.Builder,
6378             com.google.protobuf.TimestampOrBuilder>
getEventTimeFieldBuilder()6379         getEventTimeFieldBuilder() {
6380       if (eventTimeBuilder_ == null) {
6381         eventTimeBuilder_ =
6382             new com.google.protobuf.SingleFieldBuilderV3<
6383                 com.google.protobuf.Timestamp,
6384                 com.google.protobuf.Timestamp.Builder,
6385                 com.google.protobuf.TimestampOrBuilder>(
6386                 getEventTime(), getParentForChildren(), isClean());
6387         eventTime_ = null;
6388       }
6389       return eventTimeBuilder_;
6390     }
6391 
6392     private com.google.protobuf.Timestamp createTime_;
6393     private com.google.protobuf.SingleFieldBuilderV3<
6394             com.google.protobuf.Timestamp,
6395             com.google.protobuf.Timestamp.Builder,
6396             com.google.protobuf.TimestampOrBuilder>
6397         createTimeBuilder_;
6398     /**
6399      *
6400      *
6401      * <pre>
6402      * The time at which the finding was created in Security Command Center.
6403      * </pre>
6404      *
6405      * <code>.google.protobuf.Timestamp create_time = 10;</code>
6406      *
6407      * @return Whether the createTime field is set.
6408      */
hasCreateTime()6409     public boolean hasCreateTime() {
6410       return ((bitField0_ & 0x00000200) != 0);
6411     }
6412     /**
6413      *
6414      *
6415      * <pre>
6416      * The time at which the finding was created in Security Command Center.
6417      * </pre>
6418      *
6419      * <code>.google.protobuf.Timestamp create_time = 10;</code>
6420      *
6421      * @return The createTime.
6422      */
getCreateTime()6423     public com.google.protobuf.Timestamp getCreateTime() {
6424       if (createTimeBuilder_ == null) {
6425         return createTime_ == null
6426             ? com.google.protobuf.Timestamp.getDefaultInstance()
6427             : createTime_;
6428       } else {
6429         return createTimeBuilder_.getMessage();
6430       }
6431     }
6432     /**
6433      *
6434      *
6435      * <pre>
6436      * The time at which the finding was created in Security Command Center.
6437      * </pre>
6438      *
6439      * <code>.google.protobuf.Timestamp create_time = 10;</code>
6440      */
setCreateTime(com.google.protobuf.Timestamp value)6441     public Builder setCreateTime(com.google.protobuf.Timestamp value) {
6442       if (createTimeBuilder_ == null) {
6443         if (value == null) {
6444           throw new NullPointerException();
6445         }
6446         createTime_ = value;
6447       } else {
6448         createTimeBuilder_.setMessage(value);
6449       }
6450       bitField0_ |= 0x00000200;
6451       onChanged();
6452       return this;
6453     }
6454     /**
6455      *
6456      *
6457      * <pre>
6458      * The time at which the finding was created in Security Command Center.
6459      * </pre>
6460      *
6461      * <code>.google.protobuf.Timestamp create_time = 10;</code>
6462      */
setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue)6463     public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
6464       if (createTimeBuilder_ == null) {
6465         createTime_ = builderForValue.build();
6466       } else {
6467         createTimeBuilder_.setMessage(builderForValue.build());
6468       }
6469       bitField0_ |= 0x00000200;
6470       onChanged();
6471       return this;
6472     }
6473     /**
6474      *
6475      *
6476      * <pre>
6477      * The time at which the finding was created in Security Command Center.
6478      * </pre>
6479      *
6480      * <code>.google.protobuf.Timestamp create_time = 10;</code>
6481      */
mergeCreateTime(com.google.protobuf.Timestamp value)6482     public Builder mergeCreateTime(com.google.protobuf.Timestamp value) {
6483       if (createTimeBuilder_ == null) {
6484         if (((bitField0_ & 0x00000200) != 0)
6485             && createTime_ != null
6486             && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
6487           getCreateTimeBuilder().mergeFrom(value);
6488         } else {
6489           createTime_ = value;
6490         }
6491       } else {
6492         createTimeBuilder_.mergeFrom(value);
6493       }
6494       bitField0_ |= 0x00000200;
6495       onChanged();
6496       return this;
6497     }
6498     /**
6499      *
6500      *
6501      * <pre>
6502      * The time at which the finding was created in Security Command Center.
6503      * </pre>
6504      *
6505      * <code>.google.protobuf.Timestamp create_time = 10;</code>
6506      */
clearCreateTime()6507     public Builder clearCreateTime() {
6508       bitField0_ = (bitField0_ & ~0x00000200);
6509       createTime_ = null;
6510       if (createTimeBuilder_ != null) {
6511         createTimeBuilder_.dispose();
6512         createTimeBuilder_ = null;
6513       }
6514       onChanged();
6515       return this;
6516     }
6517     /**
6518      *
6519      *
6520      * <pre>
6521      * The time at which the finding was created in Security Command Center.
6522      * </pre>
6523      *
6524      * <code>.google.protobuf.Timestamp create_time = 10;</code>
6525      */
getCreateTimeBuilder()6526     public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() {
6527       bitField0_ |= 0x00000200;
6528       onChanged();
6529       return getCreateTimeFieldBuilder().getBuilder();
6530     }
6531     /**
6532      *
6533      *
6534      * <pre>
6535      * The time at which the finding was created in Security Command Center.
6536      * </pre>
6537      *
6538      * <code>.google.protobuf.Timestamp create_time = 10;</code>
6539      */
getCreateTimeOrBuilder()6540     public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
6541       if (createTimeBuilder_ != null) {
6542         return createTimeBuilder_.getMessageOrBuilder();
6543       } else {
6544         return createTime_ == null
6545             ? com.google.protobuf.Timestamp.getDefaultInstance()
6546             : createTime_;
6547       }
6548     }
6549     /**
6550      *
6551      *
6552      * <pre>
6553      * The time at which the finding was created in Security Command Center.
6554      * </pre>
6555      *
6556      * <code>.google.protobuf.Timestamp create_time = 10;</code>
6557      */
6558     private com.google.protobuf.SingleFieldBuilderV3<
6559             com.google.protobuf.Timestamp,
6560             com.google.protobuf.Timestamp.Builder,
6561             com.google.protobuf.TimestampOrBuilder>
getCreateTimeFieldBuilder()6562         getCreateTimeFieldBuilder() {
6563       if (createTimeBuilder_ == null) {
6564         createTimeBuilder_ =
6565             new com.google.protobuf.SingleFieldBuilderV3<
6566                 com.google.protobuf.Timestamp,
6567                 com.google.protobuf.Timestamp.Builder,
6568                 com.google.protobuf.TimestampOrBuilder>(
6569                 getCreateTime(), getParentForChildren(), isClean());
6570         createTime_ = null;
6571       }
6572       return createTimeBuilder_;
6573     }
6574 
6575     private int severity_ = 0;
6576     /**
6577      *
6578      *
6579      * <pre>
6580      * The severity of the finding. This field is managed by the source that
6581      * writes the finding.
6582      * </pre>
6583      *
6584      * <code>.google.cloud.securitycenter.v1.Finding.Severity severity = 12;</code>
6585      *
6586      * @return The enum numeric value on the wire for severity.
6587      */
6588     @java.lang.Override
getSeverityValue()6589     public int getSeverityValue() {
6590       return severity_;
6591     }
6592     /**
6593      *
6594      *
6595      * <pre>
6596      * The severity of the finding. This field is managed by the source that
6597      * writes the finding.
6598      * </pre>
6599      *
6600      * <code>.google.cloud.securitycenter.v1.Finding.Severity severity = 12;</code>
6601      *
6602      * @param value The enum numeric value on the wire for severity to set.
6603      * @return This builder for chaining.
6604      */
setSeverityValue(int value)6605     public Builder setSeverityValue(int value) {
6606       severity_ = value;
6607       bitField0_ |= 0x00000400;
6608       onChanged();
6609       return this;
6610     }
6611     /**
6612      *
6613      *
6614      * <pre>
6615      * The severity of the finding. This field is managed by the source that
6616      * writes the finding.
6617      * </pre>
6618      *
6619      * <code>.google.cloud.securitycenter.v1.Finding.Severity severity = 12;</code>
6620      *
6621      * @return The severity.
6622      */
6623     @java.lang.Override
getSeverity()6624     public com.google.cloud.securitycenter.v1.Finding.Severity getSeverity() {
6625       com.google.cloud.securitycenter.v1.Finding.Severity result =
6626           com.google.cloud.securitycenter.v1.Finding.Severity.forNumber(severity_);
6627       return result == null
6628           ? com.google.cloud.securitycenter.v1.Finding.Severity.UNRECOGNIZED
6629           : result;
6630     }
6631     /**
6632      *
6633      *
6634      * <pre>
6635      * The severity of the finding. This field is managed by the source that
6636      * writes the finding.
6637      * </pre>
6638      *
6639      * <code>.google.cloud.securitycenter.v1.Finding.Severity severity = 12;</code>
6640      *
6641      * @param value The severity to set.
6642      * @return This builder for chaining.
6643      */
setSeverity(com.google.cloud.securitycenter.v1.Finding.Severity value)6644     public Builder setSeverity(com.google.cloud.securitycenter.v1.Finding.Severity value) {
6645       if (value == null) {
6646         throw new NullPointerException();
6647       }
6648       bitField0_ |= 0x00000400;
6649       severity_ = value.getNumber();
6650       onChanged();
6651       return this;
6652     }
6653     /**
6654      *
6655      *
6656      * <pre>
6657      * The severity of the finding. This field is managed by the source that
6658      * writes the finding.
6659      * </pre>
6660      *
6661      * <code>.google.cloud.securitycenter.v1.Finding.Severity severity = 12;</code>
6662      *
6663      * @return This builder for chaining.
6664      */
clearSeverity()6665     public Builder clearSeverity() {
6666       bitField0_ = (bitField0_ & ~0x00000400);
6667       severity_ = 0;
6668       onChanged();
6669       return this;
6670     }
6671 
6672     private java.lang.Object canonicalName_ = "";
6673     /**
6674      *
6675      *
6676      * <pre>
6677      * The canonical name of the finding. It's either
6678      * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
6679      * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or
6680      * "projects/{project_number}/sources/{source_id}/findings/{finding_id}",
6681      * depending on the closest CRM ancestor of the resource associated with the
6682      * finding.
6683      * </pre>
6684      *
6685      * <code>string canonical_name = 14;</code>
6686      *
6687      * @return The canonicalName.
6688      */
getCanonicalName()6689     public java.lang.String getCanonicalName() {
6690       java.lang.Object ref = canonicalName_;
6691       if (!(ref instanceof java.lang.String)) {
6692         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6693         java.lang.String s = bs.toStringUtf8();
6694         canonicalName_ = s;
6695         return s;
6696       } else {
6697         return (java.lang.String) ref;
6698       }
6699     }
6700     /**
6701      *
6702      *
6703      * <pre>
6704      * The canonical name of the finding. It's either
6705      * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
6706      * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or
6707      * "projects/{project_number}/sources/{source_id}/findings/{finding_id}",
6708      * depending on the closest CRM ancestor of the resource associated with the
6709      * finding.
6710      * </pre>
6711      *
6712      * <code>string canonical_name = 14;</code>
6713      *
6714      * @return The bytes for canonicalName.
6715      */
getCanonicalNameBytes()6716     public com.google.protobuf.ByteString getCanonicalNameBytes() {
6717       java.lang.Object ref = canonicalName_;
6718       if (ref instanceof String) {
6719         com.google.protobuf.ByteString b =
6720             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6721         canonicalName_ = b;
6722         return b;
6723       } else {
6724         return (com.google.protobuf.ByteString) ref;
6725       }
6726     }
6727     /**
6728      *
6729      *
6730      * <pre>
6731      * The canonical name of the finding. It's either
6732      * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
6733      * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or
6734      * "projects/{project_number}/sources/{source_id}/findings/{finding_id}",
6735      * depending on the closest CRM ancestor of the resource associated with the
6736      * finding.
6737      * </pre>
6738      *
6739      * <code>string canonical_name = 14;</code>
6740      *
6741      * @param value The canonicalName to set.
6742      * @return This builder for chaining.
6743      */
setCanonicalName(java.lang.String value)6744     public Builder setCanonicalName(java.lang.String value) {
6745       if (value == null) {
6746         throw new NullPointerException();
6747       }
6748       canonicalName_ = value;
6749       bitField0_ |= 0x00000800;
6750       onChanged();
6751       return this;
6752     }
6753     /**
6754      *
6755      *
6756      * <pre>
6757      * The canonical name of the finding. It's either
6758      * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
6759      * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or
6760      * "projects/{project_number}/sources/{source_id}/findings/{finding_id}",
6761      * depending on the closest CRM ancestor of the resource associated with the
6762      * finding.
6763      * </pre>
6764      *
6765      * <code>string canonical_name = 14;</code>
6766      *
6767      * @return This builder for chaining.
6768      */
clearCanonicalName()6769     public Builder clearCanonicalName() {
6770       canonicalName_ = getDefaultInstance().getCanonicalName();
6771       bitField0_ = (bitField0_ & ~0x00000800);
6772       onChanged();
6773       return this;
6774     }
6775     /**
6776      *
6777      *
6778      * <pre>
6779      * The canonical name of the finding. It's either
6780      * "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}",
6781      * "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or
6782      * "projects/{project_number}/sources/{source_id}/findings/{finding_id}",
6783      * depending on the closest CRM ancestor of the resource associated with the
6784      * finding.
6785      * </pre>
6786      *
6787      * <code>string canonical_name = 14;</code>
6788      *
6789      * @param value The bytes for canonicalName to set.
6790      * @return This builder for chaining.
6791      */
setCanonicalNameBytes(com.google.protobuf.ByteString value)6792     public Builder setCanonicalNameBytes(com.google.protobuf.ByteString value) {
6793       if (value == null) {
6794         throw new NullPointerException();
6795       }
6796       checkByteStringIsUtf8(value);
6797       canonicalName_ = value;
6798       bitField0_ |= 0x00000800;
6799       onChanged();
6800       return this;
6801     }
6802 
6803     private int mute_ = 0;
6804     /**
6805      *
6806      *
6807      * <pre>
6808      * Indicates the mute state of a finding (either muted, unmuted
6809      * or undefined). Unlike other attributes of a finding, a finding provider
6810      * shouldn't set the value of mute.
6811      * </pre>
6812      *
6813      * <code>.google.cloud.securitycenter.v1.Finding.Mute mute = 15;</code>
6814      *
6815      * @return The enum numeric value on the wire for mute.
6816      */
6817     @java.lang.Override
getMuteValue()6818     public int getMuteValue() {
6819       return mute_;
6820     }
6821     /**
6822      *
6823      *
6824      * <pre>
6825      * Indicates the mute state of a finding (either muted, unmuted
6826      * or undefined). Unlike other attributes of a finding, a finding provider
6827      * shouldn't set the value of mute.
6828      * </pre>
6829      *
6830      * <code>.google.cloud.securitycenter.v1.Finding.Mute mute = 15;</code>
6831      *
6832      * @param value The enum numeric value on the wire for mute to set.
6833      * @return This builder for chaining.
6834      */
setMuteValue(int value)6835     public Builder setMuteValue(int value) {
6836       mute_ = value;
6837       bitField0_ |= 0x00001000;
6838       onChanged();
6839       return this;
6840     }
6841     /**
6842      *
6843      *
6844      * <pre>
6845      * Indicates the mute state of a finding (either muted, unmuted
6846      * or undefined). Unlike other attributes of a finding, a finding provider
6847      * shouldn't set the value of mute.
6848      * </pre>
6849      *
6850      * <code>.google.cloud.securitycenter.v1.Finding.Mute mute = 15;</code>
6851      *
6852      * @return The mute.
6853      */
6854     @java.lang.Override
getMute()6855     public com.google.cloud.securitycenter.v1.Finding.Mute getMute() {
6856       com.google.cloud.securitycenter.v1.Finding.Mute result =
6857           com.google.cloud.securitycenter.v1.Finding.Mute.forNumber(mute_);
6858       return result == null ? com.google.cloud.securitycenter.v1.Finding.Mute.UNRECOGNIZED : result;
6859     }
6860     /**
6861      *
6862      *
6863      * <pre>
6864      * Indicates the mute state of a finding (either muted, unmuted
6865      * or undefined). Unlike other attributes of a finding, a finding provider
6866      * shouldn't set the value of mute.
6867      * </pre>
6868      *
6869      * <code>.google.cloud.securitycenter.v1.Finding.Mute mute = 15;</code>
6870      *
6871      * @param value The mute to set.
6872      * @return This builder for chaining.
6873      */
setMute(com.google.cloud.securitycenter.v1.Finding.Mute value)6874     public Builder setMute(com.google.cloud.securitycenter.v1.Finding.Mute value) {
6875       if (value == null) {
6876         throw new NullPointerException();
6877       }
6878       bitField0_ |= 0x00001000;
6879       mute_ = value.getNumber();
6880       onChanged();
6881       return this;
6882     }
6883     /**
6884      *
6885      *
6886      * <pre>
6887      * Indicates the mute state of a finding (either muted, unmuted
6888      * or undefined). Unlike other attributes of a finding, a finding provider
6889      * shouldn't set the value of mute.
6890      * </pre>
6891      *
6892      * <code>.google.cloud.securitycenter.v1.Finding.Mute mute = 15;</code>
6893      *
6894      * @return This builder for chaining.
6895      */
clearMute()6896     public Builder clearMute() {
6897       bitField0_ = (bitField0_ & ~0x00001000);
6898       mute_ = 0;
6899       onChanged();
6900       return this;
6901     }
6902 
6903     private int findingClass_ = 0;
6904     /**
6905      *
6906      *
6907      * <pre>
6908      * The class of the finding.
6909      * </pre>
6910      *
6911      * <code>.google.cloud.securitycenter.v1.Finding.FindingClass finding_class = 17;</code>
6912      *
6913      * @return The enum numeric value on the wire for findingClass.
6914      */
6915     @java.lang.Override
getFindingClassValue()6916     public int getFindingClassValue() {
6917       return findingClass_;
6918     }
6919     /**
6920      *
6921      *
6922      * <pre>
6923      * The class of the finding.
6924      * </pre>
6925      *
6926      * <code>.google.cloud.securitycenter.v1.Finding.FindingClass finding_class = 17;</code>
6927      *
6928      * @param value The enum numeric value on the wire for findingClass to set.
6929      * @return This builder for chaining.
6930      */
setFindingClassValue(int value)6931     public Builder setFindingClassValue(int value) {
6932       findingClass_ = value;
6933       bitField0_ |= 0x00002000;
6934       onChanged();
6935       return this;
6936     }
6937     /**
6938      *
6939      *
6940      * <pre>
6941      * The class of the finding.
6942      * </pre>
6943      *
6944      * <code>.google.cloud.securitycenter.v1.Finding.FindingClass finding_class = 17;</code>
6945      *
6946      * @return The findingClass.
6947      */
6948     @java.lang.Override
getFindingClass()6949     public com.google.cloud.securitycenter.v1.Finding.FindingClass getFindingClass() {
6950       com.google.cloud.securitycenter.v1.Finding.FindingClass result =
6951           com.google.cloud.securitycenter.v1.Finding.FindingClass.forNumber(findingClass_);
6952       return result == null
6953           ? com.google.cloud.securitycenter.v1.Finding.FindingClass.UNRECOGNIZED
6954           : result;
6955     }
6956     /**
6957      *
6958      *
6959      * <pre>
6960      * The class of the finding.
6961      * </pre>
6962      *
6963      * <code>.google.cloud.securitycenter.v1.Finding.FindingClass finding_class = 17;</code>
6964      *
6965      * @param value The findingClass to set.
6966      * @return This builder for chaining.
6967      */
setFindingClass(com.google.cloud.securitycenter.v1.Finding.FindingClass value)6968     public Builder setFindingClass(com.google.cloud.securitycenter.v1.Finding.FindingClass value) {
6969       if (value == null) {
6970         throw new NullPointerException();
6971       }
6972       bitField0_ |= 0x00002000;
6973       findingClass_ = value.getNumber();
6974       onChanged();
6975       return this;
6976     }
6977     /**
6978      *
6979      *
6980      * <pre>
6981      * The class of the finding.
6982      * </pre>
6983      *
6984      * <code>.google.cloud.securitycenter.v1.Finding.FindingClass finding_class = 17;</code>
6985      *
6986      * @return This builder for chaining.
6987      */
clearFindingClass()6988     public Builder clearFindingClass() {
6989       bitField0_ = (bitField0_ & ~0x00002000);
6990       findingClass_ = 0;
6991       onChanged();
6992       return this;
6993     }
6994 
6995     private com.google.cloud.securitycenter.v1.Indicator indicator_;
6996     private com.google.protobuf.SingleFieldBuilderV3<
6997             com.google.cloud.securitycenter.v1.Indicator,
6998             com.google.cloud.securitycenter.v1.Indicator.Builder,
6999             com.google.cloud.securitycenter.v1.IndicatorOrBuilder>
7000         indicatorBuilder_;
7001     /**
7002      *
7003      *
7004      * <pre>
7005      * Represents what's commonly known as an *indicator of compromise* (IoC) in
7006      * computer forensics. This is an artifact observed on a network or in an
7007      * operating system that, with high confidence, indicates a computer
7008      * intrusion. For more information, see [Indicator of
7009      * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
7010      * </pre>
7011      *
7012      * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
7013      *
7014      * @return Whether the indicator field is set.
7015      */
hasIndicator()7016     public boolean hasIndicator() {
7017       return ((bitField0_ & 0x00004000) != 0);
7018     }
7019     /**
7020      *
7021      *
7022      * <pre>
7023      * Represents what's commonly known as an *indicator of compromise* (IoC) in
7024      * computer forensics. This is an artifact observed on a network or in an
7025      * operating system that, with high confidence, indicates a computer
7026      * intrusion. For more information, see [Indicator of
7027      * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
7028      * </pre>
7029      *
7030      * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
7031      *
7032      * @return The indicator.
7033      */
getIndicator()7034     public com.google.cloud.securitycenter.v1.Indicator getIndicator() {
7035       if (indicatorBuilder_ == null) {
7036         return indicator_ == null
7037             ? com.google.cloud.securitycenter.v1.Indicator.getDefaultInstance()
7038             : indicator_;
7039       } else {
7040         return indicatorBuilder_.getMessage();
7041       }
7042     }
7043     /**
7044      *
7045      *
7046      * <pre>
7047      * Represents what's commonly known as an *indicator of compromise* (IoC) in
7048      * computer forensics. This is an artifact observed on a network or in an
7049      * operating system that, with high confidence, indicates a computer
7050      * intrusion. For more information, see [Indicator of
7051      * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
7052      * </pre>
7053      *
7054      * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
7055      */
setIndicator(com.google.cloud.securitycenter.v1.Indicator value)7056     public Builder setIndicator(com.google.cloud.securitycenter.v1.Indicator value) {
7057       if (indicatorBuilder_ == null) {
7058         if (value == null) {
7059           throw new NullPointerException();
7060         }
7061         indicator_ = value;
7062       } else {
7063         indicatorBuilder_.setMessage(value);
7064       }
7065       bitField0_ |= 0x00004000;
7066       onChanged();
7067       return this;
7068     }
7069     /**
7070      *
7071      *
7072      * <pre>
7073      * Represents what's commonly known as an *indicator of compromise* (IoC) in
7074      * computer forensics. This is an artifact observed on a network or in an
7075      * operating system that, with high confidence, indicates a computer
7076      * intrusion. For more information, see [Indicator of
7077      * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
7078      * </pre>
7079      *
7080      * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
7081      */
setIndicator( com.google.cloud.securitycenter.v1.Indicator.Builder builderForValue)7082     public Builder setIndicator(
7083         com.google.cloud.securitycenter.v1.Indicator.Builder builderForValue) {
7084       if (indicatorBuilder_ == null) {
7085         indicator_ = builderForValue.build();
7086       } else {
7087         indicatorBuilder_.setMessage(builderForValue.build());
7088       }
7089       bitField0_ |= 0x00004000;
7090       onChanged();
7091       return this;
7092     }
7093     /**
7094      *
7095      *
7096      * <pre>
7097      * Represents what's commonly known as an *indicator of compromise* (IoC) in
7098      * computer forensics. This is an artifact observed on a network or in an
7099      * operating system that, with high confidence, indicates a computer
7100      * intrusion. For more information, see [Indicator of
7101      * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
7102      * </pre>
7103      *
7104      * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
7105      */
mergeIndicator(com.google.cloud.securitycenter.v1.Indicator value)7106     public Builder mergeIndicator(com.google.cloud.securitycenter.v1.Indicator value) {
7107       if (indicatorBuilder_ == null) {
7108         if (((bitField0_ & 0x00004000) != 0)
7109             && indicator_ != null
7110             && indicator_ != com.google.cloud.securitycenter.v1.Indicator.getDefaultInstance()) {
7111           getIndicatorBuilder().mergeFrom(value);
7112         } else {
7113           indicator_ = value;
7114         }
7115       } else {
7116         indicatorBuilder_.mergeFrom(value);
7117       }
7118       bitField0_ |= 0x00004000;
7119       onChanged();
7120       return this;
7121     }
7122     /**
7123      *
7124      *
7125      * <pre>
7126      * Represents what's commonly known as an *indicator of compromise* (IoC) in
7127      * computer forensics. This is an artifact observed on a network or in an
7128      * operating system that, with high confidence, indicates a computer
7129      * intrusion. For more information, see [Indicator of
7130      * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
7131      * </pre>
7132      *
7133      * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
7134      */
clearIndicator()7135     public Builder clearIndicator() {
7136       bitField0_ = (bitField0_ & ~0x00004000);
7137       indicator_ = null;
7138       if (indicatorBuilder_ != null) {
7139         indicatorBuilder_.dispose();
7140         indicatorBuilder_ = null;
7141       }
7142       onChanged();
7143       return this;
7144     }
7145     /**
7146      *
7147      *
7148      * <pre>
7149      * Represents what's commonly known as an *indicator of compromise* (IoC) in
7150      * computer forensics. This is an artifact observed on a network or in an
7151      * operating system that, with high confidence, indicates a computer
7152      * intrusion. For more information, see [Indicator of
7153      * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
7154      * </pre>
7155      *
7156      * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
7157      */
getIndicatorBuilder()7158     public com.google.cloud.securitycenter.v1.Indicator.Builder getIndicatorBuilder() {
7159       bitField0_ |= 0x00004000;
7160       onChanged();
7161       return getIndicatorFieldBuilder().getBuilder();
7162     }
7163     /**
7164      *
7165      *
7166      * <pre>
7167      * Represents what's commonly known as an *indicator of compromise* (IoC) in
7168      * computer forensics. This is an artifact observed on a network or in an
7169      * operating system that, with high confidence, indicates a computer
7170      * intrusion. For more information, see [Indicator of
7171      * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
7172      * </pre>
7173      *
7174      * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
7175      */
getIndicatorOrBuilder()7176     public com.google.cloud.securitycenter.v1.IndicatorOrBuilder getIndicatorOrBuilder() {
7177       if (indicatorBuilder_ != null) {
7178         return indicatorBuilder_.getMessageOrBuilder();
7179       } else {
7180         return indicator_ == null
7181             ? com.google.cloud.securitycenter.v1.Indicator.getDefaultInstance()
7182             : indicator_;
7183       }
7184     }
7185     /**
7186      *
7187      *
7188      * <pre>
7189      * Represents what's commonly known as an *indicator of compromise* (IoC) in
7190      * computer forensics. This is an artifact observed on a network or in an
7191      * operating system that, with high confidence, indicates a computer
7192      * intrusion. For more information, see [Indicator of
7193      * compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
7194      * </pre>
7195      *
7196      * <code>.google.cloud.securitycenter.v1.Indicator indicator = 18;</code>
7197      */
7198     private com.google.protobuf.SingleFieldBuilderV3<
7199             com.google.cloud.securitycenter.v1.Indicator,
7200             com.google.cloud.securitycenter.v1.Indicator.Builder,
7201             com.google.cloud.securitycenter.v1.IndicatorOrBuilder>
getIndicatorFieldBuilder()7202         getIndicatorFieldBuilder() {
7203       if (indicatorBuilder_ == null) {
7204         indicatorBuilder_ =
7205             new com.google.protobuf.SingleFieldBuilderV3<
7206                 com.google.cloud.securitycenter.v1.Indicator,
7207                 com.google.cloud.securitycenter.v1.Indicator.Builder,
7208                 com.google.cloud.securitycenter.v1.IndicatorOrBuilder>(
7209                 getIndicator(), getParentForChildren(), isClean());
7210         indicator_ = null;
7211       }
7212       return indicatorBuilder_;
7213     }
7214 
7215     private com.google.cloud.securitycenter.v1.Vulnerability vulnerability_;
7216     private com.google.protobuf.SingleFieldBuilderV3<
7217             com.google.cloud.securitycenter.v1.Vulnerability,
7218             com.google.cloud.securitycenter.v1.Vulnerability.Builder,
7219             com.google.cloud.securitycenter.v1.VulnerabilityOrBuilder>
7220         vulnerabilityBuilder_;
7221     /**
7222      *
7223      *
7224      * <pre>
7225      * Represents vulnerability-specific fields like CVE and CVSS scores.
7226      * CVE stands for Common Vulnerabilities and Exposures
7227      * (https://cve.mitre.org/about/)
7228      * </pre>
7229      *
7230      * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
7231      *
7232      * @return Whether the vulnerability field is set.
7233      */
hasVulnerability()7234     public boolean hasVulnerability() {
7235       return ((bitField0_ & 0x00008000) != 0);
7236     }
7237     /**
7238      *
7239      *
7240      * <pre>
7241      * Represents vulnerability-specific fields like CVE and CVSS scores.
7242      * CVE stands for Common Vulnerabilities and Exposures
7243      * (https://cve.mitre.org/about/)
7244      * </pre>
7245      *
7246      * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
7247      *
7248      * @return The vulnerability.
7249      */
getVulnerability()7250     public com.google.cloud.securitycenter.v1.Vulnerability getVulnerability() {
7251       if (vulnerabilityBuilder_ == null) {
7252         return vulnerability_ == null
7253             ? com.google.cloud.securitycenter.v1.Vulnerability.getDefaultInstance()
7254             : vulnerability_;
7255       } else {
7256         return vulnerabilityBuilder_.getMessage();
7257       }
7258     }
7259     /**
7260      *
7261      *
7262      * <pre>
7263      * Represents vulnerability-specific fields like CVE and CVSS scores.
7264      * CVE stands for Common Vulnerabilities and Exposures
7265      * (https://cve.mitre.org/about/)
7266      * </pre>
7267      *
7268      * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
7269      */
setVulnerability(com.google.cloud.securitycenter.v1.Vulnerability value)7270     public Builder setVulnerability(com.google.cloud.securitycenter.v1.Vulnerability value) {
7271       if (vulnerabilityBuilder_ == null) {
7272         if (value == null) {
7273           throw new NullPointerException();
7274         }
7275         vulnerability_ = value;
7276       } else {
7277         vulnerabilityBuilder_.setMessage(value);
7278       }
7279       bitField0_ |= 0x00008000;
7280       onChanged();
7281       return this;
7282     }
7283     /**
7284      *
7285      *
7286      * <pre>
7287      * Represents vulnerability-specific fields like CVE and CVSS scores.
7288      * CVE stands for Common Vulnerabilities and Exposures
7289      * (https://cve.mitre.org/about/)
7290      * </pre>
7291      *
7292      * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
7293      */
setVulnerability( com.google.cloud.securitycenter.v1.Vulnerability.Builder builderForValue)7294     public Builder setVulnerability(
7295         com.google.cloud.securitycenter.v1.Vulnerability.Builder builderForValue) {
7296       if (vulnerabilityBuilder_ == null) {
7297         vulnerability_ = builderForValue.build();
7298       } else {
7299         vulnerabilityBuilder_.setMessage(builderForValue.build());
7300       }
7301       bitField0_ |= 0x00008000;
7302       onChanged();
7303       return this;
7304     }
7305     /**
7306      *
7307      *
7308      * <pre>
7309      * Represents vulnerability-specific fields like CVE and CVSS scores.
7310      * CVE stands for Common Vulnerabilities and Exposures
7311      * (https://cve.mitre.org/about/)
7312      * </pre>
7313      *
7314      * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
7315      */
mergeVulnerability(com.google.cloud.securitycenter.v1.Vulnerability value)7316     public Builder mergeVulnerability(com.google.cloud.securitycenter.v1.Vulnerability value) {
7317       if (vulnerabilityBuilder_ == null) {
7318         if (((bitField0_ & 0x00008000) != 0)
7319             && vulnerability_ != null
7320             && vulnerability_
7321                 != com.google.cloud.securitycenter.v1.Vulnerability.getDefaultInstance()) {
7322           getVulnerabilityBuilder().mergeFrom(value);
7323         } else {
7324           vulnerability_ = value;
7325         }
7326       } else {
7327         vulnerabilityBuilder_.mergeFrom(value);
7328       }
7329       bitField0_ |= 0x00008000;
7330       onChanged();
7331       return this;
7332     }
7333     /**
7334      *
7335      *
7336      * <pre>
7337      * Represents vulnerability-specific fields like CVE and CVSS scores.
7338      * CVE stands for Common Vulnerabilities and Exposures
7339      * (https://cve.mitre.org/about/)
7340      * </pre>
7341      *
7342      * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
7343      */
clearVulnerability()7344     public Builder clearVulnerability() {
7345       bitField0_ = (bitField0_ & ~0x00008000);
7346       vulnerability_ = null;
7347       if (vulnerabilityBuilder_ != null) {
7348         vulnerabilityBuilder_.dispose();
7349         vulnerabilityBuilder_ = null;
7350       }
7351       onChanged();
7352       return this;
7353     }
7354     /**
7355      *
7356      *
7357      * <pre>
7358      * Represents vulnerability-specific fields like CVE and CVSS scores.
7359      * CVE stands for Common Vulnerabilities and Exposures
7360      * (https://cve.mitre.org/about/)
7361      * </pre>
7362      *
7363      * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
7364      */
getVulnerabilityBuilder()7365     public com.google.cloud.securitycenter.v1.Vulnerability.Builder getVulnerabilityBuilder() {
7366       bitField0_ |= 0x00008000;
7367       onChanged();
7368       return getVulnerabilityFieldBuilder().getBuilder();
7369     }
7370     /**
7371      *
7372      *
7373      * <pre>
7374      * Represents vulnerability-specific fields like CVE and CVSS scores.
7375      * CVE stands for Common Vulnerabilities and Exposures
7376      * (https://cve.mitre.org/about/)
7377      * </pre>
7378      *
7379      * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
7380      */
getVulnerabilityOrBuilder()7381     public com.google.cloud.securitycenter.v1.VulnerabilityOrBuilder getVulnerabilityOrBuilder() {
7382       if (vulnerabilityBuilder_ != null) {
7383         return vulnerabilityBuilder_.getMessageOrBuilder();
7384       } else {
7385         return vulnerability_ == null
7386             ? com.google.cloud.securitycenter.v1.Vulnerability.getDefaultInstance()
7387             : vulnerability_;
7388       }
7389     }
7390     /**
7391      *
7392      *
7393      * <pre>
7394      * Represents vulnerability-specific fields like CVE and CVSS scores.
7395      * CVE stands for Common Vulnerabilities and Exposures
7396      * (https://cve.mitre.org/about/)
7397      * </pre>
7398      *
7399      * <code>.google.cloud.securitycenter.v1.Vulnerability vulnerability = 20;</code>
7400      */
7401     private com.google.protobuf.SingleFieldBuilderV3<
7402             com.google.cloud.securitycenter.v1.Vulnerability,
7403             com.google.cloud.securitycenter.v1.Vulnerability.Builder,
7404             com.google.cloud.securitycenter.v1.VulnerabilityOrBuilder>
getVulnerabilityFieldBuilder()7405         getVulnerabilityFieldBuilder() {
7406       if (vulnerabilityBuilder_ == null) {
7407         vulnerabilityBuilder_ =
7408             new com.google.protobuf.SingleFieldBuilderV3<
7409                 com.google.cloud.securitycenter.v1.Vulnerability,
7410                 com.google.cloud.securitycenter.v1.Vulnerability.Builder,
7411                 com.google.cloud.securitycenter.v1.VulnerabilityOrBuilder>(
7412                 getVulnerability(), getParentForChildren(), isClean());
7413         vulnerability_ = null;
7414       }
7415       return vulnerabilityBuilder_;
7416     }
7417 
7418     private com.google.protobuf.Timestamp muteUpdateTime_;
7419     private com.google.protobuf.SingleFieldBuilderV3<
7420             com.google.protobuf.Timestamp,
7421             com.google.protobuf.Timestamp.Builder,
7422             com.google.protobuf.TimestampOrBuilder>
7423         muteUpdateTimeBuilder_;
7424     /**
7425      *
7426      *
7427      * <pre>
7428      * Output only. The most recent time this finding was muted or unmuted.
7429      * </pre>
7430      *
7431      * <code>
7432      * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
7433      * </code>
7434      *
7435      * @return Whether the muteUpdateTime field is set.
7436      */
hasMuteUpdateTime()7437     public boolean hasMuteUpdateTime() {
7438       return ((bitField0_ & 0x00010000) != 0);
7439     }
7440     /**
7441      *
7442      *
7443      * <pre>
7444      * Output only. The most recent time this finding was muted or unmuted.
7445      * </pre>
7446      *
7447      * <code>
7448      * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
7449      * </code>
7450      *
7451      * @return The muteUpdateTime.
7452      */
getMuteUpdateTime()7453     public com.google.protobuf.Timestamp getMuteUpdateTime() {
7454       if (muteUpdateTimeBuilder_ == null) {
7455         return muteUpdateTime_ == null
7456             ? com.google.protobuf.Timestamp.getDefaultInstance()
7457             : muteUpdateTime_;
7458       } else {
7459         return muteUpdateTimeBuilder_.getMessage();
7460       }
7461     }
7462     /**
7463      *
7464      *
7465      * <pre>
7466      * Output only. The most recent time this finding was muted or unmuted.
7467      * </pre>
7468      *
7469      * <code>
7470      * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
7471      * </code>
7472      */
setMuteUpdateTime(com.google.protobuf.Timestamp value)7473     public Builder setMuteUpdateTime(com.google.protobuf.Timestamp value) {
7474       if (muteUpdateTimeBuilder_ == null) {
7475         if (value == null) {
7476           throw new NullPointerException();
7477         }
7478         muteUpdateTime_ = value;
7479       } else {
7480         muteUpdateTimeBuilder_.setMessage(value);
7481       }
7482       bitField0_ |= 0x00010000;
7483       onChanged();
7484       return this;
7485     }
7486     /**
7487      *
7488      *
7489      * <pre>
7490      * Output only. The most recent time this finding was muted or unmuted.
7491      * </pre>
7492      *
7493      * <code>
7494      * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
7495      * </code>
7496      */
setMuteUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue)7497     public Builder setMuteUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
7498       if (muteUpdateTimeBuilder_ == null) {
7499         muteUpdateTime_ = builderForValue.build();
7500       } else {
7501         muteUpdateTimeBuilder_.setMessage(builderForValue.build());
7502       }
7503       bitField0_ |= 0x00010000;
7504       onChanged();
7505       return this;
7506     }
7507     /**
7508      *
7509      *
7510      * <pre>
7511      * Output only. The most recent time this finding was muted or unmuted.
7512      * </pre>
7513      *
7514      * <code>
7515      * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
7516      * </code>
7517      */
mergeMuteUpdateTime(com.google.protobuf.Timestamp value)7518     public Builder mergeMuteUpdateTime(com.google.protobuf.Timestamp value) {
7519       if (muteUpdateTimeBuilder_ == null) {
7520         if (((bitField0_ & 0x00010000) != 0)
7521             && muteUpdateTime_ != null
7522             && muteUpdateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
7523           getMuteUpdateTimeBuilder().mergeFrom(value);
7524         } else {
7525           muteUpdateTime_ = value;
7526         }
7527       } else {
7528         muteUpdateTimeBuilder_.mergeFrom(value);
7529       }
7530       bitField0_ |= 0x00010000;
7531       onChanged();
7532       return this;
7533     }
7534     /**
7535      *
7536      *
7537      * <pre>
7538      * Output only. The most recent time this finding was muted or unmuted.
7539      * </pre>
7540      *
7541      * <code>
7542      * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
7543      * </code>
7544      */
clearMuteUpdateTime()7545     public Builder clearMuteUpdateTime() {
7546       bitField0_ = (bitField0_ & ~0x00010000);
7547       muteUpdateTime_ = null;
7548       if (muteUpdateTimeBuilder_ != null) {
7549         muteUpdateTimeBuilder_.dispose();
7550         muteUpdateTimeBuilder_ = null;
7551       }
7552       onChanged();
7553       return this;
7554     }
7555     /**
7556      *
7557      *
7558      * <pre>
7559      * Output only. The most recent time this finding was muted or unmuted.
7560      * </pre>
7561      *
7562      * <code>
7563      * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
7564      * </code>
7565      */
getMuteUpdateTimeBuilder()7566     public com.google.protobuf.Timestamp.Builder getMuteUpdateTimeBuilder() {
7567       bitField0_ |= 0x00010000;
7568       onChanged();
7569       return getMuteUpdateTimeFieldBuilder().getBuilder();
7570     }
7571     /**
7572      *
7573      *
7574      * <pre>
7575      * Output only. The most recent time this finding was muted or unmuted.
7576      * </pre>
7577      *
7578      * <code>
7579      * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
7580      * </code>
7581      */
getMuteUpdateTimeOrBuilder()7582     public com.google.protobuf.TimestampOrBuilder getMuteUpdateTimeOrBuilder() {
7583       if (muteUpdateTimeBuilder_ != null) {
7584         return muteUpdateTimeBuilder_.getMessageOrBuilder();
7585       } else {
7586         return muteUpdateTime_ == null
7587             ? com.google.protobuf.Timestamp.getDefaultInstance()
7588             : muteUpdateTime_;
7589       }
7590     }
7591     /**
7592      *
7593      *
7594      * <pre>
7595      * Output only. The most recent time this finding was muted or unmuted.
7596      * </pre>
7597      *
7598      * <code>
7599      * .google.protobuf.Timestamp mute_update_time = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
7600      * </code>
7601      */
7602     private com.google.protobuf.SingleFieldBuilderV3<
7603             com.google.protobuf.Timestamp,
7604             com.google.protobuf.Timestamp.Builder,
7605             com.google.protobuf.TimestampOrBuilder>
getMuteUpdateTimeFieldBuilder()7606         getMuteUpdateTimeFieldBuilder() {
7607       if (muteUpdateTimeBuilder_ == null) {
7608         muteUpdateTimeBuilder_ =
7609             new com.google.protobuf.SingleFieldBuilderV3<
7610                 com.google.protobuf.Timestamp,
7611                 com.google.protobuf.Timestamp.Builder,
7612                 com.google.protobuf.TimestampOrBuilder>(
7613                 getMuteUpdateTime(), getParentForChildren(), isClean());
7614         muteUpdateTime_ = null;
7615       }
7616       return muteUpdateTimeBuilder_;
7617     }
7618 
7619     private com.google.protobuf.MapField<
7620             java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
7621         externalSystems_;
7622 
7623     private com.google.protobuf.MapField<
7624             java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
internalGetExternalSystems()7625         internalGetExternalSystems() {
7626       if (externalSystems_ == null) {
7627         return com.google.protobuf.MapField.emptyMapField(
7628             ExternalSystemsDefaultEntryHolder.defaultEntry);
7629       }
7630       return externalSystems_;
7631     }
7632 
7633     private com.google.protobuf.MapField<
7634             java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
internalGetMutableExternalSystems()7635         internalGetMutableExternalSystems() {
7636       if (externalSystems_ == null) {
7637         externalSystems_ =
7638             com.google.protobuf.MapField.newMapField(
7639                 ExternalSystemsDefaultEntryHolder.defaultEntry);
7640       }
7641       if (!externalSystems_.isMutable()) {
7642         externalSystems_ = externalSystems_.copy();
7643       }
7644       bitField0_ |= 0x00020000;
7645       onChanged();
7646       return externalSystems_;
7647     }
7648 
getExternalSystemsCount()7649     public int getExternalSystemsCount() {
7650       return internalGetExternalSystems().getMap().size();
7651     }
7652     /**
7653      *
7654      *
7655      * <pre>
7656      * Output only. Third party SIEM/SOAR fields within SCC, contains external
7657      * system information and external system finding fields.
7658      * </pre>
7659      *
7660      * <code>
7661      * map&lt;string, .google.cloud.securitycenter.v1.ExternalSystem&gt; external_systems = 22 [(.google.api.field_behavior) = OUTPUT_ONLY];
7662      * </code>
7663      */
7664     @java.lang.Override
containsExternalSystems(java.lang.String key)7665     public boolean containsExternalSystems(java.lang.String key) {
7666       if (key == null) {
7667         throw new NullPointerException("map key");
7668       }
7669       return internalGetExternalSystems().getMap().containsKey(key);
7670     }
7671     /** Use {@link #getExternalSystemsMap()} instead. */
7672     @java.lang.Override
7673     @java.lang.Deprecated
7674     public java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
getExternalSystems()7675         getExternalSystems() {
7676       return getExternalSystemsMap();
7677     }
7678     /**
7679      *
7680      *
7681      * <pre>
7682      * Output only. Third party SIEM/SOAR fields within SCC, contains external
7683      * system information and external system finding fields.
7684      * </pre>
7685      *
7686      * <code>
7687      * map&lt;string, .google.cloud.securitycenter.v1.ExternalSystem&gt; external_systems = 22 [(.google.api.field_behavior) = OUTPUT_ONLY];
7688      * </code>
7689      */
7690     @java.lang.Override
7691     public java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
getExternalSystemsMap()7692         getExternalSystemsMap() {
7693       return internalGetExternalSystems().getMap();
7694     }
7695     /**
7696      *
7697      *
7698      * <pre>
7699      * Output only. Third party SIEM/SOAR fields within SCC, contains external
7700      * system information and external system finding fields.
7701      * </pre>
7702      *
7703      * <code>
7704      * map&lt;string, .google.cloud.securitycenter.v1.ExternalSystem&gt; external_systems = 22 [(.google.api.field_behavior) = OUTPUT_ONLY];
7705      * </code>
7706      */
7707     @java.lang.Override
7708     public /* nullable */ com.google.cloud.securitycenter.v1.ExternalSystem
getExternalSystemsOrDefault( java.lang.String key, com.google.cloud.securitycenter.v1.ExternalSystem defaultValue)7709         getExternalSystemsOrDefault(
7710             java.lang.String key,
7711             /* nullable */
7712             com.google.cloud.securitycenter.v1.ExternalSystem defaultValue) {
7713       if (key == null) {
7714         throw new NullPointerException("map key");
7715       }
7716       java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem> map =
7717           internalGetExternalSystems().getMap();
7718       return map.containsKey(key) ? map.get(key) : defaultValue;
7719     }
7720     /**
7721      *
7722      *
7723      * <pre>
7724      * Output only. Third party SIEM/SOAR fields within SCC, contains external
7725      * system information and external system finding fields.
7726      * </pre>
7727      *
7728      * <code>
7729      * map&lt;string, .google.cloud.securitycenter.v1.ExternalSystem&gt; external_systems = 22 [(.google.api.field_behavior) = OUTPUT_ONLY];
7730      * </code>
7731      */
7732     @java.lang.Override
getExternalSystemsOrThrow( java.lang.String key)7733     public com.google.cloud.securitycenter.v1.ExternalSystem getExternalSystemsOrThrow(
7734         java.lang.String key) {
7735       if (key == null) {
7736         throw new NullPointerException("map key");
7737       }
7738       java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem> map =
7739           internalGetExternalSystems().getMap();
7740       if (!map.containsKey(key)) {
7741         throw new java.lang.IllegalArgumentException();
7742       }
7743       return map.get(key);
7744     }
7745 
clearExternalSystems()7746     public Builder clearExternalSystems() {
7747       bitField0_ = (bitField0_ & ~0x00020000);
7748       internalGetMutableExternalSystems().getMutableMap().clear();
7749       return this;
7750     }
7751     /**
7752      *
7753      *
7754      * <pre>
7755      * Output only. Third party SIEM/SOAR fields within SCC, contains external
7756      * system information and external system finding fields.
7757      * </pre>
7758      *
7759      * <code>
7760      * map&lt;string, .google.cloud.securitycenter.v1.ExternalSystem&gt; external_systems = 22 [(.google.api.field_behavior) = OUTPUT_ONLY];
7761      * </code>
7762      */
removeExternalSystems(java.lang.String key)7763     public Builder removeExternalSystems(java.lang.String key) {
7764       if (key == null) {
7765         throw new NullPointerException("map key");
7766       }
7767       internalGetMutableExternalSystems().getMutableMap().remove(key);
7768       return this;
7769     }
7770     /** Use alternate mutation accessors instead. */
7771     @java.lang.Deprecated
7772     public java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem>
getMutableExternalSystems()7773         getMutableExternalSystems() {
7774       bitField0_ |= 0x00020000;
7775       return internalGetMutableExternalSystems().getMutableMap();
7776     }
7777     /**
7778      *
7779      *
7780      * <pre>
7781      * Output only. Third party SIEM/SOAR fields within SCC, contains external
7782      * system information and external system finding fields.
7783      * </pre>
7784      *
7785      * <code>
7786      * map&lt;string, .google.cloud.securitycenter.v1.ExternalSystem&gt; external_systems = 22 [(.google.api.field_behavior) = OUTPUT_ONLY];
7787      * </code>
7788      */
putExternalSystems( java.lang.String key, com.google.cloud.securitycenter.v1.ExternalSystem value)7789     public Builder putExternalSystems(
7790         java.lang.String key, com.google.cloud.securitycenter.v1.ExternalSystem value) {
7791       if (key == null) {
7792         throw new NullPointerException("map key");
7793       }
7794       if (value == null) {
7795         throw new NullPointerException("map value");
7796       }
7797       internalGetMutableExternalSystems().getMutableMap().put(key, value);
7798       bitField0_ |= 0x00020000;
7799       return this;
7800     }
7801     /**
7802      *
7803      *
7804      * <pre>
7805      * Output only. Third party SIEM/SOAR fields within SCC, contains external
7806      * system information and external system finding fields.
7807      * </pre>
7808      *
7809      * <code>
7810      * map&lt;string, .google.cloud.securitycenter.v1.ExternalSystem&gt; external_systems = 22 [(.google.api.field_behavior) = OUTPUT_ONLY];
7811      * </code>
7812      */
putAllExternalSystems( java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem> values)7813     public Builder putAllExternalSystems(
7814         java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ExternalSystem> values) {
7815       internalGetMutableExternalSystems().getMutableMap().putAll(values);
7816       bitField0_ |= 0x00020000;
7817       return this;
7818     }
7819 
7820     private com.google.cloud.securitycenter.v1.MitreAttack mitreAttack_;
7821     private com.google.protobuf.SingleFieldBuilderV3<
7822             com.google.cloud.securitycenter.v1.MitreAttack,
7823             com.google.cloud.securitycenter.v1.MitreAttack.Builder,
7824             com.google.cloud.securitycenter.v1.MitreAttackOrBuilder>
7825         mitreAttackBuilder_;
7826     /**
7827      *
7828      *
7829      * <pre>
7830      * MITRE ATT&amp;CK tactics and techniques related to this finding.
7831      * See: https://attack.mitre.org
7832      * </pre>
7833      *
7834      * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
7835      *
7836      * @return Whether the mitreAttack field is set.
7837      */
hasMitreAttack()7838     public boolean hasMitreAttack() {
7839       return ((bitField0_ & 0x00040000) != 0);
7840     }
7841     /**
7842      *
7843      *
7844      * <pre>
7845      * MITRE ATT&amp;CK tactics and techniques related to this finding.
7846      * See: https://attack.mitre.org
7847      * </pre>
7848      *
7849      * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
7850      *
7851      * @return The mitreAttack.
7852      */
getMitreAttack()7853     public com.google.cloud.securitycenter.v1.MitreAttack getMitreAttack() {
7854       if (mitreAttackBuilder_ == null) {
7855         return mitreAttack_ == null
7856             ? com.google.cloud.securitycenter.v1.MitreAttack.getDefaultInstance()
7857             : mitreAttack_;
7858       } else {
7859         return mitreAttackBuilder_.getMessage();
7860       }
7861     }
7862     /**
7863      *
7864      *
7865      * <pre>
7866      * MITRE ATT&amp;CK tactics and techniques related to this finding.
7867      * See: https://attack.mitre.org
7868      * </pre>
7869      *
7870      * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
7871      */
setMitreAttack(com.google.cloud.securitycenter.v1.MitreAttack value)7872     public Builder setMitreAttack(com.google.cloud.securitycenter.v1.MitreAttack value) {
7873       if (mitreAttackBuilder_ == null) {
7874         if (value == null) {
7875           throw new NullPointerException();
7876         }
7877         mitreAttack_ = value;
7878       } else {
7879         mitreAttackBuilder_.setMessage(value);
7880       }
7881       bitField0_ |= 0x00040000;
7882       onChanged();
7883       return this;
7884     }
7885     /**
7886      *
7887      *
7888      * <pre>
7889      * MITRE ATT&amp;CK tactics and techniques related to this finding.
7890      * See: https://attack.mitre.org
7891      * </pre>
7892      *
7893      * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
7894      */
setMitreAttack( com.google.cloud.securitycenter.v1.MitreAttack.Builder builderForValue)7895     public Builder setMitreAttack(
7896         com.google.cloud.securitycenter.v1.MitreAttack.Builder builderForValue) {
7897       if (mitreAttackBuilder_ == null) {
7898         mitreAttack_ = builderForValue.build();
7899       } else {
7900         mitreAttackBuilder_.setMessage(builderForValue.build());
7901       }
7902       bitField0_ |= 0x00040000;
7903       onChanged();
7904       return this;
7905     }
7906     /**
7907      *
7908      *
7909      * <pre>
7910      * MITRE ATT&amp;CK tactics and techniques related to this finding.
7911      * See: https://attack.mitre.org
7912      * </pre>
7913      *
7914      * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
7915      */
mergeMitreAttack(com.google.cloud.securitycenter.v1.MitreAttack value)7916     public Builder mergeMitreAttack(com.google.cloud.securitycenter.v1.MitreAttack value) {
7917       if (mitreAttackBuilder_ == null) {
7918         if (((bitField0_ & 0x00040000) != 0)
7919             && mitreAttack_ != null
7920             && mitreAttack_
7921                 != com.google.cloud.securitycenter.v1.MitreAttack.getDefaultInstance()) {
7922           getMitreAttackBuilder().mergeFrom(value);
7923         } else {
7924           mitreAttack_ = value;
7925         }
7926       } else {
7927         mitreAttackBuilder_.mergeFrom(value);
7928       }
7929       bitField0_ |= 0x00040000;
7930       onChanged();
7931       return this;
7932     }
7933     /**
7934      *
7935      *
7936      * <pre>
7937      * MITRE ATT&amp;CK tactics and techniques related to this finding.
7938      * See: https://attack.mitre.org
7939      * </pre>
7940      *
7941      * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
7942      */
clearMitreAttack()7943     public Builder clearMitreAttack() {
7944       bitField0_ = (bitField0_ & ~0x00040000);
7945       mitreAttack_ = null;
7946       if (mitreAttackBuilder_ != null) {
7947         mitreAttackBuilder_.dispose();
7948         mitreAttackBuilder_ = null;
7949       }
7950       onChanged();
7951       return this;
7952     }
7953     /**
7954      *
7955      *
7956      * <pre>
7957      * MITRE ATT&amp;CK tactics and techniques related to this finding.
7958      * See: https://attack.mitre.org
7959      * </pre>
7960      *
7961      * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
7962      */
getMitreAttackBuilder()7963     public com.google.cloud.securitycenter.v1.MitreAttack.Builder getMitreAttackBuilder() {
7964       bitField0_ |= 0x00040000;
7965       onChanged();
7966       return getMitreAttackFieldBuilder().getBuilder();
7967     }
7968     /**
7969      *
7970      *
7971      * <pre>
7972      * MITRE ATT&amp;CK tactics and techniques related to this finding.
7973      * See: https://attack.mitre.org
7974      * </pre>
7975      *
7976      * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
7977      */
getMitreAttackOrBuilder()7978     public com.google.cloud.securitycenter.v1.MitreAttackOrBuilder getMitreAttackOrBuilder() {
7979       if (mitreAttackBuilder_ != null) {
7980         return mitreAttackBuilder_.getMessageOrBuilder();
7981       } else {
7982         return mitreAttack_ == null
7983             ? com.google.cloud.securitycenter.v1.MitreAttack.getDefaultInstance()
7984             : mitreAttack_;
7985       }
7986     }
7987     /**
7988      *
7989      *
7990      * <pre>
7991      * MITRE ATT&amp;CK tactics and techniques related to this finding.
7992      * See: https://attack.mitre.org
7993      * </pre>
7994      *
7995      * <code>.google.cloud.securitycenter.v1.MitreAttack mitre_attack = 25;</code>
7996      */
7997     private com.google.protobuf.SingleFieldBuilderV3<
7998             com.google.cloud.securitycenter.v1.MitreAttack,
7999             com.google.cloud.securitycenter.v1.MitreAttack.Builder,
8000             com.google.cloud.securitycenter.v1.MitreAttackOrBuilder>
getMitreAttackFieldBuilder()8001         getMitreAttackFieldBuilder() {
8002       if (mitreAttackBuilder_ == null) {
8003         mitreAttackBuilder_ =
8004             new com.google.protobuf.SingleFieldBuilderV3<
8005                 com.google.cloud.securitycenter.v1.MitreAttack,
8006                 com.google.cloud.securitycenter.v1.MitreAttack.Builder,
8007                 com.google.cloud.securitycenter.v1.MitreAttackOrBuilder>(
8008                 getMitreAttack(), getParentForChildren(), isClean());
8009         mitreAttack_ = null;
8010       }
8011       return mitreAttackBuilder_;
8012     }
8013 
8014     private com.google.cloud.securitycenter.v1.Access access_;
8015     private com.google.protobuf.SingleFieldBuilderV3<
8016             com.google.cloud.securitycenter.v1.Access,
8017             com.google.cloud.securitycenter.v1.Access.Builder,
8018             com.google.cloud.securitycenter.v1.AccessOrBuilder>
8019         accessBuilder_;
8020     /**
8021      *
8022      *
8023      * <pre>
8024      * Access details associated with the finding, such as more information on the
8025      * caller, which method was accessed, and from where.
8026      * </pre>
8027      *
8028      * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
8029      *
8030      * @return Whether the access field is set.
8031      */
hasAccess()8032     public boolean hasAccess() {
8033       return ((bitField0_ & 0x00080000) != 0);
8034     }
8035     /**
8036      *
8037      *
8038      * <pre>
8039      * Access details associated with the finding, such as more information on the
8040      * caller, which method was accessed, and from where.
8041      * </pre>
8042      *
8043      * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
8044      *
8045      * @return The access.
8046      */
getAccess()8047     public com.google.cloud.securitycenter.v1.Access getAccess() {
8048       if (accessBuilder_ == null) {
8049         return access_ == null
8050             ? com.google.cloud.securitycenter.v1.Access.getDefaultInstance()
8051             : access_;
8052       } else {
8053         return accessBuilder_.getMessage();
8054       }
8055     }
8056     /**
8057      *
8058      *
8059      * <pre>
8060      * Access details associated with the finding, such as more information on the
8061      * caller, which method was accessed, and from where.
8062      * </pre>
8063      *
8064      * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
8065      */
setAccess(com.google.cloud.securitycenter.v1.Access value)8066     public Builder setAccess(com.google.cloud.securitycenter.v1.Access value) {
8067       if (accessBuilder_ == null) {
8068         if (value == null) {
8069           throw new NullPointerException();
8070         }
8071         access_ = value;
8072       } else {
8073         accessBuilder_.setMessage(value);
8074       }
8075       bitField0_ |= 0x00080000;
8076       onChanged();
8077       return this;
8078     }
8079     /**
8080      *
8081      *
8082      * <pre>
8083      * Access details associated with the finding, such as more information on the
8084      * caller, which method was accessed, and from where.
8085      * </pre>
8086      *
8087      * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
8088      */
setAccess(com.google.cloud.securitycenter.v1.Access.Builder builderForValue)8089     public Builder setAccess(com.google.cloud.securitycenter.v1.Access.Builder builderForValue) {
8090       if (accessBuilder_ == null) {
8091         access_ = builderForValue.build();
8092       } else {
8093         accessBuilder_.setMessage(builderForValue.build());
8094       }
8095       bitField0_ |= 0x00080000;
8096       onChanged();
8097       return this;
8098     }
8099     /**
8100      *
8101      *
8102      * <pre>
8103      * Access details associated with the finding, such as more information on the
8104      * caller, which method was accessed, and from where.
8105      * </pre>
8106      *
8107      * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
8108      */
mergeAccess(com.google.cloud.securitycenter.v1.Access value)8109     public Builder mergeAccess(com.google.cloud.securitycenter.v1.Access value) {
8110       if (accessBuilder_ == null) {
8111         if (((bitField0_ & 0x00080000) != 0)
8112             && access_ != null
8113             && access_ != com.google.cloud.securitycenter.v1.Access.getDefaultInstance()) {
8114           getAccessBuilder().mergeFrom(value);
8115         } else {
8116           access_ = value;
8117         }
8118       } else {
8119         accessBuilder_.mergeFrom(value);
8120       }
8121       bitField0_ |= 0x00080000;
8122       onChanged();
8123       return this;
8124     }
8125     /**
8126      *
8127      *
8128      * <pre>
8129      * Access details associated with the finding, such as more information on the
8130      * caller, which method was accessed, and from where.
8131      * </pre>
8132      *
8133      * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
8134      */
clearAccess()8135     public Builder clearAccess() {
8136       bitField0_ = (bitField0_ & ~0x00080000);
8137       access_ = null;
8138       if (accessBuilder_ != null) {
8139         accessBuilder_.dispose();
8140         accessBuilder_ = null;
8141       }
8142       onChanged();
8143       return this;
8144     }
8145     /**
8146      *
8147      *
8148      * <pre>
8149      * Access details associated with the finding, such as more information on the
8150      * caller, which method was accessed, and from where.
8151      * </pre>
8152      *
8153      * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
8154      */
getAccessBuilder()8155     public com.google.cloud.securitycenter.v1.Access.Builder getAccessBuilder() {
8156       bitField0_ |= 0x00080000;
8157       onChanged();
8158       return getAccessFieldBuilder().getBuilder();
8159     }
8160     /**
8161      *
8162      *
8163      * <pre>
8164      * Access details associated with the finding, such as more information on the
8165      * caller, which method was accessed, and from where.
8166      * </pre>
8167      *
8168      * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
8169      */
getAccessOrBuilder()8170     public com.google.cloud.securitycenter.v1.AccessOrBuilder getAccessOrBuilder() {
8171       if (accessBuilder_ != null) {
8172         return accessBuilder_.getMessageOrBuilder();
8173       } else {
8174         return access_ == null
8175             ? com.google.cloud.securitycenter.v1.Access.getDefaultInstance()
8176             : access_;
8177       }
8178     }
8179     /**
8180      *
8181      *
8182      * <pre>
8183      * Access details associated with the finding, such as more information on the
8184      * caller, which method was accessed, and from where.
8185      * </pre>
8186      *
8187      * <code>.google.cloud.securitycenter.v1.Access access = 26;</code>
8188      */
8189     private com.google.protobuf.SingleFieldBuilderV3<
8190             com.google.cloud.securitycenter.v1.Access,
8191             com.google.cloud.securitycenter.v1.Access.Builder,
8192             com.google.cloud.securitycenter.v1.AccessOrBuilder>
getAccessFieldBuilder()8193         getAccessFieldBuilder() {
8194       if (accessBuilder_ == null) {
8195         accessBuilder_ =
8196             new com.google.protobuf.SingleFieldBuilderV3<
8197                 com.google.cloud.securitycenter.v1.Access,
8198                 com.google.cloud.securitycenter.v1.Access.Builder,
8199                 com.google.cloud.securitycenter.v1.AccessOrBuilder>(
8200                 getAccess(), getParentForChildren(), isClean());
8201         access_ = null;
8202       }
8203       return accessBuilder_;
8204     }
8205 
8206     private java.util.List<com.google.cloud.securitycenter.v1.Connection> connections_ =
8207         java.util.Collections.emptyList();
8208 
ensureConnectionsIsMutable()8209     private void ensureConnectionsIsMutable() {
8210       if (!((bitField0_ & 0x00100000) != 0)) {
8211         connections_ =
8212             new java.util.ArrayList<com.google.cloud.securitycenter.v1.Connection>(connections_);
8213         bitField0_ |= 0x00100000;
8214       }
8215     }
8216 
8217     private com.google.protobuf.RepeatedFieldBuilderV3<
8218             com.google.cloud.securitycenter.v1.Connection,
8219             com.google.cloud.securitycenter.v1.Connection.Builder,
8220             com.google.cloud.securitycenter.v1.ConnectionOrBuilder>
8221         connectionsBuilder_;
8222 
8223     /**
8224      *
8225      *
8226      * <pre>
8227      * Contains information about the IP connection associated with the finding.
8228      * </pre>
8229      *
8230      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8231      */
getConnectionsList()8232     public java.util.List<com.google.cloud.securitycenter.v1.Connection> getConnectionsList() {
8233       if (connectionsBuilder_ == null) {
8234         return java.util.Collections.unmodifiableList(connections_);
8235       } else {
8236         return connectionsBuilder_.getMessageList();
8237       }
8238     }
8239     /**
8240      *
8241      *
8242      * <pre>
8243      * Contains information about the IP connection associated with the finding.
8244      * </pre>
8245      *
8246      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8247      */
getConnectionsCount()8248     public int getConnectionsCount() {
8249       if (connectionsBuilder_ == null) {
8250         return connections_.size();
8251       } else {
8252         return connectionsBuilder_.getCount();
8253       }
8254     }
8255     /**
8256      *
8257      *
8258      * <pre>
8259      * Contains information about the IP connection associated with the finding.
8260      * </pre>
8261      *
8262      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8263      */
getConnections(int index)8264     public com.google.cloud.securitycenter.v1.Connection getConnections(int index) {
8265       if (connectionsBuilder_ == null) {
8266         return connections_.get(index);
8267       } else {
8268         return connectionsBuilder_.getMessage(index);
8269       }
8270     }
8271     /**
8272      *
8273      *
8274      * <pre>
8275      * Contains information about the IP connection associated with the finding.
8276      * </pre>
8277      *
8278      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8279      */
setConnections(int index, com.google.cloud.securitycenter.v1.Connection value)8280     public Builder setConnections(int index, com.google.cloud.securitycenter.v1.Connection value) {
8281       if (connectionsBuilder_ == null) {
8282         if (value == null) {
8283           throw new NullPointerException();
8284         }
8285         ensureConnectionsIsMutable();
8286         connections_.set(index, value);
8287         onChanged();
8288       } else {
8289         connectionsBuilder_.setMessage(index, value);
8290       }
8291       return this;
8292     }
8293     /**
8294      *
8295      *
8296      * <pre>
8297      * Contains information about the IP connection associated with the finding.
8298      * </pre>
8299      *
8300      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8301      */
setConnections( int index, com.google.cloud.securitycenter.v1.Connection.Builder builderForValue)8302     public Builder setConnections(
8303         int index, com.google.cloud.securitycenter.v1.Connection.Builder builderForValue) {
8304       if (connectionsBuilder_ == null) {
8305         ensureConnectionsIsMutable();
8306         connections_.set(index, builderForValue.build());
8307         onChanged();
8308       } else {
8309         connectionsBuilder_.setMessage(index, builderForValue.build());
8310       }
8311       return this;
8312     }
8313     /**
8314      *
8315      *
8316      * <pre>
8317      * Contains information about the IP connection associated with the finding.
8318      * </pre>
8319      *
8320      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8321      */
addConnections(com.google.cloud.securitycenter.v1.Connection value)8322     public Builder addConnections(com.google.cloud.securitycenter.v1.Connection value) {
8323       if (connectionsBuilder_ == null) {
8324         if (value == null) {
8325           throw new NullPointerException();
8326         }
8327         ensureConnectionsIsMutable();
8328         connections_.add(value);
8329         onChanged();
8330       } else {
8331         connectionsBuilder_.addMessage(value);
8332       }
8333       return this;
8334     }
8335     /**
8336      *
8337      *
8338      * <pre>
8339      * Contains information about the IP connection associated with the finding.
8340      * </pre>
8341      *
8342      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8343      */
addConnections(int index, com.google.cloud.securitycenter.v1.Connection value)8344     public Builder addConnections(int index, com.google.cloud.securitycenter.v1.Connection value) {
8345       if (connectionsBuilder_ == null) {
8346         if (value == null) {
8347           throw new NullPointerException();
8348         }
8349         ensureConnectionsIsMutable();
8350         connections_.add(index, value);
8351         onChanged();
8352       } else {
8353         connectionsBuilder_.addMessage(index, value);
8354       }
8355       return this;
8356     }
8357     /**
8358      *
8359      *
8360      * <pre>
8361      * Contains information about the IP connection associated with the finding.
8362      * </pre>
8363      *
8364      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8365      */
addConnections( com.google.cloud.securitycenter.v1.Connection.Builder builderForValue)8366     public Builder addConnections(
8367         com.google.cloud.securitycenter.v1.Connection.Builder builderForValue) {
8368       if (connectionsBuilder_ == null) {
8369         ensureConnectionsIsMutable();
8370         connections_.add(builderForValue.build());
8371         onChanged();
8372       } else {
8373         connectionsBuilder_.addMessage(builderForValue.build());
8374       }
8375       return this;
8376     }
8377     /**
8378      *
8379      *
8380      * <pre>
8381      * Contains information about the IP connection associated with the finding.
8382      * </pre>
8383      *
8384      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8385      */
addConnections( int index, com.google.cloud.securitycenter.v1.Connection.Builder builderForValue)8386     public Builder addConnections(
8387         int index, com.google.cloud.securitycenter.v1.Connection.Builder builderForValue) {
8388       if (connectionsBuilder_ == null) {
8389         ensureConnectionsIsMutable();
8390         connections_.add(index, builderForValue.build());
8391         onChanged();
8392       } else {
8393         connectionsBuilder_.addMessage(index, builderForValue.build());
8394       }
8395       return this;
8396     }
8397     /**
8398      *
8399      *
8400      * <pre>
8401      * Contains information about the IP connection associated with the finding.
8402      * </pre>
8403      *
8404      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8405      */
addAllConnections( java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.Connection> values)8406     public Builder addAllConnections(
8407         java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.Connection> values) {
8408       if (connectionsBuilder_ == null) {
8409         ensureConnectionsIsMutable();
8410         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, connections_);
8411         onChanged();
8412       } else {
8413         connectionsBuilder_.addAllMessages(values);
8414       }
8415       return this;
8416     }
8417     /**
8418      *
8419      *
8420      * <pre>
8421      * Contains information about the IP connection associated with the finding.
8422      * </pre>
8423      *
8424      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8425      */
clearConnections()8426     public Builder clearConnections() {
8427       if (connectionsBuilder_ == null) {
8428         connections_ = java.util.Collections.emptyList();
8429         bitField0_ = (bitField0_ & ~0x00100000);
8430         onChanged();
8431       } else {
8432         connectionsBuilder_.clear();
8433       }
8434       return this;
8435     }
8436     /**
8437      *
8438      *
8439      * <pre>
8440      * Contains information about the IP connection associated with the finding.
8441      * </pre>
8442      *
8443      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8444      */
removeConnections(int index)8445     public Builder removeConnections(int index) {
8446       if (connectionsBuilder_ == null) {
8447         ensureConnectionsIsMutable();
8448         connections_.remove(index);
8449         onChanged();
8450       } else {
8451         connectionsBuilder_.remove(index);
8452       }
8453       return this;
8454     }
8455     /**
8456      *
8457      *
8458      * <pre>
8459      * Contains information about the IP connection associated with the finding.
8460      * </pre>
8461      *
8462      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8463      */
getConnectionsBuilder(int index)8464     public com.google.cloud.securitycenter.v1.Connection.Builder getConnectionsBuilder(int index) {
8465       return getConnectionsFieldBuilder().getBuilder(index);
8466     }
8467     /**
8468      *
8469      *
8470      * <pre>
8471      * Contains information about the IP connection associated with the finding.
8472      * </pre>
8473      *
8474      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8475      */
getConnectionsOrBuilder( int index)8476     public com.google.cloud.securitycenter.v1.ConnectionOrBuilder getConnectionsOrBuilder(
8477         int index) {
8478       if (connectionsBuilder_ == null) {
8479         return connections_.get(index);
8480       } else {
8481         return connectionsBuilder_.getMessageOrBuilder(index);
8482       }
8483     }
8484     /**
8485      *
8486      *
8487      * <pre>
8488      * Contains information about the IP connection associated with the finding.
8489      * </pre>
8490      *
8491      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8492      */
8493     public java.util.List<? extends com.google.cloud.securitycenter.v1.ConnectionOrBuilder>
getConnectionsOrBuilderList()8494         getConnectionsOrBuilderList() {
8495       if (connectionsBuilder_ != null) {
8496         return connectionsBuilder_.getMessageOrBuilderList();
8497       } else {
8498         return java.util.Collections.unmodifiableList(connections_);
8499       }
8500     }
8501     /**
8502      *
8503      *
8504      * <pre>
8505      * Contains information about the IP connection associated with the finding.
8506      * </pre>
8507      *
8508      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8509      */
addConnectionsBuilder()8510     public com.google.cloud.securitycenter.v1.Connection.Builder addConnectionsBuilder() {
8511       return getConnectionsFieldBuilder()
8512           .addBuilder(com.google.cloud.securitycenter.v1.Connection.getDefaultInstance());
8513     }
8514     /**
8515      *
8516      *
8517      * <pre>
8518      * Contains information about the IP connection associated with the finding.
8519      * </pre>
8520      *
8521      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8522      */
addConnectionsBuilder(int index)8523     public com.google.cloud.securitycenter.v1.Connection.Builder addConnectionsBuilder(int index) {
8524       return getConnectionsFieldBuilder()
8525           .addBuilder(index, com.google.cloud.securitycenter.v1.Connection.getDefaultInstance());
8526     }
8527     /**
8528      *
8529      *
8530      * <pre>
8531      * Contains information about the IP connection associated with the finding.
8532      * </pre>
8533      *
8534      * <code>repeated .google.cloud.securitycenter.v1.Connection connections = 31;</code>
8535      */
8536     public java.util.List<com.google.cloud.securitycenter.v1.Connection.Builder>
getConnectionsBuilderList()8537         getConnectionsBuilderList() {
8538       return getConnectionsFieldBuilder().getBuilderList();
8539     }
8540 
8541     private com.google.protobuf.RepeatedFieldBuilderV3<
8542             com.google.cloud.securitycenter.v1.Connection,
8543             com.google.cloud.securitycenter.v1.Connection.Builder,
8544             com.google.cloud.securitycenter.v1.ConnectionOrBuilder>
getConnectionsFieldBuilder()8545         getConnectionsFieldBuilder() {
8546       if (connectionsBuilder_ == null) {
8547         connectionsBuilder_ =
8548             new com.google.protobuf.RepeatedFieldBuilderV3<
8549                 com.google.cloud.securitycenter.v1.Connection,
8550                 com.google.cloud.securitycenter.v1.Connection.Builder,
8551                 com.google.cloud.securitycenter.v1.ConnectionOrBuilder>(
8552                 connections_, ((bitField0_ & 0x00100000) != 0), getParentForChildren(), isClean());
8553         connections_ = null;
8554       }
8555       return connectionsBuilder_;
8556     }
8557 
8558     private java.lang.Object muteInitiator_ = "";
8559     /**
8560      *
8561      *
8562      * <pre>
8563      * Records additional information about the mute operation, for example, the
8564      * [mute configuration](/security-command-center/docs/how-to-mute-findings)
8565      * that muted the finding and the user who muted the finding.
8566      * </pre>
8567      *
8568      * <code>string mute_initiator = 28;</code>
8569      *
8570      * @return The muteInitiator.
8571      */
getMuteInitiator()8572     public java.lang.String getMuteInitiator() {
8573       java.lang.Object ref = muteInitiator_;
8574       if (!(ref instanceof java.lang.String)) {
8575         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8576         java.lang.String s = bs.toStringUtf8();
8577         muteInitiator_ = s;
8578         return s;
8579       } else {
8580         return (java.lang.String) ref;
8581       }
8582     }
8583     /**
8584      *
8585      *
8586      * <pre>
8587      * Records additional information about the mute operation, for example, the
8588      * [mute configuration](/security-command-center/docs/how-to-mute-findings)
8589      * that muted the finding and the user who muted the finding.
8590      * </pre>
8591      *
8592      * <code>string mute_initiator = 28;</code>
8593      *
8594      * @return The bytes for muteInitiator.
8595      */
getMuteInitiatorBytes()8596     public com.google.protobuf.ByteString getMuteInitiatorBytes() {
8597       java.lang.Object ref = muteInitiator_;
8598       if (ref instanceof String) {
8599         com.google.protobuf.ByteString b =
8600             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8601         muteInitiator_ = b;
8602         return b;
8603       } else {
8604         return (com.google.protobuf.ByteString) ref;
8605       }
8606     }
8607     /**
8608      *
8609      *
8610      * <pre>
8611      * Records additional information about the mute operation, for example, the
8612      * [mute configuration](/security-command-center/docs/how-to-mute-findings)
8613      * that muted the finding and the user who muted the finding.
8614      * </pre>
8615      *
8616      * <code>string mute_initiator = 28;</code>
8617      *
8618      * @param value The muteInitiator to set.
8619      * @return This builder for chaining.
8620      */
setMuteInitiator(java.lang.String value)8621     public Builder setMuteInitiator(java.lang.String value) {
8622       if (value == null) {
8623         throw new NullPointerException();
8624       }
8625       muteInitiator_ = value;
8626       bitField0_ |= 0x00200000;
8627       onChanged();
8628       return this;
8629     }
8630     /**
8631      *
8632      *
8633      * <pre>
8634      * Records additional information about the mute operation, for example, the
8635      * [mute configuration](/security-command-center/docs/how-to-mute-findings)
8636      * that muted the finding and the user who muted the finding.
8637      * </pre>
8638      *
8639      * <code>string mute_initiator = 28;</code>
8640      *
8641      * @return This builder for chaining.
8642      */
clearMuteInitiator()8643     public Builder clearMuteInitiator() {
8644       muteInitiator_ = getDefaultInstance().getMuteInitiator();
8645       bitField0_ = (bitField0_ & ~0x00200000);
8646       onChanged();
8647       return this;
8648     }
8649     /**
8650      *
8651      *
8652      * <pre>
8653      * Records additional information about the mute operation, for example, the
8654      * [mute configuration](/security-command-center/docs/how-to-mute-findings)
8655      * that muted the finding and the user who muted the finding.
8656      * </pre>
8657      *
8658      * <code>string mute_initiator = 28;</code>
8659      *
8660      * @param value The bytes for muteInitiator to set.
8661      * @return This builder for chaining.
8662      */
setMuteInitiatorBytes(com.google.protobuf.ByteString value)8663     public Builder setMuteInitiatorBytes(com.google.protobuf.ByteString value) {
8664       if (value == null) {
8665         throw new NullPointerException();
8666       }
8667       checkByteStringIsUtf8(value);
8668       muteInitiator_ = value;
8669       bitField0_ |= 0x00200000;
8670       onChanged();
8671       return this;
8672     }
8673 
8674     private java.util.List<com.google.cloud.securitycenter.v1.Process> processes_ =
8675         java.util.Collections.emptyList();
8676 
ensureProcessesIsMutable()8677     private void ensureProcessesIsMutable() {
8678       if (!((bitField0_ & 0x00400000) != 0)) {
8679         processes_ =
8680             new java.util.ArrayList<com.google.cloud.securitycenter.v1.Process>(processes_);
8681         bitField0_ |= 0x00400000;
8682       }
8683     }
8684 
8685     private com.google.protobuf.RepeatedFieldBuilderV3<
8686             com.google.cloud.securitycenter.v1.Process,
8687             com.google.cloud.securitycenter.v1.Process.Builder,
8688             com.google.cloud.securitycenter.v1.ProcessOrBuilder>
8689         processesBuilder_;
8690 
8691     /**
8692      *
8693      *
8694      * <pre>
8695      * Represents operating system processes associated with the Finding.
8696      * </pre>
8697      *
8698      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8699      */
getProcessesList()8700     public java.util.List<com.google.cloud.securitycenter.v1.Process> getProcessesList() {
8701       if (processesBuilder_ == null) {
8702         return java.util.Collections.unmodifiableList(processes_);
8703       } else {
8704         return processesBuilder_.getMessageList();
8705       }
8706     }
8707     /**
8708      *
8709      *
8710      * <pre>
8711      * Represents operating system processes associated with the Finding.
8712      * </pre>
8713      *
8714      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8715      */
getProcessesCount()8716     public int getProcessesCount() {
8717       if (processesBuilder_ == null) {
8718         return processes_.size();
8719       } else {
8720         return processesBuilder_.getCount();
8721       }
8722     }
8723     /**
8724      *
8725      *
8726      * <pre>
8727      * Represents operating system processes associated with the Finding.
8728      * </pre>
8729      *
8730      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8731      */
getProcesses(int index)8732     public com.google.cloud.securitycenter.v1.Process getProcesses(int index) {
8733       if (processesBuilder_ == null) {
8734         return processes_.get(index);
8735       } else {
8736         return processesBuilder_.getMessage(index);
8737       }
8738     }
8739     /**
8740      *
8741      *
8742      * <pre>
8743      * Represents operating system processes associated with the Finding.
8744      * </pre>
8745      *
8746      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8747      */
setProcesses(int index, com.google.cloud.securitycenter.v1.Process value)8748     public Builder setProcesses(int index, com.google.cloud.securitycenter.v1.Process value) {
8749       if (processesBuilder_ == null) {
8750         if (value == null) {
8751           throw new NullPointerException();
8752         }
8753         ensureProcessesIsMutable();
8754         processes_.set(index, value);
8755         onChanged();
8756       } else {
8757         processesBuilder_.setMessage(index, value);
8758       }
8759       return this;
8760     }
8761     /**
8762      *
8763      *
8764      * <pre>
8765      * Represents operating system processes associated with the Finding.
8766      * </pre>
8767      *
8768      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8769      */
setProcesses( int index, com.google.cloud.securitycenter.v1.Process.Builder builderForValue)8770     public Builder setProcesses(
8771         int index, com.google.cloud.securitycenter.v1.Process.Builder builderForValue) {
8772       if (processesBuilder_ == null) {
8773         ensureProcessesIsMutable();
8774         processes_.set(index, builderForValue.build());
8775         onChanged();
8776       } else {
8777         processesBuilder_.setMessage(index, builderForValue.build());
8778       }
8779       return this;
8780     }
8781     /**
8782      *
8783      *
8784      * <pre>
8785      * Represents operating system processes associated with the Finding.
8786      * </pre>
8787      *
8788      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8789      */
addProcesses(com.google.cloud.securitycenter.v1.Process value)8790     public Builder addProcesses(com.google.cloud.securitycenter.v1.Process value) {
8791       if (processesBuilder_ == null) {
8792         if (value == null) {
8793           throw new NullPointerException();
8794         }
8795         ensureProcessesIsMutable();
8796         processes_.add(value);
8797         onChanged();
8798       } else {
8799         processesBuilder_.addMessage(value);
8800       }
8801       return this;
8802     }
8803     /**
8804      *
8805      *
8806      * <pre>
8807      * Represents operating system processes associated with the Finding.
8808      * </pre>
8809      *
8810      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8811      */
addProcesses(int index, com.google.cloud.securitycenter.v1.Process value)8812     public Builder addProcesses(int index, com.google.cloud.securitycenter.v1.Process value) {
8813       if (processesBuilder_ == null) {
8814         if (value == null) {
8815           throw new NullPointerException();
8816         }
8817         ensureProcessesIsMutable();
8818         processes_.add(index, value);
8819         onChanged();
8820       } else {
8821         processesBuilder_.addMessage(index, value);
8822       }
8823       return this;
8824     }
8825     /**
8826      *
8827      *
8828      * <pre>
8829      * Represents operating system processes associated with the Finding.
8830      * </pre>
8831      *
8832      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8833      */
addProcesses( com.google.cloud.securitycenter.v1.Process.Builder builderForValue)8834     public Builder addProcesses(
8835         com.google.cloud.securitycenter.v1.Process.Builder builderForValue) {
8836       if (processesBuilder_ == null) {
8837         ensureProcessesIsMutable();
8838         processes_.add(builderForValue.build());
8839         onChanged();
8840       } else {
8841         processesBuilder_.addMessage(builderForValue.build());
8842       }
8843       return this;
8844     }
8845     /**
8846      *
8847      *
8848      * <pre>
8849      * Represents operating system processes associated with the Finding.
8850      * </pre>
8851      *
8852      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8853      */
addProcesses( int index, com.google.cloud.securitycenter.v1.Process.Builder builderForValue)8854     public Builder addProcesses(
8855         int index, com.google.cloud.securitycenter.v1.Process.Builder builderForValue) {
8856       if (processesBuilder_ == null) {
8857         ensureProcessesIsMutable();
8858         processes_.add(index, builderForValue.build());
8859         onChanged();
8860       } else {
8861         processesBuilder_.addMessage(index, builderForValue.build());
8862       }
8863       return this;
8864     }
8865     /**
8866      *
8867      *
8868      * <pre>
8869      * Represents operating system processes associated with the Finding.
8870      * </pre>
8871      *
8872      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8873      */
addAllProcesses( java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.Process> values)8874     public Builder addAllProcesses(
8875         java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.Process> values) {
8876       if (processesBuilder_ == null) {
8877         ensureProcessesIsMutable();
8878         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, processes_);
8879         onChanged();
8880       } else {
8881         processesBuilder_.addAllMessages(values);
8882       }
8883       return this;
8884     }
8885     /**
8886      *
8887      *
8888      * <pre>
8889      * Represents operating system processes associated with the Finding.
8890      * </pre>
8891      *
8892      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8893      */
clearProcesses()8894     public Builder clearProcesses() {
8895       if (processesBuilder_ == null) {
8896         processes_ = java.util.Collections.emptyList();
8897         bitField0_ = (bitField0_ & ~0x00400000);
8898         onChanged();
8899       } else {
8900         processesBuilder_.clear();
8901       }
8902       return this;
8903     }
8904     /**
8905      *
8906      *
8907      * <pre>
8908      * Represents operating system processes associated with the Finding.
8909      * </pre>
8910      *
8911      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8912      */
removeProcesses(int index)8913     public Builder removeProcesses(int index) {
8914       if (processesBuilder_ == null) {
8915         ensureProcessesIsMutable();
8916         processes_.remove(index);
8917         onChanged();
8918       } else {
8919         processesBuilder_.remove(index);
8920       }
8921       return this;
8922     }
8923     /**
8924      *
8925      *
8926      * <pre>
8927      * Represents operating system processes associated with the Finding.
8928      * </pre>
8929      *
8930      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8931      */
getProcessesBuilder(int index)8932     public com.google.cloud.securitycenter.v1.Process.Builder getProcessesBuilder(int index) {
8933       return getProcessesFieldBuilder().getBuilder(index);
8934     }
8935     /**
8936      *
8937      *
8938      * <pre>
8939      * Represents operating system processes associated with the Finding.
8940      * </pre>
8941      *
8942      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8943      */
getProcessesOrBuilder(int index)8944     public com.google.cloud.securitycenter.v1.ProcessOrBuilder getProcessesOrBuilder(int index) {
8945       if (processesBuilder_ == null) {
8946         return processes_.get(index);
8947       } else {
8948         return processesBuilder_.getMessageOrBuilder(index);
8949       }
8950     }
8951     /**
8952      *
8953      *
8954      * <pre>
8955      * Represents operating system processes associated with the Finding.
8956      * </pre>
8957      *
8958      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8959      */
8960     public java.util.List<? extends com.google.cloud.securitycenter.v1.ProcessOrBuilder>
getProcessesOrBuilderList()8961         getProcessesOrBuilderList() {
8962       if (processesBuilder_ != null) {
8963         return processesBuilder_.getMessageOrBuilderList();
8964       } else {
8965         return java.util.Collections.unmodifiableList(processes_);
8966       }
8967     }
8968     /**
8969      *
8970      *
8971      * <pre>
8972      * Represents operating system processes associated with the Finding.
8973      * </pre>
8974      *
8975      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8976      */
addProcessesBuilder()8977     public com.google.cloud.securitycenter.v1.Process.Builder addProcessesBuilder() {
8978       return getProcessesFieldBuilder()
8979           .addBuilder(com.google.cloud.securitycenter.v1.Process.getDefaultInstance());
8980     }
8981     /**
8982      *
8983      *
8984      * <pre>
8985      * Represents operating system processes associated with the Finding.
8986      * </pre>
8987      *
8988      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
8989      */
addProcessesBuilder(int index)8990     public com.google.cloud.securitycenter.v1.Process.Builder addProcessesBuilder(int index) {
8991       return getProcessesFieldBuilder()
8992           .addBuilder(index, com.google.cloud.securitycenter.v1.Process.getDefaultInstance());
8993     }
8994     /**
8995      *
8996      *
8997      * <pre>
8998      * Represents operating system processes associated with the Finding.
8999      * </pre>
9000      *
9001      * <code>repeated .google.cloud.securitycenter.v1.Process processes = 30;</code>
9002      */
9003     public java.util.List<com.google.cloud.securitycenter.v1.Process.Builder>
getProcessesBuilderList()9004         getProcessesBuilderList() {
9005       return getProcessesFieldBuilder().getBuilderList();
9006     }
9007 
9008     private com.google.protobuf.RepeatedFieldBuilderV3<
9009             com.google.cloud.securitycenter.v1.Process,
9010             com.google.cloud.securitycenter.v1.Process.Builder,
9011             com.google.cloud.securitycenter.v1.ProcessOrBuilder>
getProcessesFieldBuilder()9012         getProcessesFieldBuilder() {
9013       if (processesBuilder_ == null) {
9014         processesBuilder_ =
9015             new com.google.protobuf.RepeatedFieldBuilderV3<
9016                 com.google.cloud.securitycenter.v1.Process,
9017                 com.google.cloud.securitycenter.v1.Process.Builder,
9018                 com.google.cloud.securitycenter.v1.ProcessOrBuilder>(
9019                 processes_, ((bitField0_ & 0x00400000) != 0), getParentForChildren(), isClean());
9020         processes_ = null;
9021       }
9022       return processesBuilder_;
9023     }
9024 
9025     private com.google.protobuf.MapField<
9026             java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
9027         contacts_;
9028 
9029     private com.google.protobuf.MapField<
9030             java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
internalGetContacts()9031         internalGetContacts() {
9032       if (contacts_ == null) {
9033         return com.google.protobuf.MapField.emptyMapField(ContactsDefaultEntryHolder.defaultEntry);
9034       }
9035       return contacts_;
9036     }
9037 
9038     private com.google.protobuf.MapField<
9039             java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
internalGetMutableContacts()9040         internalGetMutableContacts() {
9041       if (contacts_ == null) {
9042         contacts_ =
9043             com.google.protobuf.MapField.newMapField(ContactsDefaultEntryHolder.defaultEntry);
9044       }
9045       if (!contacts_.isMutable()) {
9046         contacts_ = contacts_.copy();
9047       }
9048       bitField0_ |= 0x00800000;
9049       onChanged();
9050       return contacts_;
9051     }
9052 
getContactsCount()9053     public int getContactsCount() {
9054       return internalGetContacts().getMap().size();
9055     }
9056     /**
9057      *
9058      *
9059      * <pre>
9060      * Output only. Map containing the points of contact for the given finding.
9061      * The key represents the type of contact, while the value contains a list of
9062      * all the contacts that pertain. Please refer to:
9063      * https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
9064      *     {
9065      *       "security": {
9066      *         "contacts": [
9067      *           {
9068      *             "email": "person1&#64;company.com"
9069      *           },
9070      *           {
9071      *             "email": "person2&#64;company.com"
9072      *           }
9073      *         ]
9074      *       }
9075      *     }
9076      * </pre>
9077      *
9078      * <code>
9079      * map&lt;string, .google.cloud.securitycenter.v1.ContactDetails&gt; contacts = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];
9080      * </code>
9081      */
9082     @java.lang.Override
containsContacts(java.lang.String key)9083     public boolean containsContacts(java.lang.String key) {
9084       if (key == null) {
9085         throw new NullPointerException("map key");
9086       }
9087       return internalGetContacts().getMap().containsKey(key);
9088     }
9089     /** Use {@link #getContactsMap()} instead. */
9090     @java.lang.Override
9091     @java.lang.Deprecated
9092     public java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
getContacts()9093         getContacts() {
9094       return getContactsMap();
9095     }
9096     /**
9097      *
9098      *
9099      * <pre>
9100      * Output only. Map containing the points of contact for the given finding.
9101      * The key represents the type of contact, while the value contains a list of
9102      * all the contacts that pertain. Please refer to:
9103      * https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
9104      *     {
9105      *       "security": {
9106      *         "contacts": [
9107      *           {
9108      *             "email": "person1&#64;company.com"
9109      *           },
9110      *           {
9111      *             "email": "person2&#64;company.com"
9112      *           }
9113      *         ]
9114      *       }
9115      *     }
9116      * </pre>
9117      *
9118      * <code>
9119      * map&lt;string, .google.cloud.securitycenter.v1.ContactDetails&gt; contacts = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];
9120      * </code>
9121      */
9122     @java.lang.Override
9123     public java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
getContactsMap()9124         getContactsMap() {
9125       return internalGetContacts().getMap();
9126     }
9127     /**
9128      *
9129      *
9130      * <pre>
9131      * Output only. Map containing the points of contact for the given finding.
9132      * The key represents the type of contact, while the value contains a list of
9133      * all the contacts that pertain. Please refer to:
9134      * https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
9135      *     {
9136      *       "security": {
9137      *         "contacts": [
9138      *           {
9139      *             "email": "person1&#64;company.com"
9140      *           },
9141      *           {
9142      *             "email": "person2&#64;company.com"
9143      *           }
9144      *         ]
9145      *       }
9146      *     }
9147      * </pre>
9148      *
9149      * <code>
9150      * map&lt;string, .google.cloud.securitycenter.v1.ContactDetails&gt; contacts = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];
9151      * </code>
9152      */
9153     @java.lang.Override
getContactsOrDefault( java.lang.String key, com.google.cloud.securitycenter.v1.ContactDetails defaultValue)9154     public /* nullable */ com.google.cloud.securitycenter.v1.ContactDetails getContactsOrDefault(
9155         java.lang.String key,
9156         /* nullable */
9157         com.google.cloud.securitycenter.v1.ContactDetails defaultValue) {
9158       if (key == null) {
9159         throw new NullPointerException("map key");
9160       }
9161       java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails> map =
9162           internalGetContacts().getMap();
9163       return map.containsKey(key) ? map.get(key) : defaultValue;
9164     }
9165     /**
9166      *
9167      *
9168      * <pre>
9169      * Output only. Map containing the points of contact for the given finding.
9170      * The key represents the type of contact, while the value contains a list of
9171      * all the contacts that pertain. Please refer to:
9172      * https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
9173      *     {
9174      *       "security": {
9175      *         "contacts": [
9176      *           {
9177      *             "email": "person1&#64;company.com"
9178      *           },
9179      *           {
9180      *             "email": "person2&#64;company.com"
9181      *           }
9182      *         ]
9183      *       }
9184      *     }
9185      * </pre>
9186      *
9187      * <code>
9188      * map&lt;string, .google.cloud.securitycenter.v1.ContactDetails&gt; contacts = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];
9189      * </code>
9190      */
9191     @java.lang.Override
getContactsOrThrow( java.lang.String key)9192     public com.google.cloud.securitycenter.v1.ContactDetails getContactsOrThrow(
9193         java.lang.String key) {
9194       if (key == null) {
9195         throw new NullPointerException("map key");
9196       }
9197       java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails> map =
9198           internalGetContacts().getMap();
9199       if (!map.containsKey(key)) {
9200         throw new java.lang.IllegalArgumentException();
9201       }
9202       return map.get(key);
9203     }
9204 
clearContacts()9205     public Builder clearContacts() {
9206       bitField0_ = (bitField0_ & ~0x00800000);
9207       internalGetMutableContacts().getMutableMap().clear();
9208       return this;
9209     }
9210     /**
9211      *
9212      *
9213      * <pre>
9214      * Output only. Map containing the points of contact for the given finding.
9215      * The key represents the type of contact, while the value contains a list of
9216      * all the contacts that pertain. Please refer to:
9217      * https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
9218      *     {
9219      *       "security": {
9220      *         "contacts": [
9221      *           {
9222      *             "email": "person1&#64;company.com"
9223      *           },
9224      *           {
9225      *             "email": "person2&#64;company.com"
9226      *           }
9227      *         ]
9228      *       }
9229      *     }
9230      * </pre>
9231      *
9232      * <code>
9233      * map&lt;string, .google.cloud.securitycenter.v1.ContactDetails&gt; contacts = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];
9234      * </code>
9235      */
removeContacts(java.lang.String key)9236     public Builder removeContacts(java.lang.String key) {
9237       if (key == null) {
9238         throw new NullPointerException("map key");
9239       }
9240       internalGetMutableContacts().getMutableMap().remove(key);
9241       return this;
9242     }
9243     /** Use alternate mutation accessors instead. */
9244     @java.lang.Deprecated
9245     public java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails>
getMutableContacts()9246         getMutableContacts() {
9247       bitField0_ |= 0x00800000;
9248       return internalGetMutableContacts().getMutableMap();
9249     }
9250     /**
9251      *
9252      *
9253      * <pre>
9254      * Output only. Map containing the points of contact for the given finding.
9255      * The key represents the type of contact, while the value contains a list of
9256      * all the contacts that pertain. Please refer to:
9257      * https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
9258      *     {
9259      *       "security": {
9260      *         "contacts": [
9261      *           {
9262      *             "email": "person1&#64;company.com"
9263      *           },
9264      *           {
9265      *             "email": "person2&#64;company.com"
9266      *           }
9267      *         ]
9268      *       }
9269      *     }
9270      * </pre>
9271      *
9272      * <code>
9273      * map&lt;string, .google.cloud.securitycenter.v1.ContactDetails&gt; contacts = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];
9274      * </code>
9275      */
putContacts( java.lang.String key, com.google.cloud.securitycenter.v1.ContactDetails value)9276     public Builder putContacts(
9277         java.lang.String key, com.google.cloud.securitycenter.v1.ContactDetails value) {
9278       if (key == null) {
9279         throw new NullPointerException("map key");
9280       }
9281       if (value == null) {
9282         throw new NullPointerException("map value");
9283       }
9284       internalGetMutableContacts().getMutableMap().put(key, value);
9285       bitField0_ |= 0x00800000;
9286       return this;
9287     }
9288     /**
9289      *
9290      *
9291      * <pre>
9292      * Output only. Map containing the points of contact for the given finding.
9293      * The key represents the type of contact, while the value contains a list of
9294      * all the contacts that pertain. Please refer to:
9295      * https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
9296      *     {
9297      *       "security": {
9298      *         "contacts": [
9299      *           {
9300      *             "email": "person1&#64;company.com"
9301      *           },
9302      *           {
9303      *             "email": "person2&#64;company.com"
9304      *           }
9305      *         ]
9306      *       }
9307      *     }
9308      * </pre>
9309      *
9310      * <code>
9311      * map&lt;string, .google.cloud.securitycenter.v1.ContactDetails&gt; contacts = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];
9312      * </code>
9313      */
putAllContacts( java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails> values)9314     public Builder putAllContacts(
9315         java.util.Map<java.lang.String, com.google.cloud.securitycenter.v1.ContactDetails> values) {
9316       internalGetMutableContacts().getMutableMap().putAll(values);
9317       bitField0_ |= 0x00800000;
9318       return this;
9319     }
9320 
9321     private java.util.List<com.google.cloud.securitycenter.v1.Compliance> compliances_ =
9322         java.util.Collections.emptyList();
9323 
ensureCompliancesIsMutable()9324     private void ensureCompliancesIsMutable() {
9325       if (!((bitField0_ & 0x01000000) != 0)) {
9326         compliances_ =
9327             new java.util.ArrayList<com.google.cloud.securitycenter.v1.Compliance>(compliances_);
9328         bitField0_ |= 0x01000000;
9329       }
9330     }
9331 
9332     private com.google.protobuf.RepeatedFieldBuilderV3<
9333             com.google.cloud.securitycenter.v1.Compliance,
9334             com.google.cloud.securitycenter.v1.Compliance.Builder,
9335             com.google.cloud.securitycenter.v1.ComplianceOrBuilder>
9336         compliancesBuilder_;
9337 
9338     /**
9339      *
9340      *
9341      * <pre>
9342      * Contains compliance information for security standards associated to the
9343      * finding.
9344      * </pre>
9345      *
9346      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9347      */
getCompliancesList()9348     public java.util.List<com.google.cloud.securitycenter.v1.Compliance> getCompliancesList() {
9349       if (compliancesBuilder_ == null) {
9350         return java.util.Collections.unmodifiableList(compliances_);
9351       } else {
9352         return compliancesBuilder_.getMessageList();
9353       }
9354     }
9355     /**
9356      *
9357      *
9358      * <pre>
9359      * Contains compliance information for security standards associated to the
9360      * finding.
9361      * </pre>
9362      *
9363      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9364      */
getCompliancesCount()9365     public int getCompliancesCount() {
9366       if (compliancesBuilder_ == null) {
9367         return compliances_.size();
9368       } else {
9369         return compliancesBuilder_.getCount();
9370       }
9371     }
9372     /**
9373      *
9374      *
9375      * <pre>
9376      * Contains compliance information for security standards associated to the
9377      * finding.
9378      * </pre>
9379      *
9380      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9381      */
getCompliances(int index)9382     public com.google.cloud.securitycenter.v1.Compliance getCompliances(int index) {
9383       if (compliancesBuilder_ == null) {
9384         return compliances_.get(index);
9385       } else {
9386         return compliancesBuilder_.getMessage(index);
9387       }
9388     }
9389     /**
9390      *
9391      *
9392      * <pre>
9393      * Contains compliance information for security standards associated to the
9394      * finding.
9395      * </pre>
9396      *
9397      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9398      */
setCompliances(int index, com.google.cloud.securitycenter.v1.Compliance value)9399     public Builder setCompliances(int index, com.google.cloud.securitycenter.v1.Compliance value) {
9400       if (compliancesBuilder_ == null) {
9401         if (value == null) {
9402           throw new NullPointerException();
9403         }
9404         ensureCompliancesIsMutable();
9405         compliances_.set(index, value);
9406         onChanged();
9407       } else {
9408         compliancesBuilder_.setMessage(index, value);
9409       }
9410       return this;
9411     }
9412     /**
9413      *
9414      *
9415      * <pre>
9416      * Contains compliance information for security standards associated to the
9417      * finding.
9418      * </pre>
9419      *
9420      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9421      */
setCompliances( int index, com.google.cloud.securitycenter.v1.Compliance.Builder builderForValue)9422     public Builder setCompliances(
9423         int index, com.google.cloud.securitycenter.v1.Compliance.Builder builderForValue) {
9424       if (compliancesBuilder_ == null) {
9425         ensureCompliancesIsMutable();
9426         compliances_.set(index, builderForValue.build());
9427         onChanged();
9428       } else {
9429         compliancesBuilder_.setMessage(index, builderForValue.build());
9430       }
9431       return this;
9432     }
9433     /**
9434      *
9435      *
9436      * <pre>
9437      * Contains compliance information for security standards associated to the
9438      * finding.
9439      * </pre>
9440      *
9441      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9442      */
addCompliances(com.google.cloud.securitycenter.v1.Compliance value)9443     public Builder addCompliances(com.google.cloud.securitycenter.v1.Compliance value) {
9444       if (compliancesBuilder_ == null) {
9445         if (value == null) {
9446           throw new NullPointerException();
9447         }
9448         ensureCompliancesIsMutable();
9449         compliances_.add(value);
9450         onChanged();
9451       } else {
9452         compliancesBuilder_.addMessage(value);
9453       }
9454       return this;
9455     }
9456     /**
9457      *
9458      *
9459      * <pre>
9460      * Contains compliance information for security standards associated to the
9461      * finding.
9462      * </pre>
9463      *
9464      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9465      */
addCompliances(int index, com.google.cloud.securitycenter.v1.Compliance value)9466     public Builder addCompliances(int index, com.google.cloud.securitycenter.v1.Compliance value) {
9467       if (compliancesBuilder_ == null) {
9468         if (value == null) {
9469           throw new NullPointerException();
9470         }
9471         ensureCompliancesIsMutable();
9472         compliances_.add(index, value);
9473         onChanged();
9474       } else {
9475         compliancesBuilder_.addMessage(index, value);
9476       }
9477       return this;
9478     }
9479     /**
9480      *
9481      *
9482      * <pre>
9483      * Contains compliance information for security standards associated to the
9484      * finding.
9485      * </pre>
9486      *
9487      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9488      */
addCompliances( com.google.cloud.securitycenter.v1.Compliance.Builder builderForValue)9489     public Builder addCompliances(
9490         com.google.cloud.securitycenter.v1.Compliance.Builder builderForValue) {
9491       if (compliancesBuilder_ == null) {
9492         ensureCompliancesIsMutable();
9493         compliances_.add(builderForValue.build());
9494         onChanged();
9495       } else {
9496         compliancesBuilder_.addMessage(builderForValue.build());
9497       }
9498       return this;
9499     }
9500     /**
9501      *
9502      *
9503      * <pre>
9504      * Contains compliance information for security standards associated to the
9505      * finding.
9506      * </pre>
9507      *
9508      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9509      */
addCompliances( int index, com.google.cloud.securitycenter.v1.Compliance.Builder builderForValue)9510     public Builder addCompliances(
9511         int index, com.google.cloud.securitycenter.v1.Compliance.Builder builderForValue) {
9512       if (compliancesBuilder_ == null) {
9513         ensureCompliancesIsMutable();
9514         compliances_.add(index, builderForValue.build());
9515         onChanged();
9516       } else {
9517         compliancesBuilder_.addMessage(index, builderForValue.build());
9518       }
9519       return this;
9520     }
9521     /**
9522      *
9523      *
9524      * <pre>
9525      * Contains compliance information for security standards associated to the
9526      * finding.
9527      * </pre>
9528      *
9529      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9530      */
addAllCompliances( java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.Compliance> values)9531     public Builder addAllCompliances(
9532         java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.Compliance> values) {
9533       if (compliancesBuilder_ == null) {
9534         ensureCompliancesIsMutable();
9535         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, compliances_);
9536         onChanged();
9537       } else {
9538         compliancesBuilder_.addAllMessages(values);
9539       }
9540       return this;
9541     }
9542     /**
9543      *
9544      *
9545      * <pre>
9546      * Contains compliance information for security standards associated to the
9547      * finding.
9548      * </pre>
9549      *
9550      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9551      */
clearCompliances()9552     public Builder clearCompliances() {
9553       if (compliancesBuilder_ == null) {
9554         compliances_ = java.util.Collections.emptyList();
9555         bitField0_ = (bitField0_ & ~0x01000000);
9556         onChanged();
9557       } else {
9558         compliancesBuilder_.clear();
9559       }
9560       return this;
9561     }
9562     /**
9563      *
9564      *
9565      * <pre>
9566      * Contains compliance information for security standards associated to the
9567      * finding.
9568      * </pre>
9569      *
9570      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9571      */
removeCompliances(int index)9572     public Builder removeCompliances(int index) {
9573       if (compliancesBuilder_ == null) {
9574         ensureCompliancesIsMutable();
9575         compliances_.remove(index);
9576         onChanged();
9577       } else {
9578         compliancesBuilder_.remove(index);
9579       }
9580       return this;
9581     }
9582     /**
9583      *
9584      *
9585      * <pre>
9586      * Contains compliance information for security standards associated to the
9587      * finding.
9588      * </pre>
9589      *
9590      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9591      */
getCompliancesBuilder(int index)9592     public com.google.cloud.securitycenter.v1.Compliance.Builder getCompliancesBuilder(int index) {
9593       return getCompliancesFieldBuilder().getBuilder(index);
9594     }
9595     /**
9596      *
9597      *
9598      * <pre>
9599      * Contains compliance information for security standards associated to the
9600      * finding.
9601      * </pre>
9602      *
9603      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9604      */
getCompliancesOrBuilder( int index)9605     public com.google.cloud.securitycenter.v1.ComplianceOrBuilder getCompliancesOrBuilder(
9606         int index) {
9607       if (compliancesBuilder_ == null) {
9608         return compliances_.get(index);
9609       } else {
9610         return compliancesBuilder_.getMessageOrBuilder(index);
9611       }
9612     }
9613     /**
9614      *
9615      *
9616      * <pre>
9617      * Contains compliance information for security standards associated to the
9618      * finding.
9619      * </pre>
9620      *
9621      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9622      */
9623     public java.util.List<? extends com.google.cloud.securitycenter.v1.ComplianceOrBuilder>
getCompliancesOrBuilderList()9624         getCompliancesOrBuilderList() {
9625       if (compliancesBuilder_ != null) {
9626         return compliancesBuilder_.getMessageOrBuilderList();
9627       } else {
9628         return java.util.Collections.unmodifiableList(compliances_);
9629       }
9630     }
9631     /**
9632      *
9633      *
9634      * <pre>
9635      * Contains compliance information for security standards associated to the
9636      * finding.
9637      * </pre>
9638      *
9639      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9640      */
addCompliancesBuilder()9641     public com.google.cloud.securitycenter.v1.Compliance.Builder addCompliancesBuilder() {
9642       return getCompliancesFieldBuilder()
9643           .addBuilder(com.google.cloud.securitycenter.v1.Compliance.getDefaultInstance());
9644     }
9645     /**
9646      *
9647      *
9648      * <pre>
9649      * Contains compliance information for security standards associated to the
9650      * finding.
9651      * </pre>
9652      *
9653      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9654      */
addCompliancesBuilder(int index)9655     public com.google.cloud.securitycenter.v1.Compliance.Builder addCompliancesBuilder(int index) {
9656       return getCompliancesFieldBuilder()
9657           .addBuilder(index, com.google.cloud.securitycenter.v1.Compliance.getDefaultInstance());
9658     }
9659     /**
9660      *
9661      *
9662      * <pre>
9663      * Contains compliance information for security standards associated to the
9664      * finding.
9665      * </pre>
9666      *
9667      * <code>repeated .google.cloud.securitycenter.v1.Compliance compliances = 34;</code>
9668      */
9669     public java.util.List<com.google.cloud.securitycenter.v1.Compliance.Builder>
getCompliancesBuilderList()9670         getCompliancesBuilderList() {
9671       return getCompliancesFieldBuilder().getBuilderList();
9672     }
9673 
9674     private com.google.protobuf.RepeatedFieldBuilderV3<
9675             com.google.cloud.securitycenter.v1.Compliance,
9676             com.google.cloud.securitycenter.v1.Compliance.Builder,
9677             com.google.cloud.securitycenter.v1.ComplianceOrBuilder>
getCompliancesFieldBuilder()9678         getCompliancesFieldBuilder() {
9679       if (compliancesBuilder_ == null) {
9680         compliancesBuilder_ =
9681             new com.google.protobuf.RepeatedFieldBuilderV3<
9682                 com.google.cloud.securitycenter.v1.Compliance,
9683                 com.google.cloud.securitycenter.v1.Compliance.Builder,
9684                 com.google.cloud.securitycenter.v1.ComplianceOrBuilder>(
9685                 compliances_, ((bitField0_ & 0x01000000) != 0), getParentForChildren(), isClean());
9686         compliances_ = null;
9687       }
9688       return compliancesBuilder_;
9689     }
9690 
9691     private java.lang.Object parentDisplayName_ = "";
9692     /**
9693      *
9694      *
9695      * <pre>
9696      * Output only. The human readable display name of the finding source such as
9697      * "Event Threat Detection" or "Security Health Analytics".
9698      * </pre>
9699      *
9700      * <code>string parent_display_name = 36 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
9701      *
9702      * @return The parentDisplayName.
9703      */
getParentDisplayName()9704     public java.lang.String getParentDisplayName() {
9705       java.lang.Object ref = parentDisplayName_;
9706       if (!(ref instanceof java.lang.String)) {
9707         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9708         java.lang.String s = bs.toStringUtf8();
9709         parentDisplayName_ = s;
9710         return s;
9711       } else {
9712         return (java.lang.String) ref;
9713       }
9714     }
9715     /**
9716      *
9717      *
9718      * <pre>
9719      * Output only. The human readable display name of the finding source such as
9720      * "Event Threat Detection" or "Security Health Analytics".
9721      * </pre>
9722      *
9723      * <code>string parent_display_name = 36 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
9724      *
9725      * @return The bytes for parentDisplayName.
9726      */
getParentDisplayNameBytes()9727     public com.google.protobuf.ByteString getParentDisplayNameBytes() {
9728       java.lang.Object ref = parentDisplayName_;
9729       if (ref instanceof String) {
9730         com.google.protobuf.ByteString b =
9731             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9732         parentDisplayName_ = b;
9733         return b;
9734       } else {
9735         return (com.google.protobuf.ByteString) ref;
9736       }
9737     }
9738     /**
9739      *
9740      *
9741      * <pre>
9742      * Output only. The human readable display name of the finding source such as
9743      * "Event Threat Detection" or "Security Health Analytics".
9744      * </pre>
9745      *
9746      * <code>string parent_display_name = 36 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
9747      *
9748      * @param value The parentDisplayName to set.
9749      * @return This builder for chaining.
9750      */
setParentDisplayName(java.lang.String value)9751     public Builder setParentDisplayName(java.lang.String value) {
9752       if (value == null) {
9753         throw new NullPointerException();
9754       }
9755       parentDisplayName_ = value;
9756       bitField0_ |= 0x02000000;
9757       onChanged();
9758       return this;
9759     }
9760     /**
9761      *
9762      *
9763      * <pre>
9764      * Output only. The human readable display name of the finding source such as
9765      * "Event Threat Detection" or "Security Health Analytics".
9766      * </pre>
9767      *
9768      * <code>string parent_display_name = 36 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
9769      *
9770      * @return This builder for chaining.
9771      */
clearParentDisplayName()9772     public Builder clearParentDisplayName() {
9773       parentDisplayName_ = getDefaultInstance().getParentDisplayName();
9774       bitField0_ = (bitField0_ & ~0x02000000);
9775       onChanged();
9776       return this;
9777     }
9778     /**
9779      *
9780      *
9781      * <pre>
9782      * Output only. The human readable display name of the finding source such as
9783      * "Event Threat Detection" or "Security Health Analytics".
9784      * </pre>
9785      *
9786      * <code>string parent_display_name = 36 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
9787      *
9788      * @param value The bytes for parentDisplayName to set.
9789      * @return This builder for chaining.
9790      */
setParentDisplayNameBytes(com.google.protobuf.ByteString value)9791     public Builder setParentDisplayNameBytes(com.google.protobuf.ByteString value) {
9792       if (value == null) {
9793         throw new NullPointerException();
9794       }
9795       checkByteStringIsUtf8(value);
9796       parentDisplayName_ = value;
9797       bitField0_ |= 0x02000000;
9798       onChanged();
9799       return this;
9800     }
9801 
9802     private java.lang.Object description_ = "";
9803     /**
9804      *
9805      *
9806      * <pre>
9807      * Contains more details about the finding.
9808      * </pre>
9809      *
9810      * <code>string description = 37;</code>
9811      *
9812      * @return The description.
9813      */
getDescription()9814     public java.lang.String getDescription() {
9815       java.lang.Object ref = description_;
9816       if (!(ref instanceof java.lang.String)) {
9817         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9818         java.lang.String s = bs.toStringUtf8();
9819         description_ = s;
9820         return s;
9821       } else {
9822         return (java.lang.String) ref;
9823       }
9824     }
9825     /**
9826      *
9827      *
9828      * <pre>
9829      * Contains more details about the finding.
9830      * </pre>
9831      *
9832      * <code>string description = 37;</code>
9833      *
9834      * @return The bytes for description.
9835      */
getDescriptionBytes()9836     public com.google.protobuf.ByteString getDescriptionBytes() {
9837       java.lang.Object ref = description_;
9838       if (ref instanceof String) {
9839         com.google.protobuf.ByteString b =
9840             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9841         description_ = b;
9842         return b;
9843       } else {
9844         return (com.google.protobuf.ByteString) ref;
9845       }
9846     }
9847     /**
9848      *
9849      *
9850      * <pre>
9851      * Contains more details about the finding.
9852      * </pre>
9853      *
9854      * <code>string description = 37;</code>
9855      *
9856      * @param value The description to set.
9857      * @return This builder for chaining.
9858      */
setDescription(java.lang.String value)9859     public Builder setDescription(java.lang.String value) {
9860       if (value == null) {
9861         throw new NullPointerException();
9862       }
9863       description_ = value;
9864       bitField0_ |= 0x04000000;
9865       onChanged();
9866       return this;
9867     }
9868     /**
9869      *
9870      *
9871      * <pre>
9872      * Contains more details about the finding.
9873      * </pre>
9874      *
9875      * <code>string description = 37;</code>
9876      *
9877      * @return This builder for chaining.
9878      */
clearDescription()9879     public Builder clearDescription() {
9880       description_ = getDefaultInstance().getDescription();
9881       bitField0_ = (bitField0_ & ~0x04000000);
9882       onChanged();
9883       return this;
9884     }
9885     /**
9886      *
9887      *
9888      * <pre>
9889      * Contains more details about the finding.
9890      * </pre>
9891      *
9892      * <code>string description = 37;</code>
9893      *
9894      * @param value The bytes for description to set.
9895      * @return This builder for chaining.
9896      */
setDescriptionBytes(com.google.protobuf.ByteString value)9897     public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
9898       if (value == null) {
9899         throw new NullPointerException();
9900       }
9901       checkByteStringIsUtf8(value);
9902       description_ = value;
9903       bitField0_ |= 0x04000000;
9904       onChanged();
9905       return this;
9906     }
9907 
9908     private com.google.cloud.securitycenter.v1.Exfiltration exfiltration_;
9909     private com.google.protobuf.SingleFieldBuilderV3<
9910             com.google.cloud.securitycenter.v1.Exfiltration,
9911             com.google.cloud.securitycenter.v1.Exfiltration.Builder,
9912             com.google.cloud.securitycenter.v1.ExfiltrationOrBuilder>
9913         exfiltrationBuilder_;
9914     /**
9915      *
9916      *
9917      * <pre>
9918      * Represents exfiltrations associated with the finding.
9919      * </pre>
9920      *
9921      * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
9922      *
9923      * @return Whether the exfiltration field is set.
9924      */
hasExfiltration()9925     public boolean hasExfiltration() {
9926       return ((bitField0_ & 0x08000000) != 0);
9927     }
9928     /**
9929      *
9930      *
9931      * <pre>
9932      * Represents exfiltrations associated with the finding.
9933      * </pre>
9934      *
9935      * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
9936      *
9937      * @return The exfiltration.
9938      */
getExfiltration()9939     public com.google.cloud.securitycenter.v1.Exfiltration getExfiltration() {
9940       if (exfiltrationBuilder_ == null) {
9941         return exfiltration_ == null
9942             ? com.google.cloud.securitycenter.v1.Exfiltration.getDefaultInstance()
9943             : exfiltration_;
9944       } else {
9945         return exfiltrationBuilder_.getMessage();
9946       }
9947     }
9948     /**
9949      *
9950      *
9951      * <pre>
9952      * Represents exfiltrations associated with the finding.
9953      * </pre>
9954      *
9955      * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
9956      */
setExfiltration(com.google.cloud.securitycenter.v1.Exfiltration value)9957     public Builder setExfiltration(com.google.cloud.securitycenter.v1.Exfiltration value) {
9958       if (exfiltrationBuilder_ == null) {
9959         if (value == null) {
9960           throw new NullPointerException();
9961         }
9962         exfiltration_ = value;
9963       } else {
9964         exfiltrationBuilder_.setMessage(value);
9965       }
9966       bitField0_ |= 0x08000000;
9967       onChanged();
9968       return this;
9969     }
9970     /**
9971      *
9972      *
9973      * <pre>
9974      * Represents exfiltrations associated with the finding.
9975      * </pre>
9976      *
9977      * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
9978      */
setExfiltration( com.google.cloud.securitycenter.v1.Exfiltration.Builder builderForValue)9979     public Builder setExfiltration(
9980         com.google.cloud.securitycenter.v1.Exfiltration.Builder builderForValue) {
9981       if (exfiltrationBuilder_ == null) {
9982         exfiltration_ = builderForValue.build();
9983       } else {
9984         exfiltrationBuilder_.setMessage(builderForValue.build());
9985       }
9986       bitField0_ |= 0x08000000;
9987       onChanged();
9988       return this;
9989     }
9990     /**
9991      *
9992      *
9993      * <pre>
9994      * Represents exfiltrations associated with the finding.
9995      * </pre>
9996      *
9997      * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
9998      */
mergeExfiltration(com.google.cloud.securitycenter.v1.Exfiltration value)9999     public Builder mergeExfiltration(com.google.cloud.securitycenter.v1.Exfiltration value) {
10000       if (exfiltrationBuilder_ == null) {
10001         if (((bitField0_ & 0x08000000) != 0)
10002             && exfiltration_ != null
10003             && exfiltration_
10004                 != com.google.cloud.securitycenter.v1.Exfiltration.getDefaultInstance()) {
10005           getExfiltrationBuilder().mergeFrom(value);
10006         } else {
10007           exfiltration_ = value;
10008         }
10009       } else {
10010         exfiltrationBuilder_.mergeFrom(value);
10011       }
10012       bitField0_ |= 0x08000000;
10013       onChanged();
10014       return this;
10015     }
10016     /**
10017      *
10018      *
10019      * <pre>
10020      * Represents exfiltrations associated with the finding.
10021      * </pre>
10022      *
10023      * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
10024      */
clearExfiltration()10025     public Builder clearExfiltration() {
10026       bitField0_ = (bitField0_ & ~0x08000000);
10027       exfiltration_ = null;
10028       if (exfiltrationBuilder_ != null) {
10029         exfiltrationBuilder_.dispose();
10030         exfiltrationBuilder_ = null;
10031       }
10032       onChanged();
10033       return this;
10034     }
10035     /**
10036      *
10037      *
10038      * <pre>
10039      * Represents exfiltrations associated with the finding.
10040      * </pre>
10041      *
10042      * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
10043      */
getExfiltrationBuilder()10044     public com.google.cloud.securitycenter.v1.Exfiltration.Builder getExfiltrationBuilder() {
10045       bitField0_ |= 0x08000000;
10046       onChanged();
10047       return getExfiltrationFieldBuilder().getBuilder();
10048     }
10049     /**
10050      *
10051      *
10052      * <pre>
10053      * Represents exfiltrations associated with the finding.
10054      * </pre>
10055      *
10056      * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
10057      */
getExfiltrationOrBuilder()10058     public com.google.cloud.securitycenter.v1.ExfiltrationOrBuilder getExfiltrationOrBuilder() {
10059       if (exfiltrationBuilder_ != null) {
10060         return exfiltrationBuilder_.getMessageOrBuilder();
10061       } else {
10062         return exfiltration_ == null
10063             ? com.google.cloud.securitycenter.v1.Exfiltration.getDefaultInstance()
10064             : exfiltration_;
10065       }
10066     }
10067     /**
10068      *
10069      *
10070      * <pre>
10071      * Represents exfiltrations associated with the finding.
10072      * </pre>
10073      *
10074      * <code>.google.cloud.securitycenter.v1.Exfiltration exfiltration = 38;</code>
10075      */
10076     private com.google.protobuf.SingleFieldBuilderV3<
10077             com.google.cloud.securitycenter.v1.Exfiltration,
10078             com.google.cloud.securitycenter.v1.Exfiltration.Builder,
10079             com.google.cloud.securitycenter.v1.ExfiltrationOrBuilder>
getExfiltrationFieldBuilder()10080         getExfiltrationFieldBuilder() {
10081       if (exfiltrationBuilder_ == null) {
10082         exfiltrationBuilder_ =
10083             new com.google.protobuf.SingleFieldBuilderV3<
10084                 com.google.cloud.securitycenter.v1.Exfiltration,
10085                 com.google.cloud.securitycenter.v1.Exfiltration.Builder,
10086                 com.google.cloud.securitycenter.v1.ExfiltrationOrBuilder>(
10087                 getExfiltration(), getParentForChildren(), isClean());
10088         exfiltration_ = null;
10089       }
10090       return exfiltrationBuilder_;
10091     }
10092 
10093     private java.util.List<com.google.cloud.securitycenter.v1.IamBinding> iamBindings_ =
10094         java.util.Collections.emptyList();
10095 
ensureIamBindingsIsMutable()10096     private void ensureIamBindingsIsMutable() {
10097       if (!((bitField0_ & 0x10000000) != 0)) {
10098         iamBindings_ =
10099             new java.util.ArrayList<com.google.cloud.securitycenter.v1.IamBinding>(iamBindings_);
10100         bitField0_ |= 0x10000000;
10101       }
10102     }
10103 
10104     private com.google.protobuf.RepeatedFieldBuilderV3<
10105             com.google.cloud.securitycenter.v1.IamBinding,
10106             com.google.cloud.securitycenter.v1.IamBinding.Builder,
10107             com.google.cloud.securitycenter.v1.IamBindingOrBuilder>
10108         iamBindingsBuilder_;
10109 
10110     /**
10111      *
10112      *
10113      * <pre>
10114      * Represents IAM bindings associated with the finding.
10115      * </pre>
10116      *
10117      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10118      */
getIamBindingsList()10119     public java.util.List<com.google.cloud.securitycenter.v1.IamBinding> getIamBindingsList() {
10120       if (iamBindingsBuilder_ == null) {
10121         return java.util.Collections.unmodifiableList(iamBindings_);
10122       } else {
10123         return iamBindingsBuilder_.getMessageList();
10124       }
10125     }
10126     /**
10127      *
10128      *
10129      * <pre>
10130      * Represents IAM bindings associated with the finding.
10131      * </pre>
10132      *
10133      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10134      */
getIamBindingsCount()10135     public int getIamBindingsCount() {
10136       if (iamBindingsBuilder_ == null) {
10137         return iamBindings_.size();
10138       } else {
10139         return iamBindingsBuilder_.getCount();
10140       }
10141     }
10142     /**
10143      *
10144      *
10145      * <pre>
10146      * Represents IAM bindings associated with the finding.
10147      * </pre>
10148      *
10149      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10150      */
getIamBindings(int index)10151     public com.google.cloud.securitycenter.v1.IamBinding getIamBindings(int index) {
10152       if (iamBindingsBuilder_ == null) {
10153         return iamBindings_.get(index);
10154       } else {
10155         return iamBindingsBuilder_.getMessage(index);
10156       }
10157     }
10158     /**
10159      *
10160      *
10161      * <pre>
10162      * Represents IAM bindings associated with the finding.
10163      * </pre>
10164      *
10165      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10166      */
setIamBindings(int index, com.google.cloud.securitycenter.v1.IamBinding value)10167     public Builder setIamBindings(int index, com.google.cloud.securitycenter.v1.IamBinding value) {
10168       if (iamBindingsBuilder_ == null) {
10169         if (value == null) {
10170           throw new NullPointerException();
10171         }
10172         ensureIamBindingsIsMutable();
10173         iamBindings_.set(index, value);
10174         onChanged();
10175       } else {
10176         iamBindingsBuilder_.setMessage(index, value);
10177       }
10178       return this;
10179     }
10180     /**
10181      *
10182      *
10183      * <pre>
10184      * Represents IAM bindings associated with the finding.
10185      * </pre>
10186      *
10187      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10188      */
setIamBindings( int index, com.google.cloud.securitycenter.v1.IamBinding.Builder builderForValue)10189     public Builder setIamBindings(
10190         int index, com.google.cloud.securitycenter.v1.IamBinding.Builder builderForValue) {
10191       if (iamBindingsBuilder_ == null) {
10192         ensureIamBindingsIsMutable();
10193         iamBindings_.set(index, builderForValue.build());
10194         onChanged();
10195       } else {
10196         iamBindingsBuilder_.setMessage(index, builderForValue.build());
10197       }
10198       return this;
10199     }
10200     /**
10201      *
10202      *
10203      * <pre>
10204      * Represents IAM bindings associated with the finding.
10205      * </pre>
10206      *
10207      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10208      */
addIamBindings(com.google.cloud.securitycenter.v1.IamBinding value)10209     public Builder addIamBindings(com.google.cloud.securitycenter.v1.IamBinding value) {
10210       if (iamBindingsBuilder_ == null) {
10211         if (value == null) {
10212           throw new NullPointerException();
10213         }
10214         ensureIamBindingsIsMutable();
10215         iamBindings_.add(value);
10216         onChanged();
10217       } else {
10218         iamBindingsBuilder_.addMessage(value);
10219       }
10220       return this;
10221     }
10222     /**
10223      *
10224      *
10225      * <pre>
10226      * Represents IAM bindings associated with the finding.
10227      * </pre>
10228      *
10229      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10230      */
addIamBindings(int index, com.google.cloud.securitycenter.v1.IamBinding value)10231     public Builder addIamBindings(int index, com.google.cloud.securitycenter.v1.IamBinding value) {
10232       if (iamBindingsBuilder_ == null) {
10233         if (value == null) {
10234           throw new NullPointerException();
10235         }
10236         ensureIamBindingsIsMutable();
10237         iamBindings_.add(index, value);
10238         onChanged();
10239       } else {
10240         iamBindingsBuilder_.addMessage(index, value);
10241       }
10242       return this;
10243     }
10244     /**
10245      *
10246      *
10247      * <pre>
10248      * Represents IAM bindings associated with the finding.
10249      * </pre>
10250      *
10251      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10252      */
addIamBindings( com.google.cloud.securitycenter.v1.IamBinding.Builder builderForValue)10253     public Builder addIamBindings(
10254         com.google.cloud.securitycenter.v1.IamBinding.Builder builderForValue) {
10255       if (iamBindingsBuilder_ == null) {
10256         ensureIamBindingsIsMutable();
10257         iamBindings_.add(builderForValue.build());
10258         onChanged();
10259       } else {
10260         iamBindingsBuilder_.addMessage(builderForValue.build());
10261       }
10262       return this;
10263     }
10264     /**
10265      *
10266      *
10267      * <pre>
10268      * Represents IAM bindings associated with the finding.
10269      * </pre>
10270      *
10271      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10272      */
addIamBindings( int index, com.google.cloud.securitycenter.v1.IamBinding.Builder builderForValue)10273     public Builder addIamBindings(
10274         int index, com.google.cloud.securitycenter.v1.IamBinding.Builder builderForValue) {
10275       if (iamBindingsBuilder_ == null) {
10276         ensureIamBindingsIsMutable();
10277         iamBindings_.add(index, builderForValue.build());
10278         onChanged();
10279       } else {
10280         iamBindingsBuilder_.addMessage(index, builderForValue.build());
10281       }
10282       return this;
10283     }
10284     /**
10285      *
10286      *
10287      * <pre>
10288      * Represents IAM bindings associated with the finding.
10289      * </pre>
10290      *
10291      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10292      */
addAllIamBindings( java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.IamBinding> values)10293     public Builder addAllIamBindings(
10294         java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.IamBinding> values) {
10295       if (iamBindingsBuilder_ == null) {
10296         ensureIamBindingsIsMutable();
10297         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, iamBindings_);
10298         onChanged();
10299       } else {
10300         iamBindingsBuilder_.addAllMessages(values);
10301       }
10302       return this;
10303     }
10304     /**
10305      *
10306      *
10307      * <pre>
10308      * Represents IAM bindings associated with the finding.
10309      * </pre>
10310      *
10311      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10312      */
clearIamBindings()10313     public Builder clearIamBindings() {
10314       if (iamBindingsBuilder_ == null) {
10315         iamBindings_ = java.util.Collections.emptyList();
10316         bitField0_ = (bitField0_ & ~0x10000000);
10317         onChanged();
10318       } else {
10319         iamBindingsBuilder_.clear();
10320       }
10321       return this;
10322     }
10323     /**
10324      *
10325      *
10326      * <pre>
10327      * Represents IAM bindings associated with the finding.
10328      * </pre>
10329      *
10330      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10331      */
removeIamBindings(int index)10332     public Builder removeIamBindings(int index) {
10333       if (iamBindingsBuilder_ == null) {
10334         ensureIamBindingsIsMutable();
10335         iamBindings_.remove(index);
10336         onChanged();
10337       } else {
10338         iamBindingsBuilder_.remove(index);
10339       }
10340       return this;
10341     }
10342     /**
10343      *
10344      *
10345      * <pre>
10346      * Represents IAM bindings associated with the finding.
10347      * </pre>
10348      *
10349      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10350      */
getIamBindingsBuilder(int index)10351     public com.google.cloud.securitycenter.v1.IamBinding.Builder getIamBindingsBuilder(int index) {
10352       return getIamBindingsFieldBuilder().getBuilder(index);
10353     }
10354     /**
10355      *
10356      *
10357      * <pre>
10358      * Represents IAM bindings associated with the finding.
10359      * </pre>
10360      *
10361      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10362      */
getIamBindingsOrBuilder( int index)10363     public com.google.cloud.securitycenter.v1.IamBindingOrBuilder getIamBindingsOrBuilder(
10364         int index) {
10365       if (iamBindingsBuilder_ == null) {
10366         return iamBindings_.get(index);
10367       } else {
10368         return iamBindingsBuilder_.getMessageOrBuilder(index);
10369       }
10370     }
10371     /**
10372      *
10373      *
10374      * <pre>
10375      * Represents IAM bindings associated with the finding.
10376      * </pre>
10377      *
10378      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10379      */
10380     public java.util.List<? extends com.google.cloud.securitycenter.v1.IamBindingOrBuilder>
getIamBindingsOrBuilderList()10381         getIamBindingsOrBuilderList() {
10382       if (iamBindingsBuilder_ != null) {
10383         return iamBindingsBuilder_.getMessageOrBuilderList();
10384       } else {
10385         return java.util.Collections.unmodifiableList(iamBindings_);
10386       }
10387     }
10388     /**
10389      *
10390      *
10391      * <pre>
10392      * Represents IAM bindings associated with the finding.
10393      * </pre>
10394      *
10395      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10396      */
addIamBindingsBuilder()10397     public com.google.cloud.securitycenter.v1.IamBinding.Builder addIamBindingsBuilder() {
10398       return getIamBindingsFieldBuilder()
10399           .addBuilder(com.google.cloud.securitycenter.v1.IamBinding.getDefaultInstance());
10400     }
10401     /**
10402      *
10403      *
10404      * <pre>
10405      * Represents IAM bindings associated with the finding.
10406      * </pre>
10407      *
10408      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10409      */
addIamBindingsBuilder(int index)10410     public com.google.cloud.securitycenter.v1.IamBinding.Builder addIamBindingsBuilder(int index) {
10411       return getIamBindingsFieldBuilder()
10412           .addBuilder(index, com.google.cloud.securitycenter.v1.IamBinding.getDefaultInstance());
10413     }
10414     /**
10415      *
10416      *
10417      * <pre>
10418      * Represents IAM bindings associated with the finding.
10419      * </pre>
10420      *
10421      * <code>repeated .google.cloud.securitycenter.v1.IamBinding iam_bindings = 39;</code>
10422      */
10423     public java.util.List<com.google.cloud.securitycenter.v1.IamBinding.Builder>
getIamBindingsBuilderList()10424         getIamBindingsBuilderList() {
10425       return getIamBindingsFieldBuilder().getBuilderList();
10426     }
10427 
10428     private com.google.protobuf.RepeatedFieldBuilderV3<
10429             com.google.cloud.securitycenter.v1.IamBinding,
10430             com.google.cloud.securitycenter.v1.IamBinding.Builder,
10431             com.google.cloud.securitycenter.v1.IamBindingOrBuilder>
getIamBindingsFieldBuilder()10432         getIamBindingsFieldBuilder() {
10433       if (iamBindingsBuilder_ == null) {
10434         iamBindingsBuilder_ =
10435             new com.google.protobuf.RepeatedFieldBuilderV3<
10436                 com.google.cloud.securitycenter.v1.IamBinding,
10437                 com.google.cloud.securitycenter.v1.IamBinding.Builder,
10438                 com.google.cloud.securitycenter.v1.IamBindingOrBuilder>(
10439                 iamBindings_, ((bitField0_ & 0x10000000) != 0), getParentForChildren(), isClean());
10440         iamBindings_ = null;
10441       }
10442       return iamBindingsBuilder_;
10443     }
10444 
10445     private java.lang.Object nextSteps_ = "";
10446     /**
10447      *
10448      *
10449      * <pre>
10450      * Steps to address the finding.
10451      * </pre>
10452      *
10453      * <code>string next_steps = 40;</code>
10454      *
10455      * @return The nextSteps.
10456      */
getNextSteps()10457     public java.lang.String getNextSteps() {
10458       java.lang.Object ref = nextSteps_;
10459       if (!(ref instanceof java.lang.String)) {
10460         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
10461         java.lang.String s = bs.toStringUtf8();
10462         nextSteps_ = s;
10463         return s;
10464       } else {
10465         return (java.lang.String) ref;
10466       }
10467     }
10468     /**
10469      *
10470      *
10471      * <pre>
10472      * Steps to address the finding.
10473      * </pre>
10474      *
10475      * <code>string next_steps = 40;</code>
10476      *
10477      * @return The bytes for nextSteps.
10478      */
getNextStepsBytes()10479     public com.google.protobuf.ByteString getNextStepsBytes() {
10480       java.lang.Object ref = nextSteps_;
10481       if (ref instanceof String) {
10482         com.google.protobuf.ByteString b =
10483             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
10484         nextSteps_ = b;
10485         return b;
10486       } else {
10487         return (com.google.protobuf.ByteString) ref;
10488       }
10489     }
10490     /**
10491      *
10492      *
10493      * <pre>
10494      * Steps to address the finding.
10495      * </pre>
10496      *
10497      * <code>string next_steps = 40;</code>
10498      *
10499      * @param value The nextSteps to set.
10500      * @return This builder for chaining.
10501      */
setNextSteps(java.lang.String value)10502     public Builder setNextSteps(java.lang.String value) {
10503       if (value == null) {
10504         throw new NullPointerException();
10505       }
10506       nextSteps_ = value;
10507       bitField0_ |= 0x20000000;
10508       onChanged();
10509       return this;
10510     }
10511     /**
10512      *
10513      *
10514      * <pre>
10515      * Steps to address the finding.
10516      * </pre>
10517      *
10518      * <code>string next_steps = 40;</code>
10519      *
10520      * @return This builder for chaining.
10521      */
clearNextSteps()10522     public Builder clearNextSteps() {
10523       nextSteps_ = getDefaultInstance().getNextSteps();
10524       bitField0_ = (bitField0_ & ~0x20000000);
10525       onChanged();
10526       return this;
10527     }
10528     /**
10529      *
10530      *
10531      * <pre>
10532      * Steps to address the finding.
10533      * </pre>
10534      *
10535      * <code>string next_steps = 40;</code>
10536      *
10537      * @param value The bytes for nextSteps to set.
10538      * @return This builder for chaining.
10539      */
setNextStepsBytes(com.google.protobuf.ByteString value)10540     public Builder setNextStepsBytes(com.google.protobuf.ByteString value) {
10541       if (value == null) {
10542         throw new NullPointerException();
10543       }
10544       checkByteStringIsUtf8(value);
10545       nextSteps_ = value;
10546       bitField0_ |= 0x20000000;
10547       onChanged();
10548       return this;
10549     }
10550 
10551     private java.lang.Object moduleName_ = "";
10552     /**
10553      *
10554      *
10555      * <pre>
10556      * Unique identifier of the module which generated the finding.
10557      * Example:
10558      * folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
10559      * </pre>
10560      *
10561      * <code>string module_name = 41;</code>
10562      *
10563      * @return The moduleName.
10564      */
getModuleName()10565     public java.lang.String getModuleName() {
10566       java.lang.Object ref = moduleName_;
10567       if (!(ref instanceof java.lang.String)) {
10568         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
10569         java.lang.String s = bs.toStringUtf8();
10570         moduleName_ = s;
10571         return s;
10572       } else {
10573         return (java.lang.String) ref;
10574       }
10575     }
10576     /**
10577      *
10578      *
10579      * <pre>
10580      * Unique identifier of the module which generated the finding.
10581      * Example:
10582      * folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
10583      * </pre>
10584      *
10585      * <code>string module_name = 41;</code>
10586      *
10587      * @return The bytes for moduleName.
10588      */
getModuleNameBytes()10589     public com.google.protobuf.ByteString getModuleNameBytes() {
10590       java.lang.Object ref = moduleName_;
10591       if (ref instanceof String) {
10592         com.google.protobuf.ByteString b =
10593             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
10594         moduleName_ = b;
10595         return b;
10596       } else {
10597         return (com.google.protobuf.ByteString) ref;
10598       }
10599     }
10600     /**
10601      *
10602      *
10603      * <pre>
10604      * Unique identifier of the module which generated the finding.
10605      * Example:
10606      * folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
10607      * </pre>
10608      *
10609      * <code>string module_name = 41;</code>
10610      *
10611      * @param value The moduleName to set.
10612      * @return This builder for chaining.
10613      */
setModuleName(java.lang.String value)10614     public Builder setModuleName(java.lang.String value) {
10615       if (value == null) {
10616         throw new NullPointerException();
10617       }
10618       moduleName_ = value;
10619       bitField0_ |= 0x40000000;
10620       onChanged();
10621       return this;
10622     }
10623     /**
10624      *
10625      *
10626      * <pre>
10627      * Unique identifier of the module which generated the finding.
10628      * Example:
10629      * folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
10630      * </pre>
10631      *
10632      * <code>string module_name = 41;</code>
10633      *
10634      * @return This builder for chaining.
10635      */
clearModuleName()10636     public Builder clearModuleName() {
10637       moduleName_ = getDefaultInstance().getModuleName();
10638       bitField0_ = (bitField0_ & ~0x40000000);
10639       onChanged();
10640       return this;
10641     }
10642     /**
10643      *
10644      *
10645      * <pre>
10646      * Unique identifier of the module which generated the finding.
10647      * Example:
10648      * folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
10649      * </pre>
10650      *
10651      * <code>string module_name = 41;</code>
10652      *
10653      * @param value The bytes for moduleName to set.
10654      * @return This builder for chaining.
10655      */
setModuleNameBytes(com.google.protobuf.ByteString value)10656     public Builder setModuleNameBytes(com.google.protobuf.ByteString value) {
10657       if (value == null) {
10658         throw new NullPointerException();
10659       }
10660       checkByteStringIsUtf8(value);
10661       moduleName_ = value;
10662       bitField0_ |= 0x40000000;
10663       onChanged();
10664       return this;
10665     }
10666 
10667     private java.util.List<com.google.cloud.securitycenter.v1.Container> containers_ =
10668         java.util.Collections.emptyList();
10669 
ensureContainersIsMutable()10670     private void ensureContainersIsMutable() {
10671       if (!((bitField0_ & 0x80000000) != 0)) {
10672         containers_ =
10673             new java.util.ArrayList<com.google.cloud.securitycenter.v1.Container>(containers_);
10674         bitField0_ |= 0x80000000;
10675       }
10676     }
10677 
10678     private com.google.protobuf.RepeatedFieldBuilderV3<
10679             com.google.cloud.securitycenter.v1.Container,
10680             com.google.cloud.securitycenter.v1.Container.Builder,
10681             com.google.cloud.securitycenter.v1.ContainerOrBuilder>
10682         containersBuilder_;
10683 
10684     /**
10685      *
10686      *
10687      * <pre>
10688      * Containers associated with the finding. This field provides information for
10689      * both Kubernetes and non-Kubernetes containers.
10690      * </pre>
10691      *
10692      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10693      */
getContainersList()10694     public java.util.List<com.google.cloud.securitycenter.v1.Container> getContainersList() {
10695       if (containersBuilder_ == null) {
10696         return java.util.Collections.unmodifiableList(containers_);
10697       } else {
10698         return containersBuilder_.getMessageList();
10699       }
10700     }
10701     /**
10702      *
10703      *
10704      * <pre>
10705      * Containers associated with the finding. This field provides information for
10706      * both Kubernetes and non-Kubernetes containers.
10707      * </pre>
10708      *
10709      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10710      */
getContainersCount()10711     public int getContainersCount() {
10712       if (containersBuilder_ == null) {
10713         return containers_.size();
10714       } else {
10715         return containersBuilder_.getCount();
10716       }
10717     }
10718     /**
10719      *
10720      *
10721      * <pre>
10722      * Containers associated with the finding. This field provides information for
10723      * both Kubernetes and non-Kubernetes containers.
10724      * </pre>
10725      *
10726      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10727      */
getContainers(int index)10728     public com.google.cloud.securitycenter.v1.Container getContainers(int index) {
10729       if (containersBuilder_ == null) {
10730         return containers_.get(index);
10731       } else {
10732         return containersBuilder_.getMessage(index);
10733       }
10734     }
10735     /**
10736      *
10737      *
10738      * <pre>
10739      * Containers associated with the finding. This field provides information for
10740      * both Kubernetes and non-Kubernetes containers.
10741      * </pre>
10742      *
10743      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10744      */
setContainers(int index, com.google.cloud.securitycenter.v1.Container value)10745     public Builder setContainers(int index, com.google.cloud.securitycenter.v1.Container value) {
10746       if (containersBuilder_ == null) {
10747         if (value == null) {
10748           throw new NullPointerException();
10749         }
10750         ensureContainersIsMutable();
10751         containers_.set(index, value);
10752         onChanged();
10753       } else {
10754         containersBuilder_.setMessage(index, value);
10755       }
10756       return this;
10757     }
10758     /**
10759      *
10760      *
10761      * <pre>
10762      * Containers associated with the finding. This field provides information for
10763      * both Kubernetes and non-Kubernetes containers.
10764      * </pre>
10765      *
10766      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10767      */
setContainers( int index, com.google.cloud.securitycenter.v1.Container.Builder builderForValue)10768     public Builder setContainers(
10769         int index, com.google.cloud.securitycenter.v1.Container.Builder builderForValue) {
10770       if (containersBuilder_ == null) {
10771         ensureContainersIsMutable();
10772         containers_.set(index, builderForValue.build());
10773         onChanged();
10774       } else {
10775         containersBuilder_.setMessage(index, builderForValue.build());
10776       }
10777       return this;
10778     }
10779     /**
10780      *
10781      *
10782      * <pre>
10783      * Containers associated with the finding. This field provides information for
10784      * both Kubernetes and non-Kubernetes containers.
10785      * </pre>
10786      *
10787      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10788      */
addContainers(com.google.cloud.securitycenter.v1.Container value)10789     public Builder addContainers(com.google.cloud.securitycenter.v1.Container value) {
10790       if (containersBuilder_ == null) {
10791         if (value == null) {
10792           throw new NullPointerException();
10793         }
10794         ensureContainersIsMutable();
10795         containers_.add(value);
10796         onChanged();
10797       } else {
10798         containersBuilder_.addMessage(value);
10799       }
10800       return this;
10801     }
10802     /**
10803      *
10804      *
10805      * <pre>
10806      * Containers associated with the finding. This field provides information for
10807      * both Kubernetes and non-Kubernetes containers.
10808      * </pre>
10809      *
10810      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10811      */
addContainers(int index, com.google.cloud.securitycenter.v1.Container value)10812     public Builder addContainers(int index, com.google.cloud.securitycenter.v1.Container value) {
10813       if (containersBuilder_ == null) {
10814         if (value == null) {
10815           throw new NullPointerException();
10816         }
10817         ensureContainersIsMutable();
10818         containers_.add(index, value);
10819         onChanged();
10820       } else {
10821         containersBuilder_.addMessage(index, value);
10822       }
10823       return this;
10824     }
10825     /**
10826      *
10827      *
10828      * <pre>
10829      * Containers associated with the finding. This field provides information for
10830      * both Kubernetes and non-Kubernetes containers.
10831      * </pre>
10832      *
10833      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10834      */
addContainers( com.google.cloud.securitycenter.v1.Container.Builder builderForValue)10835     public Builder addContainers(
10836         com.google.cloud.securitycenter.v1.Container.Builder builderForValue) {
10837       if (containersBuilder_ == null) {
10838         ensureContainersIsMutable();
10839         containers_.add(builderForValue.build());
10840         onChanged();
10841       } else {
10842         containersBuilder_.addMessage(builderForValue.build());
10843       }
10844       return this;
10845     }
10846     /**
10847      *
10848      *
10849      * <pre>
10850      * Containers associated with the finding. This field provides information for
10851      * both Kubernetes and non-Kubernetes containers.
10852      * </pre>
10853      *
10854      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10855      */
addContainers( int index, com.google.cloud.securitycenter.v1.Container.Builder builderForValue)10856     public Builder addContainers(
10857         int index, com.google.cloud.securitycenter.v1.Container.Builder builderForValue) {
10858       if (containersBuilder_ == null) {
10859         ensureContainersIsMutable();
10860         containers_.add(index, builderForValue.build());
10861         onChanged();
10862       } else {
10863         containersBuilder_.addMessage(index, builderForValue.build());
10864       }
10865       return this;
10866     }
10867     /**
10868      *
10869      *
10870      * <pre>
10871      * Containers associated with the finding. This field provides information for
10872      * both Kubernetes and non-Kubernetes containers.
10873      * </pre>
10874      *
10875      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10876      */
addAllContainers( java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.Container> values)10877     public Builder addAllContainers(
10878         java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.Container> values) {
10879       if (containersBuilder_ == null) {
10880         ensureContainersIsMutable();
10881         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, containers_);
10882         onChanged();
10883       } else {
10884         containersBuilder_.addAllMessages(values);
10885       }
10886       return this;
10887     }
10888     /**
10889      *
10890      *
10891      * <pre>
10892      * Containers associated with the finding. This field provides information for
10893      * both Kubernetes and non-Kubernetes containers.
10894      * </pre>
10895      *
10896      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10897      */
clearContainers()10898     public Builder clearContainers() {
10899       if (containersBuilder_ == null) {
10900         containers_ = java.util.Collections.emptyList();
10901         bitField0_ = (bitField0_ & ~0x80000000);
10902         onChanged();
10903       } else {
10904         containersBuilder_.clear();
10905       }
10906       return this;
10907     }
10908     /**
10909      *
10910      *
10911      * <pre>
10912      * Containers associated with the finding. This field provides information for
10913      * both Kubernetes and non-Kubernetes containers.
10914      * </pre>
10915      *
10916      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10917      */
removeContainers(int index)10918     public Builder removeContainers(int index) {
10919       if (containersBuilder_ == null) {
10920         ensureContainersIsMutable();
10921         containers_.remove(index);
10922         onChanged();
10923       } else {
10924         containersBuilder_.remove(index);
10925       }
10926       return this;
10927     }
10928     /**
10929      *
10930      *
10931      * <pre>
10932      * Containers associated with the finding. This field provides information for
10933      * both Kubernetes and non-Kubernetes containers.
10934      * </pre>
10935      *
10936      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10937      */
getContainersBuilder(int index)10938     public com.google.cloud.securitycenter.v1.Container.Builder getContainersBuilder(int index) {
10939       return getContainersFieldBuilder().getBuilder(index);
10940     }
10941     /**
10942      *
10943      *
10944      * <pre>
10945      * Containers associated with the finding. This field provides information for
10946      * both Kubernetes and non-Kubernetes containers.
10947      * </pre>
10948      *
10949      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10950      */
getContainersOrBuilder(int index)10951     public com.google.cloud.securitycenter.v1.ContainerOrBuilder getContainersOrBuilder(int index) {
10952       if (containersBuilder_ == null) {
10953         return containers_.get(index);
10954       } else {
10955         return containersBuilder_.getMessageOrBuilder(index);
10956       }
10957     }
10958     /**
10959      *
10960      *
10961      * <pre>
10962      * Containers associated with the finding. This field provides information for
10963      * both Kubernetes and non-Kubernetes containers.
10964      * </pre>
10965      *
10966      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10967      */
10968     public java.util.List<? extends com.google.cloud.securitycenter.v1.ContainerOrBuilder>
getContainersOrBuilderList()10969         getContainersOrBuilderList() {
10970       if (containersBuilder_ != null) {
10971         return containersBuilder_.getMessageOrBuilderList();
10972       } else {
10973         return java.util.Collections.unmodifiableList(containers_);
10974       }
10975     }
10976     /**
10977      *
10978      *
10979      * <pre>
10980      * Containers associated with the finding. This field provides information for
10981      * both Kubernetes and non-Kubernetes containers.
10982      * </pre>
10983      *
10984      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10985      */
addContainersBuilder()10986     public com.google.cloud.securitycenter.v1.Container.Builder addContainersBuilder() {
10987       return getContainersFieldBuilder()
10988           .addBuilder(com.google.cloud.securitycenter.v1.Container.getDefaultInstance());
10989     }
10990     /**
10991      *
10992      *
10993      * <pre>
10994      * Containers associated with the finding. This field provides information for
10995      * both Kubernetes and non-Kubernetes containers.
10996      * </pre>
10997      *
10998      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
10999      */
addContainersBuilder(int index)11000     public com.google.cloud.securitycenter.v1.Container.Builder addContainersBuilder(int index) {
11001       return getContainersFieldBuilder()
11002           .addBuilder(index, com.google.cloud.securitycenter.v1.Container.getDefaultInstance());
11003     }
11004     /**
11005      *
11006      *
11007      * <pre>
11008      * Containers associated with the finding. This field provides information for
11009      * both Kubernetes and non-Kubernetes containers.
11010      * </pre>
11011      *
11012      * <code>repeated .google.cloud.securitycenter.v1.Container containers = 42;</code>
11013      */
11014     public java.util.List<com.google.cloud.securitycenter.v1.Container.Builder>
getContainersBuilderList()11015         getContainersBuilderList() {
11016       return getContainersFieldBuilder().getBuilderList();
11017     }
11018 
11019     private com.google.protobuf.RepeatedFieldBuilderV3<
11020             com.google.cloud.securitycenter.v1.Container,
11021             com.google.cloud.securitycenter.v1.Container.Builder,
11022             com.google.cloud.securitycenter.v1.ContainerOrBuilder>
getContainersFieldBuilder()11023         getContainersFieldBuilder() {
11024       if (containersBuilder_ == null) {
11025         containersBuilder_ =
11026             new com.google.protobuf.RepeatedFieldBuilderV3<
11027                 com.google.cloud.securitycenter.v1.Container,
11028                 com.google.cloud.securitycenter.v1.Container.Builder,
11029                 com.google.cloud.securitycenter.v1.ContainerOrBuilder>(
11030                 containers_, ((bitField0_ & 0x80000000) != 0), getParentForChildren(), isClean());
11031         containers_ = null;
11032       }
11033       return containersBuilder_;
11034     }
11035 
11036     private com.google.cloud.securitycenter.v1.Kubernetes kubernetes_;
11037     private com.google.protobuf.SingleFieldBuilderV3<
11038             com.google.cloud.securitycenter.v1.Kubernetes,
11039             com.google.cloud.securitycenter.v1.Kubernetes.Builder,
11040             com.google.cloud.securitycenter.v1.KubernetesOrBuilder>
11041         kubernetesBuilder_;
11042     /**
11043      *
11044      *
11045      * <pre>
11046      * Kubernetes resources associated with the finding.
11047      * </pre>
11048      *
11049      * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
11050      *
11051      * @return Whether the kubernetes field is set.
11052      */
hasKubernetes()11053     public boolean hasKubernetes() {
11054       return ((bitField1_ & 0x00000001) != 0);
11055     }
11056     /**
11057      *
11058      *
11059      * <pre>
11060      * Kubernetes resources associated with the finding.
11061      * </pre>
11062      *
11063      * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
11064      *
11065      * @return The kubernetes.
11066      */
getKubernetes()11067     public com.google.cloud.securitycenter.v1.Kubernetes getKubernetes() {
11068       if (kubernetesBuilder_ == null) {
11069         return kubernetes_ == null
11070             ? com.google.cloud.securitycenter.v1.Kubernetes.getDefaultInstance()
11071             : kubernetes_;
11072       } else {
11073         return kubernetesBuilder_.getMessage();
11074       }
11075     }
11076     /**
11077      *
11078      *
11079      * <pre>
11080      * Kubernetes resources associated with the finding.
11081      * </pre>
11082      *
11083      * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
11084      */
setKubernetes(com.google.cloud.securitycenter.v1.Kubernetes value)11085     public Builder setKubernetes(com.google.cloud.securitycenter.v1.Kubernetes value) {
11086       if (kubernetesBuilder_ == null) {
11087         if (value == null) {
11088           throw new NullPointerException();
11089         }
11090         kubernetes_ = value;
11091       } else {
11092         kubernetesBuilder_.setMessage(value);
11093       }
11094       bitField1_ |= 0x00000001;
11095       onChanged();
11096       return this;
11097     }
11098     /**
11099      *
11100      *
11101      * <pre>
11102      * Kubernetes resources associated with the finding.
11103      * </pre>
11104      *
11105      * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
11106      */
setKubernetes( com.google.cloud.securitycenter.v1.Kubernetes.Builder builderForValue)11107     public Builder setKubernetes(
11108         com.google.cloud.securitycenter.v1.Kubernetes.Builder builderForValue) {
11109       if (kubernetesBuilder_ == null) {
11110         kubernetes_ = builderForValue.build();
11111       } else {
11112         kubernetesBuilder_.setMessage(builderForValue.build());
11113       }
11114       bitField1_ |= 0x00000001;
11115       onChanged();
11116       return this;
11117     }
11118     /**
11119      *
11120      *
11121      * <pre>
11122      * Kubernetes resources associated with the finding.
11123      * </pre>
11124      *
11125      * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
11126      */
mergeKubernetes(com.google.cloud.securitycenter.v1.Kubernetes value)11127     public Builder mergeKubernetes(com.google.cloud.securitycenter.v1.Kubernetes value) {
11128       if (kubernetesBuilder_ == null) {
11129         if (((bitField1_ & 0x00000001) != 0)
11130             && kubernetes_ != null
11131             && kubernetes_ != com.google.cloud.securitycenter.v1.Kubernetes.getDefaultInstance()) {
11132           getKubernetesBuilder().mergeFrom(value);
11133         } else {
11134           kubernetes_ = value;
11135         }
11136       } else {
11137         kubernetesBuilder_.mergeFrom(value);
11138       }
11139       bitField1_ |= 0x00000001;
11140       onChanged();
11141       return this;
11142     }
11143     /**
11144      *
11145      *
11146      * <pre>
11147      * Kubernetes resources associated with the finding.
11148      * </pre>
11149      *
11150      * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
11151      */
clearKubernetes()11152     public Builder clearKubernetes() {
11153       bitField1_ = (bitField1_ & ~0x00000001);
11154       kubernetes_ = null;
11155       if (kubernetesBuilder_ != null) {
11156         kubernetesBuilder_.dispose();
11157         kubernetesBuilder_ = null;
11158       }
11159       onChanged();
11160       return this;
11161     }
11162     /**
11163      *
11164      *
11165      * <pre>
11166      * Kubernetes resources associated with the finding.
11167      * </pre>
11168      *
11169      * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
11170      */
getKubernetesBuilder()11171     public com.google.cloud.securitycenter.v1.Kubernetes.Builder getKubernetesBuilder() {
11172       bitField1_ |= 0x00000001;
11173       onChanged();
11174       return getKubernetesFieldBuilder().getBuilder();
11175     }
11176     /**
11177      *
11178      *
11179      * <pre>
11180      * Kubernetes resources associated with the finding.
11181      * </pre>
11182      *
11183      * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
11184      */
getKubernetesOrBuilder()11185     public com.google.cloud.securitycenter.v1.KubernetesOrBuilder getKubernetesOrBuilder() {
11186       if (kubernetesBuilder_ != null) {
11187         return kubernetesBuilder_.getMessageOrBuilder();
11188       } else {
11189         return kubernetes_ == null
11190             ? com.google.cloud.securitycenter.v1.Kubernetes.getDefaultInstance()
11191             : kubernetes_;
11192       }
11193     }
11194     /**
11195      *
11196      *
11197      * <pre>
11198      * Kubernetes resources associated with the finding.
11199      * </pre>
11200      *
11201      * <code>.google.cloud.securitycenter.v1.Kubernetes kubernetes = 43;</code>
11202      */
11203     private com.google.protobuf.SingleFieldBuilderV3<
11204             com.google.cloud.securitycenter.v1.Kubernetes,
11205             com.google.cloud.securitycenter.v1.Kubernetes.Builder,
11206             com.google.cloud.securitycenter.v1.KubernetesOrBuilder>
getKubernetesFieldBuilder()11207         getKubernetesFieldBuilder() {
11208       if (kubernetesBuilder_ == null) {
11209         kubernetesBuilder_ =
11210             new com.google.protobuf.SingleFieldBuilderV3<
11211                 com.google.cloud.securitycenter.v1.Kubernetes,
11212                 com.google.cloud.securitycenter.v1.Kubernetes.Builder,
11213                 com.google.cloud.securitycenter.v1.KubernetesOrBuilder>(
11214                 getKubernetes(), getParentForChildren(), isClean());
11215         kubernetes_ = null;
11216       }
11217       return kubernetesBuilder_;
11218     }
11219 
11220     private com.google.cloud.securitycenter.v1.Database database_;
11221     private com.google.protobuf.SingleFieldBuilderV3<
11222             com.google.cloud.securitycenter.v1.Database,
11223             com.google.cloud.securitycenter.v1.Database.Builder,
11224             com.google.cloud.securitycenter.v1.DatabaseOrBuilder>
11225         databaseBuilder_;
11226     /**
11227      *
11228      *
11229      * <pre>
11230      * Database associated with the finding.
11231      * </pre>
11232      *
11233      * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
11234      *
11235      * @return Whether the database field is set.
11236      */
hasDatabase()11237     public boolean hasDatabase() {
11238       return ((bitField1_ & 0x00000002) != 0);
11239     }
11240     /**
11241      *
11242      *
11243      * <pre>
11244      * Database associated with the finding.
11245      * </pre>
11246      *
11247      * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
11248      *
11249      * @return The database.
11250      */
getDatabase()11251     public com.google.cloud.securitycenter.v1.Database getDatabase() {
11252       if (databaseBuilder_ == null) {
11253         return database_ == null
11254             ? com.google.cloud.securitycenter.v1.Database.getDefaultInstance()
11255             : database_;
11256       } else {
11257         return databaseBuilder_.getMessage();
11258       }
11259     }
11260     /**
11261      *
11262      *
11263      * <pre>
11264      * Database associated with the finding.
11265      * </pre>
11266      *
11267      * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
11268      */
setDatabase(com.google.cloud.securitycenter.v1.Database value)11269     public Builder setDatabase(com.google.cloud.securitycenter.v1.Database value) {
11270       if (databaseBuilder_ == null) {
11271         if (value == null) {
11272           throw new NullPointerException();
11273         }
11274         database_ = value;
11275       } else {
11276         databaseBuilder_.setMessage(value);
11277       }
11278       bitField1_ |= 0x00000002;
11279       onChanged();
11280       return this;
11281     }
11282     /**
11283      *
11284      *
11285      * <pre>
11286      * Database associated with the finding.
11287      * </pre>
11288      *
11289      * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
11290      */
setDatabase( com.google.cloud.securitycenter.v1.Database.Builder builderForValue)11291     public Builder setDatabase(
11292         com.google.cloud.securitycenter.v1.Database.Builder builderForValue) {
11293       if (databaseBuilder_ == null) {
11294         database_ = builderForValue.build();
11295       } else {
11296         databaseBuilder_.setMessage(builderForValue.build());
11297       }
11298       bitField1_ |= 0x00000002;
11299       onChanged();
11300       return this;
11301     }
11302     /**
11303      *
11304      *
11305      * <pre>
11306      * Database associated with the finding.
11307      * </pre>
11308      *
11309      * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
11310      */
mergeDatabase(com.google.cloud.securitycenter.v1.Database value)11311     public Builder mergeDatabase(com.google.cloud.securitycenter.v1.Database value) {
11312       if (databaseBuilder_ == null) {
11313         if (((bitField1_ & 0x00000002) != 0)
11314             && database_ != null
11315             && database_ != com.google.cloud.securitycenter.v1.Database.getDefaultInstance()) {
11316           getDatabaseBuilder().mergeFrom(value);
11317         } else {
11318           database_ = value;
11319         }
11320       } else {
11321         databaseBuilder_.mergeFrom(value);
11322       }
11323       bitField1_ |= 0x00000002;
11324       onChanged();
11325       return this;
11326     }
11327     /**
11328      *
11329      *
11330      * <pre>
11331      * Database associated with the finding.
11332      * </pre>
11333      *
11334      * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
11335      */
clearDatabase()11336     public Builder clearDatabase() {
11337       bitField1_ = (bitField1_ & ~0x00000002);
11338       database_ = null;
11339       if (databaseBuilder_ != null) {
11340         databaseBuilder_.dispose();
11341         databaseBuilder_ = null;
11342       }
11343       onChanged();
11344       return this;
11345     }
11346     /**
11347      *
11348      *
11349      * <pre>
11350      * Database associated with the finding.
11351      * </pre>
11352      *
11353      * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
11354      */
getDatabaseBuilder()11355     public com.google.cloud.securitycenter.v1.Database.Builder getDatabaseBuilder() {
11356       bitField1_ |= 0x00000002;
11357       onChanged();
11358       return getDatabaseFieldBuilder().getBuilder();
11359     }
11360     /**
11361      *
11362      *
11363      * <pre>
11364      * Database associated with the finding.
11365      * </pre>
11366      *
11367      * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
11368      */
getDatabaseOrBuilder()11369     public com.google.cloud.securitycenter.v1.DatabaseOrBuilder getDatabaseOrBuilder() {
11370       if (databaseBuilder_ != null) {
11371         return databaseBuilder_.getMessageOrBuilder();
11372       } else {
11373         return database_ == null
11374             ? com.google.cloud.securitycenter.v1.Database.getDefaultInstance()
11375             : database_;
11376       }
11377     }
11378     /**
11379      *
11380      *
11381      * <pre>
11382      * Database associated with the finding.
11383      * </pre>
11384      *
11385      * <code>.google.cloud.securitycenter.v1.Database database = 44;</code>
11386      */
11387     private com.google.protobuf.SingleFieldBuilderV3<
11388             com.google.cloud.securitycenter.v1.Database,
11389             com.google.cloud.securitycenter.v1.Database.Builder,
11390             com.google.cloud.securitycenter.v1.DatabaseOrBuilder>
getDatabaseFieldBuilder()11391         getDatabaseFieldBuilder() {
11392       if (databaseBuilder_ == null) {
11393         databaseBuilder_ =
11394             new com.google.protobuf.SingleFieldBuilderV3<
11395                 com.google.cloud.securitycenter.v1.Database,
11396                 com.google.cloud.securitycenter.v1.Database.Builder,
11397                 com.google.cloud.securitycenter.v1.DatabaseOrBuilder>(
11398                 getDatabase(), getParentForChildren(), isClean());
11399         database_ = null;
11400       }
11401       return databaseBuilder_;
11402     }
11403 
11404     private java.util.List<com.google.cloud.securitycenter.v1.File> files_ =
11405         java.util.Collections.emptyList();
11406 
ensureFilesIsMutable()11407     private void ensureFilesIsMutable() {
11408       if (!((bitField1_ & 0x00000004) != 0)) {
11409         files_ = new java.util.ArrayList<com.google.cloud.securitycenter.v1.File>(files_);
11410         bitField1_ |= 0x00000004;
11411       }
11412     }
11413 
11414     private com.google.protobuf.RepeatedFieldBuilderV3<
11415             com.google.cloud.securitycenter.v1.File,
11416             com.google.cloud.securitycenter.v1.File.Builder,
11417             com.google.cloud.securitycenter.v1.FileOrBuilder>
11418         filesBuilder_;
11419 
11420     /**
11421      *
11422      *
11423      * <pre>
11424      * File associated with the finding.
11425      * </pre>
11426      *
11427      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11428      */
getFilesList()11429     public java.util.List<com.google.cloud.securitycenter.v1.File> getFilesList() {
11430       if (filesBuilder_ == null) {
11431         return java.util.Collections.unmodifiableList(files_);
11432       } else {
11433         return filesBuilder_.getMessageList();
11434       }
11435     }
11436     /**
11437      *
11438      *
11439      * <pre>
11440      * File associated with the finding.
11441      * </pre>
11442      *
11443      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11444      */
getFilesCount()11445     public int getFilesCount() {
11446       if (filesBuilder_ == null) {
11447         return files_.size();
11448       } else {
11449         return filesBuilder_.getCount();
11450       }
11451     }
11452     /**
11453      *
11454      *
11455      * <pre>
11456      * File associated with the finding.
11457      * </pre>
11458      *
11459      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11460      */
getFiles(int index)11461     public com.google.cloud.securitycenter.v1.File getFiles(int index) {
11462       if (filesBuilder_ == null) {
11463         return files_.get(index);
11464       } else {
11465         return filesBuilder_.getMessage(index);
11466       }
11467     }
11468     /**
11469      *
11470      *
11471      * <pre>
11472      * File associated with the finding.
11473      * </pre>
11474      *
11475      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11476      */
setFiles(int index, com.google.cloud.securitycenter.v1.File value)11477     public Builder setFiles(int index, com.google.cloud.securitycenter.v1.File value) {
11478       if (filesBuilder_ == null) {
11479         if (value == null) {
11480           throw new NullPointerException();
11481         }
11482         ensureFilesIsMutable();
11483         files_.set(index, value);
11484         onChanged();
11485       } else {
11486         filesBuilder_.setMessage(index, value);
11487       }
11488       return this;
11489     }
11490     /**
11491      *
11492      *
11493      * <pre>
11494      * File associated with the finding.
11495      * </pre>
11496      *
11497      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11498      */
setFiles( int index, com.google.cloud.securitycenter.v1.File.Builder builderForValue)11499     public Builder setFiles(
11500         int index, com.google.cloud.securitycenter.v1.File.Builder builderForValue) {
11501       if (filesBuilder_ == null) {
11502         ensureFilesIsMutable();
11503         files_.set(index, builderForValue.build());
11504         onChanged();
11505       } else {
11506         filesBuilder_.setMessage(index, builderForValue.build());
11507       }
11508       return this;
11509     }
11510     /**
11511      *
11512      *
11513      * <pre>
11514      * File associated with the finding.
11515      * </pre>
11516      *
11517      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11518      */
addFiles(com.google.cloud.securitycenter.v1.File value)11519     public Builder addFiles(com.google.cloud.securitycenter.v1.File value) {
11520       if (filesBuilder_ == null) {
11521         if (value == null) {
11522           throw new NullPointerException();
11523         }
11524         ensureFilesIsMutable();
11525         files_.add(value);
11526         onChanged();
11527       } else {
11528         filesBuilder_.addMessage(value);
11529       }
11530       return this;
11531     }
11532     /**
11533      *
11534      *
11535      * <pre>
11536      * File associated with the finding.
11537      * </pre>
11538      *
11539      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11540      */
addFiles(int index, com.google.cloud.securitycenter.v1.File value)11541     public Builder addFiles(int index, com.google.cloud.securitycenter.v1.File value) {
11542       if (filesBuilder_ == null) {
11543         if (value == null) {
11544           throw new NullPointerException();
11545         }
11546         ensureFilesIsMutable();
11547         files_.add(index, value);
11548         onChanged();
11549       } else {
11550         filesBuilder_.addMessage(index, value);
11551       }
11552       return this;
11553     }
11554     /**
11555      *
11556      *
11557      * <pre>
11558      * File associated with the finding.
11559      * </pre>
11560      *
11561      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11562      */
addFiles(com.google.cloud.securitycenter.v1.File.Builder builderForValue)11563     public Builder addFiles(com.google.cloud.securitycenter.v1.File.Builder builderForValue) {
11564       if (filesBuilder_ == null) {
11565         ensureFilesIsMutable();
11566         files_.add(builderForValue.build());
11567         onChanged();
11568       } else {
11569         filesBuilder_.addMessage(builderForValue.build());
11570       }
11571       return this;
11572     }
11573     /**
11574      *
11575      *
11576      * <pre>
11577      * File associated with the finding.
11578      * </pre>
11579      *
11580      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11581      */
addFiles( int index, com.google.cloud.securitycenter.v1.File.Builder builderForValue)11582     public Builder addFiles(
11583         int index, com.google.cloud.securitycenter.v1.File.Builder builderForValue) {
11584       if (filesBuilder_ == null) {
11585         ensureFilesIsMutable();
11586         files_.add(index, builderForValue.build());
11587         onChanged();
11588       } else {
11589         filesBuilder_.addMessage(index, builderForValue.build());
11590       }
11591       return this;
11592     }
11593     /**
11594      *
11595      *
11596      * <pre>
11597      * File associated with the finding.
11598      * </pre>
11599      *
11600      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11601      */
addAllFiles( java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.File> values)11602     public Builder addAllFiles(
11603         java.lang.Iterable<? extends com.google.cloud.securitycenter.v1.File> values) {
11604       if (filesBuilder_ == null) {
11605         ensureFilesIsMutable();
11606         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, files_);
11607         onChanged();
11608       } else {
11609         filesBuilder_.addAllMessages(values);
11610       }
11611       return this;
11612     }
11613     /**
11614      *
11615      *
11616      * <pre>
11617      * File associated with the finding.
11618      * </pre>
11619      *
11620      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11621      */
clearFiles()11622     public Builder clearFiles() {
11623       if (filesBuilder_ == null) {
11624         files_ = java.util.Collections.emptyList();
11625         bitField1_ = (bitField1_ & ~0x00000004);
11626         onChanged();
11627       } else {
11628         filesBuilder_.clear();
11629       }
11630       return this;
11631     }
11632     /**
11633      *
11634      *
11635      * <pre>
11636      * File associated with the finding.
11637      * </pre>
11638      *
11639      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11640      */
removeFiles(int index)11641     public Builder removeFiles(int index) {
11642       if (filesBuilder_ == null) {
11643         ensureFilesIsMutable();
11644         files_.remove(index);
11645         onChanged();
11646       } else {
11647         filesBuilder_.remove(index);
11648       }
11649       return this;
11650     }
11651     /**
11652      *
11653      *
11654      * <pre>
11655      * File associated with the finding.
11656      * </pre>
11657      *
11658      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11659      */
getFilesBuilder(int index)11660     public com.google.cloud.securitycenter.v1.File.Builder getFilesBuilder(int index) {
11661       return getFilesFieldBuilder().getBuilder(index);
11662     }
11663     /**
11664      *
11665      *
11666      * <pre>
11667      * File associated with the finding.
11668      * </pre>
11669      *
11670      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11671      */
getFilesOrBuilder(int index)11672     public com.google.cloud.securitycenter.v1.FileOrBuilder getFilesOrBuilder(int index) {
11673       if (filesBuilder_ == null) {
11674         return files_.get(index);
11675       } else {
11676         return filesBuilder_.getMessageOrBuilder(index);
11677       }
11678     }
11679     /**
11680      *
11681      *
11682      * <pre>
11683      * File associated with the finding.
11684      * </pre>
11685      *
11686      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11687      */
11688     public java.util.List<? extends com.google.cloud.securitycenter.v1.FileOrBuilder>
getFilesOrBuilderList()11689         getFilesOrBuilderList() {
11690       if (filesBuilder_ != null) {
11691         return filesBuilder_.getMessageOrBuilderList();
11692       } else {
11693         return java.util.Collections.unmodifiableList(files_);
11694       }
11695     }
11696     /**
11697      *
11698      *
11699      * <pre>
11700      * File associated with the finding.
11701      * </pre>
11702      *
11703      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11704      */
addFilesBuilder()11705     public com.google.cloud.securitycenter.v1.File.Builder addFilesBuilder() {
11706       return getFilesFieldBuilder()
11707           .addBuilder(com.google.cloud.securitycenter.v1.File.getDefaultInstance());
11708     }
11709     /**
11710      *
11711      *
11712      * <pre>
11713      * File associated with the finding.
11714      * </pre>
11715      *
11716      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11717      */
addFilesBuilder(int index)11718     public com.google.cloud.securitycenter.v1.File.Builder addFilesBuilder(int index) {
11719       return getFilesFieldBuilder()
11720           .addBuilder(index, com.google.cloud.securitycenter.v1.File.getDefaultInstance());
11721     }
11722     /**
11723      *
11724      *
11725      * <pre>
11726      * File associated with the finding.
11727      * </pre>
11728      *
11729      * <code>repeated .google.cloud.securitycenter.v1.File files = 46;</code>
11730      */
getFilesBuilderList()11731     public java.util.List<com.google.cloud.securitycenter.v1.File.Builder> getFilesBuilderList() {
11732       return getFilesFieldBuilder().getBuilderList();
11733     }
11734 
11735     private com.google.protobuf.RepeatedFieldBuilderV3<
11736             com.google.cloud.securitycenter.v1.File,
11737             com.google.cloud.securitycenter.v1.File.Builder,
11738             com.google.cloud.securitycenter.v1.FileOrBuilder>
getFilesFieldBuilder()11739         getFilesFieldBuilder() {
11740       if (filesBuilder_ == null) {
11741         filesBuilder_ =
11742             new com.google.protobuf.RepeatedFieldBuilderV3<
11743                 com.google.cloud.securitycenter.v1.File,
11744                 com.google.cloud.securitycenter.v1.File.Builder,
11745                 com.google.cloud.securitycenter.v1.FileOrBuilder>(
11746                 files_, ((bitField1_ & 0x00000004) != 0), getParentForChildren(), isClean());
11747         files_ = null;
11748       }
11749       return filesBuilder_;
11750     }
11751 
11752     private com.google.cloud.securitycenter.v1.CloudDlpInspection cloudDlpInspection_;
11753     private com.google.protobuf.SingleFieldBuilderV3<
11754             com.google.cloud.securitycenter.v1.CloudDlpInspection,
11755             com.google.cloud.securitycenter.v1.CloudDlpInspection.Builder,
11756             com.google.cloud.securitycenter.v1.CloudDlpInspectionOrBuilder>
11757         cloudDlpInspectionBuilder_;
11758     /**
11759      *
11760      *
11761      * <pre>
11762      * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
11763      * associated with the finding.
11764      * </pre>
11765      *
11766      * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
11767      *
11768      * @return Whether the cloudDlpInspection field is set.
11769      */
hasCloudDlpInspection()11770     public boolean hasCloudDlpInspection() {
11771       return ((bitField1_ & 0x00000008) != 0);
11772     }
11773     /**
11774      *
11775      *
11776      * <pre>
11777      * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
11778      * associated with the finding.
11779      * </pre>
11780      *
11781      * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
11782      *
11783      * @return The cloudDlpInspection.
11784      */
getCloudDlpInspection()11785     public com.google.cloud.securitycenter.v1.CloudDlpInspection getCloudDlpInspection() {
11786       if (cloudDlpInspectionBuilder_ == null) {
11787         return cloudDlpInspection_ == null
11788             ? com.google.cloud.securitycenter.v1.CloudDlpInspection.getDefaultInstance()
11789             : cloudDlpInspection_;
11790       } else {
11791         return cloudDlpInspectionBuilder_.getMessage();
11792       }
11793     }
11794     /**
11795      *
11796      *
11797      * <pre>
11798      * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
11799      * associated with the finding.
11800      * </pre>
11801      *
11802      * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
11803      */
setCloudDlpInspection( com.google.cloud.securitycenter.v1.CloudDlpInspection value)11804     public Builder setCloudDlpInspection(
11805         com.google.cloud.securitycenter.v1.CloudDlpInspection value) {
11806       if (cloudDlpInspectionBuilder_ == null) {
11807         if (value == null) {
11808           throw new NullPointerException();
11809         }
11810         cloudDlpInspection_ = value;
11811       } else {
11812         cloudDlpInspectionBuilder_.setMessage(value);
11813       }
11814       bitField1_ |= 0x00000008;
11815       onChanged();
11816       return this;
11817     }
11818     /**
11819      *
11820      *
11821      * <pre>
11822      * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
11823      * associated with the finding.
11824      * </pre>
11825      *
11826      * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
11827      */
setCloudDlpInspection( com.google.cloud.securitycenter.v1.CloudDlpInspection.Builder builderForValue)11828     public Builder setCloudDlpInspection(
11829         com.google.cloud.securitycenter.v1.CloudDlpInspection.Builder builderForValue) {
11830       if (cloudDlpInspectionBuilder_ == null) {
11831         cloudDlpInspection_ = builderForValue.build();
11832       } else {
11833         cloudDlpInspectionBuilder_.setMessage(builderForValue.build());
11834       }
11835       bitField1_ |= 0x00000008;
11836       onChanged();
11837       return this;
11838     }
11839     /**
11840      *
11841      *
11842      * <pre>
11843      * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
11844      * associated with the finding.
11845      * </pre>
11846      *
11847      * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
11848      */
mergeCloudDlpInspection( com.google.cloud.securitycenter.v1.CloudDlpInspection value)11849     public Builder mergeCloudDlpInspection(
11850         com.google.cloud.securitycenter.v1.CloudDlpInspection value) {
11851       if (cloudDlpInspectionBuilder_ == null) {
11852         if (((bitField1_ & 0x00000008) != 0)
11853             && cloudDlpInspection_ != null
11854             && cloudDlpInspection_
11855                 != com.google.cloud.securitycenter.v1.CloudDlpInspection.getDefaultInstance()) {
11856           getCloudDlpInspectionBuilder().mergeFrom(value);
11857         } else {
11858           cloudDlpInspection_ = value;
11859         }
11860       } else {
11861         cloudDlpInspectionBuilder_.mergeFrom(value);
11862       }
11863       bitField1_ |= 0x00000008;
11864       onChanged();
11865       return this;
11866     }
11867     /**
11868      *
11869      *
11870      * <pre>
11871      * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
11872      * associated with the finding.
11873      * </pre>
11874      *
11875      * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
11876      */
clearCloudDlpInspection()11877     public Builder clearCloudDlpInspection() {
11878       bitField1_ = (bitField1_ & ~0x00000008);
11879       cloudDlpInspection_ = null;
11880       if (cloudDlpInspectionBuilder_ != null) {
11881         cloudDlpInspectionBuilder_.dispose();
11882         cloudDlpInspectionBuilder_ = null;
11883       }
11884       onChanged();
11885       return this;
11886     }
11887     /**
11888      *
11889      *
11890      * <pre>
11891      * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
11892      * associated with the finding.
11893      * </pre>
11894      *
11895      * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
11896      */
11897     public com.google.cloud.securitycenter.v1.CloudDlpInspection.Builder
getCloudDlpInspectionBuilder()11898         getCloudDlpInspectionBuilder() {
11899       bitField1_ |= 0x00000008;
11900       onChanged();
11901       return getCloudDlpInspectionFieldBuilder().getBuilder();
11902     }
11903     /**
11904      *
11905      *
11906      * <pre>
11907      * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
11908      * associated with the finding.
11909      * </pre>
11910      *
11911      * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
11912      */
11913     public com.google.cloud.securitycenter.v1.CloudDlpInspectionOrBuilder
getCloudDlpInspectionOrBuilder()11914         getCloudDlpInspectionOrBuilder() {
11915       if (cloudDlpInspectionBuilder_ != null) {
11916         return cloudDlpInspectionBuilder_.getMessageOrBuilder();
11917       } else {
11918         return cloudDlpInspection_ == null
11919             ? com.google.cloud.securitycenter.v1.CloudDlpInspection.getDefaultInstance()
11920             : cloudDlpInspection_;
11921       }
11922     }
11923     /**
11924      *
11925      *
11926      * <pre>
11927      * Cloud Data Loss Prevention (Cloud DLP) inspection results that are
11928      * associated with the finding.
11929      * </pre>
11930      *
11931      * <code>.google.cloud.securitycenter.v1.CloudDlpInspection cloud_dlp_inspection = 48;</code>
11932      */
11933     private com.google.protobuf.SingleFieldBuilderV3<
11934             com.google.cloud.securitycenter.v1.CloudDlpInspection,
11935             com.google.cloud.securitycenter.v1.CloudDlpInspection.Builder,
11936             com.google.cloud.securitycenter.v1.CloudDlpInspectionOrBuilder>
getCloudDlpInspectionFieldBuilder()11937         getCloudDlpInspectionFieldBuilder() {
11938       if (cloudDlpInspectionBuilder_ == null) {
11939         cloudDlpInspectionBuilder_ =
11940             new com.google.protobuf.SingleFieldBuilderV3<
11941                 com.google.cloud.securitycenter.v1.CloudDlpInspection,
11942                 com.google.cloud.securitycenter.v1.CloudDlpInspection.Builder,
11943                 com.google.cloud.securitycenter.v1.CloudDlpInspectionOrBuilder>(
11944                 getCloudDlpInspection(), getParentForChildren(), isClean());
11945         cloudDlpInspection_ = null;
11946       }
11947       return cloudDlpInspectionBuilder_;
11948     }
11949 
11950     private com.google.cloud.securitycenter.v1.CloudDlpDataProfile cloudDlpDataProfile_;
11951     private com.google.protobuf.SingleFieldBuilderV3<
11952             com.google.cloud.securitycenter.v1.CloudDlpDataProfile,
11953             com.google.cloud.securitycenter.v1.CloudDlpDataProfile.Builder,
11954             com.google.cloud.securitycenter.v1.CloudDlpDataProfileOrBuilder>
11955         cloudDlpDataProfileBuilder_;
11956     /**
11957      *
11958      *
11959      * <pre>
11960      * Cloud DLP data profile that is associated with the finding.
11961      * </pre>
11962      *
11963      * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
11964      *
11965      * @return Whether the cloudDlpDataProfile field is set.
11966      */
hasCloudDlpDataProfile()11967     public boolean hasCloudDlpDataProfile() {
11968       return ((bitField1_ & 0x00000010) != 0);
11969     }
11970     /**
11971      *
11972      *
11973      * <pre>
11974      * Cloud DLP data profile that is associated with the finding.
11975      * </pre>
11976      *
11977      * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
11978      *
11979      * @return The cloudDlpDataProfile.
11980      */
getCloudDlpDataProfile()11981     public com.google.cloud.securitycenter.v1.CloudDlpDataProfile getCloudDlpDataProfile() {
11982       if (cloudDlpDataProfileBuilder_ == null) {
11983         return cloudDlpDataProfile_ == null
11984             ? com.google.cloud.securitycenter.v1.CloudDlpDataProfile.getDefaultInstance()
11985             : cloudDlpDataProfile_;
11986       } else {
11987         return cloudDlpDataProfileBuilder_.getMessage();
11988       }
11989     }
11990     /**
11991      *
11992      *
11993      * <pre>
11994      * Cloud DLP data profile that is associated with the finding.
11995      * </pre>
11996      *
11997      * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
11998      */
setCloudDlpDataProfile( com.google.cloud.securitycenter.v1.CloudDlpDataProfile value)11999     public Builder setCloudDlpDataProfile(
12000         com.google.cloud.securitycenter.v1.CloudDlpDataProfile value) {
12001       if (cloudDlpDataProfileBuilder_ == null) {
12002         if (value == null) {
12003           throw new NullPointerException();
12004         }
12005         cloudDlpDataProfile_ = value;
12006       } else {
12007         cloudDlpDataProfileBuilder_.setMessage(value);
12008       }
12009       bitField1_ |= 0x00000010;
12010       onChanged();
12011       return this;
12012     }
12013     /**
12014      *
12015      *
12016      * <pre>
12017      * Cloud DLP data profile that is associated with the finding.
12018      * </pre>
12019      *
12020      * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
12021      */
setCloudDlpDataProfile( com.google.cloud.securitycenter.v1.CloudDlpDataProfile.Builder builderForValue)12022     public Builder setCloudDlpDataProfile(
12023         com.google.cloud.securitycenter.v1.CloudDlpDataProfile.Builder builderForValue) {
12024       if (cloudDlpDataProfileBuilder_ == null) {
12025         cloudDlpDataProfile_ = builderForValue.build();
12026       } else {
12027         cloudDlpDataProfileBuilder_.setMessage(builderForValue.build());
12028       }
12029       bitField1_ |= 0x00000010;
12030       onChanged();
12031       return this;
12032     }
12033     /**
12034      *
12035      *
12036      * <pre>
12037      * Cloud DLP data profile that is associated with the finding.
12038      * </pre>
12039      *
12040      * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
12041      */
mergeCloudDlpDataProfile( com.google.cloud.securitycenter.v1.CloudDlpDataProfile value)12042     public Builder mergeCloudDlpDataProfile(
12043         com.google.cloud.securitycenter.v1.CloudDlpDataProfile value) {
12044       if (cloudDlpDataProfileBuilder_ == null) {
12045         if (((bitField1_ & 0x00000010) != 0)
12046             && cloudDlpDataProfile_ != null
12047             && cloudDlpDataProfile_
12048                 != com.google.cloud.securitycenter.v1.CloudDlpDataProfile.getDefaultInstance()) {
12049           getCloudDlpDataProfileBuilder().mergeFrom(value);
12050         } else {
12051           cloudDlpDataProfile_ = value;
12052         }
12053       } else {
12054         cloudDlpDataProfileBuilder_.mergeFrom(value);
12055       }
12056       bitField1_ |= 0x00000010;
12057       onChanged();
12058       return this;
12059     }
12060     /**
12061      *
12062      *
12063      * <pre>
12064      * Cloud DLP data profile that is associated with the finding.
12065      * </pre>
12066      *
12067      * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
12068      */
clearCloudDlpDataProfile()12069     public Builder clearCloudDlpDataProfile() {
12070       bitField1_ = (bitField1_ & ~0x00000010);
12071       cloudDlpDataProfile_ = null;
12072       if (cloudDlpDataProfileBuilder_ != null) {
12073         cloudDlpDataProfileBuilder_.dispose();
12074         cloudDlpDataProfileBuilder_ = null;
12075       }
12076       onChanged();
12077       return this;
12078     }
12079     /**
12080      *
12081      *
12082      * <pre>
12083      * Cloud DLP data profile that is associated with the finding.
12084      * </pre>
12085      *
12086      * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
12087      */
12088     public com.google.cloud.securitycenter.v1.CloudDlpDataProfile.Builder
getCloudDlpDataProfileBuilder()12089         getCloudDlpDataProfileBuilder() {
12090       bitField1_ |= 0x00000010;
12091       onChanged();
12092       return getCloudDlpDataProfileFieldBuilder().getBuilder();
12093     }
12094     /**
12095      *
12096      *
12097      * <pre>
12098      * Cloud DLP data profile that is associated with the finding.
12099      * </pre>
12100      *
12101      * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
12102      */
12103     public com.google.cloud.securitycenter.v1.CloudDlpDataProfileOrBuilder
getCloudDlpDataProfileOrBuilder()12104         getCloudDlpDataProfileOrBuilder() {
12105       if (cloudDlpDataProfileBuilder_ != null) {
12106         return cloudDlpDataProfileBuilder_.getMessageOrBuilder();
12107       } else {
12108         return cloudDlpDataProfile_ == null
12109             ? com.google.cloud.securitycenter.v1.CloudDlpDataProfile.getDefaultInstance()
12110             : cloudDlpDataProfile_;
12111       }
12112     }
12113     /**
12114      *
12115      *
12116      * <pre>
12117      * Cloud DLP data profile that is associated with the finding.
12118      * </pre>
12119      *
12120      * <code>.google.cloud.securitycenter.v1.CloudDlpDataProfile cloud_dlp_data_profile = 49;</code>
12121      */
12122     private com.google.protobuf.SingleFieldBuilderV3<
12123             com.google.cloud.securitycenter.v1.CloudDlpDataProfile,
12124             com.google.cloud.securitycenter.v1.CloudDlpDataProfile.Builder,
12125             com.google.cloud.securitycenter.v1.CloudDlpDataProfileOrBuilder>
getCloudDlpDataProfileFieldBuilder()12126         getCloudDlpDataProfileFieldBuilder() {
12127       if (cloudDlpDataProfileBuilder_ == null) {
12128         cloudDlpDataProfileBuilder_ =
12129             new com.google.protobuf.SingleFieldBuilderV3<
12130                 com.google.cloud.securitycenter.v1.CloudDlpDataProfile,
12131                 com.google.cloud.securitycenter.v1.CloudDlpDataProfile.Builder,
12132                 com.google.cloud.securitycenter.v1.CloudDlpDataProfileOrBuilder>(
12133                 getCloudDlpDataProfile(), getParentForChildren(), isClean());
12134         cloudDlpDataProfile_ = null;
12135       }
12136       return cloudDlpDataProfileBuilder_;
12137     }
12138 
12139     private com.google.cloud.securitycenter.v1.KernelRootkit kernelRootkit_;
12140     private com.google.protobuf.SingleFieldBuilderV3<
12141             com.google.cloud.securitycenter.v1.KernelRootkit,
12142             com.google.cloud.securitycenter.v1.KernelRootkit.Builder,
12143             com.google.cloud.securitycenter.v1.KernelRootkitOrBuilder>
12144         kernelRootkitBuilder_;
12145     /**
12146      *
12147      *
12148      * <pre>
12149      * Signature of the kernel rootkit.
12150      * </pre>
12151      *
12152      * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
12153      *
12154      * @return Whether the kernelRootkit field is set.
12155      */
hasKernelRootkit()12156     public boolean hasKernelRootkit() {
12157       return ((bitField1_ & 0x00000020) != 0);
12158     }
12159     /**
12160      *
12161      *
12162      * <pre>
12163      * Signature of the kernel rootkit.
12164      * </pre>
12165      *
12166      * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
12167      *
12168      * @return The kernelRootkit.
12169      */
getKernelRootkit()12170     public com.google.cloud.securitycenter.v1.KernelRootkit getKernelRootkit() {
12171       if (kernelRootkitBuilder_ == null) {
12172         return kernelRootkit_ == null
12173             ? com.google.cloud.securitycenter.v1.KernelRootkit.getDefaultInstance()
12174             : kernelRootkit_;
12175       } else {
12176         return kernelRootkitBuilder_.getMessage();
12177       }
12178     }
12179     /**
12180      *
12181      *
12182      * <pre>
12183      * Signature of the kernel rootkit.
12184      * </pre>
12185      *
12186      * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
12187      */
setKernelRootkit(com.google.cloud.securitycenter.v1.KernelRootkit value)12188     public Builder setKernelRootkit(com.google.cloud.securitycenter.v1.KernelRootkit value) {
12189       if (kernelRootkitBuilder_ == null) {
12190         if (value == null) {
12191           throw new NullPointerException();
12192         }
12193         kernelRootkit_ = value;
12194       } else {
12195         kernelRootkitBuilder_.setMessage(value);
12196       }
12197       bitField1_ |= 0x00000020;
12198       onChanged();
12199       return this;
12200     }
12201     /**
12202      *
12203      *
12204      * <pre>
12205      * Signature of the kernel rootkit.
12206      * </pre>
12207      *
12208      * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
12209      */
setKernelRootkit( com.google.cloud.securitycenter.v1.KernelRootkit.Builder builderForValue)12210     public Builder setKernelRootkit(
12211         com.google.cloud.securitycenter.v1.KernelRootkit.Builder builderForValue) {
12212       if (kernelRootkitBuilder_ == null) {
12213         kernelRootkit_ = builderForValue.build();
12214       } else {
12215         kernelRootkitBuilder_.setMessage(builderForValue.build());
12216       }
12217       bitField1_ |= 0x00000020;
12218       onChanged();
12219       return this;
12220     }
12221     /**
12222      *
12223      *
12224      * <pre>
12225      * Signature of the kernel rootkit.
12226      * </pre>
12227      *
12228      * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
12229      */
mergeKernelRootkit(com.google.cloud.securitycenter.v1.KernelRootkit value)12230     public Builder mergeKernelRootkit(com.google.cloud.securitycenter.v1.KernelRootkit value) {
12231       if (kernelRootkitBuilder_ == null) {
12232         if (((bitField1_ & 0x00000020) != 0)
12233             && kernelRootkit_ != null
12234             && kernelRootkit_
12235                 != com.google.cloud.securitycenter.v1.KernelRootkit.getDefaultInstance()) {
12236           getKernelRootkitBuilder().mergeFrom(value);
12237         } else {
12238           kernelRootkit_ = value;
12239         }
12240       } else {
12241         kernelRootkitBuilder_.mergeFrom(value);
12242       }
12243       bitField1_ |= 0x00000020;
12244       onChanged();
12245       return this;
12246     }
12247     /**
12248      *
12249      *
12250      * <pre>
12251      * Signature of the kernel rootkit.
12252      * </pre>
12253      *
12254      * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
12255      */
clearKernelRootkit()12256     public Builder clearKernelRootkit() {
12257       bitField1_ = (bitField1_ & ~0x00000020);
12258       kernelRootkit_ = null;
12259       if (kernelRootkitBuilder_ != null) {
12260         kernelRootkitBuilder_.dispose();
12261         kernelRootkitBuilder_ = null;
12262       }
12263       onChanged();
12264       return this;
12265     }
12266     /**
12267      *
12268      *
12269      * <pre>
12270      * Signature of the kernel rootkit.
12271      * </pre>
12272      *
12273      * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
12274      */
getKernelRootkitBuilder()12275     public com.google.cloud.securitycenter.v1.KernelRootkit.Builder getKernelRootkitBuilder() {
12276       bitField1_ |= 0x00000020;
12277       onChanged();
12278       return getKernelRootkitFieldBuilder().getBuilder();
12279     }
12280     /**
12281      *
12282      *
12283      * <pre>
12284      * Signature of the kernel rootkit.
12285      * </pre>
12286      *
12287      * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
12288      */
getKernelRootkitOrBuilder()12289     public com.google.cloud.securitycenter.v1.KernelRootkitOrBuilder getKernelRootkitOrBuilder() {
12290       if (kernelRootkitBuilder_ != null) {
12291         return kernelRootkitBuilder_.getMessageOrBuilder();
12292       } else {
12293         return kernelRootkit_ == null
12294             ? com.google.cloud.securitycenter.v1.KernelRootkit.getDefaultInstance()
12295             : kernelRootkit_;
12296       }
12297     }
12298     /**
12299      *
12300      *
12301      * <pre>
12302      * Signature of the kernel rootkit.
12303      * </pre>
12304      *
12305      * <code>.google.cloud.securitycenter.v1.KernelRootkit kernel_rootkit = 50;</code>
12306      */
12307     private com.google.protobuf.SingleFieldBuilderV3<
12308             com.google.cloud.securitycenter.v1.KernelRootkit,
12309             com.google.cloud.securitycenter.v1.KernelRootkit.Builder,
12310             com.google.cloud.securitycenter.v1.KernelRootkitOrBuilder>
getKernelRootkitFieldBuilder()12311         getKernelRootkitFieldBuilder() {
12312       if (kernelRootkitBuilder_ == null) {
12313         kernelRootkitBuilder_ =
12314             new com.google.protobuf.SingleFieldBuilderV3<
12315                 com.google.cloud.securitycenter.v1.KernelRootkit,
12316                 com.google.cloud.securitycenter.v1.KernelRootkit.Builder,
12317                 com.google.cloud.securitycenter.v1.KernelRootkitOrBuilder>(
12318                 getKernelRootkit(), getParentForChildren(), isClean());
12319         kernelRootkit_ = null;
12320       }
12321       return kernelRootkitBuilder_;
12322     }
12323 
12324     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)12325     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
12326       return super.setUnknownFields(unknownFields);
12327     }
12328 
12329     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)12330     public final Builder mergeUnknownFields(
12331         final com.google.protobuf.UnknownFieldSet unknownFields) {
12332       return super.mergeUnknownFields(unknownFields);
12333     }
12334 
12335     // @@protoc_insertion_point(builder_scope:google.cloud.securitycenter.v1.Finding)
12336   }
12337 
12338   // @@protoc_insertion_point(class_scope:google.cloud.securitycenter.v1.Finding)
12339   private static final com.google.cloud.securitycenter.v1.Finding DEFAULT_INSTANCE;
12340 
12341   static {
12342     DEFAULT_INSTANCE = new com.google.cloud.securitycenter.v1.Finding();
12343   }
12344 
getDefaultInstance()12345   public static com.google.cloud.securitycenter.v1.Finding getDefaultInstance() {
12346     return DEFAULT_INSTANCE;
12347   }
12348 
12349   private static final com.google.protobuf.Parser<Finding> PARSER =
12350       new com.google.protobuf.AbstractParser<Finding>() {
12351         @java.lang.Override
12352         public Finding parsePartialFrom(
12353             com.google.protobuf.CodedInputStream input,
12354             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12355             throws com.google.protobuf.InvalidProtocolBufferException {
12356           Builder builder = newBuilder();
12357           try {
12358             builder.mergeFrom(input, extensionRegistry);
12359           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12360             throw e.setUnfinishedMessage(builder.buildPartial());
12361           } catch (com.google.protobuf.UninitializedMessageException e) {
12362             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
12363           } catch (java.io.IOException e) {
12364             throw new com.google.protobuf.InvalidProtocolBufferException(e)
12365                 .setUnfinishedMessage(builder.buildPartial());
12366           }
12367           return builder.buildPartial();
12368         }
12369       };
12370 
parser()12371   public static com.google.protobuf.Parser<Finding> parser() {
12372     return PARSER;
12373   }
12374 
12375   @java.lang.Override
getParserForType()12376   public com.google.protobuf.Parser<Finding> getParserForType() {
12377     return PARSER;
12378   }
12379 
12380   @java.lang.Override
getDefaultInstanceForType()12381   public com.google.cloud.securitycenter.v1.Finding getDefaultInstanceForType() {
12382     return DEFAULT_INSTANCE;
12383   }
12384 }
12385