• 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/redis/v1/cloud_redis.proto
18 
19 package com.google.cloud.redis.v1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * A Memorystore for Redis instance.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.redis.v1.Instance}
29  */
30 public final class Instance extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.redis.v1.Instance)
33     InstanceOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use Instance.newBuilder() to construct.
Instance(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private Instance(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
Instance()40   private Instance() {
41     name_ = "";
42     displayName_ = "";
43     locationId_ = "";
44     alternativeLocationId_ = "";
45     redisVersion_ = "";
46     reservedIpRange_ = "";
47     secondaryIpRange_ = "";
48     host_ = "";
49     currentLocationId_ = "";
50     state_ = 0;
51     statusMessage_ = "";
52     tier_ = 0;
53     authorizedNetwork_ = "";
54     persistenceIamIdentity_ = "";
55     connectMode_ = 0;
56     serverCaCerts_ = java.util.Collections.emptyList();
57     transitEncryptionMode_ = 0;
58     nodes_ = java.util.Collections.emptyList();
59     readEndpoint_ = "";
60     readReplicasMode_ = 0;
61     customerManagedKey_ = "";
62     suspensionReasons_ = java.util.Collections.emptyList();
63     maintenanceVersion_ = "";
64     availableMaintenanceVersions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
65   }
66 
67   @java.lang.Override
68   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)69   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
70     return new Instance();
71   }
72 
73   @java.lang.Override
getUnknownFields()74   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
75     return this.unknownFields;
76   }
77 
getDescriptor()78   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
79     return com.google.cloud.redis.v1.CloudRedisServiceV1Proto
80         .internal_static_google_cloud_redis_v1_Instance_descriptor;
81   }
82 
83   @SuppressWarnings({"rawtypes"})
84   @java.lang.Override
internalGetMapField(int number)85   protected com.google.protobuf.MapField internalGetMapField(int number) {
86     switch (number) {
87       case 3:
88         return internalGetLabels();
89       case 16:
90         return internalGetRedisConfigs();
91       default:
92         throw new RuntimeException("Invalid map field number: " + number);
93     }
94   }
95 
96   @java.lang.Override
97   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()98       internalGetFieldAccessorTable() {
99     return com.google.cloud.redis.v1.CloudRedisServiceV1Proto
100         .internal_static_google_cloud_redis_v1_Instance_fieldAccessorTable
101         .ensureFieldAccessorsInitialized(
102             com.google.cloud.redis.v1.Instance.class,
103             com.google.cloud.redis.v1.Instance.Builder.class);
104   }
105 
106   /**
107    *
108    *
109    * <pre>
110    * Represents the different states of a Redis instance.
111    * </pre>
112    *
113    * Protobuf enum {@code google.cloud.redis.v1.Instance.State}
114    */
115   public enum State implements com.google.protobuf.ProtocolMessageEnum {
116     /**
117      *
118      *
119      * <pre>
120      * Not set.
121      * </pre>
122      *
123      * <code>STATE_UNSPECIFIED = 0;</code>
124      */
125     STATE_UNSPECIFIED(0),
126     /**
127      *
128      *
129      * <pre>
130      * Redis instance is being created.
131      * </pre>
132      *
133      * <code>CREATING = 1;</code>
134      */
135     CREATING(1),
136     /**
137      *
138      *
139      * <pre>
140      * Redis instance has been created and is fully usable.
141      * </pre>
142      *
143      * <code>READY = 2;</code>
144      */
145     READY(2),
146     /**
147      *
148      *
149      * <pre>
150      * Redis instance configuration is being updated. Certain kinds of updates
151      * may cause the instance to become unusable while the update is in
152      * progress.
153      * </pre>
154      *
155      * <code>UPDATING = 3;</code>
156      */
157     UPDATING(3),
158     /**
159      *
160      *
161      * <pre>
162      * Redis instance is being deleted.
163      * </pre>
164      *
165      * <code>DELETING = 4;</code>
166      */
167     DELETING(4),
168     /**
169      *
170      *
171      * <pre>
172      * Redis instance is being repaired and may be unusable.
173      * </pre>
174      *
175      * <code>REPAIRING = 5;</code>
176      */
177     REPAIRING(5),
178     /**
179      *
180      *
181      * <pre>
182      * Maintenance is being performed on this Redis instance.
183      * </pre>
184      *
185      * <code>MAINTENANCE = 6;</code>
186      */
187     MAINTENANCE(6),
188     /**
189      *
190      *
191      * <pre>
192      * Redis instance is importing data (availability may be affected).
193      * </pre>
194      *
195      * <code>IMPORTING = 8;</code>
196      */
197     IMPORTING(8),
198     /**
199      *
200      *
201      * <pre>
202      * Redis instance is failing over (availability may be affected).
203      * </pre>
204      *
205      * <code>FAILING_OVER = 9;</code>
206      */
207     FAILING_OVER(9),
208     UNRECOGNIZED(-1),
209     ;
210 
211     /**
212      *
213      *
214      * <pre>
215      * Not set.
216      * </pre>
217      *
218      * <code>STATE_UNSPECIFIED = 0;</code>
219      */
220     public static final int STATE_UNSPECIFIED_VALUE = 0;
221     /**
222      *
223      *
224      * <pre>
225      * Redis instance is being created.
226      * </pre>
227      *
228      * <code>CREATING = 1;</code>
229      */
230     public static final int CREATING_VALUE = 1;
231     /**
232      *
233      *
234      * <pre>
235      * Redis instance has been created and is fully usable.
236      * </pre>
237      *
238      * <code>READY = 2;</code>
239      */
240     public static final int READY_VALUE = 2;
241     /**
242      *
243      *
244      * <pre>
245      * Redis instance configuration is being updated. Certain kinds of updates
246      * may cause the instance to become unusable while the update is in
247      * progress.
248      * </pre>
249      *
250      * <code>UPDATING = 3;</code>
251      */
252     public static final int UPDATING_VALUE = 3;
253     /**
254      *
255      *
256      * <pre>
257      * Redis instance is being deleted.
258      * </pre>
259      *
260      * <code>DELETING = 4;</code>
261      */
262     public static final int DELETING_VALUE = 4;
263     /**
264      *
265      *
266      * <pre>
267      * Redis instance is being repaired and may be unusable.
268      * </pre>
269      *
270      * <code>REPAIRING = 5;</code>
271      */
272     public static final int REPAIRING_VALUE = 5;
273     /**
274      *
275      *
276      * <pre>
277      * Maintenance is being performed on this Redis instance.
278      * </pre>
279      *
280      * <code>MAINTENANCE = 6;</code>
281      */
282     public static final int MAINTENANCE_VALUE = 6;
283     /**
284      *
285      *
286      * <pre>
287      * Redis instance is importing data (availability may be affected).
288      * </pre>
289      *
290      * <code>IMPORTING = 8;</code>
291      */
292     public static final int IMPORTING_VALUE = 8;
293     /**
294      *
295      *
296      * <pre>
297      * Redis instance is failing over (availability may be affected).
298      * </pre>
299      *
300      * <code>FAILING_OVER = 9;</code>
301      */
302     public static final int FAILING_OVER_VALUE = 9;
303 
getNumber()304     public final int getNumber() {
305       if (this == UNRECOGNIZED) {
306         throw new java.lang.IllegalArgumentException(
307             "Can't get the number of an unknown enum value.");
308       }
309       return value;
310     }
311 
312     /**
313      * @param value The numeric wire value of the corresponding enum entry.
314      * @return The enum associated with the given numeric wire value.
315      * @deprecated Use {@link #forNumber(int)} instead.
316      */
317     @java.lang.Deprecated
valueOf(int value)318     public static State valueOf(int value) {
319       return forNumber(value);
320     }
321 
322     /**
323      * @param value The numeric wire value of the corresponding enum entry.
324      * @return The enum associated with the given numeric wire value.
325      */
forNumber(int value)326     public static State forNumber(int value) {
327       switch (value) {
328         case 0:
329           return STATE_UNSPECIFIED;
330         case 1:
331           return CREATING;
332         case 2:
333           return READY;
334         case 3:
335           return UPDATING;
336         case 4:
337           return DELETING;
338         case 5:
339           return REPAIRING;
340         case 6:
341           return MAINTENANCE;
342         case 8:
343           return IMPORTING;
344         case 9:
345           return FAILING_OVER;
346         default:
347           return null;
348       }
349     }
350 
internalGetValueMap()351     public static com.google.protobuf.Internal.EnumLiteMap<State> internalGetValueMap() {
352       return internalValueMap;
353     }
354 
355     private static final com.google.protobuf.Internal.EnumLiteMap<State> internalValueMap =
356         new com.google.protobuf.Internal.EnumLiteMap<State>() {
357           public State findValueByNumber(int number) {
358             return State.forNumber(number);
359           }
360         };
361 
getValueDescriptor()362     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
363       if (this == UNRECOGNIZED) {
364         throw new java.lang.IllegalStateException(
365             "Can't get the descriptor of an unrecognized enum value.");
366       }
367       return getDescriptor().getValues().get(ordinal());
368     }
369 
getDescriptorForType()370     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
371       return getDescriptor();
372     }
373 
getDescriptor()374     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
375       return com.google.cloud.redis.v1.Instance.getDescriptor().getEnumTypes().get(0);
376     }
377 
378     private static final State[] VALUES = values();
379 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)380     public static State valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
381       if (desc.getType() != getDescriptor()) {
382         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
383       }
384       if (desc.getIndex() == -1) {
385         return UNRECOGNIZED;
386       }
387       return VALUES[desc.getIndex()];
388     }
389 
390     private final int value;
391 
State(int value)392     private State(int value) {
393       this.value = value;
394     }
395 
396     // @@protoc_insertion_point(enum_scope:google.cloud.redis.v1.Instance.State)
397   }
398 
399   /**
400    *
401    *
402    * <pre>
403    * Available service tiers to choose from
404    * </pre>
405    *
406    * Protobuf enum {@code google.cloud.redis.v1.Instance.Tier}
407    */
408   public enum Tier implements com.google.protobuf.ProtocolMessageEnum {
409     /**
410      *
411      *
412      * <pre>
413      * Not set.
414      * </pre>
415      *
416      * <code>TIER_UNSPECIFIED = 0;</code>
417      */
418     TIER_UNSPECIFIED(0),
419     /**
420      *
421      *
422      * <pre>
423      * BASIC tier: standalone instance
424      * </pre>
425      *
426      * <code>BASIC = 1;</code>
427      */
428     BASIC(1),
429     /**
430      *
431      *
432      * <pre>
433      * STANDARD_HA tier: highly available primary/replica instances
434      * </pre>
435      *
436      * <code>STANDARD_HA = 3;</code>
437      */
438     STANDARD_HA(3),
439     UNRECOGNIZED(-1),
440     ;
441 
442     /**
443      *
444      *
445      * <pre>
446      * Not set.
447      * </pre>
448      *
449      * <code>TIER_UNSPECIFIED = 0;</code>
450      */
451     public static final int TIER_UNSPECIFIED_VALUE = 0;
452     /**
453      *
454      *
455      * <pre>
456      * BASIC tier: standalone instance
457      * </pre>
458      *
459      * <code>BASIC = 1;</code>
460      */
461     public static final int BASIC_VALUE = 1;
462     /**
463      *
464      *
465      * <pre>
466      * STANDARD_HA tier: highly available primary/replica instances
467      * </pre>
468      *
469      * <code>STANDARD_HA = 3;</code>
470      */
471     public static final int STANDARD_HA_VALUE = 3;
472 
getNumber()473     public final int getNumber() {
474       if (this == UNRECOGNIZED) {
475         throw new java.lang.IllegalArgumentException(
476             "Can't get the number of an unknown enum value.");
477       }
478       return value;
479     }
480 
481     /**
482      * @param value The numeric wire value of the corresponding enum entry.
483      * @return The enum associated with the given numeric wire value.
484      * @deprecated Use {@link #forNumber(int)} instead.
485      */
486     @java.lang.Deprecated
valueOf(int value)487     public static Tier valueOf(int value) {
488       return forNumber(value);
489     }
490 
491     /**
492      * @param value The numeric wire value of the corresponding enum entry.
493      * @return The enum associated with the given numeric wire value.
494      */
forNumber(int value)495     public static Tier forNumber(int value) {
496       switch (value) {
497         case 0:
498           return TIER_UNSPECIFIED;
499         case 1:
500           return BASIC;
501         case 3:
502           return STANDARD_HA;
503         default:
504           return null;
505       }
506     }
507 
internalGetValueMap()508     public static com.google.protobuf.Internal.EnumLiteMap<Tier> internalGetValueMap() {
509       return internalValueMap;
510     }
511 
512     private static final com.google.protobuf.Internal.EnumLiteMap<Tier> internalValueMap =
513         new com.google.protobuf.Internal.EnumLiteMap<Tier>() {
514           public Tier findValueByNumber(int number) {
515             return Tier.forNumber(number);
516           }
517         };
518 
getValueDescriptor()519     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
520       if (this == UNRECOGNIZED) {
521         throw new java.lang.IllegalStateException(
522             "Can't get the descriptor of an unrecognized enum value.");
523       }
524       return getDescriptor().getValues().get(ordinal());
525     }
526 
getDescriptorForType()527     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
528       return getDescriptor();
529     }
530 
getDescriptor()531     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
532       return com.google.cloud.redis.v1.Instance.getDescriptor().getEnumTypes().get(1);
533     }
534 
535     private static final Tier[] VALUES = values();
536 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)537     public static Tier valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
538       if (desc.getType() != getDescriptor()) {
539         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
540       }
541       if (desc.getIndex() == -1) {
542         return UNRECOGNIZED;
543       }
544       return VALUES[desc.getIndex()];
545     }
546 
547     private final int value;
548 
Tier(int value)549     private Tier(int value) {
550       this.value = value;
551     }
552 
553     // @@protoc_insertion_point(enum_scope:google.cloud.redis.v1.Instance.Tier)
554   }
555 
556   /**
557    *
558    *
559    * <pre>
560    * Available connection modes.
561    * </pre>
562    *
563    * Protobuf enum {@code google.cloud.redis.v1.Instance.ConnectMode}
564    */
565   public enum ConnectMode implements com.google.protobuf.ProtocolMessageEnum {
566     /**
567      *
568      *
569      * <pre>
570      * Not set.
571      * </pre>
572      *
573      * <code>CONNECT_MODE_UNSPECIFIED = 0;</code>
574      */
575     CONNECT_MODE_UNSPECIFIED(0),
576     /**
577      *
578      *
579      * <pre>
580      * Connect via direct peering to the Memorystore for Redis hosted service.
581      * </pre>
582      *
583      * <code>DIRECT_PEERING = 1;</code>
584      */
585     DIRECT_PEERING(1),
586     /**
587      *
588      *
589      * <pre>
590      * Connect your Memorystore for Redis instance using Private Service
591      * Access. Private services access provides an IP address range for multiple
592      * Google Cloud services, including Memorystore.
593      * </pre>
594      *
595      * <code>PRIVATE_SERVICE_ACCESS = 2;</code>
596      */
597     PRIVATE_SERVICE_ACCESS(2),
598     UNRECOGNIZED(-1),
599     ;
600 
601     /**
602      *
603      *
604      * <pre>
605      * Not set.
606      * </pre>
607      *
608      * <code>CONNECT_MODE_UNSPECIFIED = 0;</code>
609      */
610     public static final int CONNECT_MODE_UNSPECIFIED_VALUE = 0;
611     /**
612      *
613      *
614      * <pre>
615      * Connect via direct peering to the Memorystore for Redis hosted service.
616      * </pre>
617      *
618      * <code>DIRECT_PEERING = 1;</code>
619      */
620     public static final int DIRECT_PEERING_VALUE = 1;
621     /**
622      *
623      *
624      * <pre>
625      * Connect your Memorystore for Redis instance using Private Service
626      * Access. Private services access provides an IP address range for multiple
627      * Google Cloud services, including Memorystore.
628      * </pre>
629      *
630      * <code>PRIVATE_SERVICE_ACCESS = 2;</code>
631      */
632     public static final int PRIVATE_SERVICE_ACCESS_VALUE = 2;
633 
getNumber()634     public final int getNumber() {
635       if (this == UNRECOGNIZED) {
636         throw new java.lang.IllegalArgumentException(
637             "Can't get the number of an unknown enum value.");
638       }
639       return value;
640     }
641 
642     /**
643      * @param value The numeric wire value of the corresponding enum entry.
644      * @return The enum associated with the given numeric wire value.
645      * @deprecated Use {@link #forNumber(int)} instead.
646      */
647     @java.lang.Deprecated
valueOf(int value)648     public static ConnectMode valueOf(int value) {
649       return forNumber(value);
650     }
651 
652     /**
653      * @param value The numeric wire value of the corresponding enum entry.
654      * @return The enum associated with the given numeric wire value.
655      */
forNumber(int value)656     public static ConnectMode forNumber(int value) {
657       switch (value) {
658         case 0:
659           return CONNECT_MODE_UNSPECIFIED;
660         case 1:
661           return DIRECT_PEERING;
662         case 2:
663           return PRIVATE_SERVICE_ACCESS;
664         default:
665           return null;
666       }
667     }
668 
internalGetValueMap()669     public static com.google.protobuf.Internal.EnumLiteMap<ConnectMode> internalGetValueMap() {
670       return internalValueMap;
671     }
672 
673     private static final com.google.protobuf.Internal.EnumLiteMap<ConnectMode> internalValueMap =
674         new com.google.protobuf.Internal.EnumLiteMap<ConnectMode>() {
675           public ConnectMode findValueByNumber(int number) {
676             return ConnectMode.forNumber(number);
677           }
678         };
679 
getValueDescriptor()680     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
681       if (this == UNRECOGNIZED) {
682         throw new java.lang.IllegalStateException(
683             "Can't get the descriptor of an unrecognized enum value.");
684       }
685       return getDescriptor().getValues().get(ordinal());
686     }
687 
getDescriptorForType()688     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
689       return getDescriptor();
690     }
691 
getDescriptor()692     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
693       return com.google.cloud.redis.v1.Instance.getDescriptor().getEnumTypes().get(2);
694     }
695 
696     private static final ConnectMode[] VALUES = values();
697 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)698     public static ConnectMode valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
699       if (desc.getType() != getDescriptor()) {
700         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
701       }
702       if (desc.getIndex() == -1) {
703         return UNRECOGNIZED;
704       }
705       return VALUES[desc.getIndex()];
706     }
707 
708     private final int value;
709 
ConnectMode(int value)710     private ConnectMode(int value) {
711       this.value = value;
712     }
713 
714     // @@protoc_insertion_point(enum_scope:google.cloud.redis.v1.Instance.ConnectMode)
715   }
716 
717   /**
718    *
719    *
720    * <pre>
721    * Available TLS modes.
722    * </pre>
723    *
724    * Protobuf enum {@code google.cloud.redis.v1.Instance.TransitEncryptionMode}
725    */
726   public enum TransitEncryptionMode implements com.google.protobuf.ProtocolMessageEnum {
727     /**
728      *
729      *
730      * <pre>
731      * Not set.
732      * </pre>
733      *
734      * <code>TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0;</code>
735      */
736     TRANSIT_ENCRYPTION_MODE_UNSPECIFIED(0),
737     /**
738      *
739      *
740      * <pre>
741      * Client to Server traffic encryption enabled with server authentication.
742      * </pre>
743      *
744      * <code>SERVER_AUTHENTICATION = 1;</code>
745      */
746     SERVER_AUTHENTICATION(1),
747     /**
748      *
749      *
750      * <pre>
751      * TLS is disabled for the instance.
752      * </pre>
753      *
754      * <code>DISABLED = 2;</code>
755      */
756     DISABLED(2),
757     UNRECOGNIZED(-1),
758     ;
759 
760     /**
761      *
762      *
763      * <pre>
764      * Not set.
765      * </pre>
766      *
767      * <code>TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0;</code>
768      */
769     public static final int TRANSIT_ENCRYPTION_MODE_UNSPECIFIED_VALUE = 0;
770     /**
771      *
772      *
773      * <pre>
774      * Client to Server traffic encryption enabled with server authentication.
775      * </pre>
776      *
777      * <code>SERVER_AUTHENTICATION = 1;</code>
778      */
779     public static final int SERVER_AUTHENTICATION_VALUE = 1;
780     /**
781      *
782      *
783      * <pre>
784      * TLS is disabled for the instance.
785      * </pre>
786      *
787      * <code>DISABLED = 2;</code>
788      */
789     public static final int DISABLED_VALUE = 2;
790 
getNumber()791     public final int getNumber() {
792       if (this == UNRECOGNIZED) {
793         throw new java.lang.IllegalArgumentException(
794             "Can't get the number of an unknown enum value.");
795       }
796       return value;
797     }
798 
799     /**
800      * @param value The numeric wire value of the corresponding enum entry.
801      * @return The enum associated with the given numeric wire value.
802      * @deprecated Use {@link #forNumber(int)} instead.
803      */
804     @java.lang.Deprecated
valueOf(int value)805     public static TransitEncryptionMode valueOf(int value) {
806       return forNumber(value);
807     }
808 
809     /**
810      * @param value The numeric wire value of the corresponding enum entry.
811      * @return The enum associated with the given numeric wire value.
812      */
forNumber(int value)813     public static TransitEncryptionMode forNumber(int value) {
814       switch (value) {
815         case 0:
816           return TRANSIT_ENCRYPTION_MODE_UNSPECIFIED;
817         case 1:
818           return SERVER_AUTHENTICATION;
819         case 2:
820           return DISABLED;
821         default:
822           return null;
823       }
824     }
825 
826     public static com.google.protobuf.Internal.EnumLiteMap<TransitEncryptionMode>
internalGetValueMap()827         internalGetValueMap() {
828       return internalValueMap;
829     }
830 
831     private static final com.google.protobuf.Internal.EnumLiteMap<TransitEncryptionMode>
832         internalValueMap =
833             new com.google.protobuf.Internal.EnumLiteMap<TransitEncryptionMode>() {
834               public TransitEncryptionMode findValueByNumber(int number) {
835                 return TransitEncryptionMode.forNumber(number);
836               }
837             };
838 
getValueDescriptor()839     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
840       if (this == UNRECOGNIZED) {
841         throw new java.lang.IllegalStateException(
842             "Can't get the descriptor of an unrecognized enum value.");
843       }
844       return getDescriptor().getValues().get(ordinal());
845     }
846 
getDescriptorForType()847     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
848       return getDescriptor();
849     }
850 
getDescriptor()851     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
852       return com.google.cloud.redis.v1.Instance.getDescriptor().getEnumTypes().get(3);
853     }
854 
855     private static final TransitEncryptionMode[] VALUES = values();
856 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)857     public static TransitEncryptionMode valueOf(
858         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
859       if (desc.getType() != getDescriptor()) {
860         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
861       }
862       if (desc.getIndex() == -1) {
863         return UNRECOGNIZED;
864       }
865       return VALUES[desc.getIndex()];
866     }
867 
868     private final int value;
869 
TransitEncryptionMode(int value)870     private TransitEncryptionMode(int value) {
871       this.value = value;
872     }
873 
874     // @@protoc_insertion_point(enum_scope:google.cloud.redis.v1.Instance.TransitEncryptionMode)
875   }
876 
877   /**
878    *
879    *
880    * <pre>
881    * Read replicas mode.
882    * </pre>
883    *
884    * Protobuf enum {@code google.cloud.redis.v1.Instance.ReadReplicasMode}
885    */
886   public enum ReadReplicasMode implements com.google.protobuf.ProtocolMessageEnum {
887     /**
888      *
889      *
890      * <pre>
891      * If not set, Memorystore Redis backend will default to
892      * READ_REPLICAS_DISABLED.
893      * </pre>
894      *
895      * <code>READ_REPLICAS_MODE_UNSPECIFIED = 0;</code>
896      */
897     READ_REPLICAS_MODE_UNSPECIFIED(0),
898     /**
899      *
900      *
901      * <pre>
902      * If disabled, read endpoint will not be provided and the instance cannot
903      * scale up or down the number of replicas.
904      * </pre>
905      *
906      * <code>READ_REPLICAS_DISABLED = 1;</code>
907      */
908     READ_REPLICAS_DISABLED(1),
909     /**
910      *
911      *
912      * <pre>
913      * If enabled, read endpoint will be provided and the instance can scale
914      * up and down the number of replicas. Not valid for basic tier.
915      * </pre>
916      *
917      * <code>READ_REPLICAS_ENABLED = 2;</code>
918      */
919     READ_REPLICAS_ENABLED(2),
920     UNRECOGNIZED(-1),
921     ;
922 
923     /**
924      *
925      *
926      * <pre>
927      * If not set, Memorystore Redis backend will default to
928      * READ_REPLICAS_DISABLED.
929      * </pre>
930      *
931      * <code>READ_REPLICAS_MODE_UNSPECIFIED = 0;</code>
932      */
933     public static final int READ_REPLICAS_MODE_UNSPECIFIED_VALUE = 0;
934     /**
935      *
936      *
937      * <pre>
938      * If disabled, read endpoint will not be provided and the instance cannot
939      * scale up or down the number of replicas.
940      * </pre>
941      *
942      * <code>READ_REPLICAS_DISABLED = 1;</code>
943      */
944     public static final int READ_REPLICAS_DISABLED_VALUE = 1;
945     /**
946      *
947      *
948      * <pre>
949      * If enabled, read endpoint will be provided and the instance can scale
950      * up and down the number of replicas. Not valid for basic tier.
951      * </pre>
952      *
953      * <code>READ_REPLICAS_ENABLED = 2;</code>
954      */
955     public static final int READ_REPLICAS_ENABLED_VALUE = 2;
956 
getNumber()957     public final int getNumber() {
958       if (this == UNRECOGNIZED) {
959         throw new java.lang.IllegalArgumentException(
960             "Can't get the number of an unknown enum value.");
961       }
962       return value;
963     }
964 
965     /**
966      * @param value The numeric wire value of the corresponding enum entry.
967      * @return The enum associated with the given numeric wire value.
968      * @deprecated Use {@link #forNumber(int)} instead.
969      */
970     @java.lang.Deprecated
valueOf(int value)971     public static ReadReplicasMode valueOf(int value) {
972       return forNumber(value);
973     }
974 
975     /**
976      * @param value The numeric wire value of the corresponding enum entry.
977      * @return The enum associated with the given numeric wire value.
978      */
forNumber(int value)979     public static ReadReplicasMode forNumber(int value) {
980       switch (value) {
981         case 0:
982           return READ_REPLICAS_MODE_UNSPECIFIED;
983         case 1:
984           return READ_REPLICAS_DISABLED;
985         case 2:
986           return READ_REPLICAS_ENABLED;
987         default:
988           return null;
989       }
990     }
991 
internalGetValueMap()992     public static com.google.protobuf.Internal.EnumLiteMap<ReadReplicasMode> internalGetValueMap() {
993       return internalValueMap;
994     }
995 
996     private static final com.google.protobuf.Internal.EnumLiteMap<ReadReplicasMode>
997         internalValueMap =
998             new com.google.protobuf.Internal.EnumLiteMap<ReadReplicasMode>() {
999               public ReadReplicasMode findValueByNumber(int number) {
1000                 return ReadReplicasMode.forNumber(number);
1001               }
1002             };
1003 
getValueDescriptor()1004     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
1005       if (this == UNRECOGNIZED) {
1006         throw new java.lang.IllegalStateException(
1007             "Can't get the descriptor of an unrecognized enum value.");
1008       }
1009       return getDescriptor().getValues().get(ordinal());
1010     }
1011 
getDescriptorForType()1012     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
1013       return getDescriptor();
1014     }
1015 
getDescriptor()1016     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
1017       return com.google.cloud.redis.v1.Instance.getDescriptor().getEnumTypes().get(4);
1018     }
1019 
1020     private static final ReadReplicasMode[] VALUES = values();
1021 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)1022     public static ReadReplicasMode valueOf(
1023         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1024       if (desc.getType() != getDescriptor()) {
1025         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
1026       }
1027       if (desc.getIndex() == -1) {
1028         return UNRECOGNIZED;
1029       }
1030       return VALUES[desc.getIndex()];
1031     }
1032 
1033     private final int value;
1034 
ReadReplicasMode(int value)1035     private ReadReplicasMode(int value) {
1036       this.value = value;
1037     }
1038 
1039     // @@protoc_insertion_point(enum_scope:google.cloud.redis.v1.Instance.ReadReplicasMode)
1040   }
1041 
1042   /**
1043    *
1044    *
1045    * <pre>
1046    * Possible reasons for the instance to be in a "SUSPENDED" state.
1047    * </pre>
1048    *
1049    * Protobuf enum {@code google.cloud.redis.v1.Instance.SuspensionReason}
1050    */
1051   public enum SuspensionReason implements com.google.protobuf.ProtocolMessageEnum {
1052     /**
1053      *
1054      *
1055      * <pre>
1056      * Not set.
1057      * </pre>
1058      *
1059      * <code>SUSPENSION_REASON_UNSPECIFIED = 0;</code>
1060      */
1061     SUSPENSION_REASON_UNSPECIFIED(0),
1062     /**
1063      *
1064      *
1065      * <pre>
1066      * Something wrong with the CMEK key provided by customer.
1067      * </pre>
1068      *
1069      * <code>CUSTOMER_MANAGED_KEY_ISSUE = 1;</code>
1070      */
1071     CUSTOMER_MANAGED_KEY_ISSUE(1),
1072     UNRECOGNIZED(-1),
1073     ;
1074 
1075     /**
1076      *
1077      *
1078      * <pre>
1079      * Not set.
1080      * </pre>
1081      *
1082      * <code>SUSPENSION_REASON_UNSPECIFIED = 0;</code>
1083      */
1084     public static final int SUSPENSION_REASON_UNSPECIFIED_VALUE = 0;
1085     /**
1086      *
1087      *
1088      * <pre>
1089      * Something wrong with the CMEK key provided by customer.
1090      * </pre>
1091      *
1092      * <code>CUSTOMER_MANAGED_KEY_ISSUE = 1;</code>
1093      */
1094     public static final int CUSTOMER_MANAGED_KEY_ISSUE_VALUE = 1;
1095 
getNumber()1096     public final int getNumber() {
1097       if (this == UNRECOGNIZED) {
1098         throw new java.lang.IllegalArgumentException(
1099             "Can't get the number of an unknown enum value.");
1100       }
1101       return value;
1102     }
1103 
1104     /**
1105      * @param value The numeric wire value of the corresponding enum entry.
1106      * @return The enum associated with the given numeric wire value.
1107      * @deprecated Use {@link #forNumber(int)} instead.
1108      */
1109     @java.lang.Deprecated
valueOf(int value)1110     public static SuspensionReason valueOf(int value) {
1111       return forNumber(value);
1112     }
1113 
1114     /**
1115      * @param value The numeric wire value of the corresponding enum entry.
1116      * @return The enum associated with the given numeric wire value.
1117      */
forNumber(int value)1118     public static SuspensionReason forNumber(int value) {
1119       switch (value) {
1120         case 0:
1121           return SUSPENSION_REASON_UNSPECIFIED;
1122         case 1:
1123           return CUSTOMER_MANAGED_KEY_ISSUE;
1124         default:
1125           return null;
1126       }
1127     }
1128 
internalGetValueMap()1129     public static com.google.protobuf.Internal.EnumLiteMap<SuspensionReason> internalGetValueMap() {
1130       return internalValueMap;
1131     }
1132 
1133     private static final com.google.protobuf.Internal.EnumLiteMap<SuspensionReason>
1134         internalValueMap =
1135             new com.google.protobuf.Internal.EnumLiteMap<SuspensionReason>() {
1136               public SuspensionReason findValueByNumber(int number) {
1137                 return SuspensionReason.forNumber(number);
1138               }
1139             };
1140 
getValueDescriptor()1141     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
1142       if (this == UNRECOGNIZED) {
1143         throw new java.lang.IllegalStateException(
1144             "Can't get the descriptor of an unrecognized enum value.");
1145       }
1146       return getDescriptor().getValues().get(ordinal());
1147     }
1148 
getDescriptorForType()1149     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
1150       return getDescriptor();
1151     }
1152 
getDescriptor()1153     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
1154       return com.google.cloud.redis.v1.Instance.getDescriptor().getEnumTypes().get(5);
1155     }
1156 
1157     private static final SuspensionReason[] VALUES = values();
1158 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)1159     public static SuspensionReason valueOf(
1160         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1161       if (desc.getType() != getDescriptor()) {
1162         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
1163       }
1164       if (desc.getIndex() == -1) {
1165         return UNRECOGNIZED;
1166       }
1167       return VALUES[desc.getIndex()];
1168     }
1169 
1170     private final int value;
1171 
SuspensionReason(int value)1172     private SuspensionReason(int value) {
1173       this.value = value;
1174     }
1175 
1176     // @@protoc_insertion_point(enum_scope:google.cloud.redis.v1.Instance.SuspensionReason)
1177   }
1178 
1179   public static final int NAME_FIELD_NUMBER = 1;
1180 
1181   @SuppressWarnings("serial")
1182   private volatile java.lang.Object name_ = "";
1183   /**
1184    *
1185    *
1186    * <pre>
1187    * Required. Unique name of the resource in this scope including project and
1188    * location using the form:
1189    *     `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
1190    * Note: Redis instances are managed and addressed at regional level so
1191    * location_id here refers to a GCP region; however, users may choose which
1192    * specific zone (or collection of zones for cross-zone instances) an instance
1193    * should be provisioned in. Refer to
1194    * [location_id][google.cloud.redis.v1.Instance.location_id] and
1195    * [alternative_location_id][google.cloud.redis.v1.Instance.alternative_location_id]
1196    * fields for more details.
1197    * </pre>
1198    *
1199    * <code>string name = 1 [(.google.api.field_behavior) = REQUIRED];</code>
1200    *
1201    * @return The name.
1202    */
1203   @java.lang.Override
getName()1204   public java.lang.String getName() {
1205     java.lang.Object ref = name_;
1206     if (ref instanceof java.lang.String) {
1207       return (java.lang.String) ref;
1208     } else {
1209       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1210       java.lang.String s = bs.toStringUtf8();
1211       name_ = s;
1212       return s;
1213     }
1214   }
1215   /**
1216    *
1217    *
1218    * <pre>
1219    * Required. Unique name of the resource in this scope including project and
1220    * location using the form:
1221    *     `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
1222    * Note: Redis instances are managed and addressed at regional level so
1223    * location_id here refers to a GCP region; however, users may choose which
1224    * specific zone (or collection of zones for cross-zone instances) an instance
1225    * should be provisioned in. Refer to
1226    * [location_id][google.cloud.redis.v1.Instance.location_id] and
1227    * [alternative_location_id][google.cloud.redis.v1.Instance.alternative_location_id]
1228    * fields for more details.
1229    * </pre>
1230    *
1231    * <code>string name = 1 [(.google.api.field_behavior) = REQUIRED];</code>
1232    *
1233    * @return The bytes for name.
1234    */
1235   @java.lang.Override
getNameBytes()1236   public com.google.protobuf.ByteString getNameBytes() {
1237     java.lang.Object ref = name_;
1238     if (ref instanceof java.lang.String) {
1239       com.google.protobuf.ByteString b =
1240           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1241       name_ = b;
1242       return b;
1243     } else {
1244       return (com.google.protobuf.ByteString) ref;
1245     }
1246   }
1247 
1248   public static final int DISPLAY_NAME_FIELD_NUMBER = 2;
1249 
1250   @SuppressWarnings("serial")
1251   private volatile java.lang.Object displayName_ = "";
1252   /**
1253    *
1254    *
1255    * <pre>
1256    * An arbitrary and optional user-provided name for the instance.
1257    * </pre>
1258    *
1259    * <code>string display_name = 2;</code>
1260    *
1261    * @return The displayName.
1262    */
1263   @java.lang.Override
getDisplayName()1264   public java.lang.String getDisplayName() {
1265     java.lang.Object ref = displayName_;
1266     if (ref instanceof java.lang.String) {
1267       return (java.lang.String) ref;
1268     } else {
1269       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1270       java.lang.String s = bs.toStringUtf8();
1271       displayName_ = s;
1272       return s;
1273     }
1274   }
1275   /**
1276    *
1277    *
1278    * <pre>
1279    * An arbitrary and optional user-provided name for the instance.
1280    * </pre>
1281    *
1282    * <code>string display_name = 2;</code>
1283    *
1284    * @return The bytes for displayName.
1285    */
1286   @java.lang.Override
getDisplayNameBytes()1287   public com.google.protobuf.ByteString getDisplayNameBytes() {
1288     java.lang.Object ref = displayName_;
1289     if (ref instanceof java.lang.String) {
1290       com.google.protobuf.ByteString b =
1291           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1292       displayName_ = b;
1293       return b;
1294     } else {
1295       return (com.google.protobuf.ByteString) ref;
1296     }
1297   }
1298 
1299   public static final int LABELS_FIELD_NUMBER = 3;
1300 
1301   private static final class LabelsDefaultEntryHolder {
1302     static final com.google.protobuf.MapEntry<java.lang.String, java.lang.String> defaultEntry =
1303         com.google.protobuf.MapEntry.<java.lang.String, java.lang.String>newDefaultInstance(
1304             com.google.cloud.redis.v1.CloudRedisServiceV1Proto
1305                 .internal_static_google_cloud_redis_v1_Instance_LabelsEntry_descriptor,
1306             com.google.protobuf.WireFormat.FieldType.STRING,
1307             "",
1308             com.google.protobuf.WireFormat.FieldType.STRING,
1309             "");
1310   }
1311 
1312   @SuppressWarnings("serial")
1313   private com.google.protobuf.MapField<java.lang.String, java.lang.String> labels_;
1314 
internalGetLabels()1315   private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetLabels() {
1316     if (labels_ == null) {
1317       return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry);
1318     }
1319     return labels_;
1320   }
1321 
getLabelsCount()1322   public int getLabelsCount() {
1323     return internalGetLabels().getMap().size();
1324   }
1325   /**
1326    *
1327    *
1328    * <pre>
1329    * Resource labels to represent user provided metadata
1330    * </pre>
1331    *
1332    * <code>map&lt;string, string&gt; labels = 3;</code>
1333    */
1334   @java.lang.Override
containsLabels(java.lang.String key)1335   public boolean containsLabels(java.lang.String key) {
1336     if (key == null) {
1337       throw new NullPointerException("map key");
1338     }
1339     return internalGetLabels().getMap().containsKey(key);
1340   }
1341   /** Use {@link #getLabelsMap()} instead. */
1342   @java.lang.Override
1343   @java.lang.Deprecated
getLabels()1344   public java.util.Map<java.lang.String, java.lang.String> getLabels() {
1345     return getLabelsMap();
1346   }
1347   /**
1348    *
1349    *
1350    * <pre>
1351    * Resource labels to represent user provided metadata
1352    * </pre>
1353    *
1354    * <code>map&lt;string, string&gt; labels = 3;</code>
1355    */
1356   @java.lang.Override
getLabelsMap()1357   public java.util.Map<java.lang.String, java.lang.String> getLabelsMap() {
1358     return internalGetLabels().getMap();
1359   }
1360   /**
1361    *
1362    *
1363    * <pre>
1364    * Resource labels to represent user provided metadata
1365    * </pre>
1366    *
1367    * <code>map&lt;string, string&gt; labels = 3;</code>
1368    */
1369   @java.lang.Override
getLabelsOrDefault( java.lang.String key, java.lang.String defaultValue)1370   public /* nullable */ java.lang.String getLabelsOrDefault(
1371       java.lang.String key,
1372       /* nullable */
1373       java.lang.String defaultValue) {
1374     if (key == null) {
1375       throw new NullPointerException("map key");
1376     }
1377     java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
1378     return map.containsKey(key) ? map.get(key) : defaultValue;
1379   }
1380   /**
1381    *
1382    *
1383    * <pre>
1384    * Resource labels to represent user provided metadata
1385    * </pre>
1386    *
1387    * <code>map&lt;string, string&gt; labels = 3;</code>
1388    */
1389   @java.lang.Override
getLabelsOrThrow(java.lang.String key)1390   public java.lang.String getLabelsOrThrow(java.lang.String key) {
1391     if (key == null) {
1392       throw new NullPointerException("map key");
1393     }
1394     java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
1395     if (!map.containsKey(key)) {
1396       throw new java.lang.IllegalArgumentException();
1397     }
1398     return map.get(key);
1399   }
1400 
1401   public static final int LOCATION_ID_FIELD_NUMBER = 4;
1402 
1403   @SuppressWarnings("serial")
1404   private volatile java.lang.Object locationId_ = "";
1405   /**
1406    *
1407    *
1408    * <pre>
1409    * Optional. The zone where the instance will be provisioned. If not provided,
1410    * the service will choose a zone from the specified region for the instance.
1411    * For standard tier, additional nodes will be added across multiple zones for
1412    * protection against zonal failures. If specified, at least one node will be
1413    * provisioned in this zone.
1414    * </pre>
1415    *
1416    * <code>string location_id = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
1417    *
1418    * @return The locationId.
1419    */
1420   @java.lang.Override
getLocationId()1421   public java.lang.String getLocationId() {
1422     java.lang.Object ref = locationId_;
1423     if (ref instanceof java.lang.String) {
1424       return (java.lang.String) ref;
1425     } else {
1426       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1427       java.lang.String s = bs.toStringUtf8();
1428       locationId_ = s;
1429       return s;
1430     }
1431   }
1432   /**
1433    *
1434    *
1435    * <pre>
1436    * Optional. The zone where the instance will be provisioned. If not provided,
1437    * the service will choose a zone from the specified region for the instance.
1438    * For standard tier, additional nodes will be added across multiple zones for
1439    * protection against zonal failures. If specified, at least one node will be
1440    * provisioned in this zone.
1441    * </pre>
1442    *
1443    * <code>string location_id = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
1444    *
1445    * @return The bytes for locationId.
1446    */
1447   @java.lang.Override
getLocationIdBytes()1448   public com.google.protobuf.ByteString getLocationIdBytes() {
1449     java.lang.Object ref = locationId_;
1450     if (ref instanceof java.lang.String) {
1451       com.google.protobuf.ByteString b =
1452           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1453       locationId_ = b;
1454       return b;
1455     } else {
1456       return (com.google.protobuf.ByteString) ref;
1457     }
1458   }
1459 
1460   public static final int ALTERNATIVE_LOCATION_ID_FIELD_NUMBER = 5;
1461 
1462   @SuppressWarnings("serial")
1463   private volatile java.lang.Object alternativeLocationId_ = "";
1464   /**
1465    *
1466    *
1467    * <pre>
1468    * Optional. If specified, at least one node will be provisioned in this zone
1469    * in addition to the zone specified in location_id. Only applicable to
1470    * standard tier. If provided, it must be a different zone from the one
1471    * provided in [location_id]. Additional nodes beyond the first 2 will be
1472    * placed in zones selected by the service.
1473    * </pre>
1474    *
1475    * <code>string alternative_location_id = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
1476    *
1477    * @return The alternativeLocationId.
1478    */
1479   @java.lang.Override
getAlternativeLocationId()1480   public java.lang.String getAlternativeLocationId() {
1481     java.lang.Object ref = alternativeLocationId_;
1482     if (ref instanceof java.lang.String) {
1483       return (java.lang.String) ref;
1484     } else {
1485       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1486       java.lang.String s = bs.toStringUtf8();
1487       alternativeLocationId_ = s;
1488       return s;
1489     }
1490   }
1491   /**
1492    *
1493    *
1494    * <pre>
1495    * Optional. If specified, at least one node will be provisioned in this zone
1496    * in addition to the zone specified in location_id. Only applicable to
1497    * standard tier. If provided, it must be a different zone from the one
1498    * provided in [location_id]. Additional nodes beyond the first 2 will be
1499    * placed in zones selected by the service.
1500    * </pre>
1501    *
1502    * <code>string alternative_location_id = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
1503    *
1504    * @return The bytes for alternativeLocationId.
1505    */
1506   @java.lang.Override
getAlternativeLocationIdBytes()1507   public com.google.protobuf.ByteString getAlternativeLocationIdBytes() {
1508     java.lang.Object ref = alternativeLocationId_;
1509     if (ref instanceof java.lang.String) {
1510       com.google.protobuf.ByteString b =
1511           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1512       alternativeLocationId_ = b;
1513       return b;
1514     } else {
1515       return (com.google.protobuf.ByteString) ref;
1516     }
1517   }
1518 
1519   public static final int REDIS_VERSION_FIELD_NUMBER = 7;
1520 
1521   @SuppressWarnings("serial")
1522   private volatile java.lang.Object redisVersion_ = "";
1523   /**
1524    *
1525    *
1526    * <pre>
1527    * Optional. The version of Redis software.
1528    * If not provided, latest supported version will be used. Currently, the
1529    * supported values are:
1530    *  *   `REDIS_3_2` for Redis 3.2 compatibility
1531    *  *   `REDIS_4_0` for Redis 4.0 compatibility (default)
1532    *  *   `REDIS_5_0` for Redis 5.0 compatibility
1533    *  *   `REDIS_6_X` for Redis 6.x compatibility
1534    * </pre>
1535    *
1536    * <code>string redis_version = 7 [(.google.api.field_behavior) = OPTIONAL];</code>
1537    *
1538    * @return The redisVersion.
1539    */
1540   @java.lang.Override
getRedisVersion()1541   public java.lang.String getRedisVersion() {
1542     java.lang.Object ref = redisVersion_;
1543     if (ref instanceof java.lang.String) {
1544       return (java.lang.String) ref;
1545     } else {
1546       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1547       java.lang.String s = bs.toStringUtf8();
1548       redisVersion_ = s;
1549       return s;
1550     }
1551   }
1552   /**
1553    *
1554    *
1555    * <pre>
1556    * Optional. The version of Redis software.
1557    * If not provided, latest supported version will be used. Currently, the
1558    * supported values are:
1559    *  *   `REDIS_3_2` for Redis 3.2 compatibility
1560    *  *   `REDIS_4_0` for Redis 4.0 compatibility (default)
1561    *  *   `REDIS_5_0` for Redis 5.0 compatibility
1562    *  *   `REDIS_6_X` for Redis 6.x compatibility
1563    * </pre>
1564    *
1565    * <code>string redis_version = 7 [(.google.api.field_behavior) = OPTIONAL];</code>
1566    *
1567    * @return The bytes for redisVersion.
1568    */
1569   @java.lang.Override
getRedisVersionBytes()1570   public com.google.protobuf.ByteString getRedisVersionBytes() {
1571     java.lang.Object ref = redisVersion_;
1572     if (ref instanceof java.lang.String) {
1573       com.google.protobuf.ByteString b =
1574           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1575       redisVersion_ = b;
1576       return b;
1577     } else {
1578       return (com.google.protobuf.ByteString) ref;
1579     }
1580   }
1581 
1582   public static final int RESERVED_IP_RANGE_FIELD_NUMBER = 9;
1583 
1584   @SuppressWarnings("serial")
1585   private volatile java.lang.Object reservedIpRange_ = "";
1586   /**
1587    *
1588    *
1589    * <pre>
1590    * Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses
1591    * that are reserved for this instance. Range must
1592    * be unique and non-overlapping with existing subnets in an authorized
1593    * network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP
1594    * address ranges associated with this private service access connection.
1595    * If not provided, the service will choose an unused /29 block, for
1596    * example, 10.0.0.0/29 or 192.168.0.0/29.  For READ_REPLICAS_ENABLED
1597    * the default block size is /28.
1598    * </pre>
1599    *
1600    * <code>string reserved_ip_range = 9 [(.google.api.field_behavior) = OPTIONAL];</code>
1601    *
1602    * @return The reservedIpRange.
1603    */
1604   @java.lang.Override
getReservedIpRange()1605   public java.lang.String getReservedIpRange() {
1606     java.lang.Object ref = reservedIpRange_;
1607     if (ref instanceof java.lang.String) {
1608       return (java.lang.String) ref;
1609     } else {
1610       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1611       java.lang.String s = bs.toStringUtf8();
1612       reservedIpRange_ = s;
1613       return s;
1614     }
1615   }
1616   /**
1617    *
1618    *
1619    * <pre>
1620    * Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses
1621    * that are reserved for this instance. Range must
1622    * be unique and non-overlapping with existing subnets in an authorized
1623    * network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP
1624    * address ranges associated with this private service access connection.
1625    * If not provided, the service will choose an unused /29 block, for
1626    * example, 10.0.0.0/29 or 192.168.0.0/29.  For READ_REPLICAS_ENABLED
1627    * the default block size is /28.
1628    * </pre>
1629    *
1630    * <code>string reserved_ip_range = 9 [(.google.api.field_behavior) = OPTIONAL];</code>
1631    *
1632    * @return The bytes for reservedIpRange.
1633    */
1634   @java.lang.Override
getReservedIpRangeBytes()1635   public com.google.protobuf.ByteString getReservedIpRangeBytes() {
1636     java.lang.Object ref = reservedIpRange_;
1637     if (ref instanceof java.lang.String) {
1638       com.google.protobuf.ByteString b =
1639           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1640       reservedIpRange_ = b;
1641       return b;
1642     } else {
1643       return (com.google.protobuf.ByteString) ref;
1644     }
1645   }
1646 
1647   public static final int SECONDARY_IP_RANGE_FIELD_NUMBER = 30;
1648 
1649   @SuppressWarnings("serial")
1650   private volatile java.lang.Object secondaryIpRange_ = "";
1651   /**
1652    *
1653    *
1654    * <pre>
1655    * Optional. Additional IP range for node placement. Required when enabling
1656    * read replicas on an existing instance. For DIRECT_PEERING mode value must
1657    * be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode
1658    * value must be the name of an allocated address range associated with the
1659    * private service access connection, or "auto".
1660    * </pre>
1661    *
1662    * <code>string secondary_ip_range = 30 [(.google.api.field_behavior) = OPTIONAL];</code>
1663    *
1664    * @return The secondaryIpRange.
1665    */
1666   @java.lang.Override
getSecondaryIpRange()1667   public java.lang.String getSecondaryIpRange() {
1668     java.lang.Object ref = secondaryIpRange_;
1669     if (ref instanceof java.lang.String) {
1670       return (java.lang.String) ref;
1671     } else {
1672       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1673       java.lang.String s = bs.toStringUtf8();
1674       secondaryIpRange_ = s;
1675       return s;
1676     }
1677   }
1678   /**
1679    *
1680    *
1681    * <pre>
1682    * Optional. Additional IP range for node placement. Required when enabling
1683    * read replicas on an existing instance. For DIRECT_PEERING mode value must
1684    * be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode
1685    * value must be the name of an allocated address range associated with the
1686    * private service access connection, or "auto".
1687    * </pre>
1688    *
1689    * <code>string secondary_ip_range = 30 [(.google.api.field_behavior) = OPTIONAL];</code>
1690    *
1691    * @return The bytes for secondaryIpRange.
1692    */
1693   @java.lang.Override
getSecondaryIpRangeBytes()1694   public com.google.protobuf.ByteString getSecondaryIpRangeBytes() {
1695     java.lang.Object ref = secondaryIpRange_;
1696     if (ref instanceof java.lang.String) {
1697       com.google.protobuf.ByteString b =
1698           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1699       secondaryIpRange_ = b;
1700       return b;
1701     } else {
1702       return (com.google.protobuf.ByteString) ref;
1703     }
1704   }
1705 
1706   public static final int HOST_FIELD_NUMBER = 10;
1707 
1708   @SuppressWarnings("serial")
1709   private volatile java.lang.Object host_ = "";
1710   /**
1711    *
1712    *
1713    * <pre>
1714    * Output only. Hostname or IP address of the exposed Redis endpoint used by
1715    * clients to connect to the service.
1716    * </pre>
1717    *
1718    * <code>string host = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1719    *
1720    * @return The host.
1721    */
1722   @java.lang.Override
getHost()1723   public java.lang.String getHost() {
1724     java.lang.Object ref = host_;
1725     if (ref instanceof java.lang.String) {
1726       return (java.lang.String) ref;
1727     } else {
1728       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1729       java.lang.String s = bs.toStringUtf8();
1730       host_ = s;
1731       return s;
1732     }
1733   }
1734   /**
1735    *
1736    *
1737    * <pre>
1738    * Output only. Hostname or IP address of the exposed Redis endpoint used by
1739    * clients to connect to the service.
1740    * </pre>
1741    *
1742    * <code>string host = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1743    *
1744    * @return The bytes for host.
1745    */
1746   @java.lang.Override
getHostBytes()1747   public com.google.protobuf.ByteString getHostBytes() {
1748     java.lang.Object ref = host_;
1749     if (ref instanceof java.lang.String) {
1750       com.google.protobuf.ByteString b =
1751           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1752       host_ = b;
1753       return b;
1754     } else {
1755       return (com.google.protobuf.ByteString) ref;
1756     }
1757   }
1758 
1759   public static final int PORT_FIELD_NUMBER = 11;
1760   private int port_ = 0;
1761   /**
1762    *
1763    *
1764    * <pre>
1765    * Output only. The port number of the exposed Redis endpoint.
1766    * </pre>
1767    *
1768    * <code>int32 port = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1769    *
1770    * @return The port.
1771    */
1772   @java.lang.Override
getPort()1773   public int getPort() {
1774     return port_;
1775   }
1776 
1777   public static final int CURRENT_LOCATION_ID_FIELD_NUMBER = 12;
1778 
1779   @SuppressWarnings("serial")
1780   private volatile java.lang.Object currentLocationId_ = "";
1781   /**
1782    *
1783    *
1784    * <pre>
1785    * Output only. The current zone where the Redis primary node is located. In
1786    * basic tier, this will always be the same as [location_id]. In
1787    * standard tier, this can be the zone of any node in the instance.
1788    * </pre>
1789    *
1790    * <code>string current_location_id = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1791    *
1792    * @return The currentLocationId.
1793    */
1794   @java.lang.Override
getCurrentLocationId()1795   public java.lang.String getCurrentLocationId() {
1796     java.lang.Object ref = currentLocationId_;
1797     if (ref instanceof java.lang.String) {
1798       return (java.lang.String) ref;
1799     } else {
1800       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1801       java.lang.String s = bs.toStringUtf8();
1802       currentLocationId_ = s;
1803       return s;
1804     }
1805   }
1806   /**
1807    *
1808    *
1809    * <pre>
1810    * Output only. The current zone where the Redis primary node is located. In
1811    * basic tier, this will always be the same as [location_id]. In
1812    * standard tier, this can be the zone of any node in the instance.
1813    * </pre>
1814    *
1815    * <code>string current_location_id = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1816    *
1817    * @return The bytes for currentLocationId.
1818    */
1819   @java.lang.Override
getCurrentLocationIdBytes()1820   public com.google.protobuf.ByteString getCurrentLocationIdBytes() {
1821     java.lang.Object ref = currentLocationId_;
1822     if (ref instanceof java.lang.String) {
1823       com.google.protobuf.ByteString b =
1824           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1825       currentLocationId_ = b;
1826       return b;
1827     } else {
1828       return (com.google.protobuf.ByteString) ref;
1829     }
1830   }
1831 
1832   public static final int CREATE_TIME_FIELD_NUMBER = 13;
1833   private com.google.protobuf.Timestamp createTime_;
1834   /**
1835    *
1836    *
1837    * <pre>
1838    * Output only. The time the instance was created.
1839    * </pre>
1840    *
1841    * <code>.google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
1842    * </code>
1843    *
1844    * @return Whether the createTime field is set.
1845    */
1846   @java.lang.Override
hasCreateTime()1847   public boolean hasCreateTime() {
1848     return createTime_ != null;
1849   }
1850   /**
1851    *
1852    *
1853    * <pre>
1854    * Output only. The time the instance was created.
1855    * </pre>
1856    *
1857    * <code>.google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
1858    * </code>
1859    *
1860    * @return The createTime.
1861    */
1862   @java.lang.Override
getCreateTime()1863   public com.google.protobuf.Timestamp getCreateTime() {
1864     return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_;
1865   }
1866   /**
1867    *
1868    *
1869    * <pre>
1870    * Output only. The time the instance was created.
1871    * </pre>
1872    *
1873    * <code>.google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
1874    * </code>
1875    */
1876   @java.lang.Override
getCreateTimeOrBuilder()1877   public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
1878     return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_;
1879   }
1880 
1881   public static final int STATE_FIELD_NUMBER = 14;
1882   private int state_ = 0;
1883   /**
1884    *
1885    *
1886    * <pre>
1887    * Output only. The current state of this instance.
1888    * </pre>
1889    *
1890    * <code>
1891    * .google.cloud.redis.v1.Instance.State state = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
1892    * </code>
1893    *
1894    * @return The enum numeric value on the wire for state.
1895    */
1896   @java.lang.Override
getStateValue()1897   public int getStateValue() {
1898     return state_;
1899   }
1900   /**
1901    *
1902    *
1903    * <pre>
1904    * Output only. The current state of this instance.
1905    * </pre>
1906    *
1907    * <code>
1908    * .google.cloud.redis.v1.Instance.State state = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
1909    * </code>
1910    *
1911    * @return The state.
1912    */
1913   @java.lang.Override
getState()1914   public com.google.cloud.redis.v1.Instance.State getState() {
1915     com.google.cloud.redis.v1.Instance.State result =
1916         com.google.cloud.redis.v1.Instance.State.forNumber(state_);
1917     return result == null ? com.google.cloud.redis.v1.Instance.State.UNRECOGNIZED : result;
1918   }
1919 
1920   public static final int STATUS_MESSAGE_FIELD_NUMBER = 15;
1921 
1922   @SuppressWarnings("serial")
1923   private volatile java.lang.Object statusMessage_ = "";
1924   /**
1925    *
1926    *
1927    * <pre>
1928    * Output only. Additional information about the current status of this
1929    * instance, if available.
1930    * </pre>
1931    *
1932    * <code>string status_message = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1933    *
1934    * @return The statusMessage.
1935    */
1936   @java.lang.Override
getStatusMessage()1937   public java.lang.String getStatusMessage() {
1938     java.lang.Object ref = statusMessage_;
1939     if (ref instanceof java.lang.String) {
1940       return (java.lang.String) ref;
1941     } else {
1942       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1943       java.lang.String s = bs.toStringUtf8();
1944       statusMessage_ = s;
1945       return s;
1946     }
1947   }
1948   /**
1949    *
1950    *
1951    * <pre>
1952    * Output only. Additional information about the current status of this
1953    * instance, if available.
1954    * </pre>
1955    *
1956    * <code>string status_message = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1957    *
1958    * @return The bytes for statusMessage.
1959    */
1960   @java.lang.Override
getStatusMessageBytes()1961   public com.google.protobuf.ByteString getStatusMessageBytes() {
1962     java.lang.Object ref = statusMessage_;
1963     if (ref instanceof java.lang.String) {
1964       com.google.protobuf.ByteString b =
1965           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1966       statusMessage_ = b;
1967       return b;
1968     } else {
1969       return (com.google.protobuf.ByteString) ref;
1970     }
1971   }
1972 
1973   public static final int REDIS_CONFIGS_FIELD_NUMBER = 16;
1974 
1975   private static final class RedisConfigsDefaultEntryHolder {
1976     static final com.google.protobuf.MapEntry<java.lang.String, java.lang.String> defaultEntry =
1977         com.google.protobuf.MapEntry.<java.lang.String, java.lang.String>newDefaultInstance(
1978             com.google.cloud.redis.v1.CloudRedisServiceV1Proto
1979                 .internal_static_google_cloud_redis_v1_Instance_RedisConfigsEntry_descriptor,
1980             com.google.protobuf.WireFormat.FieldType.STRING,
1981             "",
1982             com.google.protobuf.WireFormat.FieldType.STRING,
1983             "");
1984   }
1985 
1986   @SuppressWarnings("serial")
1987   private com.google.protobuf.MapField<java.lang.String, java.lang.String> redisConfigs_;
1988 
1989   private com.google.protobuf.MapField<java.lang.String, java.lang.String>
internalGetRedisConfigs()1990       internalGetRedisConfigs() {
1991     if (redisConfigs_ == null) {
1992       return com.google.protobuf.MapField.emptyMapField(
1993           RedisConfigsDefaultEntryHolder.defaultEntry);
1994     }
1995     return redisConfigs_;
1996   }
1997 
getRedisConfigsCount()1998   public int getRedisConfigsCount() {
1999     return internalGetRedisConfigs().getMap().size();
2000   }
2001   /**
2002    *
2003    *
2004    * <pre>
2005    * Optional. Redis configuration parameters, according to
2006    * http://redis.io/topics/config. Currently, the only supported parameters
2007    * are:
2008    *  Redis version 3.2 and newer:
2009    *  *   maxmemory-policy
2010    *  *   notify-keyspace-events
2011    *  Redis version 4.0 and newer:
2012    *  *   activedefrag
2013    *  *   lfu-decay-time
2014    *  *   lfu-log-factor
2015    *  *   maxmemory-gb
2016    *  Redis version 5.0 and newer:
2017    *  *   stream-node-max-bytes
2018    *  *   stream-node-max-entries
2019    * </pre>
2020    *
2021    * <code>map&lt;string, string&gt; redis_configs = 16 [(.google.api.field_behavior) = OPTIONAL];
2022    * </code>
2023    */
2024   @java.lang.Override
containsRedisConfigs(java.lang.String key)2025   public boolean containsRedisConfigs(java.lang.String key) {
2026     if (key == null) {
2027       throw new NullPointerException("map key");
2028     }
2029     return internalGetRedisConfigs().getMap().containsKey(key);
2030   }
2031   /** Use {@link #getRedisConfigsMap()} instead. */
2032   @java.lang.Override
2033   @java.lang.Deprecated
getRedisConfigs()2034   public java.util.Map<java.lang.String, java.lang.String> getRedisConfigs() {
2035     return getRedisConfigsMap();
2036   }
2037   /**
2038    *
2039    *
2040    * <pre>
2041    * Optional. Redis configuration parameters, according to
2042    * http://redis.io/topics/config. Currently, the only supported parameters
2043    * are:
2044    *  Redis version 3.2 and newer:
2045    *  *   maxmemory-policy
2046    *  *   notify-keyspace-events
2047    *  Redis version 4.0 and newer:
2048    *  *   activedefrag
2049    *  *   lfu-decay-time
2050    *  *   lfu-log-factor
2051    *  *   maxmemory-gb
2052    *  Redis version 5.0 and newer:
2053    *  *   stream-node-max-bytes
2054    *  *   stream-node-max-entries
2055    * </pre>
2056    *
2057    * <code>map&lt;string, string&gt; redis_configs = 16 [(.google.api.field_behavior) = OPTIONAL];
2058    * </code>
2059    */
2060   @java.lang.Override
getRedisConfigsMap()2061   public java.util.Map<java.lang.String, java.lang.String> getRedisConfigsMap() {
2062     return internalGetRedisConfigs().getMap();
2063   }
2064   /**
2065    *
2066    *
2067    * <pre>
2068    * Optional. Redis configuration parameters, according to
2069    * http://redis.io/topics/config. Currently, the only supported parameters
2070    * are:
2071    *  Redis version 3.2 and newer:
2072    *  *   maxmemory-policy
2073    *  *   notify-keyspace-events
2074    *  Redis version 4.0 and newer:
2075    *  *   activedefrag
2076    *  *   lfu-decay-time
2077    *  *   lfu-log-factor
2078    *  *   maxmemory-gb
2079    *  Redis version 5.0 and newer:
2080    *  *   stream-node-max-bytes
2081    *  *   stream-node-max-entries
2082    * </pre>
2083    *
2084    * <code>map&lt;string, string&gt; redis_configs = 16 [(.google.api.field_behavior) = OPTIONAL];
2085    * </code>
2086    */
2087   @java.lang.Override
getRedisConfigsOrDefault( java.lang.String key, java.lang.String defaultValue)2088   public /* nullable */ java.lang.String getRedisConfigsOrDefault(
2089       java.lang.String key,
2090       /* nullable */
2091       java.lang.String defaultValue) {
2092     if (key == null) {
2093       throw new NullPointerException("map key");
2094     }
2095     java.util.Map<java.lang.String, java.lang.String> map = internalGetRedisConfigs().getMap();
2096     return map.containsKey(key) ? map.get(key) : defaultValue;
2097   }
2098   /**
2099    *
2100    *
2101    * <pre>
2102    * Optional. Redis configuration parameters, according to
2103    * http://redis.io/topics/config. Currently, the only supported parameters
2104    * are:
2105    *  Redis version 3.2 and newer:
2106    *  *   maxmemory-policy
2107    *  *   notify-keyspace-events
2108    *  Redis version 4.0 and newer:
2109    *  *   activedefrag
2110    *  *   lfu-decay-time
2111    *  *   lfu-log-factor
2112    *  *   maxmemory-gb
2113    *  Redis version 5.0 and newer:
2114    *  *   stream-node-max-bytes
2115    *  *   stream-node-max-entries
2116    * </pre>
2117    *
2118    * <code>map&lt;string, string&gt; redis_configs = 16 [(.google.api.field_behavior) = OPTIONAL];
2119    * </code>
2120    */
2121   @java.lang.Override
getRedisConfigsOrThrow(java.lang.String key)2122   public java.lang.String getRedisConfigsOrThrow(java.lang.String key) {
2123     if (key == null) {
2124       throw new NullPointerException("map key");
2125     }
2126     java.util.Map<java.lang.String, java.lang.String> map = internalGetRedisConfigs().getMap();
2127     if (!map.containsKey(key)) {
2128       throw new java.lang.IllegalArgumentException();
2129     }
2130     return map.get(key);
2131   }
2132 
2133   public static final int TIER_FIELD_NUMBER = 17;
2134   private int tier_ = 0;
2135   /**
2136    *
2137    *
2138    * <pre>
2139    * Required. The service tier of the instance.
2140    * </pre>
2141    *
2142    * <code>.google.cloud.redis.v1.Instance.Tier tier = 17 [(.google.api.field_behavior) = REQUIRED];
2143    * </code>
2144    *
2145    * @return The enum numeric value on the wire for tier.
2146    */
2147   @java.lang.Override
getTierValue()2148   public int getTierValue() {
2149     return tier_;
2150   }
2151   /**
2152    *
2153    *
2154    * <pre>
2155    * Required. The service tier of the instance.
2156    * </pre>
2157    *
2158    * <code>.google.cloud.redis.v1.Instance.Tier tier = 17 [(.google.api.field_behavior) = REQUIRED];
2159    * </code>
2160    *
2161    * @return The tier.
2162    */
2163   @java.lang.Override
getTier()2164   public com.google.cloud.redis.v1.Instance.Tier getTier() {
2165     com.google.cloud.redis.v1.Instance.Tier result =
2166         com.google.cloud.redis.v1.Instance.Tier.forNumber(tier_);
2167     return result == null ? com.google.cloud.redis.v1.Instance.Tier.UNRECOGNIZED : result;
2168   }
2169 
2170   public static final int MEMORY_SIZE_GB_FIELD_NUMBER = 18;
2171   private int memorySizeGb_ = 0;
2172   /**
2173    *
2174    *
2175    * <pre>
2176    * Required. Redis memory size in GiB.
2177    * </pre>
2178    *
2179    * <code>int32 memory_size_gb = 18 [(.google.api.field_behavior) = REQUIRED];</code>
2180    *
2181    * @return The memorySizeGb.
2182    */
2183   @java.lang.Override
getMemorySizeGb()2184   public int getMemorySizeGb() {
2185     return memorySizeGb_;
2186   }
2187 
2188   public static final int AUTHORIZED_NETWORK_FIELD_NUMBER = 20;
2189 
2190   @SuppressWarnings("serial")
2191   private volatile java.lang.Object authorizedNetwork_ = "";
2192   /**
2193    *
2194    *
2195    * <pre>
2196    * Optional. The full name of the Google Compute Engine
2197    * [network](https://cloud.google.com/vpc/docs/vpc) to which the
2198    * instance is connected. If left unspecified, the `default` network
2199    * will be used.
2200    * </pre>
2201    *
2202    * <code>string authorized_network = 20 [(.google.api.field_behavior) = OPTIONAL];</code>
2203    *
2204    * @return The authorizedNetwork.
2205    */
2206   @java.lang.Override
getAuthorizedNetwork()2207   public java.lang.String getAuthorizedNetwork() {
2208     java.lang.Object ref = authorizedNetwork_;
2209     if (ref instanceof java.lang.String) {
2210       return (java.lang.String) ref;
2211     } else {
2212       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2213       java.lang.String s = bs.toStringUtf8();
2214       authorizedNetwork_ = s;
2215       return s;
2216     }
2217   }
2218   /**
2219    *
2220    *
2221    * <pre>
2222    * Optional. The full name of the Google Compute Engine
2223    * [network](https://cloud.google.com/vpc/docs/vpc) to which the
2224    * instance is connected. If left unspecified, the `default` network
2225    * will be used.
2226    * </pre>
2227    *
2228    * <code>string authorized_network = 20 [(.google.api.field_behavior) = OPTIONAL];</code>
2229    *
2230    * @return The bytes for authorizedNetwork.
2231    */
2232   @java.lang.Override
getAuthorizedNetworkBytes()2233   public com.google.protobuf.ByteString getAuthorizedNetworkBytes() {
2234     java.lang.Object ref = authorizedNetwork_;
2235     if (ref instanceof java.lang.String) {
2236       com.google.protobuf.ByteString b =
2237           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2238       authorizedNetwork_ = b;
2239       return b;
2240     } else {
2241       return (com.google.protobuf.ByteString) ref;
2242     }
2243   }
2244 
2245   public static final int PERSISTENCE_IAM_IDENTITY_FIELD_NUMBER = 21;
2246 
2247   @SuppressWarnings("serial")
2248   private volatile java.lang.Object persistenceIamIdentity_ = "";
2249   /**
2250    *
2251    *
2252    * <pre>
2253    * Output only. Cloud IAM identity used by import / export operations to
2254    * transfer data to/from Cloud Storage. Format is
2255    * "serviceAccount:&lt;service_account_email&gt;". The value may change over time
2256    * for a given instance so should be checked before each import/export
2257    * operation.
2258    * </pre>
2259    *
2260    * <code>string persistence_iam_identity = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2261    *
2262    * @return The persistenceIamIdentity.
2263    */
2264   @java.lang.Override
getPersistenceIamIdentity()2265   public java.lang.String getPersistenceIamIdentity() {
2266     java.lang.Object ref = persistenceIamIdentity_;
2267     if (ref instanceof java.lang.String) {
2268       return (java.lang.String) ref;
2269     } else {
2270       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2271       java.lang.String s = bs.toStringUtf8();
2272       persistenceIamIdentity_ = s;
2273       return s;
2274     }
2275   }
2276   /**
2277    *
2278    *
2279    * <pre>
2280    * Output only. Cloud IAM identity used by import / export operations to
2281    * transfer data to/from Cloud Storage. Format is
2282    * "serviceAccount:&lt;service_account_email&gt;". The value may change over time
2283    * for a given instance so should be checked before each import/export
2284    * operation.
2285    * </pre>
2286    *
2287    * <code>string persistence_iam_identity = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2288    *
2289    * @return The bytes for persistenceIamIdentity.
2290    */
2291   @java.lang.Override
getPersistenceIamIdentityBytes()2292   public com.google.protobuf.ByteString getPersistenceIamIdentityBytes() {
2293     java.lang.Object ref = persistenceIamIdentity_;
2294     if (ref instanceof java.lang.String) {
2295       com.google.protobuf.ByteString b =
2296           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2297       persistenceIamIdentity_ = b;
2298       return b;
2299     } else {
2300       return (com.google.protobuf.ByteString) ref;
2301     }
2302   }
2303 
2304   public static final int CONNECT_MODE_FIELD_NUMBER = 22;
2305   private int connectMode_ = 0;
2306   /**
2307    *
2308    *
2309    * <pre>
2310    * Optional. The network connect mode of the Redis instance.
2311    * If not provided, the connect mode defaults to DIRECT_PEERING.
2312    * </pre>
2313    *
2314    * <code>
2315    * .google.cloud.redis.v1.Instance.ConnectMode connect_mode = 22 [(.google.api.field_behavior) = OPTIONAL];
2316    * </code>
2317    *
2318    * @return The enum numeric value on the wire for connectMode.
2319    */
2320   @java.lang.Override
getConnectModeValue()2321   public int getConnectModeValue() {
2322     return connectMode_;
2323   }
2324   /**
2325    *
2326    *
2327    * <pre>
2328    * Optional. The network connect mode of the Redis instance.
2329    * If not provided, the connect mode defaults to DIRECT_PEERING.
2330    * </pre>
2331    *
2332    * <code>
2333    * .google.cloud.redis.v1.Instance.ConnectMode connect_mode = 22 [(.google.api.field_behavior) = OPTIONAL];
2334    * </code>
2335    *
2336    * @return The connectMode.
2337    */
2338   @java.lang.Override
getConnectMode()2339   public com.google.cloud.redis.v1.Instance.ConnectMode getConnectMode() {
2340     com.google.cloud.redis.v1.Instance.ConnectMode result =
2341         com.google.cloud.redis.v1.Instance.ConnectMode.forNumber(connectMode_);
2342     return result == null ? com.google.cloud.redis.v1.Instance.ConnectMode.UNRECOGNIZED : result;
2343   }
2344 
2345   public static final int AUTH_ENABLED_FIELD_NUMBER = 23;
2346   private boolean authEnabled_ = false;
2347   /**
2348    *
2349    *
2350    * <pre>
2351    * Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If
2352    * set to "true" AUTH is enabled on the instance. Default value is "false"
2353    * meaning AUTH is disabled.
2354    * </pre>
2355    *
2356    * <code>bool auth_enabled = 23 [(.google.api.field_behavior) = OPTIONAL];</code>
2357    *
2358    * @return The authEnabled.
2359    */
2360   @java.lang.Override
getAuthEnabled()2361   public boolean getAuthEnabled() {
2362     return authEnabled_;
2363   }
2364 
2365   public static final int SERVER_CA_CERTS_FIELD_NUMBER = 25;
2366 
2367   @SuppressWarnings("serial")
2368   private java.util.List<com.google.cloud.redis.v1.TlsCertificate> serverCaCerts_;
2369   /**
2370    *
2371    *
2372    * <pre>
2373    * Output only. List of server CA certificates for the instance.
2374    * </pre>
2375    *
2376    * <code>
2377    * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
2378    * </code>
2379    */
2380   @java.lang.Override
getServerCaCertsList()2381   public java.util.List<com.google.cloud.redis.v1.TlsCertificate> getServerCaCertsList() {
2382     return serverCaCerts_;
2383   }
2384   /**
2385    *
2386    *
2387    * <pre>
2388    * Output only. List of server CA certificates for the instance.
2389    * </pre>
2390    *
2391    * <code>
2392    * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
2393    * </code>
2394    */
2395   @java.lang.Override
2396   public java.util.List<? extends com.google.cloud.redis.v1.TlsCertificateOrBuilder>
getServerCaCertsOrBuilderList()2397       getServerCaCertsOrBuilderList() {
2398     return serverCaCerts_;
2399   }
2400   /**
2401    *
2402    *
2403    * <pre>
2404    * Output only. List of server CA certificates for the instance.
2405    * </pre>
2406    *
2407    * <code>
2408    * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
2409    * </code>
2410    */
2411   @java.lang.Override
getServerCaCertsCount()2412   public int getServerCaCertsCount() {
2413     return serverCaCerts_.size();
2414   }
2415   /**
2416    *
2417    *
2418    * <pre>
2419    * Output only. List of server CA certificates for the instance.
2420    * </pre>
2421    *
2422    * <code>
2423    * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
2424    * </code>
2425    */
2426   @java.lang.Override
getServerCaCerts(int index)2427   public com.google.cloud.redis.v1.TlsCertificate getServerCaCerts(int index) {
2428     return serverCaCerts_.get(index);
2429   }
2430   /**
2431    *
2432    *
2433    * <pre>
2434    * Output only. List of server CA certificates for the instance.
2435    * </pre>
2436    *
2437    * <code>
2438    * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
2439    * </code>
2440    */
2441   @java.lang.Override
getServerCaCertsOrBuilder(int index)2442   public com.google.cloud.redis.v1.TlsCertificateOrBuilder getServerCaCertsOrBuilder(int index) {
2443     return serverCaCerts_.get(index);
2444   }
2445 
2446   public static final int TRANSIT_ENCRYPTION_MODE_FIELD_NUMBER = 26;
2447   private int transitEncryptionMode_ = 0;
2448   /**
2449    *
2450    *
2451    * <pre>
2452    * Optional. The TLS mode of the Redis instance.
2453    * If not provided, TLS is disabled for the instance.
2454    * </pre>
2455    *
2456    * <code>
2457    * .google.cloud.redis.v1.Instance.TransitEncryptionMode transit_encryption_mode = 26 [(.google.api.field_behavior) = OPTIONAL];
2458    * </code>
2459    *
2460    * @return The enum numeric value on the wire for transitEncryptionMode.
2461    */
2462   @java.lang.Override
getTransitEncryptionModeValue()2463   public int getTransitEncryptionModeValue() {
2464     return transitEncryptionMode_;
2465   }
2466   /**
2467    *
2468    *
2469    * <pre>
2470    * Optional. The TLS mode of the Redis instance.
2471    * If not provided, TLS is disabled for the instance.
2472    * </pre>
2473    *
2474    * <code>
2475    * .google.cloud.redis.v1.Instance.TransitEncryptionMode transit_encryption_mode = 26 [(.google.api.field_behavior) = OPTIONAL];
2476    * </code>
2477    *
2478    * @return The transitEncryptionMode.
2479    */
2480   @java.lang.Override
getTransitEncryptionMode()2481   public com.google.cloud.redis.v1.Instance.TransitEncryptionMode getTransitEncryptionMode() {
2482     com.google.cloud.redis.v1.Instance.TransitEncryptionMode result =
2483         com.google.cloud.redis.v1.Instance.TransitEncryptionMode.forNumber(transitEncryptionMode_);
2484     return result == null
2485         ? com.google.cloud.redis.v1.Instance.TransitEncryptionMode.UNRECOGNIZED
2486         : result;
2487   }
2488 
2489   public static final int MAINTENANCE_POLICY_FIELD_NUMBER = 27;
2490   private com.google.cloud.redis.v1.MaintenancePolicy maintenancePolicy_;
2491   /**
2492    *
2493    *
2494    * <pre>
2495    * Optional. The maintenance policy for the instance. If not provided,
2496    * maintenance events can be performed at any time.
2497    * </pre>
2498    *
2499    * <code>
2500    * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
2501    * </code>
2502    *
2503    * @return Whether the maintenancePolicy field is set.
2504    */
2505   @java.lang.Override
hasMaintenancePolicy()2506   public boolean hasMaintenancePolicy() {
2507     return maintenancePolicy_ != null;
2508   }
2509   /**
2510    *
2511    *
2512    * <pre>
2513    * Optional. The maintenance policy for the instance. If not provided,
2514    * maintenance events can be performed at any time.
2515    * </pre>
2516    *
2517    * <code>
2518    * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
2519    * </code>
2520    *
2521    * @return The maintenancePolicy.
2522    */
2523   @java.lang.Override
getMaintenancePolicy()2524   public com.google.cloud.redis.v1.MaintenancePolicy getMaintenancePolicy() {
2525     return maintenancePolicy_ == null
2526         ? com.google.cloud.redis.v1.MaintenancePolicy.getDefaultInstance()
2527         : maintenancePolicy_;
2528   }
2529   /**
2530    *
2531    *
2532    * <pre>
2533    * Optional. The maintenance policy for the instance. If not provided,
2534    * maintenance events can be performed at any time.
2535    * </pre>
2536    *
2537    * <code>
2538    * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
2539    * </code>
2540    */
2541   @java.lang.Override
getMaintenancePolicyOrBuilder()2542   public com.google.cloud.redis.v1.MaintenancePolicyOrBuilder getMaintenancePolicyOrBuilder() {
2543     return maintenancePolicy_ == null
2544         ? com.google.cloud.redis.v1.MaintenancePolicy.getDefaultInstance()
2545         : maintenancePolicy_;
2546   }
2547 
2548   public static final int MAINTENANCE_SCHEDULE_FIELD_NUMBER = 28;
2549   private com.google.cloud.redis.v1.MaintenanceSchedule maintenanceSchedule_;
2550   /**
2551    *
2552    *
2553    * <pre>
2554    * Output only. Date and time of upcoming maintenance events which have been
2555    * scheduled.
2556    * </pre>
2557    *
2558    * <code>
2559    * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
2560    * </code>
2561    *
2562    * @return Whether the maintenanceSchedule field is set.
2563    */
2564   @java.lang.Override
hasMaintenanceSchedule()2565   public boolean hasMaintenanceSchedule() {
2566     return maintenanceSchedule_ != null;
2567   }
2568   /**
2569    *
2570    *
2571    * <pre>
2572    * Output only. Date and time of upcoming maintenance events which have been
2573    * scheduled.
2574    * </pre>
2575    *
2576    * <code>
2577    * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
2578    * </code>
2579    *
2580    * @return The maintenanceSchedule.
2581    */
2582   @java.lang.Override
getMaintenanceSchedule()2583   public com.google.cloud.redis.v1.MaintenanceSchedule getMaintenanceSchedule() {
2584     return maintenanceSchedule_ == null
2585         ? com.google.cloud.redis.v1.MaintenanceSchedule.getDefaultInstance()
2586         : maintenanceSchedule_;
2587   }
2588   /**
2589    *
2590    *
2591    * <pre>
2592    * Output only. Date and time of upcoming maintenance events which have been
2593    * scheduled.
2594    * </pre>
2595    *
2596    * <code>
2597    * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
2598    * </code>
2599    */
2600   @java.lang.Override
getMaintenanceScheduleOrBuilder()2601   public com.google.cloud.redis.v1.MaintenanceScheduleOrBuilder getMaintenanceScheduleOrBuilder() {
2602     return maintenanceSchedule_ == null
2603         ? com.google.cloud.redis.v1.MaintenanceSchedule.getDefaultInstance()
2604         : maintenanceSchedule_;
2605   }
2606 
2607   public static final int REPLICA_COUNT_FIELD_NUMBER = 31;
2608   private int replicaCount_ = 0;
2609   /**
2610    *
2611    *
2612    * <pre>
2613    * Optional. The number of replica nodes. The valid range for the Standard
2614    * Tier with read replicas enabled is [1-5] and defaults to 2. If read
2615    * replicas are not enabled for a Standard Tier instance, the only valid value
2616    * is 1 and the default is 1. The valid value for basic tier is 0 and the
2617    * default is also 0.
2618    * </pre>
2619    *
2620    * <code>int32 replica_count = 31 [(.google.api.field_behavior) = OPTIONAL];</code>
2621    *
2622    * @return The replicaCount.
2623    */
2624   @java.lang.Override
getReplicaCount()2625   public int getReplicaCount() {
2626     return replicaCount_;
2627   }
2628 
2629   public static final int NODES_FIELD_NUMBER = 32;
2630 
2631   @SuppressWarnings("serial")
2632   private java.util.List<com.google.cloud.redis.v1.NodeInfo> nodes_;
2633   /**
2634    *
2635    *
2636    * <pre>
2637    * Output only. Info per node.
2638    * </pre>
2639    *
2640    * <code>
2641    * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
2642    * </code>
2643    */
2644   @java.lang.Override
getNodesList()2645   public java.util.List<com.google.cloud.redis.v1.NodeInfo> getNodesList() {
2646     return nodes_;
2647   }
2648   /**
2649    *
2650    *
2651    * <pre>
2652    * Output only. Info per node.
2653    * </pre>
2654    *
2655    * <code>
2656    * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
2657    * </code>
2658    */
2659   @java.lang.Override
2660   public java.util.List<? extends com.google.cloud.redis.v1.NodeInfoOrBuilder>
getNodesOrBuilderList()2661       getNodesOrBuilderList() {
2662     return nodes_;
2663   }
2664   /**
2665    *
2666    *
2667    * <pre>
2668    * Output only. Info per node.
2669    * </pre>
2670    *
2671    * <code>
2672    * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
2673    * </code>
2674    */
2675   @java.lang.Override
getNodesCount()2676   public int getNodesCount() {
2677     return nodes_.size();
2678   }
2679   /**
2680    *
2681    *
2682    * <pre>
2683    * Output only. Info per node.
2684    * </pre>
2685    *
2686    * <code>
2687    * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
2688    * </code>
2689    */
2690   @java.lang.Override
getNodes(int index)2691   public com.google.cloud.redis.v1.NodeInfo getNodes(int index) {
2692     return nodes_.get(index);
2693   }
2694   /**
2695    *
2696    *
2697    * <pre>
2698    * Output only. Info per node.
2699    * </pre>
2700    *
2701    * <code>
2702    * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
2703    * </code>
2704    */
2705   @java.lang.Override
getNodesOrBuilder(int index)2706   public com.google.cloud.redis.v1.NodeInfoOrBuilder getNodesOrBuilder(int index) {
2707     return nodes_.get(index);
2708   }
2709 
2710   public static final int READ_ENDPOINT_FIELD_NUMBER = 33;
2711 
2712   @SuppressWarnings("serial")
2713   private volatile java.lang.Object readEndpoint_ = "";
2714   /**
2715    *
2716    *
2717    * <pre>
2718    * Output only. Hostname or IP address of the exposed readonly Redis
2719    * endpoint. Standard tier only. Targets all healthy replica nodes in
2720    * instance. Replication is asynchronous and replica nodes will exhibit some
2721    * lag behind the primary. Write requests must target 'host'.
2722    * </pre>
2723    *
2724    * <code>string read_endpoint = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2725    *
2726    * @return The readEndpoint.
2727    */
2728   @java.lang.Override
getReadEndpoint()2729   public java.lang.String getReadEndpoint() {
2730     java.lang.Object ref = readEndpoint_;
2731     if (ref instanceof java.lang.String) {
2732       return (java.lang.String) ref;
2733     } else {
2734       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2735       java.lang.String s = bs.toStringUtf8();
2736       readEndpoint_ = s;
2737       return s;
2738     }
2739   }
2740   /**
2741    *
2742    *
2743    * <pre>
2744    * Output only. Hostname or IP address of the exposed readonly Redis
2745    * endpoint. Standard tier only. Targets all healthy replica nodes in
2746    * instance. Replication is asynchronous and replica nodes will exhibit some
2747    * lag behind the primary. Write requests must target 'host'.
2748    * </pre>
2749    *
2750    * <code>string read_endpoint = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2751    *
2752    * @return The bytes for readEndpoint.
2753    */
2754   @java.lang.Override
getReadEndpointBytes()2755   public com.google.protobuf.ByteString getReadEndpointBytes() {
2756     java.lang.Object ref = readEndpoint_;
2757     if (ref instanceof java.lang.String) {
2758       com.google.protobuf.ByteString b =
2759           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2760       readEndpoint_ = b;
2761       return b;
2762     } else {
2763       return (com.google.protobuf.ByteString) ref;
2764     }
2765   }
2766 
2767   public static final int READ_ENDPOINT_PORT_FIELD_NUMBER = 34;
2768   private int readEndpointPort_ = 0;
2769   /**
2770    *
2771    *
2772    * <pre>
2773    * Output only. The port number of the exposed readonly redis
2774    * endpoint. Standard tier only. Write requests should target 'port'.
2775    * </pre>
2776    *
2777    * <code>int32 read_endpoint_port = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2778    *
2779    * @return The readEndpointPort.
2780    */
2781   @java.lang.Override
getReadEndpointPort()2782   public int getReadEndpointPort() {
2783     return readEndpointPort_;
2784   }
2785 
2786   public static final int READ_REPLICAS_MODE_FIELD_NUMBER = 35;
2787   private int readReplicasMode_ = 0;
2788   /**
2789    *
2790    *
2791    * <pre>
2792    * Optional. Read replicas mode for the instance. Defaults to
2793    * READ_REPLICAS_DISABLED.
2794    * </pre>
2795    *
2796    * <code>
2797    * .google.cloud.redis.v1.Instance.ReadReplicasMode read_replicas_mode = 35 [(.google.api.field_behavior) = OPTIONAL];
2798    * </code>
2799    *
2800    * @return The enum numeric value on the wire for readReplicasMode.
2801    */
2802   @java.lang.Override
getReadReplicasModeValue()2803   public int getReadReplicasModeValue() {
2804     return readReplicasMode_;
2805   }
2806   /**
2807    *
2808    *
2809    * <pre>
2810    * Optional. Read replicas mode for the instance. Defaults to
2811    * READ_REPLICAS_DISABLED.
2812    * </pre>
2813    *
2814    * <code>
2815    * .google.cloud.redis.v1.Instance.ReadReplicasMode read_replicas_mode = 35 [(.google.api.field_behavior) = OPTIONAL];
2816    * </code>
2817    *
2818    * @return The readReplicasMode.
2819    */
2820   @java.lang.Override
getReadReplicasMode()2821   public com.google.cloud.redis.v1.Instance.ReadReplicasMode getReadReplicasMode() {
2822     com.google.cloud.redis.v1.Instance.ReadReplicasMode result =
2823         com.google.cloud.redis.v1.Instance.ReadReplicasMode.forNumber(readReplicasMode_);
2824     return result == null
2825         ? com.google.cloud.redis.v1.Instance.ReadReplicasMode.UNRECOGNIZED
2826         : result;
2827   }
2828 
2829   public static final int CUSTOMER_MANAGED_KEY_FIELD_NUMBER = 36;
2830 
2831   @SuppressWarnings("serial")
2832   private volatile java.lang.Object customerManagedKey_ = "";
2833   /**
2834    *
2835    *
2836    * <pre>
2837    * Optional. The KMS key reference that the customer provides when trying to
2838    * create the instance.
2839    * </pre>
2840    *
2841    * <code>string customer_managed_key = 36 [(.google.api.field_behavior) = OPTIONAL];</code>
2842    *
2843    * @return The customerManagedKey.
2844    */
2845   @java.lang.Override
getCustomerManagedKey()2846   public java.lang.String getCustomerManagedKey() {
2847     java.lang.Object ref = customerManagedKey_;
2848     if (ref instanceof java.lang.String) {
2849       return (java.lang.String) ref;
2850     } else {
2851       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2852       java.lang.String s = bs.toStringUtf8();
2853       customerManagedKey_ = s;
2854       return s;
2855     }
2856   }
2857   /**
2858    *
2859    *
2860    * <pre>
2861    * Optional. The KMS key reference that the customer provides when trying to
2862    * create the instance.
2863    * </pre>
2864    *
2865    * <code>string customer_managed_key = 36 [(.google.api.field_behavior) = OPTIONAL];</code>
2866    *
2867    * @return The bytes for customerManagedKey.
2868    */
2869   @java.lang.Override
getCustomerManagedKeyBytes()2870   public com.google.protobuf.ByteString getCustomerManagedKeyBytes() {
2871     java.lang.Object ref = customerManagedKey_;
2872     if (ref instanceof java.lang.String) {
2873       com.google.protobuf.ByteString b =
2874           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2875       customerManagedKey_ = b;
2876       return b;
2877     } else {
2878       return (com.google.protobuf.ByteString) ref;
2879     }
2880   }
2881 
2882   public static final int PERSISTENCE_CONFIG_FIELD_NUMBER = 37;
2883   private com.google.cloud.redis.v1.PersistenceConfig persistenceConfig_;
2884   /**
2885    *
2886    *
2887    * <pre>
2888    * Optional. Persistence configuration parameters
2889    * </pre>
2890    *
2891    * <code>
2892    * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
2893    * </code>
2894    *
2895    * @return Whether the persistenceConfig field is set.
2896    */
2897   @java.lang.Override
hasPersistenceConfig()2898   public boolean hasPersistenceConfig() {
2899     return persistenceConfig_ != null;
2900   }
2901   /**
2902    *
2903    *
2904    * <pre>
2905    * Optional. Persistence configuration parameters
2906    * </pre>
2907    *
2908    * <code>
2909    * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
2910    * </code>
2911    *
2912    * @return The persistenceConfig.
2913    */
2914   @java.lang.Override
getPersistenceConfig()2915   public com.google.cloud.redis.v1.PersistenceConfig getPersistenceConfig() {
2916     return persistenceConfig_ == null
2917         ? com.google.cloud.redis.v1.PersistenceConfig.getDefaultInstance()
2918         : persistenceConfig_;
2919   }
2920   /**
2921    *
2922    *
2923    * <pre>
2924    * Optional. Persistence configuration parameters
2925    * </pre>
2926    *
2927    * <code>
2928    * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
2929    * </code>
2930    */
2931   @java.lang.Override
getPersistenceConfigOrBuilder()2932   public com.google.cloud.redis.v1.PersistenceConfigOrBuilder getPersistenceConfigOrBuilder() {
2933     return persistenceConfig_ == null
2934         ? com.google.cloud.redis.v1.PersistenceConfig.getDefaultInstance()
2935         : persistenceConfig_;
2936   }
2937 
2938   public static final int SUSPENSION_REASONS_FIELD_NUMBER = 38;
2939 
2940   @SuppressWarnings("serial")
2941   private java.util.List<java.lang.Integer> suspensionReasons_;
2942 
2943   private static final com.google.protobuf.Internal.ListAdapter.Converter<
2944           java.lang.Integer, com.google.cloud.redis.v1.Instance.SuspensionReason>
2945       suspensionReasons_converter_ =
2946           new com.google.protobuf.Internal.ListAdapter.Converter<
2947               java.lang.Integer, com.google.cloud.redis.v1.Instance.SuspensionReason>() {
2948             public com.google.cloud.redis.v1.Instance.SuspensionReason convert(
2949                 java.lang.Integer from) {
2950               com.google.cloud.redis.v1.Instance.SuspensionReason result =
2951                   com.google.cloud.redis.v1.Instance.SuspensionReason.forNumber(from);
2952               return result == null
2953                   ? com.google.cloud.redis.v1.Instance.SuspensionReason.UNRECOGNIZED
2954                   : result;
2955             }
2956           };
2957   /**
2958    *
2959    *
2960    * <pre>
2961    * Optional. reasons that causes instance in "SUSPENDED" state.
2962    * </pre>
2963    *
2964    * <code>
2965    * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
2966    * </code>
2967    *
2968    * @return A list containing the suspensionReasons.
2969    */
2970   @java.lang.Override
2971   public java.util.List<com.google.cloud.redis.v1.Instance.SuspensionReason>
getSuspensionReasonsList()2972       getSuspensionReasonsList() {
2973     return new com.google.protobuf.Internal.ListAdapter<
2974         java.lang.Integer, com.google.cloud.redis.v1.Instance.SuspensionReason>(
2975         suspensionReasons_, suspensionReasons_converter_);
2976   }
2977   /**
2978    *
2979    *
2980    * <pre>
2981    * Optional. reasons that causes instance in "SUSPENDED" state.
2982    * </pre>
2983    *
2984    * <code>
2985    * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
2986    * </code>
2987    *
2988    * @return The count of suspensionReasons.
2989    */
2990   @java.lang.Override
getSuspensionReasonsCount()2991   public int getSuspensionReasonsCount() {
2992     return suspensionReasons_.size();
2993   }
2994   /**
2995    *
2996    *
2997    * <pre>
2998    * Optional. reasons that causes instance in "SUSPENDED" state.
2999    * </pre>
3000    *
3001    * <code>
3002    * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
3003    * </code>
3004    *
3005    * @param index The index of the element to return.
3006    * @return The suspensionReasons at the given index.
3007    */
3008   @java.lang.Override
getSuspensionReasons(int index)3009   public com.google.cloud.redis.v1.Instance.SuspensionReason getSuspensionReasons(int index) {
3010     return suspensionReasons_converter_.convert(suspensionReasons_.get(index));
3011   }
3012   /**
3013    *
3014    *
3015    * <pre>
3016    * Optional. reasons that causes instance in "SUSPENDED" state.
3017    * </pre>
3018    *
3019    * <code>
3020    * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
3021    * </code>
3022    *
3023    * @return A list containing the enum numeric values on the wire for suspensionReasons.
3024    */
3025   @java.lang.Override
getSuspensionReasonsValueList()3026   public java.util.List<java.lang.Integer> getSuspensionReasonsValueList() {
3027     return suspensionReasons_;
3028   }
3029   /**
3030    *
3031    *
3032    * <pre>
3033    * Optional. reasons that causes instance in "SUSPENDED" state.
3034    * </pre>
3035    *
3036    * <code>
3037    * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
3038    * </code>
3039    *
3040    * @param index The index of the value to return.
3041    * @return The enum numeric value on the wire of suspensionReasons at the given index.
3042    */
3043   @java.lang.Override
getSuspensionReasonsValue(int index)3044   public int getSuspensionReasonsValue(int index) {
3045     return suspensionReasons_.get(index);
3046   }
3047 
3048   private int suspensionReasonsMemoizedSerializedSize;
3049 
3050   public static final int MAINTENANCE_VERSION_FIELD_NUMBER = 39;
3051 
3052   @SuppressWarnings("serial")
3053   private volatile java.lang.Object maintenanceVersion_ = "";
3054   /**
3055    *
3056    *
3057    * <pre>
3058    * Optional. The self service update maintenance version.
3059    * The version is date based such as "20210712_00_00".
3060    * </pre>
3061    *
3062    * <code>string maintenance_version = 39 [(.google.api.field_behavior) = OPTIONAL];</code>
3063    *
3064    * @return The maintenanceVersion.
3065    */
3066   @java.lang.Override
getMaintenanceVersion()3067   public java.lang.String getMaintenanceVersion() {
3068     java.lang.Object ref = maintenanceVersion_;
3069     if (ref instanceof java.lang.String) {
3070       return (java.lang.String) ref;
3071     } else {
3072       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3073       java.lang.String s = bs.toStringUtf8();
3074       maintenanceVersion_ = s;
3075       return s;
3076     }
3077   }
3078   /**
3079    *
3080    *
3081    * <pre>
3082    * Optional. The self service update maintenance version.
3083    * The version is date based such as "20210712_00_00".
3084    * </pre>
3085    *
3086    * <code>string maintenance_version = 39 [(.google.api.field_behavior) = OPTIONAL];</code>
3087    *
3088    * @return The bytes for maintenanceVersion.
3089    */
3090   @java.lang.Override
getMaintenanceVersionBytes()3091   public com.google.protobuf.ByteString getMaintenanceVersionBytes() {
3092     java.lang.Object ref = maintenanceVersion_;
3093     if (ref instanceof java.lang.String) {
3094       com.google.protobuf.ByteString b =
3095           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3096       maintenanceVersion_ = b;
3097       return b;
3098     } else {
3099       return (com.google.protobuf.ByteString) ref;
3100     }
3101   }
3102 
3103   public static final int AVAILABLE_MAINTENANCE_VERSIONS_FIELD_NUMBER = 40;
3104 
3105   @SuppressWarnings("serial")
3106   private com.google.protobuf.LazyStringList availableMaintenanceVersions_;
3107   /**
3108    *
3109    *
3110    * <pre>
3111    * Optional. The available maintenance versions that an instance could update
3112    * to.
3113    * </pre>
3114    *
3115    * <code>
3116    * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
3117    * </code>
3118    *
3119    * @return A list containing the availableMaintenanceVersions.
3120    */
getAvailableMaintenanceVersionsList()3121   public com.google.protobuf.ProtocolStringList getAvailableMaintenanceVersionsList() {
3122     return availableMaintenanceVersions_;
3123   }
3124   /**
3125    *
3126    *
3127    * <pre>
3128    * Optional. The available maintenance versions that an instance could update
3129    * to.
3130    * </pre>
3131    *
3132    * <code>
3133    * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
3134    * </code>
3135    *
3136    * @return The count of availableMaintenanceVersions.
3137    */
getAvailableMaintenanceVersionsCount()3138   public int getAvailableMaintenanceVersionsCount() {
3139     return availableMaintenanceVersions_.size();
3140   }
3141   /**
3142    *
3143    *
3144    * <pre>
3145    * Optional. The available maintenance versions that an instance could update
3146    * to.
3147    * </pre>
3148    *
3149    * <code>
3150    * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
3151    * </code>
3152    *
3153    * @param index The index of the element to return.
3154    * @return The availableMaintenanceVersions at the given index.
3155    */
getAvailableMaintenanceVersions(int index)3156   public java.lang.String getAvailableMaintenanceVersions(int index) {
3157     return availableMaintenanceVersions_.get(index);
3158   }
3159   /**
3160    *
3161    *
3162    * <pre>
3163    * Optional. The available maintenance versions that an instance could update
3164    * to.
3165    * </pre>
3166    *
3167    * <code>
3168    * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
3169    * </code>
3170    *
3171    * @param index The index of the value to return.
3172    * @return The bytes of the availableMaintenanceVersions at the given index.
3173    */
getAvailableMaintenanceVersionsBytes(int index)3174   public com.google.protobuf.ByteString getAvailableMaintenanceVersionsBytes(int index) {
3175     return availableMaintenanceVersions_.getByteString(index);
3176   }
3177 
3178   private byte memoizedIsInitialized = -1;
3179 
3180   @java.lang.Override
isInitialized()3181   public final boolean isInitialized() {
3182     byte isInitialized = memoizedIsInitialized;
3183     if (isInitialized == 1) return true;
3184     if (isInitialized == 0) return false;
3185 
3186     memoizedIsInitialized = 1;
3187     return true;
3188   }
3189 
3190   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)3191   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
3192     getSerializedSize();
3193     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
3194       com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
3195     }
3196     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) {
3197       com.google.protobuf.GeneratedMessageV3.writeString(output, 2, displayName_);
3198     }
3199     com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
3200         output, internalGetLabels(), LabelsDefaultEntryHolder.defaultEntry, 3);
3201     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(locationId_)) {
3202       com.google.protobuf.GeneratedMessageV3.writeString(output, 4, locationId_);
3203     }
3204     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(alternativeLocationId_)) {
3205       com.google.protobuf.GeneratedMessageV3.writeString(output, 5, alternativeLocationId_);
3206     }
3207     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(redisVersion_)) {
3208       com.google.protobuf.GeneratedMessageV3.writeString(output, 7, redisVersion_);
3209     }
3210     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(reservedIpRange_)) {
3211       com.google.protobuf.GeneratedMessageV3.writeString(output, 9, reservedIpRange_);
3212     }
3213     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(host_)) {
3214       com.google.protobuf.GeneratedMessageV3.writeString(output, 10, host_);
3215     }
3216     if (port_ != 0) {
3217       output.writeInt32(11, port_);
3218     }
3219     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(currentLocationId_)) {
3220       com.google.protobuf.GeneratedMessageV3.writeString(output, 12, currentLocationId_);
3221     }
3222     if (createTime_ != null) {
3223       output.writeMessage(13, getCreateTime());
3224     }
3225     if (state_ != com.google.cloud.redis.v1.Instance.State.STATE_UNSPECIFIED.getNumber()) {
3226       output.writeEnum(14, state_);
3227     }
3228     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(statusMessage_)) {
3229       com.google.protobuf.GeneratedMessageV3.writeString(output, 15, statusMessage_);
3230     }
3231     com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
3232         output, internalGetRedisConfigs(), RedisConfigsDefaultEntryHolder.defaultEntry, 16);
3233     if (tier_ != com.google.cloud.redis.v1.Instance.Tier.TIER_UNSPECIFIED.getNumber()) {
3234       output.writeEnum(17, tier_);
3235     }
3236     if (memorySizeGb_ != 0) {
3237       output.writeInt32(18, memorySizeGb_);
3238     }
3239     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(authorizedNetwork_)) {
3240       com.google.protobuf.GeneratedMessageV3.writeString(output, 20, authorizedNetwork_);
3241     }
3242     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(persistenceIamIdentity_)) {
3243       com.google.protobuf.GeneratedMessageV3.writeString(output, 21, persistenceIamIdentity_);
3244     }
3245     if (connectMode_
3246         != com.google.cloud.redis.v1.Instance.ConnectMode.CONNECT_MODE_UNSPECIFIED.getNumber()) {
3247       output.writeEnum(22, connectMode_);
3248     }
3249     if (authEnabled_ != false) {
3250       output.writeBool(23, authEnabled_);
3251     }
3252     for (int i = 0; i < serverCaCerts_.size(); i++) {
3253       output.writeMessage(25, serverCaCerts_.get(i));
3254     }
3255     if (transitEncryptionMode_
3256         != com.google.cloud.redis.v1.Instance.TransitEncryptionMode
3257             .TRANSIT_ENCRYPTION_MODE_UNSPECIFIED
3258             .getNumber()) {
3259       output.writeEnum(26, transitEncryptionMode_);
3260     }
3261     if (maintenancePolicy_ != null) {
3262       output.writeMessage(27, getMaintenancePolicy());
3263     }
3264     if (maintenanceSchedule_ != null) {
3265       output.writeMessage(28, getMaintenanceSchedule());
3266     }
3267     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(secondaryIpRange_)) {
3268       com.google.protobuf.GeneratedMessageV3.writeString(output, 30, secondaryIpRange_);
3269     }
3270     if (replicaCount_ != 0) {
3271       output.writeInt32(31, replicaCount_);
3272     }
3273     for (int i = 0; i < nodes_.size(); i++) {
3274       output.writeMessage(32, nodes_.get(i));
3275     }
3276     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(readEndpoint_)) {
3277       com.google.protobuf.GeneratedMessageV3.writeString(output, 33, readEndpoint_);
3278     }
3279     if (readEndpointPort_ != 0) {
3280       output.writeInt32(34, readEndpointPort_);
3281     }
3282     if (readReplicasMode_
3283         != com.google.cloud.redis.v1.Instance.ReadReplicasMode.READ_REPLICAS_MODE_UNSPECIFIED
3284             .getNumber()) {
3285       output.writeEnum(35, readReplicasMode_);
3286     }
3287     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(customerManagedKey_)) {
3288       com.google.protobuf.GeneratedMessageV3.writeString(output, 36, customerManagedKey_);
3289     }
3290     if (persistenceConfig_ != null) {
3291       output.writeMessage(37, getPersistenceConfig());
3292     }
3293     if (getSuspensionReasonsList().size() > 0) {
3294       output.writeUInt32NoTag(306);
3295       output.writeUInt32NoTag(suspensionReasonsMemoizedSerializedSize);
3296     }
3297     for (int i = 0; i < suspensionReasons_.size(); i++) {
3298       output.writeEnumNoTag(suspensionReasons_.get(i));
3299     }
3300     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(maintenanceVersion_)) {
3301       com.google.protobuf.GeneratedMessageV3.writeString(output, 39, maintenanceVersion_);
3302     }
3303     for (int i = 0; i < availableMaintenanceVersions_.size(); i++) {
3304       com.google.protobuf.GeneratedMessageV3.writeString(
3305           output, 40, availableMaintenanceVersions_.getRaw(i));
3306     }
3307     getUnknownFields().writeTo(output);
3308   }
3309 
3310   @java.lang.Override
getSerializedSize()3311   public int getSerializedSize() {
3312     int size = memoizedSize;
3313     if (size != -1) return size;
3314 
3315     size = 0;
3316     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
3317       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
3318     }
3319     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) {
3320       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, displayName_);
3321     }
3322     for (java.util.Map.Entry<java.lang.String, java.lang.String> entry :
3323         internalGetLabels().getMap().entrySet()) {
3324       com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
3325           LabelsDefaultEntryHolder.defaultEntry
3326               .newBuilderForType()
3327               .setKey(entry.getKey())
3328               .setValue(entry.getValue())
3329               .build();
3330       size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, labels__);
3331     }
3332     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(locationId_)) {
3333       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, locationId_);
3334     }
3335     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(alternativeLocationId_)) {
3336       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, alternativeLocationId_);
3337     }
3338     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(redisVersion_)) {
3339       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, redisVersion_);
3340     }
3341     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(reservedIpRange_)) {
3342       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, reservedIpRange_);
3343     }
3344     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(host_)) {
3345       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, host_);
3346     }
3347     if (port_ != 0) {
3348       size += com.google.protobuf.CodedOutputStream.computeInt32Size(11, port_);
3349     }
3350     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(currentLocationId_)) {
3351       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, currentLocationId_);
3352     }
3353     if (createTime_ != null) {
3354       size += com.google.protobuf.CodedOutputStream.computeMessageSize(13, getCreateTime());
3355     }
3356     if (state_ != com.google.cloud.redis.v1.Instance.State.STATE_UNSPECIFIED.getNumber()) {
3357       size += com.google.protobuf.CodedOutputStream.computeEnumSize(14, state_);
3358     }
3359     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(statusMessage_)) {
3360       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, statusMessage_);
3361     }
3362     for (java.util.Map.Entry<java.lang.String, java.lang.String> entry :
3363         internalGetRedisConfigs().getMap().entrySet()) {
3364       com.google.protobuf.MapEntry<java.lang.String, java.lang.String> redisConfigs__ =
3365           RedisConfigsDefaultEntryHolder.defaultEntry
3366               .newBuilderForType()
3367               .setKey(entry.getKey())
3368               .setValue(entry.getValue())
3369               .build();
3370       size += com.google.protobuf.CodedOutputStream.computeMessageSize(16, redisConfigs__);
3371     }
3372     if (tier_ != com.google.cloud.redis.v1.Instance.Tier.TIER_UNSPECIFIED.getNumber()) {
3373       size += com.google.protobuf.CodedOutputStream.computeEnumSize(17, tier_);
3374     }
3375     if (memorySizeGb_ != 0) {
3376       size += com.google.protobuf.CodedOutputStream.computeInt32Size(18, memorySizeGb_);
3377     }
3378     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(authorizedNetwork_)) {
3379       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(20, authorizedNetwork_);
3380     }
3381     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(persistenceIamIdentity_)) {
3382       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(21, persistenceIamIdentity_);
3383     }
3384     if (connectMode_
3385         != com.google.cloud.redis.v1.Instance.ConnectMode.CONNECT_MODE_UNSPECIFIED.getNumber()) {
3386       size += com.google.protobuf.CodedOutputStream.computeEnumSize(22, connectMode_);
3387     }
3388     if (authEnabled_ != false) {
3389       size += com.google.protobuf.CodedOutputStream.computeBoolSize(23, authEnabled_);
3390     }
3391     for (int i = 0; i < serverCaCerts_.size(); i++) {
3392       size += com.google.protobuf.CodedOutputStream.computeMessageSize(25, serverCaCerts_.get(i));
3393     }
3394     if (transitEncryptionMode_
3395         != com.google.cloud.redis.v1.Instance.TransitEncryptionMode
3396             .TRANSIT_ENCRYPTION_MODE_UNSPECIFIED
3397             .getNumber()) {
3398       size += com.google.protobuf.CodedOutputStream.computeEnumSize(26, transitEncryptionMode_);
3399     }
3400     if (maintenancePolicy_ != null) {
3401       size += com.google.protobuf.CodedOutputStream.computeMessageSize(27, getMaintenancePolicy());
3402     }
3403     if (maintenanceSchedule_ != null) {
3404       size +=
3405           com.google.protobuf.CodedOutputStream.computeMessageSize(28, getMaintenanceSchedule());
3406     }
3407     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(secondaryIpRange_)) {
3408       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(30, secondaryIpRange_);
3409     }
3410     if (replicaCount_ != 0) {
3411       size += com.google.protobuf.CodedOutputStream.computeInt32Size(31, replicaCount_);
3412     }
3413     for (int i = 0; i < nodes_.size(); i++) {
3414       size += com.google.protobuf.CodedOutputStream.computeMessageSize(32, nodes_.get(i));
3415     }
3416     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(readEndpoint_)) {
3417       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(33, readEndpoint_);
3418     }
3419     if (readEndpointPort_ != 0) {
3420       size += com.google.protobuf.CodedOutputStream.computeInt32Size(34, readEndpointPort_);
3421     }
3422     if (readReplicasMode_
3423         != com.google.cloud.redis.v1.Instance.ReadReplicasMode.READ_REPLICAS_MODE_UNSPECIFIED
3424             .getNumber()) {
3425       size += com.google.protobuf.CodedOutputStream.computeEnumSize(35, readReplicasMode_);
3426     }
3427     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(customerManagedKey_)) {
3428       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(36, customerManagedKey_);
3429     }
3430     if (persistenceConfig_ != null) {
3431       size += com.google.protobuf.CodedOutputStream.computeMessageSize(37, getPersistenceConfig());
3432     }
3433     {
3434       int dataSize = 0;
3435       for (int i = 0; i < suspensionReasons_.size(); i++) {
3436         dataSize +=
3437             com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(suspensionReasons_.get(i));
3438       }
3439       size += dataSize;
3440       if (!getSuspensionReasonsList().isEmpty()) {
3441         size += 2;
3442         size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
3443       }
3444       suspensionReasonsMemoizedSerializedSize = dataSize;
3445     }
3446     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(maintenanceVersion_)) {
3447       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(39, maintenanceVersion_);
3448     }
3449     {
3450       int dataSize = 0;
3451       for (int i = 0; i < availableMaintenanceVersions_.size(); i++) {
3452         dataSize += computeStringSizeNoTag(availableMaintenanceVersions_.getRaw(i));
3453       }
3454       size += dataSize;
3455       size += 2 * getAvailableMaintenanceVersionsList().size();
3456     }
3457     size += getUnknownFields().getSerializedSize();
3458     memoizedSize = size;
3459     return size;
3460   }
3461 
3462   @java.lang.Override
equals(final java.lang.Object obj)3463   public boolean equals(final java.lang.Object obj) {
3464     if (obj == this) {
3465       return true;
3466     }
3467     if (!(obj instanceof com.google.cloud.redis.v1.Instance)) {
3468       return super.equals(obj);
3469     }
3470     com.google.cloud.redis.v1.Instance other = (com.google.cloud.redis.v1.Instance) obj;
3471 
3472     if (!getName().equals(other.getName())) return false;
3473     if (!getDisplayName().equals(other.getDisplayName())) return false;
3474     if (!internalGetLabels().equals(other.internalGetLabels())) return false;
3475     if (!getLocationId().equals(other.getLocationId())) return false;
3476     if (!getAlternativeLocationId().equals(other.getAlternativeLocationId())) return false;
3477     if (!getRedisVersion().equals(other.getRedisVersion())) return false;
3478     if (!getReservedIpRange().equals(other.getReservedIpRange())) return false;
3479     if (!getSecondaryIpRange().equals(other.getSecondaryIpRange())) return false;
3480     if (!getHost().equals(other.getHost())) return false;
3481     if (getPort() != other.getPort()) return false;
3482     if (!getCurrentLocationId().equals(other.getCurrentLocationId())) return false;
3483     if (hasCreateTime() != other.hasCreateTime()) return false;
3484     if (hasCreateTime()) {
3485       if (!getCreateTime().equals(other.getCreateTime())) return false;
3486     }
3487     if (state_ != other.state_) return false;
3488     if (!getStatusMessage().equals(other.getStatusMessage())) return false;
3489     if (!internalGetRedisConfigs().equals(other.internalGetRedisConfigs())) return false;
3490     if (tier_ != other.tier_) return false;
3491     if (getMemorySizeGb() != other.getMemorySizeGb()) return false;
3492     if (!getAuthorizedNetwork().equals(other.getAuthorizedNetwork())) return false;
3493     if (!getPersistenceIamIdentity().equals(other.getPersistenceIamIdentity())) return false;
3494     if (connectMode_ != other.connectMode_) return false;
3495     if (getAuthEnabled() != other.getAuthEnabled()) return false;
3496     if (!getServerCaCertsList().equals(other.getServerCaCertsList())) return false;
3497     if (transitEncryptionMode_ != other.transitEncryptionMode_) return false;
3498     if (hasMaintenancePolicy() != other.hasMaintenancePolicy()) return false;
3499     if (hasMaintenancePolicy()) {
3500       if (!getMaintenancePolicy().equals(other.getMaintenancePolicy())) return false;
3501     }
3502     if (hasMaintenanceSchedule() != other.hasMaintenanceSchedule()) return false;
3503     if (hasMaintenanceSchedule()) {
3504       if (!getMaintenanceSchedule().equals(other.getMaintenanceSchedule())) return false;
3505     }
3506     if (getReplicaCount() != other.getReplicaCount()) return false;
3507     if (!getNodesList().equals(other.getNodesList())) return false;
3508     if (!getReadEndpoint().equals(other.getReadEndpoint())) return false;
3509     if (getReadEndpointPort() != other.getReadEndpointPort()) return false;
3510     if (readReplicasMode_ != other.readReplicasMode_) return false;
3511     if (!getCustomerManagedKey().equals(other.getCustomerManagedKey())) return false;
3512     if (hasPersistenceConfig() != other.hasPersistenceConfig()) return false;
3513     if (hasPersistenceConfig()) {
3514       if (!getPersistenceConfig().equals(other.getPersistenceConfig())) return false;
3515     }
3516     if (!suspensionReasons_.equals(other.suspensionReasons_)) return false;
3517     if (!getMaintenanceVersion().equals(other.getMaintenanceVersion())) return false;
3518     if (!getAvailableMaintenanceVersionsList().equals(other.getAvailableMaintenanceVersionsList()))
3519       return false;
3520     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
3521     return true;
3522   }
3523 
3524   @java.lang.Override
hashCode()3525   public int hashCode() {
3526     if (memoizedHashCode != 0) {
3527       return memoizedHashCode;
3528     }
3529     int hash = 41;
3530     hash = (19 * hash) + getDescriptor().hashCode();
3531     hash = (37 * hash) + NAME_FIELD_NUMBER;
3532     hash = (53 * hash) + getName().hashCode();
3533     hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER;
3534     hash = (53 * hash) + getDisplayName().hashCode();
3535     if (!internalGetLabels().getMap().isEmpty()) {
3536       hash = (37 * hash) + LABELS_FIELD_NUMBER;
3537       hash = (53 * hash) + internalGetLabels().hashCode();
3538     }
3539     hash = (37 * hash) + LOCATION_ID_FIELD_NUMBER;
3540     hash = (53 * hash) + getLocationId().hashCode();
3541     hash = (37 * hash) + ALTERNATIVE_LOCATION_ID_FIELD_NUMBER;
3542     hash = (53 * hash) + getAlternativeLocationId().hashCode();
3543     hash = (37 * hash) + REDIS_VERSION_FIELD_NUMBER;
3544     hash = (53 * hash) + getRedisVersion().hashCode();
3545     hash = (37 * hash) + RESERVED_IP_RANGE_FIELD_NUMBER;
3546     hash = (53 * hash) + getReservedIpRange().hashCode();
3547     hash = (37 * hash) + SECONDARY_IP_RANGE_FIELD_NUMBER;
3548     hash = (53 * hash) + getSecondaryIpRange().hashCode();
3549     hash = (37 * hash) + HOST_FIELD_NUMBER;
3550     hash = (53 * hash) + getHost().hashCode();
3551     hash = (37 * hash) + PORT_FIELD_NUMBER;
3552     hash = (53 * hash) + getPort();
3553     hash = (37 * hash) + CURRENT_LOCATION_ID_FIELD_NUMBER;
3554     hash = (53 * hash) + getCurrentLocationId().hashCode();
3555     if (hasCreateTime()) {
3556       hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER;
3557       hash = (53 * hash) + getCreateTime().hashCode();
3558     }
3559     hash = (37 * hash) + STATE_FIELD_NUMBER;
3560     hash = (53 * hash) + state_;
3561     hash = (37 * hash) + STATUS_MESSAGE_FIELD_NUMBER;
3562     hash = (53 * hash) + getStatusMessage().hashCode();
3563     if (!internalGetRedisConfigs().getMap().isEmpty()) {
3564       hash = (37 * hash) + REDIS_CONFIGS_FIELD_NUMBER;
3565       hash = (53 * hash) + internalGetRedisConfigs().hashCode();
3566     }
3567     hash = (37 * hash) + TIER_FIELD_NUMBER;
3568     hash = (53 * hash) + tier_;
3569     hash = (37 * hash) + MEMORY_SIZE_GB_FIELD_NUMBER;
3570     hash = (53 * hash) + getMemorySizeGb();
3571     hash = (37 * hash) + AUTHORIZED_NETWORK_FIELD_NUMBER;
3572     hash = (53 * hash) + getAuthorizedNetwork().hashCode();
3573     hash = (37 * hash) + PERSISTENCE_IAM_IDENTITY_FIELD_NUMBER;
3574     hash = (53 * hash) + getPersistenceIamIdentity().hashCode();
3575     hash = (37 * hash) + CONNECT_MODE_FIELD_NUMBER;
3576     hash = (53 * hash) + connectMode_;
3577     hash = (37 * hash) + AUTH_ENABLED_FIELD_NUMBER;
3578     hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getAuthEnabled());
3579     if (getServerCaCertsCount() > 0) {
3580       hash = (37 * hash) + SERVER_CA_CERTS_FIELD_NUMBER;
3581       hash = (53 * hash) + getServerCaCertsList().hashCode();
3582     }
3583     hash = (37 * hash) + TRANSIT_ENCRYPTION_MODE_FIELD_NUMBER;
3584     hash = (53 * hash) + transitEncryptionMode_;
3585     if (hasMaintenancePolicy()) {
3586       hash = (37 * hash) + MAINTENANCE_POLICY_FIELD_NUMBER;
3587       hash = (53 * hash) + getMaintenancePolicy().hashCode();
3588     }
3589     if (hasMaintenanceSchedule()) {
3590       hash = (37 * hash) + MAINTENANCE_SCHEDULE_FIELD_NUMBER;
3591       hash = (53 * hash) + getMaintenanceSchedule().hashCode();
3592     }
3593     hash = (37 * hash) + REPLICA_COUNT_FIELD_NUMBER;
3594     hash = (53 * hash) + getReplicaCount();
3595     if (getNodesCount() > 0) {
3596       hash = (37 * hash) + NODES_FIELD_NUMBER;
3597       hash = (53 * hash) + getNodesList().hashCode();
3598     }
3599     hash = (37 * hash) + READ_ENDPOINT_FIELD_NUMBER;
3600     hash = (53 * hash) + getReadEndpoint().hashCode();
3601     hash = (37 * hash) + READ_ENDPOINT_PORT_FIELD_NUMBER;
3602     hash = (53 * hash) + getReadEndpointPort();
3603     hash = (37 * hash) + READ_REPLICAS_MODE_FIELD_NUMBER;
3604     hash = (53 * hash) + readReplicasMode_;
3605     hash = (37 * hash) + CUSTOMER_MANAGED_KEY_FIELD_NUMBER;
3606     hash = (53 * hash) + getCustomerManagedKey().hashCode();
3607     if (hasPersistenceConfig()) {
3608       hash = (37 * hash) + PERSISTENCE_CONFIG_FIELD_NUMBER;
3609       hash = (53 * hash) + getPersistenceConfig().hashCode();
3610     }
3611     if (getSuspensionReasonsCount() > 0) {
3612       hash = (37 * hash) + SUSPENSION_REASONS_FIELD_NUMBER;
3613       hash = (53 * hash) + suspensionReasons_.hashCode();
3614     }
3615     hash = (37 * hash) + MAINTENANCE_VERSION_FIELD_NUMBER;
3616     hash = (53 * hash) + getMaintenanceVersion().hashCode();
3617     if (getAvailableMaintenanceVersionsCount() > 0) {
3618       hash = (37 * hash) + AVAILABLE_MAINTENANCE_VERSIONS_FIELD_NUMBER;
3619       hash = (53 * hash) + getAvailableMaintenanceVersionsList().hashCode();
3620     }
3621     hash = (29 * hash) + getUnknownFields().hashCode();
3622     memoizedHashCode = hash;
3623     return hash;
3624   }
3625 
parseFrom(java.nio.ByteBuffer data)3626   public static com.google.cloud.redis.v1.Instance parseFrom(java.nio.ByteBuffer data)
3627       throws com.google.protobuf.InvalidProtocolBufferException {
3628     return PARSER.parseFrom(data);
3629   }
3630 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3631   public static com.google.cloud.redis.v1.Instance parseFrom(
3632       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3633       throws com.google.protobuf.InvalidProtocolBufferException {
3634     return PARSER.parseFrom(data, extensionRegistry);
3635   }
3636 
parseFrom(com.google.protobuf.ByteString data)3637   public static com.google.cloud.redis.v1.Instance parseFrom(com.google.protobuf.ByteString data)
3638       throws com.google.protobuf.InvalidProtocolBufferException {
3639     return PARSER.parseFrom(data);
3640   }
3641 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3642   public static com.google.cloud.redis.v1.Instance parseFrom(
3643       com.google.protobuf.ByteString data,
3644       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3645       throws com.google.protobuf.InvalidProtocolBufferException {
3646     return PARSER.parseFrom(data, extensionRegistry);
3647   }
3648 
parseFrom(byte[] data)3649   public static com.google.cloud.redis.v1.Instance parseFrom(byte[] data)
3650       throws com.google.protobuf.InvalidProtocolBufferException {
3651     return PARSER.parseFrom(data);
3652   }
3653 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3654   public static com.google.cloud.redis.v1.Instance parseFrom(
3655       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3656       throws com.google.protobuf.InvalidProtocolBufferException {
3657     return PARSER.parseFrom(data, extensionRegistry);
3658   }
3659 
parseFrom(java.io.InputStream input)3660   public static com.google.cloud.redis.v1.Instance parseFrom(java.io.InputStream input)
3661       throws java.io.IOException {
3662     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3663   }
3664 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3665   public static com.google.cloud.redis.v1.Instance parseFrom(
3666       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3667       throws java.io.IOException {
3668     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3669         PARSER, input, extensionRegistry);
3670   }
3671 
parseDelimitedFrom(java.io.InputStream input)3672   public static com.google.cloud.redis.v1.Instance parseDelimitedFrom(java.io.InputStream input)
3673       throws java.io.IOException {
3674     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
3675   }
3676 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3677   public static com.google.cloud.redis.v1.Instance parseDelimitedFrom(
3678       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3679       throws java.io.IOException {
3680     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
3681         PARSER, input, extensionRegistry);
3682   }
3683 
parseFrom( com.google.protobuf.CodedInputStream input)3684   public static com.google.cloud.redis.v1.Instance parseFrom(
3685       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
3686     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3687   }
3688 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3689   public static com.google.cloud.redis.v1.Instance parseFrom(
3690       com.google.protobuf.CodedInputStream input,
3691       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3692       throws java.io.IOException {
3693     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3694         PARSER, input, extensionRegistry);
3695   }
3696 
3697   @java.lang.Override
newBuilderForType()3698   public Builder newBuilderForType() {
3699     return newBuilder();
3700   }
3701 
newBuilder()3702   public static Builder newBuilder() {
3703     return DEFAULT_INSTANCE.toBuilder();
3704   }
3705 
newBuilder(com.google.cloud.redis.v1.Instance prototype)3706   public static Builder newBuilder(com.google.cloud.redis.v1.Instance prototype) {
3707     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3708   }
3709 
3710   @java.lang.Override
toBuilder()3711   public Builder toBuilder() {
3712     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
3713   }
3714 
3715   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)3716   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3717     Builder builder = new Builder(parent);
3718     return builder;
3719   }
3720   /**
3721    *
3722    *
3723    * <pre>
3724    * A Memorystore for Redis instance.
3725    * </pre>
3726    *
3727    * Protobuf type {@code google.cloud.redis.v1.Instance}
3728    */
3729   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
3730       implements
3731       // @@protoc_insertion_point(builder_implements:google.cloud.redis.v1.Instance)
3732       com.google.cloud.redis.v1.InstanceOrBuilder {
getDescriptor()3733     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
3734       return com.google.cloud.redis.v1.CloudRedisServiceV1Proto
3735           .internal_static_google_cloud_redis_v1_Instance_descriptor;
3736     }
3737 
3738     @SuppressWarnings({"rawtypes"})
internalGetMapField(int number)3739     protected com.google.protobuf.MapField internalGetMapField(int number) {
3740       switch (number) {
3741         case 3:
3742           return internalGetLabels();
3743         case 16:
3744           return internalGetRedisConfigs();
3745         default:
3746           throw new RuntimeException("Invalid map field number: " + number);
3747       }
3748     }
3749 
3750     @SuppressWarnings({"rawtypes"})
internalGetMutableMapField(int number)3751     protected com.google.protobuf.MapField internalGetMutableMapField(int number) {
3752       switch (number) {
3753         case 3:
3754           return internalGetMutableLabels();
3755         case 16:
3756           return internalGetMutableRedisConfigs();
3757         default:
3758           throw new RuntimeException("Invalid map field number: " + number);
3759       }
3760     }
3761 
3762     @java.lang.Override
3763     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()3764         internalGetFieldAccessorTable() {
3765       return com.google.cloud.redis.v1.CloudRedisServiceV1Proto
3766           .internal_static_google_cloud_redis_v1_Instance_fieldAccessorTable
3767           .ensureFieldAccessorsInitialized(
3768               com.google.cloud.redis.v1.Instance.class,
3769               com.google.cloud.redis.v1.Instance.Builder.class);
3770     }
3771 
3772     // Construct using com.google.cloud.redis.v1.Instance.newBuilder()
Builder()3773     private Builder() {}
3774 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)3775     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3776       super(parent);
3777     }
3778 
3779     @java.lang.Override
clear()3780     public Builder clear() {
3781       super.clear();
3782       bitField0_ = 0;
3783       bitField1_ = 0;
3784       name_ = "";
3785       displayName_ = "";
3786       internalGetMutableLabels().clear();
3787       locationId_ = "";
3788       alternativeLocationId_ = "";
3789       redisVersion_ = "";
3790       reservedIpRange_ = "";
3791       secondaryIpRange_ = "";
3792       host_ = "";
3793       port_ = 0;
3794       currentLocationId_ = "";
3795       createTime_ = null;
3796       if (createTimeBuilder_ != null) {
3797         createTimeBuilder_.dispose();
3798         createTimeBuilder_ = null;
3799       }
3800       state_ = 0;
3801       statusMessage_ = "";
3802       internalGetMutableRedisConfigs().clear();
3803       tier_ = 0;
3804       memorySizeGb_ = 0;
3805       authorizedNetwork_ = "";
3806       persistenceIamIdentity_ = "";
3807       connectMode_ = 0;
3808       authEnabled_ = false;
3809       if (serverCaCertsBuilder_ == null) {
3810         serverCaCerts_ = java.util.Collections.emptyList();
3811       } else {
3812         serverCaCerts_ = null;
3813         serverCaCertsBuilder_.clear();
3814       }
3815       bitField0_ = (bitField0_ & ~0x00200000);
3816       transitEncryptionMode_ = 0;
3817       maintenancePolicy_ = null;
3818       if (maintenancePolicyBuilder_ != null) {
3819         maintenancePolicyBuilder_.dispose();
3820         maintenancePolicyBuilder_ = null;
3821       }
3822       maintenanceSchedule_ = null;
3823       if (maintenanceScheduleBuilder_ != null) {
3824         maintenanceScheduleBuilder_.dispose();
3825         maintenanceScheduleBuilder_ = null;
3826       }
3827       replicaCount_ = 0;
3828       if (nodesBuilder_ == null) {
3829         nodes_ = java.util.Collections.emptyList();
3830       } else {
3831         nodes_ = null;
3832         nodesBuilder_.clear();
3833       }
3834       bitField0_ = (bitField0_ & ~0x04000000);
3835       readEndpoint_ = "";
3836       readEndpointPort_ = 0;
3837       readReplicasMode_ = 0;
3838       customerManagedKey_ = "";
3839       persistenceConfig_ = null;
3840       if (persistenceConfigBuilder_ != null) {
3841         persistenceConfigBuilder_.dispose();
3842         persistenceConfigBuilder_ = null;
3843       }
3844       suspensionReasons_ = java.util.Collections.emptyList();
3845       bitField1_ = (bitField1_ & ~0x00000001);
3846       maintenanceVersion_ = "";
3847       availableMaintenanceVersions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
3848       bitField1_ = (bitField1_ & ~0x00000004);
3849       return this;
3850     }
3851 
3852     @java.lang.Override
getDescriptorForType()3853     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
3854       return com.google.cloud.redis.v1.CloudRedisServiceV1Proto
3855           .internal_static_google_cloud_redis_v1_Instance_descriptor;
3856     }
3857 
3858     @java.lang.Override
getDefaultInstanceForType()3859     public com.google.cloud.redis.v1.Instance getDefaultInstanceForType() {
3860       return com.google.cloud.redis.v1.Instance.getDefaultInstance();
3861     }
3862 
3863     @java.lang.Override
build()3864     public com.google.cloud.redis.v1.Instance build() {
3865       com.google.cloud.redis.v1.Instance result = buildPartial();
3866       if (!result.isInitialized()) {
3867         throw newUninitializedMessageException(result);
3868       }
3869       return result;
3870     }
3871 
3872     @java.lang.Override
buildPartial()3873     public com.google.cloud.redis.v1.Instance buildPartial() {
3874       com.google.cloud.redis.v1.Instance result = new com.google.cloud.redis.v1.Instance(this);
3875       buildPartialRepeatedFields(result);
3876       if (bitField0_ != 0) {
3877         buildPartial0(result);
3878       }
3879       if (bitField1_ != 0) {
3880         buildPartial1(result);
3881       }
3882       onBuilt();
3883       return result;
3884     }
3885 
buildPartialRepeatedFields(com.google.cloud.redis.v1.Instance result)3886     private void buildPartialRepeatedFields(com.google.cloud.redis.v1.Instance result) {
3887       if (serverCaCertsBuilder_ == null) {
3888         if (((bitField0_ & 0x00200000) != 0)) {
3889           serverCaCerts_ = java.util.Collections.unmodifiableList(serverCaCerts_);
3890           bitField0_ = (bitField0_ & ~0x00200000);
3891         }
3892         result.serverCaCerts_ = serverCaCerts_;
3893       } else {
3894         result.serverCaCerts_ = serverCaCertsBuilder_.build();
3895       }
3896       if (nodesBuilder_ == null) {
3897         if (((bitField0_ & 0x04000000) != 0)) {
3898           nodes_ = java.util.Collections.unmodifiableList(nodes_);
3899           bitField0_ = (bitField0_ & ~0x04000000);
3900         }
3901         result.nodes_ = nodes_;
3902       } else {
3903         result.nodes_ = nodesBuilder_.build();
3904       }
3905       if (((bitField1_ & 0x00000001) != 0)) {
3906         suspensionReasons_ = java.util.Collections.unmodifiableList(suspensionReasons_);
3907         bitField1_ = (bitField1_ & ~0x00000001);
3908       }
3909       result.suspensionReasons_ = suspensionReasons_;
3910       if (((bitField1_ & 0x00000004) != 0)) {
3911         availableMaintenanceVersions_ = availableMaintenanceVersions_.getUnmodifiableView();
3912         bitField1_ = (bitField1_ & ~0x00000004);
3913       }
3914       result.availableMaintenanceVersions_ = availableMaintenanceVersions_;
3915     }
3916 
buildPartial0(com.google.cloud.redis.v1.Instance result)3917     private void buildPartial0(com.google.cloud.redis.v1.Instance result) {
3918       int from_bitField0_ = bitField0_;
3919       if (((from_bitField0_ & 0x00000001) != 0)) {
3920         result.name_ = name_;
3921       }
3922       if (((from_bitField0_ & 0x00000002) != 0)) {
3923         result.displayName_ = displayName_;
3924       }
3925       if (((from_bitField0_ & 0x00000004) != 0)) {
3926         result.labels_ = internalGetLabels();
3927         result.labels_.makeImmutable();
3928       }
3929       if (((from_bitField0_ & 0x00000008) != 0)) {
3930         result.locationId_ = locationId_;
3931       }
3932       if (((from_bitField0_ & 0x00000010) != 0)) {
3933         result.alternativeLocationId_ = alternativeLocationId_;
3934       }
3935       if (((from_bitField0_ & 0x00000020) != 0)) {
3936         result.redisVersion_ = redisVersion_;
3937       }
3938       if (((from_bitField0_ & 0x00000040) != 0)) {
3939         result.reservedIpRange_ = reservedIpRange_;
3940       }
3941       if (((from_bitField0_ & 0x00000080) != 0)) {
3942         result.secondaryIpRange_ = secondaryIpRange_;
3943       }
3944       if (((from_bitField0_ & 0x00000100) != 0)) {
3945         result.host_ = host_;
3946       }
3947       if (((from_bitField0_ & 0x00000200) != 0)) {
3948         result.port_ = port_;
3949       }
3950       if (((from_bitField0_ & 0x00000400) != 0)) {
3951         result.currentLocationId_ = currentLocationId_;
3952       }
3953       if (((from_bitField0_ & 0x00000800) != 0)) {
3954         result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build();
3955       }
3956       if (((from_bitField0_ & 0x00001000) != 0)) {
3957         result.state_ = state_;
3958       }
3959       if (((from_bitField0_ & 0x00002000) != 0)) {
3960         result.statusMessage_ = statusMessage_;
3961       }
3962       if (((from_bitField0_ & 0x00004000) != 0)) {
3963         result.redisConfigs_ = internalGetRedisConfigs();
3964         result.redisConfigs_.makeImmutable();
3965       }
3966       if (((from_bitField0_ & 0x00008000) != 0)) {
3967         result.tier_ = tier_;
3968       }
3969       if (((from_bitField0_ & 0x00010000) != 0)) {
3970         result.memorySizeGb_ = memorySizeGb_;
3971       }
3972       if (((from_bitField0_ & 0x00020000) != 0)) {
3973         result.authorizedNetwork_ = authorizedNetwork_;
3974       }
3975       if (((from_bitField0_ & 0x00040000) != 0)) {
3976         result.persistenceIamIdentity_ = persistenceIamIdentity_;
3977       }
3978       if (((from_bitField0_ & 0x00080000) != 0)) {
3979         result.connectMode_ = connectMode_;
3980       }
3981       if (((from_bitField0_ & 0x00100000) != 0)) {
3982         result.authEnabled_ = authEnabled_;
3983       }
3984       if (((from_bitField0_ & 0x00400000) != 0)) {
3985         result.transitEncryptionMode_ = transitEncryptionMode_;
3986       }
3987       if (((from_bitField0_ & 0x00800000) != 0)) {
3988         result.maintenancePolicy_ =
3989             maintenancePolicyBuilder_ == null
3990                 ? maintenancePolicy_
3991                 : maintenancePolicyBuilder_.build();
3992       }
3993       if (((from_bitField0_ & 0x01000000) != 0)) {
3994         result.maintenanceSchedule_ =
3995             maintenanceScheduleBuilder_ == null
3996                 ? maintenanceSchedule_
3997                 : maintenanceScheduleBuilder_.build();
3998       }
3999       if (((from_bitField0_ & 0x02000000) != 0)) {
4000         result.replicaCount_ = replicaCount_;
4001       }
4002       if (((from_bitField0_ & 0x08000000) != 0)) {
4003         result.readEndpoint_ = readEndpoint_;
4004       }
4005       if (((from_bitField0_ & 0x10000000) != 0)) {
4006         result.readEndpointPort_ = readEndpointPort_;
4007       }
4008       if (((from_bitField0_ & 0x20000000) != 0)) {
4009         result.readReplicasMode_ = readReplicasMode_;
4010       }
4011       if (((from_bitField0_ & 0x40000000) != 0)) {
4012         result.customerManagedKey_ = customerManagedKey_;
4013       }
4014       if (((from_bitField0_ & 0x80000000) != 0)) {
4015         result.persistenceConfig_ =
4016             persistenceConfigBuilder_ == null
4017                 ? persistenceConfig_
4018                 : persistenceConfigBuilder_.build();
4019       }
4020     }
4021 
buildPartial1(com.google.cloud.redis.v1.Instance result)4022     private void buildPartial1(com.google.cloud.redis.v1.Instance result) {
4023       int from_bitField1_ = bitField1_;
4024       if (((from_bitField1_ & 0x00000002) != 0)) {
4025         result.maintenanceVersion_ = maintenanceVersion_;
4026       }
4027     }
4028 
4029     @java.lang.Override
clone()4030     public Builder clone() {
4031       return super.clone();
4032     }
4033 
4034     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4035     public Builder setField(
4036         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4037       return super.setField(field, value);
4038     }
4039 
4040     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)4041     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
4042       return super.clearField(field);
4043     }
4044 
4045     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)4046     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
4047       return super.clearOneof(oneof);
4048     }
4049 
4050     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)4051     public Builder setRepeatedField(
4052         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
4053       return super.setRepeatedField(field, index, value);
4054     }
4055 
4056     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4057     public Builder addRepeatedField(
4058         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4059       return super.addRepeatedField(field, value);
4060     }
4061 
4062     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)4063     public Builder mergeFrom(com.google.protobuf.Message other) {
4064       if (other instanceof com.google.cloud.redis.v1.Instance) {
4065         return mergeFrom((com.google.cloud.redis.v1.Instance) other);
4066       } else {
4067         super.mergeFrom(other);
4068         return this;
4069       }
4070     }
4071 
mergeFrom(com.google.cloud.redis.v1.Instance other)4072     public Builder mergeFrom(com.google.cloud.redis.v1.Instance other) {
4073       if (other == com.google.cloud.redis.v1.Instance.getDefaultInstance()) return this;
4074       if (!other.getName().isEmpty()) {
4075         name_ = other.name_;
4076         bitField0_ |= 0x00000001;
4077         onChanged();
4078       }
4079       if (!other.getDisplayName().isEmpty()) {
4080         displayName_ = other.displayName_;
4081         bitField0_ |= 0x00000002;
4082         onChanged();
4083       }
4084       internalGetMutableLabels().mergeFrom(other.internalGetLabels());
4085       bitField0_ |= 0x00000004;
4086       if (!other.getLocationId().isEmpty()) {
4087         locationId_ = other.locationId_;
4088         bitField0_ |= 0x00000008;
4089         onChanged();
4090       }
4091       if (!other.getAlternativeLocationId().isEmpty()) {
4092         alternativeLocationId_ = other.alternativeLocationId_;
4093         bitField0_ |= 0x00000010;
4094         onChanged();
4095       }
4096       if (!other.getRedisVersion().isEmpty()) {
4097         redisVersion_ = other.redisVersion_;
4098         bitField0_ |= 0x00000020;
4099         onChanged();
4100       }
4101       if (!other.getReservedIpRange().isEmpty()) {
4102         reservedIpRange_ = other.reservedIpRange_;
4103         bitField0_ |= 0x00000040;
4104         onChanged();
4105       }
4106       if (!other.getSecondaryIpRange().isEmpty()) {
4107         secondaryIpRange_ = other.secondaryIpRange_;
4108         bitField0_ |= 0x00000080;
4109         onChanged();
4110       }
4111       if (!other.getHost().isEmpty()) {
4112         host_ = other.host_;
4113         bitField0_ |= 0x00000100;
4114         onChanged();
4115       }
4116       if (other.getPort() != 0) {
4117         setPort(other.getPort());
4118       }
4119       if (!other.getCurrentLocationId().isEmpty()) {
4120         currentLocationId_ = other.currentLocationId_;
4121         bitField0_ |= 0x00000400;
4122         onChanged();
4123       }
4124       if (other.hasCreateTime()) {
4125         mergeCreateTime(other.getCreateTime());
4126       }
4127       if (other.state_ != 0) {
4128         setStateValue(other.getStateValue());
4129       }
4130       if (!other.getStatusMessage().isEmpty()) {
4131         statusMessage_ = other.statusMessage_;
4132         bitField0_ |= 0x00002000;
4133         onChanged();
4134       }
4135       internalGetMutableRedisConfigs().mergeFrom(other.internalGetRedisConfigs());
4136       bitField0_ |= 0x00004000;
4137       if (other.tier_ != 0) {
4138         setTierValue(other.getTierValue());
4139       }
4140       if (other.getMemorySizeGb() != 0) {
4141         setMemorySizeGb(other.getMemorySizeGb());
4142       }
4143       if (!other.getAuthorizedNetwork().isEmpty()) {
4144         authorizedNetwork_ = other.authorizedNetwork_;
4145         bitField0_ |= 0x00020000;
4146         onChanged();
4147       }
4148       if (!other.getPersistenceIamIdentity().isEmpty()) {
4149         persistenceIamIdentity_ = other.persistenceIamIdentity_;
4150         bitField0_ |= 0x00040000;
4151         onChanged();
4152       }
4153       if (other.connectMode_ != 0) {
4154         setConnectModeValue(other.getConnectModeValue());
4155       }
4156       if (other.getAuthEnabled() != false) {
4157         setAuthEnabled(other.getAuthEnabled());
4158       }
4159       if (serverCaCertsBuilder_ == null) {
4160         if (!other.serverCaCerts_.isEmpty()) {
4161           if (serverCaCerts_.isEmpty()) {
4162             serverCaCerts_ = other.serverCaCerts_;
4163             bitField0_ = (bitField0_ & ~0x00200000);
4164           } else {
4165             ensureServerCaCertsIsMutable();
4166             serverCaCerts_.addAll(other.serverCaCerts_);
4167           }
4168           onChanged();
4169         }
4170       } else {
4171         if (!other.serverCaCerts_.isEmpty()) {
4172           if (serverCaCertsBuilder_.isEmpty()) {
4173             serverCaCertsBuilder_.dispose();
4174             serverCaCertsBuilder_ = null;
4175             serverCaCerts_ = other.serverCaCerts_;
4176             bitField0_ = (bitField0_ & ~0x00200000);
4177             serverCaCertsBuilder_ =
4178                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4179                     ? getServerCaCertsFieldBuilder()
4180                     : null;
4181           } else {
4182             serverCaCertsBuilder_.addAllMessages(other.serverCaCerts_);
4183           }
4184         }
4185       }
4186       if (other.transitEncryptionMode_ != 0) {
4187         setTransitEncryptionModeValue(other.getTransitEncryptionModeValue());
4188       }
4189       if (other.hasMaintenancePolicy()) {
4190         mergeMaintenancePolicy(other.getMaintenancePolicy());
4191       }
4192       if (other.hasMaintenanceSchedule()) {
4193         mergeMaintenanceSchedule(other.getMaintenanceSchedule());
4194       }
4195       if (other.getReplicaCount() != 0) {
4196         setReplicaCount(other.getReplicaCount());
4197       }
4198       if (nodesBuilder_ == null) {
4199         if (!other.nodes_.isEmpty()) {
4200           if (nodes_.isEmpty()) {
4201             nodes_ = other.nodes_;
4202             bitField0_ = (bitField0_ & ~0x04000000);
4203           } else {
4204             ensureNodesIsMutable();
4205             nodes_.addAll(other.nodes_);
4206           }
4207           onChanged();
4208         }
4209       } else {
4210         if (!other.nodes_.isEmpty()) {
4211           if (nodesBuilder_.isEmpty()) {
4212             nodesBuilder_.dispose();
4213             nodesBuilder_ = null;
4214             nodes_ = other.nodes_;
4215             bitField0_ = (bitField0_ & ~0x04000000);
4216             nodesBuilder_ =
4217                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
4218                     ? getNodesFieldBuilder()
4219                     : null;
4220           } else {
4221             nodesBuilder_.addAllMessages(other.nodes_);
4222           }
4223         }
4224       }
4225       if (!other.getReadEndpoint().isEmpty()) {
4226         readEndpoint_ = other.readEndpoint_;
4227         bitField0_ |= 0x08000000;
4228         onChanged();
4229       }
4230       if (other.getReadEndpointPort() != 0) {
4231         setReadEndpointPort(other.getReadEndpointPort());
4232       }
4233       if (other.readReplicasMode_ != 0) {
4234         setReadReplicasModeValue(other.getReadReplicasModeValue());
4235       }
4236       if (!other.getCustomerManagedKey().isEmpty()) {
4237         customerManagedKey_ = other.customerManagedKey_;
4238         bitField0_ |= 0x40000000;
4239         onChanged();
4240       }
4241       if (other.hasPersistenceConfig()) {
4242         mergePersistenceConfig(other.getPersistenceConfig());
4243       }
4244       if (!other.suspensionReasons_.isEmpty()) {
4245         if (suspensionReasons_.isEmpty()) {
4246           suspensionReasons_ = other.suspensionReasons_;
4247           bitField1_ = (bitField1_ & ~0x00000001);
4248         } else {
4249           ensureSuspensionReasonsIsMutable();
4250           suspensionReasons_.addAll(other.suspensionReasons_);
4251         }
4252         onChanged();
4253       }
4254       if (!other.getMaintenanceVersion().isEmpty()) {
4255         maintenanceVersion_ = other.maintenanceVersion_;
4256         bitField1_ |= 0x00000002;
4257         onChanged();
4258       }
4259       if (!other.availableMaintenanceVersions_.isEmpty()) {
4260         if (availableMaintenanceVersions_.isEmpty()) {
4261           availableMaintenanceVersions_ = other.availableMaintenanceVersions_;
4262           bitField1_ = (bitField1_ & ~0x00000004);
4263         } else {
4264           ensureAvailableMaintenanceVersionsIsMutable();
4265           availableMaintenanceVersions_.addAll(other.availableMaintenanceVersions_);
4266         }
4267         onChanged();
4268       }
4269       this.mergeUnknownFields(other.getUnknownFields());
4270       onChanged();
4271       return this;
4272     }
4273 
4274     @java.lang.Override
isInitialized()4275     public final boolean isInitialized() {
4276       return true;
4277     }
4278 
4279     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4280     public Builder mergeFrom(
4281         com.google.protobuf.CodedInputStream input,
4282         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4283         throws java.io.IOException {
4284       if (extensionRegistry == null) {
4285         throw new java.lang.NullPointerException();
4286       }
4287       try {
4288         boolean done = false;
4289         while (!done) {
4290           int tag = input.readTag();
4291           switch (tag) {
4292             case 0:
4293               done = true;
4294               break;
4295             case 10:
4296               {
4297                 name_ = input.readStringRequireUtf8();
4298                 bitField0_ |= 0x00000001;
4299                 break;
4300               } // case 10
4301             case 18:
4302               {
4303                 displayName_ = input.readStringRequireUtf8();
4304                 bitField0_ |= 0x00000002;
4305                 break;
4306               } // case 18
4307             case 26:
4308               {
4309                 com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
4310                     input.readMessage(
4311                         LabelsDefaultEntryHolder.defaultEntry.getParserForType(),
4312                         extensionRegistry);
4313                 internalGetMutableLabels()
4314                     .getMutableMap()
4315                     .put(labels__.getKey(), labels__.getValue());
4316                 bitField0_ |= 0x00000004;
4317                 break;
4318               } // case 26
4319             case 34:
4320               {
4321                 locationId_ = input.readStringRequireUtf8();
4322                 bitField0_ |= 0x00000008;
4323                 break;
4324               } // case 34
4325             case 42:
4326               {
4327                 alternativeLocationId_ = input.readStringRequireUtf8();
4328                 bitField0_ |= 0x00000010;
4329                 break;
4330               } // case 42
4331             case 58:
4332               {
4333                 redisVersion_ = input.readStringRequireUtf8();
4334                 bitField0_ |= 0x00000020;
4335                 break;
4336               } // case 58
4337             case 74:
4338               {
4339                 reservedIpRange_ = input.readStringRequireUtf8();
4340                 bitField0_ |= 0x00000040;
4341                 break;
4342               } // case 74
4343             case 82:
4344               {
4345                 host_ = input.readStringRequireUtf8();
4346                 bitField0_ |= 0x00000100;
4347                 break;
4348               } // case 82
4349             case 88:
4350               {
4351                 port_ = input.readInt32();
4352                 bitField0_ |= 0x00000200;
4353                 break;
4354               } // case 88
4355             case 98:
4356               {
4357                 currentLocationId_ = input.readStringRequireUtf8();
4358                 bitField0_ |= 0x00000400;
4359                 break;
4360               } // case 98
4361             case 106:
4362               {
4363                 input.readMessage(getCreateTimeFieldBuilder().getBuilder(), extensionRegistry);
4364                 bitField0_ |= 0x00000800;
4365                 break;
4366               } // case 106
4367             case 112:
4368               {
4369                 state_ = input.readEnum();
4370                 bitField0_ |= 0x00001000;
4371                 break;
4372               } // case 112
4373             case 122:
4374               {
4375                 statusMessage_ = input.readStringRequireUtf8();
4376                 bitField0_ |= 0x00002000;
4377                 break;
4378               } // case 122
4379             case 130:
4380               {
4381                 com.google.protobuf.MapEntry<java.lang.String, java.lang.String> redisConfigs__ =
4382                     input.readMessage(
4383                         RedisConfigsDefaultEntryHolder.defaultEntry.getParserForType(),
4384                         extensionRegistry);
4385                 internalGetMutableRedisConfigs()
4386                     .getMutableMap()
4387                     .put(redisConfigs__.getKey(), redisConfigs__.getValue());
4388                 bitField0_ |= 0x00004000;
4389                 break;
4390               } // case 130
4391             case 136:
4392               {
4393                 tier_ = input.readEnum();
4394                 bitField0_ |= 0x00008000;
4395                 break;
4396               } // case 136
4397             case 144:
4398               {
4399                 memorySizeGb_ = input.readInt32();
4400                 bitField0_ |= 0x00010000;
4401                 break;
4402               } // case 144
4403             case 162:
4404               {
4405                 authorizedNetwork_ = input.readStringRequireUtf8();
4406                 bitField0_ |= 0x00020000;
4407                 break;
4408               } // case 162
4409             case 170:
4410               {
4411                 persistenceIamIdentity_ = input.readStringRequireUtf8();
4412                 bitField0_ |= 0x00040000;
4413                 break;
4414               } // case 170
4415             case 176:
4416               {
4417                 connectMode_ = input.readEnum();
4418                 bitField0_ |= 0x00080000;
4419                 break;
4420               } // case 176
4421             case 184:
4422               {
4423                 authEnabled_ = input.readBool();
4424                 bitField0_ |= 0x00100000;
4425                 break;
4426               } // case 184
4427             case 202:
4428               {
4429                 com.google.cloud.redis.v1.TlsCertificate m =
4430                     input.readMessage(
4431                         com.google.cloud.redis.v1.TlsCertificate.parser(), extensionRegistry);
4432                 if (serverCaCertsBuilder_ == null) {
4433                   ensureServerCaCertsIsMutable();
4434                   serverCaCerts_.add(m);
4435                 } else {
4436                   serverCaCertsBuilder_.addMessage(m);
4437                 }
4438                 break;
4439               } // case 202
4440             case 208:
4441               {
4442                 transitEncryptionMode_ = input.readEnum();
4443                 bitField0_ |= 0x00400000;
4444                 break;
4445               } // case 208
4446             case 218:
4447               {
4448                 input.readMessage(
4449                     getMaintenancePolicyFieldBuilder().getBuilder(), extensionRegistry);
4450                 bitField0_ |= 0x00800000;
4451                 break;
4452               } // case 218
4453             case 226:
4454               {
4455                 input.readMessage(
4456                     getMaintenanceScheduleFieldBuilder().getBuilder(), extensionRegistry);
4457                 bitField0_ |= 0x01000000;
4458                 break;
4459               } // case 226
4460             case 242:
4461               {
4462                 secondaryIpRange_ = input.readStringRequireUtf8();
4463                 bitField0_ |= 0x00000080;
4464                 break;
4465               } // case 242
4466             case 248:
4467               {
4468                 replicaCount_ = input.readInt32();
4469                 bitField0_ |= 0x02000000;
4470                 break;
4471               } // case 248
4472             case 258:
4473               {
4474                 com.google.cloud.redis.v1.NodeInfo m =
4475                     input.readMessage(
4476                         com.google.cloud.redis.v1.NodeInfo.parser(), extensionRegistry);
4477                 if (nodesBuilder_ == null) {
4478                   ensureNodesIsMutable();
4479                   nodes_.add(m);
4480                 } else {
4481                   nodesBuilder_.addMessage(m);
4482                 }
4483                 break;
4484               } // case 258
4485             case 266:
4486               {
4487                 readEndpoint_ = input.readStringRequireUtf8();
4488                 bitField0_ |= 0x08000000;
4489                 break;
4490               } // case 266
4491             case 272:
4492               {
4493                 readEndpointPort_ = input.readInt32();
4494                 bitField0_ |= 0x10000000;
4495                 break;
4496               } // case 272
4497             case 280:
4498               {
4499                 readReplicasMode_ = input.readEnum();
4500                 bitField0_ |= 0x20000000;
4501                 break;
4502               } // case 280
4503             case 290:
4504               {
4505                 customerManagedKey_ = input.readStringRequireUtf8();
4506                 bitField0_ |= 0x40000000;
4507                 break;
4508               } // case 290
4509             case 298:
4510               {
4511                 input.readMessage(
4512                     getPersistenceConfigFieldBuilder().getBuilder(), extensionRegistry);
4513                 bitField0_ |= 0x80000000;
4514                 break;
4515               } // case 298
4516             case 304:
4517               {
4518                 int tmpRaw = input.readEnum();
4519                 ensureSuspensionReasonsIsMutable();
4520                 suspensionReasons_.add(tmpRaw);
4521                 break;
4522               } // case 304
4523             case 306:
4524               {
4525                 int length = input.readRawVarint32();
4526                 int oldLimit = input.pushLimit(length);
4527                 while (input.getBytesUntilLimit() > 0) {
4528                   int tmpRaw = input.readEnum();
4529                   ensureSuspensionReasonsIsMutable();
4530                   suspensionReasons_.add(tmpRaw);
4531                 }
4532                 input.popLimit(oldLimit);
4533                 break;
4534               } // case 306
4535             case 314:
4536               {
4537                 maintenanceVersion_ = input.readStringRequireUtf8();
4538                 bitField1_ |= 0x00000002;
4539                 break;
4540               } // case 314
4541             case 322:
4542               {
4543                 java.lang.String s = input.readStringRequireUtf8();
4544                 ensureAvailableMaintenanceVersionsIsMutable();
4545                 availableMaintenanceVersions_.add(s);
4546                 break;
4547               } // case 322
4548             default:
4549               {
4550                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
4551                   done = true; // was an endgroup tag
4552                 }
4553                 break;
4554               } // default:
4555           } // switch (tag)
4556         } // while (!done)
4557       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4558         throw e.unwrapIOException();
4559       } finally {
4560         onChanged();
4561       } // finally
4562       return this;
4563     }
4564 
4565     private int bitField0_;
4566     private int bitField1_;
4567 
4568     private java.lang.Object name_ = "";
4569     /**
4570      *
4571      *
4572      * <pre>
4573      * Required. Unique name of the resource in this scope including project and
4574      * location using the form:
4575      *     `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
4576      * Note: Redis instances are managed and addressed at regional level so
4577      * location_id here refers to a GCP region; however, users may choose which
4578      * specific zone (or collection of zones for cross-zone instances) an instance
4579      * should be provisioned in. Refer to
4580      * [location_id][google.cloud.redis.v1.Instance.location_id] and
4581      * [alternative_location_id][google.cloud.redis.v1.Instance.alternative_location_id]
4582      * fields for more details.
4583      * </pre>
4584      *
4585      * <code>string name = 1 [(.google.api.field_behavior) = REQUIRED];</code>
4586      *
4587      * @return The name.
4588      */
getName()4589     public java.lang.String getName() {
4590       java.lang.Object ref = name_;
4591       if (!(ref instanceof java.lang.String)) {
4592         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4593         java.lang.String s = bs.toStringUtf8();
4594         name_ = s;
4595         return s;
4596       } else {
4597         return (java.lang.String) ref;
4598       }
4599     }
4600     /**
4601      *
4602      *
4603      * <pre>
4604      * Required. Unique name of the resource in this scope including project and
4605      * location using the form:
4606      *     `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
4607      * Note: Redis instances are managed and addressed at regional level so
4608      * location_id here refers to a GCP region; however, users may choose which
4609      * specific zone (or collection of zones for cross-zone instances) an instance
4610      * should be provisioned in. Refer to
4611      * [location_id][google.cloud.redis.v1.Instance.location_id] and
4612      * [alternative_location_id][google.cloud.redis.v1.Instance.alternative_location_id]
4613      * fields for more details.
4614      * </pre>
4615      *
4616      * <code>string name = 1 [(.google.api.field_behavior) = REQUIRED];</code>
4617      *
4618      * @return The bytes for name.
4619      */
getNameBytes()4620     public com.google.protobuf.ByteString getNameBytes() {
4621       java.lang.Object ref = name_;
4622       if (ref instanceof String) {
4623         com.google.protobuf.ByteString b =
4624             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4625         name_ = b;
4626         return b;
4627       } else {
4628         return (com.google.protobuf.ByteString) ref;
4629       }
4630     }
4631     /**
4632      *
4633      *
4634      * <pre>
4635      * Required. Unique name of the resource in this scope including project and
4636      * location using the form:
4637      *     `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
4638      * Note: Redis instances are managed and addressed at regional level so
4639      * location_id here refers to a GCP region; however, users may choose which
4640      * specific zone (or collection of zones for cross-zone instances) an instance
4641      * should be provisioned in. Refer to
4642      * [location_id][google.cloud.redis.v1.Instance.location_id] and
4643      * [alternative_location_id][google.cloud.redis.v1.Instance.alternative_location_id]
4644      * fields for more details.
4645      * </pre>
4646      *
4647      * <code>string name = 1 [(.google.api.field_behavior) = REQUIRED];</code>
4648      *
4649      * @param value The name to set.
4650      * @return This builder for chaining.
4651      */
setName(java.lang.String value)4652     public Builder setName(java.lang.String value) {
4653       if (value == null) {
4654         throw new NullPointerException();
4655       }
4656       name_ = value;
4657       bitField0_ |= 0x00000001;
4658       onChanged();
4659       return this;
4660     }
4661     /**
4662      *
4663      *
4664      * <pre>
4665      * Required. Unique name of the resource in this scope including project and
4666      * location using the form:
4667      *     `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
4668      * Note: Redis instances are managed and addressed at regional level so
4669      * location_id here refers to a GCP region; however, users may choose which
4670      * specific zone (or collection of zones for cross-zone instances) an instance
4671      * should be provisioned in. Refer to
4672      * [location_id][google.cloud.redis.v1.Instance.location_id] and
4673      * [alternative_location_id][google.cloud.redis.v1.Instance.alternative_location_id]
4674      * fields for more details.
4675      * </pre>
4676      *
4677      * <code>string name = 1 [(.google.api.field_behavior) = REQUIRED];</code>
4678      *
4679      * @return This builder for chaining.
4680      */
clearName()4681     public Builder clearName() {
4682       name_ = getDefaultInstance().getName();
4683       bitField0_ = (bitField0_ & ~0x00000001);
4684       onChanged();
4685       return this;
4686     }
4687     /**
4688      *
4689      *
4690      * <pre>
4691      * Required. Unique name of the resource in this scope including project and
4692      * location using the form:
4693      *     `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
4694      * Note: Redis instances are managed and addressed at regional level so
4695      * location_id here refers to a GCP region; however, users may choose which
4696      * specific zone (or collection of zones for cross-zone instances) an instance
4697      * should be provisioned in. Refer to
4698      * [location_id][google.cloud.redis.v1.Instance.location_id] and
4699      * [alternative_location_id][google.cloud.redis.v1.Instance.alternative_location_id]
4700      * fields for more details.
4701      * </pre>
4702      *
4703      * <code>string name = 1 [(.google.api.field_behavior) = REQUIRED];</code>
4704      *
4705      * @param value The bytes for name to set.
4706      * @return This builder for chaining.
4707      */
setNameBytes(com.google.protobuf.ByteString value)4708     public Builder setNameBytes(com.google.protobuf.ByteString value) {
4709       if (value == null) {
4710         throw new NullPointerException();
4711       }
4712       checkByteStringIsUtf8(value);
4713       name_ = value;
4714       bitField0_ |= 0x00000001;
4715       onChanged();
4716       return this;
4717     }
4718 
4719     private java.lang.Object displayName_ = "";
4720     /**
4721      *
4722      *
4723      * <pre>
4724      * An arbitrary and optional user-provided name for the instance.
4725      * </pre>
4726      *
4727      * <code>string display_name = 2;</code>
4728      *
4729      * @return The displayName.
4730      */
getDisplayName()4731     public java.lang.String getDisplayName() {
4732       java.lang.Object ref = displayName_;
4733       if (!(ref instanceof java.lang.String)) {
4734         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4735         java.lang.String s = bs.toStringUtf8();
4736         displayName_ = s;
4737         return s;
4738       } else {
4739         return (java.lang.String) ref;
4740       }
4741     }
4742     /**
4743      *
4744      *
4745      * <pre>
4746      * An arbitrary and optional user-provided name for the instance.
4747      * </pre>
4748      *
4749      * <code>string display_name = 2;</code>
4750      *
4751      * @return The bytes for displayName.
4752      */
getDisplayNameBytes()4753     public com.google.protobuf.ByteString getDisplayNameBytes() {
4754       java.lang.Object ref = displayName_;
4755       if (ref instanceof String) {
4756         com.google.protobuf.ByteString b =
4757             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4758         displayName_ = b;
4759         return b;
4760       } else {
4761         return (com.google.protobuf.ByteString) ref;
4762       }
4763     }
4764     /**
4765      *
4766      *
4767      * <pre>
4768      * An arbitrary and optional user-provided name for the instance.
4769      * </pre>
4770      *
4771      * <code>string display_name = 2;</code>
4772      *
4773      * @param value The displayName to set.
4774      * @return This builder for chaining.
4775      */
setDisplayName(java.lang.String value)4776     public Builder setDisplayName(java.lang.String value) {
4777       if (value == null) {
4778         throw new NullPointerException();
4779       }
4780       displayName_ = value;
4781       bitField0_ |= 0x00000002;
4782       onChanged();
4783       return this;
4784     }
4785     /**
4786      *
4787      *
4788      * <pre>
4789      * An arbitrary and optional user-provided name for the instance.
4790      * </pre>
4791      *
4792      * <code>string display_name = 2;</code>
4793      *
4794      * @return This builder for chaining.
4795      */
clearDisplayName()4796     public Builder clearDisplayName() {
4797       displayName_ = getDefaultInstance().getDisplayName();
4798       bitField0_ = (bitField0_ & ~0x00000002);
4799       onChanged();
4800       return this;
4801     }
4802     /**
4803      *
4804      *
4805      * <pre>
4806      * An arbitrary and optional user-provided name for the instance.
4807      * </pre>
4808      *
4809      * <code>string display_name = 2;</code>
4810      *
4811      * @param value The bytes for displayName to set.
4812      * @return This builder for chaining.
4813      */
setDisplayNameBytes(com.google.protobuf.ByteString value)4814     public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) {
4815       if (value == null) {
4816         throw new NullPointerException();
4817       }
4818       checkByteStringIsUtf8(value);
4819       displayName_ = value;
4820       bitField0_ |= 0x00000002;
4821       onChanged();
4822       return this;
4823     }
4824 
4825     private com.google.protobuf.MapField<java.lang.String, java.lang.String> labels_;
4826 
internalGetLabels()4827     private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetLabels() {
4828       if (labels_ == null) {
4829         return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry);
4830       }
4831       return labels_;
4832     }
4833 
4834     private com.google.protobuf.MapField<java.lang.String, java.lang.String>
internalGetMutableLabels()4835         internalGetMutableLabels() {
4836       if (labels_ == null) {
4837         labels_ = com.google.protobuf.MapField.newMapField(LabelsDefaultEntryHolder.defaultEntry);
4838       }
4839       if (!labels_.isMutable()) {
4840         labels_ = labels_.copy();
4841       }
4842       bitField0_ |= 0x00000004;
4843       onChanged();
4844       return labels_;
4845     }
4846 
getLabelsCount()4847     public int getLabelsCount() {
4848       return internalGetLabels().getMap().size();
4849     }
4850     /**
4851      *
4852      *
4853      * <pre>
4854      * Resource labels to represent user provided metadata
4855      * </pre>
4856      *
4857      * <code>map&lt;string, string&gt; labels = 3;</code>
4858      */
4859     @java.lang.Override
containsLabels(java.lang.String key)4860     public boolean containsLabels(java.lang.String key) {
4861       if (key == null) {
4862         throw new NullPointerException("map key");
4863       }
4864       return internalGetLabels().getMap().containsKey(key);
4865     }
4866     /** Use {@link #getLabelsMap()} instead. */
4867     @java.lang.Override
4868     @java.lang.Deprecated
getLabels()4869     public java.util.Map<java.lang.String, java.lang.String> getLabels() {
4870       return getLabelsMap();
4871     }
4872     /**
4873      *
4874      *
4875      * <pre>
4876      * Resource labels to represent user provided metadata
4877      * </pre>
4878      *
4879      * <code>map&lt;string, string&gt; labels = 3;</code>
4880      */
4881     @java.lang.Override
getLabelsMap()4882     public java.util.Map<java.lang.String, java.lang.String> getLabelsMap() {
4883       return internalGetLabels().getMap();
4884     }
4885     /**
4886      *
4887      *
4888      * <pre>
4889      * Resource labels to represent user provided metadata
4890      * </pre>
4891      *
4892      * <code>map&lt;string, string&gt; labels = 3;</code>
4893      */
4894     @java.lang.Override
getLabelsOrDefault( java.lang.String key, java.lang.String defaultValue)4895     public /* nullable */ java.lang.String getLabelsOrDefault(
4896         java.lang.String key,
4897         /* nullable */
4898         java.lang.String defaultValue) {
4899       if (key == null) {
4900         throw new NullPointerException("map key");
4901       }
4902       java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
4903       return map.containsKey(key) ? map.get(key) : defaultValue;
4904     }
4905     /**
4906      *
4907      *
4908      * <pre>
4909      * Resource labels to represent user provided metadata
4910      * </pre>
4911      *
4912      * <code>map&lt;string, string&gt; labels = 3;</code>
4913      */
4914     @java.lang.Override
getLabelsOrThrow(java.lang.String key)4915     public java.lang.String getLabelsOrThrow(java.lang.String key) {
4916       if (key == null) {
4917         throw new NullPointerException("map key");
4918       }
4919       java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
4920       if (!map.containsKey(key)) {
4921         throw new java.lang.IllegalArgumentException();
4922       }
4923       return map.get(key);
4924     }
4925 
clearLabels()4926     public Builder clearLabels() {
4927       bitField0_ = (bitField0_ & ~0x00000004);
4928       internalGetMutableLabels().getMutableMap().clear();
4929       return this;
4930     }
4931     /**
4932      *
4933      *
4934      * <pre>
4935      * Resource labels to represent user provided metadata
4936      * </pre>
4937      *
4938      * <code>map&lt;string, string&gt; labels = 3;</code>
4939      */
removeLabels(java.lang.String key)4940     public Builder removeLabels(java.lang.String key) {
4941       if (key == null) {
4942         throw new NullPointerException("map key");
4943       }
4944       internalGetMutableLabels().getMutableMap().remove(key);
4945       return this;
4946     }
4947     /** Use alternate mutation accessors instead. */
4948     @java.lang.Deprecated
getMutableLabels()4949     public java.util.Map<java.lang.String, java.lang.String> getMutableLabels() {
4950       bitField0_ |= 0x00000004;
4951       return internalGetMutableLabels().getMutableMap();
4952     }
4953     /**
4954      *
4955      *
4956      * <pre>
4957      * Resource labels to represent user provided metadata
4958      * </pre>
4959      *
4960      * <code>map&lt;string, string&gt; labels = 3;</code>
4961      */
putLabels(java.lang.String key, java.lang.String value)4962     public Builder putLabels(java.lang.String key, java.lang.String value) {
4963       if (key == null) {
4964         throw new NullPointerException("map key");
4965       }
4966       if (value == null) {
4967         throw new NullPointerException("map value");
4968       }
4969       internalGetMutableLabels().getMutableMap().put(key, value);
4970       bitField0_ |= 0x00000004;
4971       return this;
4972     }
4973     /**
4974      *
4975      *
4976      * <pre>
4977      * Resource labels to represent user provided metadata
4978      * </pre>
4979      *
4980      * <code>map&lt;string, string&gt; labels = 3;</code>
4981      */
putAllLabels(java.util.Map<java.lang.String, java.lang.String> values)4982     public Builder putAllLabels(java.util.Map<java.lang.String, java.lang.String> values) {
4983       internalGetMutableLabels().getMutableMap().putAll(values);
4984       bitField0_ |= 0x00000004;
4985       return this;
4986     }
4987 
4988     private java.lang.Object locationId_ = "";
4989     /**
4990      *
4991      *
4992      * <pre>
4993      * Optional. The zone where the instance will be provisioned. If not provided,
4994      * the service will choose a zone from the specified region for the instance.
4995      * For standard tier, additional nodes will be added across multiple zones for
4996      * protection against zonal failures. If specified, at least one node will be
4997      * provisioned in this zone.
4998      * </pre>
4999      *
5000      * <code>string location_id = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
5001      *
5002      * @return The locationId.
5003      */
getLocationId()5004     public java.lang.String getLocationId() {
5005       java.lang.Object ref = locationId_;
5006       if (!(ref instanceof java.lang.String)) {
5007         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5008         java.lang.String s = bs.toStringUtf8();
5009         locationId_ = s;
5010         return s;
5011       } else {
5012         return (java.lang.String) ref;
5013       }
5014     }
5015     /**
5016      *
5017      *
5018      * <pre>
5019      * Optional. The zone where the instance will be provisioned. If not provided,
5020      * the service will choose a zone from the specified region for the instance.
5021      * For standard tier, additional nodes will be added across multiple zones for
5022      * protection against zonal failures. If specified, at least one node will be
5023      * provisioned in this zone.
5024      * </pre>
5025      *
5026      * <code>string location_id = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
5027      *
5028      * @return The bytes for locationId.
5029      */
getLocationIdBytes()5030     public com.google.protobuf.ByteString getLocationIdBytes() {
5031       java.lang.Object ref = locationId_;
5032       if (ref instanceof String) {
5033         com.google.protobuf.ByteString b =
5034             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5035         locationId_ = b;
5036         return b;
5037       } else {
5038         return (com.google.protobuf.ByteString) ref;
5039       }
5040     }
5041     /**
5042      *
5043      *
5044      * <pre>
5045      * Optional. The zone where the instance will be provisioned. If not provided,
5046      * the service will choose a zone from the specified region for the instance.
5047      * For standard tier, additional nodes will be added across multiple zones for
5048      * protection against zonal failures. If specified, at least one node will be
5049      * provisioned in this zone.
5050      * </pre>
5051      *
5052      * <code>string location_id = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
5053      *
5054      * @param value The locationId to set.
5055      * @return This builder for chaining.
5056      */
setLocationId(java.lang.String value)5057     public Builder setLocationId(java.lang.String value) {
5058       if (value == null) {
5059         throw new NullPointerException();
5060       }
5061       locationId_ = value;
5062       bitField0_ |= 0x00000008;
5063       onChanged();
5064       return this;
5065     }
5066     /**
5067      *
5068      *
5069      * <pre>
5070      * Optional. The zone where the instance will be provisioned. If not provided,
5071      * the service will choose a zone from the specified region for the instance.
5072      * For standard tier, additional nodes will be added across multiple zones for
5073      * protection against zonal failures. If specified, at least one node will be
5074      * provisioned in this zone.
5075      * </pre>
5076      *
5077      * <code>string location_id = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
5078      *
5079      * @return This builder for chaining.
5080      */
clearLocationId()5081     public Builder clearLocationId() {
5082       locationId_ = getDefaultInstance().getLocationId();
5083       bitField0_ = (bitField0_ & ~0x00000008);
5084       onChanged();
5085       return this;
5086     }
5087     /**
5088      *
5089      *
5090      * <pre>
5091      * Optional. The zone where the instance will be provisioned. If not provided,
5092      * the service will choose a zone from the specified region for the instance.
5093      * For standard tier, additional nodes will be added across multiple zones for
5094      * protection against zonal failures. If specified, at least one node will be
5095      * provisioned in this zone.
5096      * </pre>
5097      *
5098      * <code>string location_id = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
5099      *
5100      * @param value The bytes for locationId to set.
5101      * @return This builder for chaining.
5102      */
setLocationIdBytes(com.google.protobuf.ByteString value)5103     public Builder setLocationIdBytes(com.google.protobuf.ByteString value) {
5104       if (value == null) {
5105         throw new NullPointerException();
5106       }
5107       checkByteStringIsUtf8(value);
5108       locationId_ = value;
5109       bitField0_ |= 0x00000008;
5110       onChanged();
5111       return this;
5112     }
5113 
5114     private java.lang.Object alternativeLocationId_ = "";
5115     /**
5116      *
5117      *
5118      * <pre>
5119      * Optional. If specified, at least one node will be provisioned in this zone
5120      * in addition to the zone specified in location_id. Only applicable to
5121      * standard tier. If provided, it must be a different zone from the one
5122      * provided in [location_id]. Additional nodes beyond the first 2 will be
5123      * placed in zones selected by the service.
5124      * </pre>
5125      *
5126      * <code>string alternative_location_id = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
5127      *
5128      * @return The alternativeLocationId.
5129      */
getAlternativeLocationId()5130     public java.lang.String getAlternativeLocationId() {
5131       java.lang.Object ref = alternativeLocationId_;
5132       if (!(ref instanceof java.lang.String)) {
5133         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5134         java.lang.String s = bs.toStringUtf8();
5135         alternativeLocationId_ = s;
5136         return s;
5137       } else {
5138         return (java.lang.String) ref;
5139       }
5140     }
5141     /**
5142      *
5143      *
5144      * <pre>
5145      * Optional. If specified, at least one node will be provisioned in this zone
5146      * in addition to the zone specified in location_id. Only applicable to
5147      * standard tier. If provided, it must be a different zone from the one
5148      * provided in [location_id]. Additional nodes beyond the first 2 will be
5149      * placed in zones selected by the service.
5150      * </pre>
5151      *
5152      * <code>string alternative_location_id = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
5153      *
5154      * @return The bytes for alternativeLocationId.
5155      */
getAlternativeLocationIdBytes()5156     public com.google.protobuf.ByteString getAlternativeLocationIdBytes() {
5157       java.lang.Object ref = alternativeLocationId_;
5158       if (ref instanceof String) {
5159         com.google.protobuf.ByteString b =
5160             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5161         alternativeLocationId_ = b;
5162         return b;
5163       } else {
5164         return (com.google.protobuf.ByteString) ref;
5165       }
5166     }
5167     /**
5168      *
5169      *
5170      * <pre>
5171      * Optional. If specified, at least one node will be provisioned in this zone
5172      * in addition to the zone specified in location_id. Only applicable to
5173      * standard tier. If provided, it must be a different zone from the one
5174      * provided in [location_id]. Additional nodes beyond the first 2 will be
5175      * placed in zones selected by the service.
5176      * </pre>
5177      *
5178      * <code>string alternative_location_id = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
5179      *
5180      * @param value The alternativeLocationId to set.
5181      * @return This builder for chaining.
5182      */
setAlternativeLocationId(java.lang.String value)5183     public Builder setAlternativeLocationId(java.lang.String value) {
5184       if (value == null) {
5185         throw new NullPointerException();
5186       }
5187       alternativeLocationId_ = value;
5188       bitField0_ |= 0x00000010;
5189       onChanged();
5190       return this;
5191     }
5192     /**
5193      *
5194      *
5195      * <pre>
5196      * Optional. If specified, at least one node will be provisioned in this zone
5197      * in addition to the zone specified in location_id. Only applicable to
5198      * standard tier. If provided, it must be a different zone from the one
5199      * provided in [location_id]. Additional nodes beyond the first 2 will be
5200      * placed in zones selected by the service.
5201      * </pre>
5202      *
5203      * <code>string alternative_location_id = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
5204      *
5205      * @return This builder for chaining.
5206      */
clearAlternativeLocationId()5207     public Builder clearAlternativeLocationId() {
5208       alternativeLocationId_ = getDefaultInstance().getAlternativeLocationId();
5209       bitField0_ = (bitField0_ & ~0x00000010);
5210       onChanged();
5211       return this;
5212     }
5213     /**
5214      *
5215      *
5216      * <pre>
5217      * Optional. If specified, at least one node will be provisioned in this zone
5218      * in addition to the zone specified in location_id. Only applicable to
5219      * standard tier. If provided, it must be a different zone from the one
5220      * provided in [location_id]. Additional nodes beyond the first 2 will be
5221      * placed in zones selected by the service.
5222      * </pre>
5223      *
5224      * <code>string alternative_location_id = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
5225      *
5226      * @param value The bytes for alternativeLocationId to set.
5227      * @return This builder for chaining.
5228      */
setAlternativeLocationIdBytes(com.google.protobuf.ByteString value)5229     public Builder setAlternativeLocationIdBytes(com.google.protobuf.ByteString value) {
5230       if (value == null) {
5231         throw new NullPointerException();
5232       }
5233       checkByteStringIsUtf8(value);
5234       alternativeLocationId_ = value;
5235       bitField0_ |= 0x00000010;
5236       onChanged();
5237       return this;
5238     }
5239 
5240     private java.lang.Object redisVersion_ = "";
5241     /**
5242      *
5243      *
5244      * <pre>
5245      * Optional. The version of Redis software.
5246      * If not provided, latest supported version will be used. Currently, the
5247      * supported values are:
5248      *  *   `REDIS_3_2` for Redis 3.2 compatibility
5249      *  *   `REDIS_4_0` for Redis 4.0 compatibility (default)
5250      *  *   `REDIS_5_0` for Redis 5.0 compatibility
5251      *  *   `REDIS_6_X` for Redis 6.x compatibility
5252      * </pre>
5253      *
5254      * <code>string redis_version = 7 [(.google.api.field_behavior) = OPTIONAL];</code>
5255      *
5256      * @return The redisVersion.
5257      */
getRedisVersion()5258     public java.lang.String getRedisVersion() {
5259       java.lang.Object ref = redisVersion_;
5260       if (!(ref instanceof java.lang.String)) {
5261         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5262         java.lang.String s = bs.toStringUtf8();
5263         redisVersion_ = s;
5264         return s;
5265       } else {
5266         return (java.lang.String) ref;
5267       }
5268     }
5269     /**
5270      *
5271      *
5272      * <pre>
5273      * Optional. The version of Redis software.
5274      * If not provided, latest supported version will be used. Currently, the
5275      * supported values are:
5276      *  *   `REDIS_3_2` for Redis 3.2 compatibility
5277      *  *   `REDIS_4_0` for Redis 4.0 compatibility (default)
5278      *  *   `REDIS_5_0` for Redis 5.0 compatibility
5279      *  *   `REDIS_6_X` for Redis 6.x compatibility
5280      * </pre>
5281      *
5282      * <code>string redis_version = 7 [(.google.api.field_behavior) = OPTIONAL];</code>
5283      *
5284      * @return The bytes for redisVersion.
5285      */
getRedisVersionBytes()5286     public com.google.protobuf.ByteString getRedisVersionBytes() {
5287       java.lang.Object ref = redisVersion_;
5288       if (ref instanceof String) {
5289         com.google.protobuf.ByteString b =
5290             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5291         redisVersion_ = b;
5292         return b;
5293       } else {
5294         return (com.google.protobuf.ByteString) ref;
5295       }
5296     }
5297     /**
5298      *
5299      *
5300      * <pre>
5301      * Optional. The version of Redis software.
5302      * If not provided, latest supported version will be used. Currently, the
5303      * supported values are:
5304      *  *   `REDIS_3_2` for Redis 3.2 compatibility
5305      *  *   `REDIS_4_0` for Redis 4.0 compatibility (default)
5306      *  *   `REDIS_5_0` for Redis 5.0 compatibility
5307      *  *   `REDIS_6_X` for Redis 6.x compatibility
5308      * </pre>
5309      *
5310      * <code>string redis_version = 7 [(.google.api.field_behavior) = OPTIONAL];</code>
5311      *
5312      * @param value The redisVersion to set.
5313      * @return This builder for chaining.
5314      */
setRedisVersion(java.lang.String value)5315     public Builder setRedisVersion(java.lang.String value) {
5316       if (value == null) {
5317         throw new NullPointerException();
5318       }
5319       redisVersion_ = value;
5320       bitField0_ |= 0x00000020;
5321       onChanged();
5322       return this;
5323     }
5324     /**
5325      *
5326      *
5327      * <pre>
5328      * Optional. The version of Redis software.
5329      * If not provided, latest supported version will be used. Currently, the
5330      * supported values are:
5331      *  *   `REDIS_3_2` for Redis 3.2 compatibility
5332      *  *   `REDIS_4_0` for Redis 4.0 compatibility (default)
5333      *  *   `REDIS_5_0` for Redis 5.0 compatibility
5334      *  *   `REDIS_6_X` for Redis 6.x compatibility
5335      * </pre>
5336      *
5337      * <code>string redis_version = 7 [(.google.api.field_behavior) = OPTIONAL];</code>
5338      *
5339      * @return This builder for chaining.
5340      */
clearRedisVersion()5341     public Builder clearRedisVersion() {
5342       redisVersion_ = getDefaultInstance().getRedisVersion();
5343       bitField0_ = (bitField0_ & ~0x00000020);
5344       onChanged();
5345       return this;
5346     }
5347     /**
5348      *
5349      *
5350      * <pre>
5351      * Optional. The version of Redis software.
5352      * If not provided, latest supported version will be used. Currently, the
5353      * supported values are:
5354      *  *   `REDIS_3_2` for Redis 3.2 compatibility
5355      *  *   `REDIS_4_0` for Redis 4.0 compatibility (default)
5356      *  *   `REDIS_5_0` for Redis 5.0 compatibility
5357      *  *   `REDIS_6_X` for Redis 6.x compatibility
5358      * </pre>
5359      *
5360      * <code>string redis_version = 7 [(.google.api.field_behavior) = OPTIONAL];</code>
5361      *
5362      * @param value The bytes for redisVersion to set.
5363      * @return This builder for chaining.
5364      */
setRedisVersionBytes(com.google.protobuf.ByteString value)5365     public Builder setRedisVersionBytes(com.google.protobuf.ByteString value) {
5366       if (value == null) {
5367         throw new NullPointerException();
5368       }
5369       checkByteStringIsUtf8(value);
5370       redisVersion_ = value;
5371       bitField0_ |= 0x00000020;
5372       onChanged();
5373       return this;
5374     }
5375 
5376     private java.lang.Object reservedIpRange_ = "";
5377     /**
5378      *
5379      *
5380      * <pre>
5381      * Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses
5382      * that are reserved for this instance. Range must
5383      * be unique and non-overlapping with existing subnets in an authorized
5384      * network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP
5385      * address ranges associated with this private service access connection.
5386      * If not provided, the service will choose an unused /29 block, for
5387      * example, 10.0.0.0/29 or 192.168.0.0/29.  For READ_REPLICAS_ENABLED
5388      * the default block size is /28.
5389      * </pre>
5390      *
5391      * <code>string reserved_ip_range = 9 [(.google.api.field_behavior) = OPTIONAL];</code>
5392      *
5393      * @return The reservedIpRange.
5394      */
getReservedIpRange()5395     public java.lang.String getReservedIpRange() {
5396       java.lang.Object ref = reservedIpRange_;
5397       if (!(ref instanceof java.lang.String)) {
5398         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5399         java.lang.String s = bs.toStringUtf8();
5400         reservedIpRange_ = s;
5401         return s;
5402       } else {
5403         return (java.lang.String) ref;
5404       }
5405     }
5406     /**
5407      *
5408      *
5409      * <pre>
5410      * Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses
5411      * that are reserved for this instance. Range must
5412      * be unique and non-overlapping with existing subnets in an authorized
5413      * network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP
5414      * address ranges associated with this private service access connection.
5415      * If not provided, the service will choose an unused /29 block, for
5416      * example, 10.0.0.0/29 or 192.168.0.0/29.  For READ_REPLICAS_ENABLED
5417      * the default block size is /28.
5418      * </pre>
5419      *
5420      * <code>string reserved_ip_range = 9 [(.google.api.field_behavior) = OPTIONAL];</code>
5421      *
5422      * @return The bytes for reservedIpRange.
5423      */
getReservedIpRangeBytes()5424     public com.google.protobuf.ByteString getReservedIpRangeBytes() {
5425       java.lang.Object ref = reservedIpRange_;
5426       if (ref instanceof String) {
5427         com.google.protobuf.ByteString b =
5428             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5429         reservedIpRange_ = b;
5430         return b;
5431       } else {
5432         return (com.google.protobuf.ByteString) ref;
5433       }
5434     }
5435     /**
5436      *
5437      *
5438      * <pre>
5439      * Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses
5440      * that are reserved for this instance. Range must
5441      * be unique and non-overlapping with existing subnets in an authorized
5442      * network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP
5443      * address ranges associated with this private service access connection.
5444      * If not provided, the service will choose an unused /29 block, for
5445      * example, 10.0.0.0/29 or 192.168.0.0/29.  For READ_REPLICAS_ENABLED
5446      * the default block size is /28.
5447      * </pre>
5448      *
5449      * <code>string reserved_ip_range = 9 [(.google.api.field_behavior) = OPTIONAL];</code>
5450      *
5451      * @param value The reservedIpRange to set.
5452      * @return This builder for chaining.
5453      */
setReservedIpRange(java.lang.String value)5454     public Builder setReservedIpRange(java.lang.String value) {
5455       if (value == null) {
5456         throw new NullPointerException();
5457       }
5458       reservedIpRange_ = value;
5459       bitField0_ |= 0x00000040;
5460       onChanged();
5461       return this;
5462     }
5463     /**
5464      *
5465      *
5466      * <pre>
5467      * Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses
5468      * that are reserved for this instance. Range must
5469      * be unique and non-overlapping with existing subnets in an authorized
5470      * network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP
5471      * address ranges associated with this private service access connection.
5472      * If not provided, the service will choose an unused /29 block, for
5473      * example, 10.0.0.0/29 or 192.168.0.0/29.  For READ_REPLICAS_ENABLED
5474      * the default block size is /28.
5475      * </pre>
5476      *
5477      * <code>string reserved_ip_range = 9 [(.google.api.field_behavior) = OPTIONAL];</code>
5478      *
5479      * @return This builder for chaining.
5480      */
clearReservedIpRange()5481     public Builder clearReservedIpRange() {
5482       reservedIpRange_ = getDefaultInstance().getReservedIpRange();
5483       bitField0_ = (bitField0_ & ~0x00000040);
5484       onChanged();
5485       return this;
5486     }
5487     /**
5488      *
5489      *
5490      * <pre>
5491      * Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses
5492      * that are reserved for this instance. Range must
5493      * be unique and non-overlapping with existing subnets in an authorized
5494      * network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP
5495      * address ranges associated with this private service access connection.
5496      * If not provided, the service will choose an unused /29 block, for
5497      * example, 10.0.0.0/29 or 192.168.0.0/29.  For READ_REPLICAS_ENABLED
5498      * the default block size is /28.
5499      * </pre>
5500      *
5501      * <code>string reserved_ip_range = 9 [(.google.api.field_behavior) = OPTIONAL];</code>
5502      *
5503      * @param value The bytes for reservedIpRange to set.
5504      * @return This builder for chaining.
5505      */
setReservedIpRangeBytes(com.google.protobuf.ByteString value)5506     public Builder setReservedIpRangeBytes(com.google.protobuf.ByteString value) {
5507       if (value == null) {
5508         throw new NullPointerException();
5509       }
5510       checkByteStringIsUtf8(value);
5511       reservedIpRange_ = value;
5512       bitField0_ |= 0x00000040;
5513       onChanged();
5514       return this;
5515     }
5516 
5517     private java.lang.Object secondaryIpRange_ = "";
5518     /**
5519      *
5520      *
5521      * <pre>
5522      * Optional. Additional IP range for node placement. Required when enabling
5523      * read replicas on an existing instance. For DIRECT_PEERING mode value must
5524      * be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode
5525      * value must be the name of an allocated address range associated with the
5526      * private service access connection, or "auto".
5527      * </pre>
5528      *
5529      * <code>string secondary_ip_range = 30 [(.google.api.field_behavior) = OPTIONAL];</code>
5530      *
5531      * @return The secondaryIpRange.
5532      */
getSecondaryIpRange()5533     public java.lang.String getSecondaryIpRange() {
5534       java.lang.Object ref = secondaryIpRange_;
5535       if (!(ref instanceof java.lang.String)) {
5536         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5537         java.lang.String s = bs.toStringUtf8();
5538         secondaryIpRange_ = s;
5539         return s;
5540       } else {
5541         return (java.lang.String) ref;
5542       }
5543     }
5544     /**
5545      *
5546      *
5547      * <pre>
5548      * Optional. Additional IP range for node placement. Required when enabling
5549      * read replicas on an existing instance. For DIRECT_PEERING mode value must
5550      * be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode
5551      * value must be the name of an allocated address range associated with the
5552      * private service access connection, or "auto".
5553      * </pre>
5554      *
5555      * <code>string secondary_ip_range = 30 [(.google.api.field_behavior) = OPTIONAL];</code>
5556      *
5557      * @return The bytes for secondaryIpRange.
5558      */
getSecondaryIpRangeBytes()5559     public com.google.protobuf.ByteString getSecondaryIpRangeBytes() {
5560       java.lang.Object ref = secondaryIpRange_;
5561       if (ref instanceof String) {
5562         com.google.protobuf.ByteString b =
5563             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5564         secondaryIpRange_ = b;
5565         return b;
5566       } else {
5567         return (com.google.protobuf.ByteString) ref;
5568       }
5569     }
5570     /**
5571      *
5572      *
5573      * <pre>
5574      * Optional. Additional IP range for node placement. Required when enabling
5575      * read replicas on an existing instance. For DIRECT_PEERING mode value must
5576      * be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode
5577      * value must be the name of an allocated address range associated with the
5578      * private service access connection, or "auto".
5579      * </pre>
5580      *
5581      * <code>string secondary_ip_range = 30 [(.google.api.field_behavior) = OPTIONAL];</code>
5582      *
5583      * @param value The secondaryIpRange to set.
5584      * @return This builder for chaining.
5585      */
setSecondaryIpRange(java.lang.String value)5586     public Builder setSecondaryIpRange(java.lang.String value) {
5587       if (value == null) {
5588         throw new NullPointerException();
5589       }
5590       secondaryIpRange_ = value;
5591       bitField0_ |= 0x00000080;
5592       onChanged();
5593       return this;
5594     }
5595     /**
5596      *
5597      *
5598      * <pre>
5599      * Optional. Additional IP range for node placement. Required when enabling
5600      * read replicas on an existing instance. For DIRECT_PEERING mode value must
5601      * be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode
5602      * value must be the name of an allocated address range associated with the
5603      * private service access connection, or "auto".
5604      * </pre>
5605      *
5606      * <code>string secondary_ip_range = 30 [(.google.api.field_behavior) = OPTIONAL];</code>
5607      *
5608      * @return This builder for chaining.
5609      */
clearSecondaryIpRange()5610     public Builder clearSecondaryIpRange() {
5611       secondaryIpRange_ = getDefaultInstance().getSecondaryIpRange();
5612       bitField0_ = (bitField0_ & ~0x00000080);
5613       onChanged();
5614       return this;
5615     }
5616     /**
5617      *
5618      *
5619      * <pre>
5620      * Optional. Additional IP range for node placement. Required when enabling
5621      * read replicas on an existing instance. For DIRECT_PEERING mode value must
5622      * be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode
5623      * value must be the name of an allocated address range associated with the
5624      * private service access connection, or "auto".
5625      * </pre>
5626      *
5627      * <code>string secondary_ip_range = 30 [(.google.api.field_behavior) = OPTIONAL];</code>
5628      *
5629      * @param value The bytes for secondaryIpRange to set.
5630      * @return This builder for chaining.
5631      */
setSecondaryIpRangeBytes(com.google.protobuf.ByteString value)5632     public Builder setSecondaryIpRangeBytes(com.google.protobuf.ByteString value) {
5633       if (value == null) {
5634         throw new NullPointerException();
5635       }
5636       checkByteStringIsUtf8(value);
5637       secondaryIpRange_ = value;
5638       bitField0_ |= 0x00000080;
5639       onChanged();
5640       return this;
5641     }
5642 
5643     private java.lang.Object host_ = "";
5644     /**
5645      *
5646      *
5647      * <pre>
5648      * Output only. Hostname or IP address of the exposed Redis endpoint used by
5649      * clients to connect to the service.
5650      * </pre>
5651      *
5652      * <code>string host = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5653      *
5654      * @return The host.
5655      */
getHost()5656     public java.lang.String getHost() {
5657       java.lang.Object ref = host_;
5658       if (!(ref instanceof java.lang.String)) {
5659         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5660         java.lang.String s = bs.toStringUtf8();
5661         host_ = s;
5662         return s;
5663       } else {
5664         return (java.lang.String) ref;
5665       }
5666     }
5667     /**
5668      *
5669      *
5670      * <pre>
5671      * Output only. Hostname or IP address of the exposed Redis endpoint used by
5672      * clients to connect to the service.
5673      * </pre>
5674      *
5675      * <code>string host = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5676      *
5677      * @return The bytes for host.
5678      */
getHostBytes()5679     public com.google.protobuf.ByteString getHostBytes() {
5680       java.lang.Object ref = host_;
5681       if (ref instanceof String) {
5682         com.google.protobuf.ByteString b =
5683             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5684         host_ = b;
5685         return b;
5686       } else {
5687         return (com.google.protobuf.ByteString) ref;
5688       }
5689     }
5690     /**
5691      *
5692      *
5693      * <pre>
5694      * Output only. Hostname or IP address of the exposed Redis endpoint used by
5695      * clients to connect to the service.
5696      * </pre>
5697      *
5698      * <code>string host = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5699      *
5700      * @param value The host to set.
5701      * @return This builder for chaining.
5702      */
setHost(java.lang.String value)5703     public Builder setHost(java.lang.String value) {
5704       if (value == null) {
5705         throw new NullPointerException();
5706       }
5707       host_ = value;
5708       bitField0_ |= 0x00000100;
5709       onChanged();
5710       return this;
5711     }
5712     /**
5713      *
5714      *
5715      * <pre>
5716      * Output only. Hostname or IP address of the exposed Redis endpoint used by
5717      * clients to connect to the service.
5718      * </pre>
5719      *
5720      * <code>string host = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5721      *
5722      * @return This builder for chaining.
5723      */
clearHost()5724     public Builder clearHost() {
5725       host_ = getDefaultInstance().getHost();
5726       bitField0_ = (bitField0_ & ~0x00000100);
5727       onChanged();
5728       return this;
5729     }
5730     /**
5731      *
5732      *
5733      * <pre>
5734      * Output only. Hostname or IP address of the exposed Redis endpoint used by
5735      * clients to connect to the service.
5736      * </pre>
5737      *
5738      * <code>string host = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5739      *
5740      * @param value The bytes for host to set.
5741      * @return This builder for chaining.
5742      */
setHostBytes(com.google.protobuf.ByteString value)5743     public Builder setHostBytes(com.google.protobuf.ByteString value) {
5744       if (value == null) {
5745         throw new NullPointerException();
5746       }
5747       checkByteStringIsUtf8(value);
5748       host_ = value;
5749       bitField0_ |= 0x00000100;
5750       onChanged();
5751       return this;
5752     }
5753 
5754     private int port_;
5755     /**
5756      *
5757      *
5758      * <pre>
5759      * Output only. The port number of the exposed Redis endpoint.
5760      * </pre>
5761      *
5762      * <code>int32 port = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5763      *
5764      * @return The port.
5765      */
5766     @java.lang.Override
getPort()5767     public int getPort() {
5768       return port_;
5769     }
5770     /**
5771      *
5772      *
5773      * <pre>
5774      * Output only. The port number of the exposed Redis endpoint.
5775      * </pre>
5776      *
5777      * <code>int32 port = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5778      *
5779      * @param value The port to set.
5780      * @return This builder for chaining.
5781      */
setPort(int value)5782     public Builder setPort(int value) {
5783 
5784       port_ = value;
5785       bitField0_ |= 0x00000200;
5786       onChanged();
5787       return this;
5788     }
5789     /**
5790      *
5791      *
5792      * <pre>
5793      * Output only. The port number of the exposed Redis endpoint.
5794      * </pre>
5795      *
5796      * <code>int32 port = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5797      *
5798      * @return This builder for chaining.
5799      */
clearPort()5800     public Builder clearPort() {
5801       bitField0_ = (bitField0_ & ~0x00000200);
5802       port_ = 0;
5803       onChanged();
5804       return this;
5805     }
5806 
5807     private java.lang.Object currentLocationId_ = "";
5808     /**
5809      *
5810      *
5811      * <pre>
5812      * Output only. The current zone where the Redis primary node is located. In
5813      * basic tier, this will always be the same as [location_id]. In
5814      * standard tier, this can be the zone of any node in the instance.
5815      * </pre>
5816      *
5817      * <code>string current_location_id = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5818      *
5819      * @return The currentLocationId.
5820      */
getCurrentLocationId()5821     public java.lang.String getCurrentLocationId() {
5822       java.lang.Object ref = currentLocationId_;
5823       if (!(ref instanceof java.lang.String)) {
5824         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5825         java.lang.String s = bs.toStringUtf8();
5826         currentLocationId_ = s;
5827         return s;
5828       } else {
5829         return (java.lang.String) ref;
5830       }
5831     }
5832     /**
5833      *
5834      *
5835      * <pre>
5836      * Output only. The current zone where the Redis primary node is located. In
5837      * basic tier, this will always be the same as [location_id]. In
5838      * standard tier, this can be the zone of any node in the instance.
5839      * </pre>
5840      *
5841      * <code>string current_location_id = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5842      *
5843      * @return The bytes for currentLocationId.
5844      */
getCurrentLocationIdBytes()5845     public com.google.protobuf.ByteString getCurrentLocationIdBytes() {
5846       java.lang.Object ref = currentLocationId_;
5847       if (ref instanceof String) {
5848         com.google.protobuf.ByteString b =
5849             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5850         currentLocationId_ = b;
5851         return b;
5852       } else {
5853         return (com.google.protobuf.ByteString) ref;
5854       }
5855     }
5856     /**
5857      *
5858      *
5859      * <pre>
5860      * Output only. The current zone where the Redis primary node is located. In
5861      * basic tier, this will always be the same as [location_id]. In
5862      * standard tier, this can be the zone of any node in the instance.
5863      * </pre>
5864      *
5865      * <code>string current_location_id = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5866      *
5867      * @param value The currentLocationId to set.
5868      * @return This builder for chaining.
5869      */
setCurrentLocationId(java.lang.String value)5870     public Builder setCurrentLocationId(java.lang.String value) {
5871       if (value == null) {
5872         throw new NullPointerException();
5873       }
5874       currentLocationId_ = value;
5875       bitField0_ |= 0x00000400;
5876       onChanged();
5877       return this;
5878     }
5879     /**
5880      *
5881      *
5882      * <pre>
5883      * Output only. The current zone where the Redis primary node is located. In
5884      * basic tier, this will always be the same as [location_id]. In
5885      * standard tier, this can be the zone of any node in the instance.
5886      * </pre>
5887      *
5888      * <code>string current_location_id = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5889      *
5890      * @return This builder for chaining.
5891      */
clearCurrentLocationId()5892     public Builder clearCurrentLocationId() {
5893       currentLocationId_ = getDefaultInstance().getCurrentLocationId();
5894       bitField0_ = (bitField0_ & ~0x00000400);
5895       onChanged();
5896       return this;
5897     }
5898     /**
5899      *
5900      *
5901      * <pre>
5902      * Output only. The current zone where the Redis primary node is located. In
5903      * basic tier, this will always be the same as [location_id]. In
5904      * standard tier, this can be the zone of any node in the instance.
5905      * </pre>
5906      *
5907      * <code>string current_location_id = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5908      *
5909      * @param value The bytes for currentLocationId to set.
5910      * @return This builder for chaining.
5911      */
setCurrentLocationIdBytes(com.google.protobuf.ByteString value)5912     public Builder setCurrentLocationIdBytes(com.google.protobuf.ByteString value) {
5913       if (value == null) {
5914         throw new NullPointerException();
5915       }
5916       checkByteStringIsUtf8(value);
5917       currentLocationId_ = value;
5918       bitField0_ |= 0x00000400;
5919       onChanged();
5920       return this;
5921     }
5922 
5923     private com.google.protobuf.Timestamp createTime_;
5924     private com.google.protobuf.SingleFieldBuilderV3<
5925             com.google.protobuf.Timestamp,
5926             com.google.protobuf.Timestamp.Builder,
5927             com.google.protobuf.TimestampOrBuilder>
5928         createTimeBuilder_;
5929     /**
5930      *
5931      *
5932      * <pre>
5933      * Output only. The time the instance was created.
5934      * </pre>
5935      *
5936      * <code>
5937      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
5938      * </code>
5939      *
5940      * @return Whether the createTime field is set.
5941      */
hasCreateTime()5942     public boolean hasCreateTime() {
5943       return ((bitField0_ & 0x00000800) != 0);
5944     }
5945     /**
5946      *
5947      *
5948      * <pre>
5949      * Output only. The time the instance was created.
5950      * </pre>
5951      *
5952      * <code>
5953      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
5954      * </code>
5955      *
5956      * @return The createTime.
5957      */
getCreateTime()5958     public com.google.protobuf.Timestamp getCreateTime() {
5959       if (createTimeBuilder_ == null) {
5960         return createTime_ == null
5961             ? com.google.protobuf.Timestamp.getDefaultInstance()
5962             : createTime_;
5963       } else {
5964         return createTimeBuilder_.getMessage();
5965       }
5966     }
5967     /**
5968      *
5969      *
5970      * <pre>
5971      * Output only. The time the instance was created.
5972      * </pre>
5973      *
5974      * <code>
5975      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
5976      * </code>
5977      */
setCreateTime(com.google.protobuf.Timestamp value)5978     public Builder setCreateTime(com.google.protobuf.Timestamp value) {
5979       if (createTimeBuilder_ == null) {
5980         if (value == null) {
5981           throw new NullPointerException();
5982         }
5983         createTime_ = value;
5984       } else {
5985         createTimeBuilder_.setMessage(value);
5986       }
5987       bitField0_ |= 0x00000800;
5988       onChanged();
5989       return this;
5990     }
5991     /**
5992      *
5993      *
5994      * <pre>
5995      * Output only. The time the instance was created.
5996      * </pre>
5997      *
5998      * <code>
5999      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
6000      * </code>
6001      */
setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue)6002     public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
6003       if (createTimeBuilder_ == null) {
6004         createTime_ = builderForValue.build();
6005       } else {
6006         createTimeBuilder_.setMessage(builderForValue.build());
6007       }
6008       bitField0_ |= 0x00000800;
6009       onChanged();
6010       return this;
6011     }
6012     /**
6013      *
6014      *
6015      * <pre>
6016      * Output only. The time the instance was created.
6017      * </pre>
6018      *
6019      * <code>
6020      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
6021      * </code>
6022      */
mergeCreateTime(com.google.protobuf.Timestamp value)6023     public Builder mergeCreateTime(com.google.protobuf.Timestamp value) {
6024       if (createTimeBuilder_ == null) {
6025         if (((bitField0_ & 0x00000800) != 0)
6026             && createTime_ != null
6027             && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
6028           getCreateTimeBuilder().mergeFrom(value);
6029         } else {
6030           createTime_ = value;
6031         }
6032       } else {
6033         createTimeBuilder_.mergeFrom(value);
6034       }
6035       bitField0_ |= 0x00000800;
6036       onChanged();
6037       return this;
6038     }
6039     /**
6040      *
6041      *
6042      * <pre>
6043      * Output only. The time the instance was created.
6044      * </pre>
6045      *
6046      * <code>
6047      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
6048      * </code>
6049      */
clearCreateTime()6050     public Builder clearCreateTime() {
6051       bitField0_ = (bitField0_ & ~0x00000800);
6052       createTime_ = null;
6053       if (createTimeBuilder_ != null) {
6054         createTimeBuilder_.dispose();
6055         createTimeBuilder_ = null;
6056       }
6057       onChanged();
6058       return this;
6059     }
6060     /**
6061      *
6062      *
6063      * <pre>
6064      * Output only. The time the instance was created.
6065      * </pre>
6066      *
6067      * <code>
6068      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
6069      * </code>
6070      */
getCreateTimeBuilder()6071     public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() {
6072       bitField0_ |= 0x00000800;
6073       onChanged();
6074       return getCreateTimeFieldBuilder().getBuilder();
6075     }
6076     /**
6077      *
6078      *
6079      * <pre>
6080      * Output only. The time the instance was created.
6081      * </pre>
6082      *
6083      * <code>
6084      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
6085      * </code>
6086      */
getCreateTimeOrBuilder()6087     public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
6088       if (createTimeBuilder_ != null) {
6089         return createTimeBuilder_.getMessageOrBuilder();
6090       } else {
6091         return createTime_ == null
6092             ? com.google.protobuf.Timestamp.getDefaultInstance()
6093             : createTime_;
6094       }
6095     }
6096     /**
6097      *
6098      *
6099      * <pre>
6100      * Output only. The time the instance was created.
6101      * </pre>
6102      *
6103      * <code>
6104      * .google.protobuf.Timestamp create_time = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
6105      * </code>
6106      */
6107     private com.google.protobuf.SingleFieldBuilderV3<
6108             com.google.protobuf.Timestamp,
6109             com.google.protobuf.Timestamp.Builder,
6110             com.google.protobuf.TimestampOrBuilder>
getCreateTimeFieldBuilder()6111         getCreateTimeFieldBuilder() {
6112       if (createTimeBuilder_ == null) {
6113         createTimeBuilder_ =
6114             new com.google.protobuf.SingleFieldBuilderV3<
6115                 com.google.protobuf.Timestamp,
6116                 com.google.protobuf.Timestamp.Builder,
6117                 com.google.protobuf.TimestampOrBuilder>(
6118                 getCreateTime(), getParentForChildren(), isClean());
6119         createTime_ = null;
6120       }
6121       return createTimeBuilder_;
6122     }
6123 
6124     private int state_ = 0;
6125     /**
6126      *
6127      *
6128      * <pre>
6129      * Output only. The current state of this instance.
6130      * </pre>
6131      *
6132      * <code>
6133      * .google.cloud.redis.v1.Instance.State state = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
6134      * </code>
6135      *
6136      * @return The enum numeric value on the wire for state.
6137      */
6138     @java.lang.Override
getStateValue()6139     public int getStateValue() {
6140       return state_;
6141     }
6142     /**
6143      *
6144      *
6145      * <pre>
6146      * Output only. The current state of this instance.
6147      * </pre>
6148      *
6149      * <code>
6150      * .google.cloud.redis.v1.Instance.State state = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
6151      * </code>
6152      *
6153      * @param value The enum numeric value on the wire for state to set.
6154      * @return This builder for chaining.
6155      */
setStateValue(int value)6156     public Builder setStateValue(int value) {
6157       state_ = value;
6158       bitField0_ |= 0x00001000;
6159       onChanged();
6160       return this;
6161     }
6162     /**
6163      *
6164      *
6165      * <pre>
6166      * Output only. The current state of this instance.
6167      * </pre>
6168      *
6169      * <code>
6170      * .google.cloud.redis.v1.Instance.State state = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
6171      * </code>
6172      *
6173      * @return The state.
6174      */
6175     @java.lang.Override
getState()6176     public com.google.cloud.redis.v1.Instance.State getState() {
6177       com.google.cloud.redis.v1.Instance.State result =
6178           com.google.cloud.redis.v1.Instance.State.forNumber(state_);
6179       return result == null ? com.google.cloud.redis.v1.Instance.State.UNRECOGNIZED : result;
6180     }
6181     /**
6182      *
6183      *
6184      * <pre>
6185      * Output only. The current state of this instance.
6186      * </pre>
6187      *
6188      * <code>
6189      * .google.cloud.redis.v1.Instance.State state = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
6190      * </code>
6191      *
6192      * @param value The state to set.
6193      * @return This builder for chaining.
6194      */
setState(com.google.cloud.redis.v1.Instance.State value)6195     public Builder setState(com.google.cloud.redis.v1.Instance.State value) {
6196       if (value == null) {
6197         throw new NullPointerException();
6198       }
6199       bitField0_ |= 0x00001000;
6200       state_ = value.getNumber();
6201       onChanged();
6202       return this;
6203     }
6204     /**
6205      *
6206      *
6207      * <pre>
6208      * Output only. The current state of this instance.
6209      * </pre>
6210      *
6211      * <code>
6212      * .google.cloud.redis.v1.Instance.State state = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];
6213      * </code>
6214      *
6215      * @return This builder for chaining.
6216      */
clearState()6217     public Builder clearState() {
6218       bitField0_ = (bitField0_ & ~0x00001000);
6219       state_ = 0;
6220       onChanged();
6221       return this;
6222     }
6223 
6224     private java.lang.Object statusMessage_ = "";
6225     /**
6226      *
6227      *
6228      * <pre>
6229      * Output only. Additional information about the current status of this
6230      * instance, if available.
6231      * </pre>
6232      *
6233      * <code>string status_message = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
6234      *
6235      * @return The statusMessage.
6236      */
getStatusMessage()6237     public java.lang.String getStatusMessage() {
6238       java.lang.Object ref = statusMessage_;
6239       if (!(ref instanceof java.lang.String)) {
6240         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6241         java.lang.String s = bs.toStringUtf8();
6242         statusMessage_ = s;
6243         return s;
6244       } else {
6245         return (java.lang.String) ref;
6246       }
6247     }
6248     /**
6249      *
6250      *
6251      * <pre>
6252      * Output only. Additional information about the current status of this
6253      * instance, if available.
6254      * </pre>
6255      *
6256      * <code>string status_message = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
6257      *
6258      * @return The bytes for statusMessage.
6259      */
getStatusMessageBytes()6260     public com.google.protobuf.ByteString getStatusMessageBytes() {
6261       java.lang.Object ref = statusMessage_;
6262       if (ref instanceof String) {
6263         com.google.protobuf.ByteString b =
6264             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6265         statusMessage_ = b;
6266         return b;
6267       } else {
6268         return (com.google.protobuf.ByteString) ref;
6269       }
6270     }
6271     /**
6272      *
6273      *
6274      * <pre>
6275      * Output only. Additional information about the current status of this
6276      * instance, if available.
6277      * </pre>
6278      *
6279      * <code>string status_message = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
6280      *
6281      * @param value The statusMessage to set.
6282      * @return This builder for chaining.
6283      */
setStatusMessage(java.lang.String value)6284     public Builder setStatusMessage(java.lang.String value) {
6285       if (value == null) {
6286         throw new NullPointerException();
6287       }
6288       statusMessage_ = value;
6289       bitField0_ |= 0x00002000;
6290       onChanged();
6291       return this;
6292     }
6293     /**
6294      *
6295      *
6296      * <pre>
6297      * Output only. Additional information about the current status of this
6298      * instance, if available.
6299      * </pre>
6300      *
6301      * <code>string status_message = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
6302      *
6303      * @return This builder for chaining.
6304      */
clearStatusMessage()6305     public Builder clearStatusMessage() {
6306       statusMessage_ = getDefaultInstance().getStatusMessage();
6307       bitField0_ = (bitField0_ & ~0x00002000);
6308       onChanged();
6309       return this;
6310     }
6311     /**
6312      *
6313      *
6314      * <pre>
6315      * Output only. Additional information about the current status of this
6316      * instance, if available.
6317      * </pre>
6318      *
6319      * <code>string status_message = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
6320      *
6321      * @param value The bytes for statusMessage to set.
6322      * @return This builder for chaining.
6323      */
setStatusMessageBytes(com.google.protobuf.ByteString value)6324     public Builder setStatusMessageBytes(com.google.protobuf.ByteString value) {
6325       if (value == null) {
6326         throw new NullPointerException();
6327       }
6328       checkByteStringIsUtf8(value);
6329       statusMessage_ = value;
6330       bitField0_ |= 0x00002000;
6331       onChanged();
6332       return this;
6333     }
6334 
6335     private com.google.protobuf.MapField<java.lang.String, java.lang.String> redisConfigs_;
6336 
6337     private com.google.protobuf.MapField<java.lang.String, java.lang.String>
internalGetRedisConfigs()6338         internalGetRedisConfigs() {
6339       if (redisConfigs_ == null) {
6340         return com.google.protobuf.MapField.emptyMapField(
6341             RedisConfigsDefaultEntryHolder.defaultEntry);
6342       }
6343       return redisConfigs_;
6344     }
6345 
6346     private com.google.protobuf.MapField<java.lang.String, java.lang.String>
internalGetMutableRedisConfigs()6347         internalGetMutableRedisConfigs() {
6348       if (redisConfigs_ == null) {
6349         redisConfigs_ =
6350             com.google.protobuf.MapField.newMapField(RedisConfigsDefaultEntryHolder.defaultEntry);
6351       }
6352       if (!redisConfigs_.isMutable()) {
6353         redisConfigs_ = redisConfigs_.copy();
6354       }
6355       bitField0_ |= 0x00004000;
6356       onChanged();
6357       return redisConfigs_;
6358     }
6359 
getRedisConfigsCount()6360     public int getRedisConfigsCount() {
6361       return internalGetRedisConfigs().getMap().size();
6362     }
6363     /**
6364      *
6365      *
6366      * <pre>
6367      * Optional. Redis configuration parameters, according to
6368      * http://redis.io/topics/config. Currently, the only supported parameters
6369      * are:
6370      *  Redis version 3.2 and newer:
6371      *  *   maxmemory-policy
6372      *  *   notify-keyspace-events
6373      *  Redis version 4.0 and newer:
6374      *  *   activedefrag
6375      *  *   lfu-decay-time
6376      *  *   lfu-log-factor
6377      *  *   maxmemory-gb
6378      *  Redis version 5.0 and newer:
6379      *  *   stream-node-max-bytes
6380      *  *   stream-node-max-entries
6381      * </pre>
6382      *
6383      * <code>map&lt;string, string&gt; redis_configs = 16 [(.google.api.field_behavior) = OPTIONAL];
6384      * </code>
6385      */
6386     @java.lang.Override
containsRedisConfigs(java.lang.String key)6387     public boolean containsRedisConfigs(java.lang.String key) {
6388       if (key == null) {
6389         throw new NullPointerException("map key");
6390       }
6391       return internalGetRedisConfigs().getMap().containsKey(key);
6392     }
6393     /** Use {@link #getRedisConfigsMap()} instead. */
6394     @java.lang.Override
6395     @java.lang.Deprecated
getRedisConfigs()6396     public java.util.Map<java.lang.String, java.lang.String> getRedisConfigs() {
6397       return getRedisConfigsMap();
6398     }
6399     /**
6400      *
6401      *
6402      * <pre>
6403      * Optional. Redis configuration parameters, according to
6404      * http://redis.io/topics/config. Currently, the only supported parameters
6405      * are:
6406      *  Redis version 3.2 and newer:
6407      *  *   maxmemory-policy
6408      *  *   notify-keyspace-events
6409      *  Redis version 4.0 and newer:
6410      *  *   activedefrag
6411      *  *   lfu-decay-time
6412      *  *   lfu-log-factor
6413      *  *   maxmemory-gb
6414      *  Redis version 5.0 and newer:
6415      *  *   stream-node-max-bytes
6416      *  *   stream-node-max-entries
6417      * </pre>
6418      *
6419      * <code>map&lt;string, string&gt; redis_configs = 16 [(.google.api.field_behavior) = OPTIONAL];
6420      * </code>
6421      */
6422     @java.lang.Override
getRedisConfigsMap()6423     public java.util.Map<java.lang.String, java.lang.String> getRedisConfigsMap() {
6424       return internalGetRedisConfigs().getMap();
6425     }
6426     /**
6427      *
6428      *
6429      * <pre>
6430      * Optional. Redis configuration parameters, according to
6431      * http://redis.io/topics/config. Currently, the only supported parameters
6432      * are:
6433      *  Redis version 3.2 and newer:
6434      *  *   maxmemory-policy
6435      *  *   notify-keyspace-events
6436      *  Redis version 4.0 and newer:
6437      *  *   activedefrag
6438      *  *   lfu-decay-time
6439      *  *   lfu-log-factor
6440      *  *   maxmemory-gb
6441      *  Redis version 5.0 and newer:
6442      *  *   stream-node-max-bytes
6443      *  *   stream-node-max-entries
6444      * </pre>
6445      *
6446      * <code>map&lt;string, string&gt; redis_configs = 16 [(.google.api.field_behavior) = OPTIONAL];
6447      * </code>
6448      */
6449     @java.lang.Override
getRedisConfigsOrDefault( java.lang.String key, java.lang.String defaultValue)6450     public /* nullable */ java.lang.String getRedisConfigsOrDefault(
6451         java.lang.String key,
6452         /* nullable */
6453         java.lang.String defaultValue) {
6454       if (key == null) {
6455         throw new NullPointerException("map key");
6456       }
6457       java.util.Map<java.lang.String, java.lang.String> map = internalGetRedisConfigs().getMap();
6458       return map.containsKey(key) ? map.get(key) : defaultValue;
6459     }
6460     /**
6461      *
6462      *
6463      * <pre>
6464      * Optional. Redis configuration parameters, according to
6465      * http://redis.io/topics/config. Currently, the only supported parameters
6466      * are:
6467      *  Redis version 3.2 and newer:
6468      *  *   maxmemory-policy
6469      *  *   notify-keyspace-events
6470      *  Redis version 4.0 and newer:
6471      *  *   activedefrag
6472      *  *   lfu-decay-time
6473      *  *   lfu-log-factor
6474      *  *   maxmemory-gb
6475      *  Redis version 5.0 and newer:
6476      *  *   stream-node-max-bytes
6477      *  *   stream-node-max-entries
6478      * </pre>
6479      *
6480      * <code>map&lt;string, string&gt; redis_configs = 16 [(.google.api.field_behavior) = OPTIONAL];
6481      * </code>
6482      */
6483     @java.lang.Override
getRedisConfigsOrThrow(java.lang.String key)6484     public java.lang.String getRedisConfigsOrThrow(java.lang.String key) {
6485       if (key == null) {
6486         throw new NullPointerException("map key");
6487       }
6488       java.util.Map<java.lang.String, java.lang.String> map = internalGetRedisConfigs().getMap();
6489       if (!map.containsKey(key)) {
6490         throw new java.lang.IllegalArgumentException();
6491       }
6492       return map.get(key);
6493     }
6494 
clearRedisConfigs()6495     public Builder clearRedisConfigs() {
6496       bitField0_ = (bitField0_ & ~0x00004000);
6497       internalGetMutableRedisConfigs().getMutableMap().clear();
6498       return this;
6499     }
6500     /**
6501      *
6502      *
6503      * <pre>
6504      * Optional. Redis configuration parameters, according to
6505      * http://redis.io/topics/config. Currently, the only supported parameters
6506      * are:
6507      *  Redis version 3.2 and newer:
6508      *  *   maxmemory-policy
6509      *  *   notify-keyspace-events
6510      *  Redis version 4.0 and newer:
6511      *  *   activedefrag
6512      *  *   lfu-decay-time
6513      *  *   lfu-log-factor
6514      *  *   maxmemory-gb
6515      *  Redis version 5.0 and newer:
6516      *  *   stream-node-max-bytes
6517      *  *   stream-node-max-entries
6518      * </pre>
6519      *
6520      * <code>map&lt;string, string&gt; redis_configs = 16 [(.google.api.field_behavior) = OPTIONAL];
6521      * </code>
6522      */
removeRedisConfigs(java.lang.String key)6523     public Builder removeRedisConfigs(java.lang.String key) {
6524       if (key == null) {
6525         throw new NullPointerException("map key");
6526       }
6527       internalGetMutableRedisConfigs().getMutableMap().remove(key);
6528       return this;
6529     }
6530     /** Use alternate mutation accessors instead. */
6531     @java.lang.Deprecated
getMutableRedisConfigs()6532     public java.util.Map<java.lang.String, java.lang.String> getMutableRedisConfigs() {
6533       bitField0_ |= 0x00004000;
6534       return internalGetMutableRedisConfigs().getMutableMap();
6535     }
6536     /**
6537      *
6538      *
6539      * <pre>
6540      * Optional. Redis configuration parameters, according to
6541      * http://redis.io/topics/config. Currently, the only supported parameters
6542      * are:
6543      *  Redis version 3.2 and newer:
6544      *  *   maxmemory-policy
6545      *  *   notify-keyspace-events
6546      *  Redis version 4.0 and newer:
6547      *  *   activedefrag
6548      *  *   lfu-decay-time
6549      *  *   lfu-log-factor
6550      *  *   maxmemory-gb
6551      *  Redis version 5.0 and newer:
6552      *  *   stream-node-max-bytes
6553      *  *   stream-node-max-entries
6554      * </pre>
6555      *
6556      * <code>map&lt;string, string&gt; redis_configs = 16 [(.google.api.field_behavior) = OPTIONAL];
6557      * </code>
6558      */
putRedisConfigs(java.lang.String key, java.lang.String value)6559     public Builder putRedisConfigs(java.lang.String key, java.lang.String value) {
6560       if (key == null) {
6561         throw new NullPointerException("map key");
6562       }
6563       if (value == null) {
6564         throw new NullPointerException("map value");
6565       }
6566       internalGetMutableRedisConfigs().getMutableMap().put(key, value);
6567       bitField0_ |= 0x00004000;
6568       return this;
6569     }
6570     /**
6571      *
6572      *
6573      * <pre>
6574      * Optional. Redis configuration parameters, according to
6575      * http://redis.io/topics/config. Currently, the only supported parameters
6576      * are:
6577      *  Redis version 3.2 and newer:
6578      *  *   maxmemory-policy
6579      *  *   notify-keyspace-events
6580      *  Redis version 4.0 and newer:
6581      *  *   activedefrag
6582      *  *   lfu-decay-time
6583      *  *   lfu-log-factor
6584      *  *   maxmemory-gb
6585      *  Redis version 5.0 and newer:
6586      *  *   stream-node-max-bytes
6587      *  *   stream-node-max-entries
6588      * </pre>
6589      *
6590      * <code>map&lt;string, string&gt; redis_configs = 16 [(.google.api.field_behavior) = OPTIONAL];
6591      * </code>
6592      */
putAllRedisConfigs(java.util.Map<java.lang.String, java.lang.String> values)6593     public Builder putAllRedisConfigs(java.util.Map<java.lang.String, java.lang.String> values) {
6594       internalGetMutableRedisConfigs().getMutableMap().putAll(values);
6595       bitField0_ |= 0x00004000;
6596       return this;
6597     }
6598 
6599     private int tier_ = 0;
6600     /**
6601      *
6602      *
6603      * <pre>
6604      * Required. The service tier of the instance.
6605      * </pre>
6606      *
6607      * <code>
6608      * .google.cloud.redis.v1.Instance.Tier tier = 17 [(.google.api.field_behavior) = REQUIRED];
6609      * </code>
6610      *
6611      * @return The enum numeric value on the wire for tier.
6612      */
6613     @java.lang.Override
getTierValue()6614     public int getTierValue() {
6615       return tier_;
6616     }
6617     /**
6618      *
6619      *
6620      * <pre>
6621      * Required. The service tier of the instance.
6622      * </pre>
6623      *
6624      * <code>
6625      * .google.cloud.redis.v1.Instance.Tier tier = 17 [(.google.api.field_behavior) = REQUIRED];
6626      * </code>
6627      *
6628      * @param value The enum numeric value on the wire for tier to set.
6629      * @return This builder for chaining.
6630      */
setTierValue(int value)6631     public Builder setTierValue(int value) {
6632       tier_ = value;
6633       bitField0_ |= 0x00008000;
6634       onChanged();
6635       return this;
6636     }
6637     /**
6638      *
6639      *
6640      * <pre>
6641      * Required. The service tier of the instance.
6642      * </pre>
6643      *
6644      * <code>
6645      * .google.cloud.redis.v1.Instance.Tier tier = 17 [(.google.api.field_behavior) = REQUIRED];
6646      * </code>
6647      *
6648      * @return The tier.
6649      */
6650     @java.lang.Override
getTier()6651     public com.google.cloud.redis.v1.Instance.Tier getTier() {
6652       com.google.cloud.redis.v1.Instance.Tier result =
6653           com.google.cloud.redis.v1.Instance.Tier.forNumber(tier_);
6654       return result == null ? com.google.cloud.redis.v1.Instance.Tier.UNRECOGNIZED : result;
6655     }
6656     /**
6657      *
6658      *
6659      * <pre>
6660      * Required. The service tier of the instance.
6661      * </pre>
6662      *
6663      * <code>
6664      * .google.cloud.redis.v1.Instance.Tier tier = 17 [(.google.api.field_behavior) = REQUIRED];
6665      * </code>
6666      *
6667      * @param value The tier to set.
6668      * @return This builder for chaining.
6669      */
setTier(com.google.cloud.redis.v1.Instance.Tier value)6670     public Builder setTier(com.google.cloud.redis.v1.Instance.Tier value) {
6671       if (value == null) {
6672         throw new NullPointerException();
6673       }
6674       bitField0_ |= 0x00008000;
6675       tier_ = value.getNumber();
6676       onChanged();
6677       return this;
6678     }
6679     /**
6680      *
6681      *
6682      * <pre>
6683      * Required. The service tier of the instance.
6684      * </pre>
6685      *
6686      * <code>
6687      * .google.cloud.redis.v1.Instance.Tier tier = 17 [(.google.api.field_behavior) = REQUIRED];
6688      * </code>
6689      *
6690      * @return This builder for chaining.
6691      */
clearTier()6692     public Builder clearTier() {
6693       bitField0_ = (bitField0_ & ~0x00008000);
6694       tier_ = 0;
6695       onChanged();
6696       return this;
6697     }
6698 
6699     private int memorySizeGb_;
6700     /**
6701      *
6702      *
6703      * <pre>
6704      * Required. Redis memory size in GiB.
6705      * </pre>
6706      *
6707      * <code>int32 memory_size_gb = 18 [(.google.api.field_behavior) = REQUIRED];</code>
6708      *
6709      * @return The memorySizeGb.
6710      */
6711     @java.lang.Override
getMemorySizeGb()6712     public int getMemorySizeGb() {
6713       return memorySizeGb_;
6714     }
6715     /**
6716      *
6717      *
6718      * <pre>
6719      * Required. Redis memory size in GiB.
6720      * </pre>
6721      *
6722      * <code>int32 memory_size_gb = 18 [(.google.api.field_behavior) = REQUIRED];</code>
6723      *
6724      * @param value The memorySizeGb to set.
6725      * @return This builder for chaining.
6726      */
setMemorySizeGb(int value)6727     public Builder setMemorySizeGb(int value) {
6728 
6729       memorySizeGb_ = value;
6730       bitField0_ |= 0x00010000;
6731       onChanged();
6732       return this;
6733     }
6734     /**
6735      *
6736      *
6737      * <pre>
6738      * Required. Redis memory size in GiB.
6739      * </pre>
6740      *
6741      * <code>int32 memory_size_gb = 18 [(.google.api.field_behavior) = REQUIRED];</code>
6742      *
6743      * @return This builder for chaining.
6744      */
clearMemorySizeGb()6745     public Builder clearMemorySizeGb() {
6746       bitField0_ = (bitField0_ & ~0x00010000);
6747       memorySizeGb_ = 0;
6748       onChanged();
6749       return this;
6750     }
6751 
6752     private java.lang.Object authorizedNetwork_ = "";
6753     /**
6754      *
6755      *
6756      * <pre>
6757      * Optional. The full name of the Google Compute Engine
6758      * [network](https://cloud.google.com/vpc/docs/vpc) to which the
6759      * instance is connected. If left unspecified, the `default` network
6760      * will be used.
6761      * </pre>
6762      *
6763      * <code>string authorized_network = 20 [(.google.api.field_behavior) = OPTIONAL];</code>
6764      *
6765      * @return The authorizedNetwork.
6766      */
getAuthorizedNetwork()6767     public java.lang.String getAuthorizedNetwork() {
6768       java.lang.Object ref = authorizedNetwork_;
6769       if (!(ref instanceof java.lang.String)) {
6770         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6771         java.lang.String s = bs.toStringUtf8();
6772         authorizedNetwork_ = s;
6773         return s;
6774       } else {
6775         return (java.lang.String) ref;
6776       }
6777     }
6778     /**
6779      *
6780      *
6781      * <pre>
6782      * Optional. The full name of the Google Compute Engine
6783      * [network](https://cloud.google.com/vpc/docs/vpc) to which the
6784      * instance is connected. If left unspecified, the `default` network
6785      * will be used.
6786      * </pre>
6787      *
6788      * <code>string authorized_network = 20 [(.google.api.field_behavior) = OPTIONAL];</code>
6789      *
6790      * @return The bytes for authorizedNetwork.
6791      */
getAuthorizedNetworkBytes()6792     public com.google.protobuf.ByteString getAuthorizedNetworkBytes() {
6793       java.lang.Object ref = authorizedNetwork_;
6794       if (ref instanceof String) {
6795         com.google.protobuf.ByteString b =
6796             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6797         authorizedNetwork_ = b;
6798         return b;
6799       } else {
6800         return (com.google.protobuf.ByteString) ref;
6801       }
6802     }
6803     /**
6804      *
6805      *
6806      * <pre>
6807      * Optional. The full name of the Google Compute Engine
6808      * [network](https://cloud.google.com/vpc/docs/vpc) to which the
6809      * instance is connected. If left unspecified, the `default` network
6810      * will be used.
6811      * </pre>
6812      *
6813      * <code>string authorized_network = 20 [(.google.api.field_behavior) = OPTIONAL];</code>
6814      *
6815      * @param value The authorizedNetwork to set.
6816      * @return This builder for chaining.
6817      */
setAuthorizedNetwork(java.lang.String value)6818     public Builder setAuthorizedNetwork(java.lang.String value) {
6819       if (value == null) {
6820         throw new NullPointerException();
6821       }
6822       authorizedNetwork_ = value;
6823       bitField0_ |= 0x00020000;
6824       onChanged();
6825       return this;
6826     }
6827     /**
6828      *
6829      *
6830      * <pre>
6831      * Optional. The full name of the Google Compute Engine
6832      * [network](https://cloud.google.com/vpc/docs/vpc) to which the
6833      * instance is connected. If left unspecified, the `default` network
6834      * will be used.
6835      * </pre>
6836      *
6837      * <code>string authorized_network = 20 [(.google.api.field_behavior) = OPTIONAL];</code>
6838      *
6839      * @return This builder for chaining.
6840      */
clearAuthorizedNetwork()6841     public Builder clearAuthorizedNetwork() {
6842       authorizedNetwork_ = getDefaultInstance().getAuthorizedNetwork();
6843       bitField0_ = (bitField0_ & ~0x00020000);
6844       onChanged();
6845       return this;
6846     }
6847     /**
6848      *
6849      *
6850      * <pre>
6851      * Optional. The full name of the Google Compute Engine
6852      * [network](https://cloud.google.com/vpc/docs/vpc) to which the
6853      * instance is connected. If left unspecified, the `default` network
6854      * will be used.
6855      * </pre>
6856      *
6857      * <code>string authorized_network = 20 [(.google.api.field_behavior) = OPTIONAL];</code>
6858      *
6859      * @param value The bytes for authorizedNetwork to set.
6860      * @return This builder for chaining.
6861      */
setAuthorizedNetworkBytes(com.google.protobuf.ByteString value)6862     public Builder setAuthorizedNetworkBytes(com.google.protobuf.ByteString value) {
6863       if (value == null) {
6864         throw new NullPointerException();
6865       }
6866       checkByteStringIsUtf8(value);
6867       authorizedNetwork_ = value;
6868       bitField0_ |= 0x00020000;
6869       onChanged();
6870       return this;
6871     }
6872 
6873     private java.lang.Object persistenceIamIdentity_ = "";
6874     /**
6875      *
6876      *
6877      * <pre>
6878      * Output only. Cloud IAM identity used by import / export operations to
6879      * transfer data to/from Cloud Storage. Format is
6880      * "serviceAccount:&lt;service_account_email&gt;". The value may change over time
6881      * for a given instance so should be checked before each import/export
6882      * operation.
6883      * </pre>
6884      *
6885      * <code>string persistence_iam_identity = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
6886      * </code>
6887      *
6888      * @return The persistenceIamIdentity.
6889      */
getPersistenceIamIdentity()6890     public java.lang.String getPersistenceIamIdentity() {
6891       java.lang.Object ref = persistenceIamIdentity_;
6892       if (!(ref instanceof java.lang.String)) {
6893         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6894         java.lang.String s = bs.toStringUtf8();
6895         persistenceIamIdentity_ = s;
6896         return s;
6897       } else {
6898         return (java.lang.String) ref;
6899       }
6900     }
6901     /**
6902      *
6903      *
6904      * <pre>
6905      * Output only. Cloud IAM identity used by import / export operations to
6906      * transfer data to/from Cloud Storage. Format is
6907      * "serviceAccount:&lt;service_account_email&gt;". The value may change over time
6908      * for a given instance so should be checked before each import/export
6909      * operation.
6910      * </pre>
6911      *
6912      * <code>string persistence_iam_identity = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
6913      * </code>
6914      *
6915      * @return The bytes for persistenceIamIdentity.
6916      */
getPersistenceIamIdentityBytes()6917     public com.google.protobuf.ByteString getPersistenceIamIdentityBytes() {
6918       java.lang.Object ref = persistenceIamIdentity_;
6919       if (ref instanceof String) {
6920         com.google.protobuf.ByteString b =
6921             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6922         persistenceIamIdentity_ = b;
6923         return b;
6924       } else {
6925         return (com.google.protobuf.ByteString) ref;
6926       }
6927     }
6928     /**
6929      *
6930      *
6931      * <pre>
6932      * Output only. Cloud IAM identity used by import / export operations to
6933      * transfer data to/from Cloud Storage. Format is
6934      * "serviceAccount:&lt;service_account_email&gt;". The value may change over time
6935      * for a given instance so should be checked before each import/export
6936      * operation.
6937      * </pre>
6938      *
6939      * <code>string persistence_iam_identity = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
6940      * </code>
6941      *
6942      * @param value The persistenceIamIdentity to set.
6943      * @return This builder for chaining.
6944      */
setPersistenceIamIdentity(java.lang.String value)6945     public Builder setPersistenceIamIdentity(java.lang.String value) {
6946       if (value == null) {
6947         throw new NullPointerException();
6948       }
6949       persistenceIamIdentity_ = value;
6950       bitField0_ |= 0x00040000;
6951       onChanged();
6952       return this;
6953     }
6954     /**
6955      *
6956      *
6957      * <pre>
6958      * Output only. Cloud IAM identity used by import / export operations to
6959      * transfer data to/from Cloud Storage. Format is
6960      * "serviceAccount:&lt;service_account_email&gt;". The value may change over time
6961      * for a given instance so should be checked before each import/export
6962      * operation.
6963      * </pre>
6964      *
6965      * <code>string persistence_iam_identity = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
6966      * </code>
6967      *
6968      * @return This builder for chaining.
6969      */
clearPersistenceIamIdentity()6970     public Builder clearPersistenceIamIdentity() {
6971       persistenceIamIdentity_ = getDefaultInstance().getPersistenceIamIdentity();
6972       bitField0_ = (bitField0_ & ~0x00040000);
6973       onChanged();
6974       return this;
6975     }
6976     /**
6977      *
6978      *
6979      * <pre>
6980      * Output only. Cloud IAM identity used by import / export operations to
6981      * transfer data to/from Cloud Storage. Format is
6982      * "serviceAccount:&lt;service_account_email&gt;". The value may change over time
6983      * for a given instance so should be checked before each import/export
6984      * operation.
6985      * </pre>
6986      *
6987      * <code>string persistence_iam_identity = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
6988      * </code>
6989      *
6990      * @param value The bytes for persistenceIamIdentity to set.
6991      * @return This builder for chaining.
6992      */
setPersistenceIamIdentityBytes(com.google.protobuf.ByteString value)6993     public Builder setPersistenceIamIdentityBytes(com.google.protobuf.ByteString value) {
6994       if (value == null) {
6995         throw new NullPointerException();
6996       }
6997       checkByteStringIsUtf8(value);
6998       persistenceIamIdentity_ = value;
6999       bitField0_ |= 0x00040000;
7000       onChanged();
7001       return this;
7002     }
7003 
7004     private int connectMode_ = 0;
7005     /**
7006      *
7007      *
7008      * <pre>
7009      * Optional. The network connect mode of the Redis instance.
7010      * If not provided, the connect mode defaults to DIRECT_PEERING.
7011      * </pre>
7012      *
7013      * <code>
7014      * .google.cloud.redis.v1.Instance.ConnectMode connect_mode = 22 [(.google.api.field_behavior) = OPTIONAL];
7015      * </code>
7016      *
7017      * @return The enum numeric value on the wire for connectMode.
7018      */
7019     @java.lang.Override
getConnectModeValue()7020     public int getConnectModeValue() {
7021       return connectMode_;
7022     }
7023     /**
7024      *
7025      *
7026      * <pre>
7027      * Optional. The network connect mode of the Redis instance.
7028      * If not provided, the connect mode defaults to DIRECT_PEERING.
7029      * </pre>
7030      *
7031      * <code>
7032      * .google.cloud.redis.v1.Instance.ConnectMode connect_mode = 22 [(.google.api.field_behavior) = OPTIONAL];
7033      * </code>
7034      *
7035      * @param value The enum numeric value on the wire for connectMode to set.
7036      * @return This builder for chaining.
7037      */
setConnectModeValue(int value)7038     public Builder setConnectModeValue(int value) {
7039       connectMode_ = value;
7040       bitField0_ |= 0x00080000;
7041       onChanged();
7042       return this;
7043     }
7044     /**
7045      *
7046      *
7047      * <pre>
7048      * Optional. The network connect mode of the Redis instance.
7049      * If not provided, the connect mode defaults to DIRECT_PEERING.
7050      * </pre>
7051      *
7052      * <code>
7053      * .google.cloud.redis.v1.Instance.ConnectMode connect_mode = 22 [(.google.api.field_behavior) = OPTIONAL];
7054      * </code>
7055      *
7056      * @return The connectMode.
7057      */
7058     @java.lang.Override
getConnectMode()7059     public com.google.cloud.redis.v1.Instance.ConnectMode getConnectMode() {
7060       com.google.cloud.redis.v1.Instance.ConnectMode result =
7061           com.google.cloud.redis.v1.Instance.ConnectMode.forNumber(connectMode_);
7062       return result == null ? com.google.cloud.redis.v1.Instance.ConnectMode.UNRECOGNIZED : result;
7063     }
7064     /**
7065      *
7066      *
7067      * <pre>
7068      * Optional. The network connect mode of the Redis instance.
7069      * If not provided, the connect mode defaults to DIRECT_PEERING.
7070      * </pre>
7071      *
7072      * <code>
7073      * .google.cloud.redis.v1.Instance.ConnectMode connect_mode = 22 [(.google.api.field_behavior) = OPTIONAL];
7074      * </code>
7075      *
7076      * @param value The connectMode to set.
7077      * @return This builder for chaining.
7078      */
setConnectMode(com.google.cloud.redis.v1.Instance.ConnectMode value)7079     public Builder setConnectMode(com.google.cloud.redis.v1.Instance.ConnectMode value) {
7080       if (value == null) {
7081         throw new NullPointerException();
7082       }
7083       bitField0_ |= 0x00080000;
7084       connectMode_ = value.getNumber();
7085       onChanged();
7086       return this;
7087     }
7088     /**
7089      *
7090      *
7091      * <pre>
7092      * Optional. The network connect mode of the Redis instance.
7093      * If not provided, the connect mode defaults to DIRECT_PEERING.
7094      * </pre>
7095      *
7096      * <code>
7097      * .google.cloud.redis.v1.Instance.ConnectMode connect_mode = 22 [(.google.api.field_behavior) = OPTIONAL];
7098      * </code>
7099      *
7100      * @return This builder for chaining.
7101      */
clearConnectMode()7102     public Builder clearConnectMode() {
7103       bitField0_ = (bitField0_ & ~0x00080000);
7104       connectMode_ = 0;
7105       onChanged();
7106       return this;
7107     }
7108 
7109     private boolean authEnabled_;
7110     /**
7111      *
7112      *
7113      * <pre>
7114      * Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If
7115      * set to "true" AUTH is enabled on the instance. Default value is "false"
7116      * meaning AUTH is disabled.
7117      * </pre>
7118      *
7119      * <code>bool auth_enabled = 23 [(.google.api.field_behavior) = OPTIONAL];</code>
7120      *
7121      * @return The authEnabled.
7122      */
7123     @java.lang.Override
getAuthEnabled()7124     public boolean getAuthEnabled() {
7125       return authEnabled_;
7126     }
7127     /**
7128      *
7129      *
7130      * <pre>
7131      * Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If
7132      * set to "true" AUTH is enabled on the instance. Default value is "false"
7133      * meaning AUTH is disabled.
7134      * </pre>
7135      *
7136      * <code>bool auth_enabled = 23 [(.google.api.field_behavior) = OPTIONAL];</code>
7137      *
7138      * @param value The authEnabled to set.
7139      * @return This builder for chaining.
7140      */
setAuthEnabled(boolean value)7141     public Builder setAuthEnabled(boolean value) {
7142 
7143       authEnabled_ = value;
7144       bitField0_ |= 0x00100000;
7145       onChanged();
7146       return this;
7147     }
7148     /**
7149      *
7150      *
7151      * <pre>
7152      * Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If
7153      * set to "true" AUTH is enabled on the instance. Default value is "false"
7154      * meaning AUTH is disabled.
7155      * </pre>
7156      *
7157      * <code>bool auth_enabled = 23 [(.google.api.field_behavior) = OPTIONAL];</code>
7158      *
7159      * @return This builder for chaining.
7160      */
clearAuthEnabled()7161     public Builder clearAuthEnabled() {
7162       bitField0_ = (bitField0_ & ~0x00100000);
7163       authEnabled_ = false;
7164       onChanged();
7165       return this;
7166     }
7167 
7168     private java.util.List<com.google.cloud.redis.v1.TlsCertificate> serverCaCerts_ =
7169         java.util.Collections.emptyList();
7170 
ensureServerCaCertsIsMutable()7171     private void ensureServerCaCertsIsMutable() {
7172       if (!((bitField0_ & 0x00200000) != 0)) {
7173         serverCaCerts_ =
7174             new java.util.ArrayList<com.google.cloud.redis.v1.TlsCertificate>(serverCaCerts_);
7175         bitField0_ |= 0x00200000;
7176       }
7177     }
7178 
7179     private com.google.protobuf.RepeatedFieldBuilderV3<
7180             com.google.cloud.redis.v1.TlsCertificate,
7181             com.google.cloud.redis.v1.TlsCertificate.Builder,
7182             com.google.cloud.redis.v1.TlsCertificateOrBuilder>
7183         serverCaCertsBuilder_;
7184 
7185     /**
7186      *
7187      *
7188      * <pre>
7189      * Output only. List of server CA certificates for the instance.
7190      * </pre>
7191      *
7192      * <code>
7193      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7194      * </code>
7195      */
getServerCaCertsList()7196     public java.util.List<com.google.cloud.redis.v1.TlsCertificate> getServerCaCertsList() {
7197       if (serverCaCertsBuilder_ == null) {
7198         return java.util.Collections.unmodifiableList(serverCaCerts_);
7199       } else {
7200         return serverCaCertsBuilder_.getMessageList();
7201       }
7202     }
7203     /**
7204      *
7205      *
7206      * <pre>
7207      * Output only. List of server CA certificates for the instance.
7208      * </pre>
7209      *
7210      * <code>
7211      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7212      * </code>
7213      */
getServerCaCertsCount()7214     public int getServerCaCertsCount() {
7215       if (serverCaCertsBuilder_ == null) {
7216         return serverCaCerts_.size();
7217       } else {
7218         return serverCaCertsBuilder_.getCount();
7219       }
7220     }
7221     /**
7222      *
7223      *
7224      * <pre>
7225      * Output only. List of server CA certificates for the instance.
7226      * </pre>
7227      *
7228      * <code>
7229      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7230      * </code>
7231      */
getServerCaCerts(int index)7232     public com.google.cloud.redis.v1.TlsCertificate getServerCaCerts(int index) {
7233       if (serverCaCertsBuilder_ == null) {
7234         return serverCaCerts_.get(index);
7235       } else {
7236         return serverCaCertsBuilder_.getMessage(index);
7237       }
7238     }
7239     /**
7240      *
7241      *
7242      * <pre>
7243      * Output only. List of server CA certificates for the instance.
7244      * </pre>
7245      *
7246      * <code>
7247      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7248      * </code>
7249      */
setServerCaCerts(int index, com.google.cloud.redis.v1.TlsCertificate value)7250     public Builder setServerCaCerts(int index, com.google.cloud.redis.v1.TlsCertificate value) {
7251       if (serverCaCertsBuilder_ == null) {
7252         if (value == null) {
7253           throw new NullPointerException();
7254         }
7255         ensureServerCaCertsIsMutable();
7256         serverCaCerts_.set(index, value);
7257         onChanged();
7258       } else {
7259         serverCaCertsBuilder_.setMessage(index, value);
7260       }
7261       return this;
7262     }
7263     /**
7264      *
7265      *
7266      * <pre>
7267      * Output only. List of server CA certificates for the instance.
7268      * </pre>
7269      *
7270      * <code>
7271      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7272      * </code>
7273      */
setServerCaCerts( int index, com.google.cloud.redis.v1.TlsCertificate.Builder builderForValue)7274     public Builder setServerCaCerts(
7275         int index, com.google.cloud.redis.v1.TlsCertificate.Builder builderForValue) {
7276       if (serverCaCertsBuilder_ == null) {
7277         ensureServerCaCertsIsMutable();
7278         serverCaCerts_.set(index, builderForValue.build());
7279         onChanged();
7280       } else {
7281         serverCaCertsBuilder_.setMessage(index, builderForValue.build());
7282       }
7283       return this;
7284     }
7285     /**
7286      *
7287      *
7288      * <pre>
7289      * Output only. List of server CA certificates for the instance.
7290      * </pre>
7291      *
7292      * <code>
7293      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7294      * </code>
7295      */
addServerCaCerts(com.google.cloud.redis.v1.TlsCertificate value)7296     public Builder addServerCaCerts(com.google.cloud.redis.v1.TlsCertificate value) {
7297       if (serverCaCertsBuilder_ == null) {
7298         if (value == null) {
7299           throw new NullPointerException();
7300         }
7301         ensureServerCaCertsIsMutable();
7302         serverCaCerts_.add(value);
7303         onChanged();
7304       } else {
7305         serverCaCertsBuilder_.addMessage(value);
7306       }
7307       return this;
7308     }
7309     /**
7310      *
7311      *
7312      * <pre>
7313      * Output only. List of server CA certificates for the instance.
7314      * </pre>
7315      *
7316      * <code>
7317      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7318      * </code>
7319      */
addServerCaCerts(int index, com.google.cloud.redis.v1.TlsCertificate value)7320     public Builder addServerCaCerts(int index, com.google.cloud.redis.v1.TlsCertificate value) {
7321       if (serverCaCertsBuilder_ == null) {
7322         if (value == null) {
7323           throw new NullPointerException();
7324         }
7325         ensureServerCaCertsIsMutable();
7326         serverCaCerts_.add(index, value);
7327         onChanged();
7328       } else {
7329         serverCaCertsBuilder_.addMessage(index, value);
7330       }
7331       return this;
7332     }
7333     /**
7334      *
7335      *
7336      * <pre>
7337      * Output only. List of server CA certificates for the instance.
7338      * </pre>
7339      *
7340      * <code>
7341      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7342      * </code>
7343      */
addServerCaCerts( com.google.cloud.redis.v1.TlsCertificate.Builder builderForValue)7344     public Builder addServerCaCerts(
7345         com.google.cloud.redis.v1.TlsCertificate.Builder builderForValue) {
7346       if (serverCaCertsBuilder_ == null) {
7347         ensureServerCaCertsIsMutable();
7348         serverCaCerts_.add(builderForValue.build());
7349         onChanged();
7350       } else {
7351         serverCaCertsBuilder_.addMessage(builderForValue.build());
7352       }
7353       return this;
7354     }
7355     /**
7356      *
7357      *
7358      * <pre>
7359      * Output only. List of server CA certificates for the instance.
7360      * </pre>
7361      *
7362      * <code>
7363      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7364      * </code>
7365      */
addServerCaCerts( int index, com.google.cloud.redis.v1.TlsCertificate.Builder builderForValue)7366     public Builder addServerCaCerts(
7367         int index, com.google.cloud.redis.v1.TlsCertificate.Builder builderForValue) {
7368       if (serverCaCertsBuilder_ == null) {
7369         ensureServerCaCertsIsMutable();
7370         serverCaCerts_.add(index, builderForValue.build());
7371         onChanged();
7372       } else {
7373         serverCaCertsBuilder_.addMessage(index, builderForValue.build());
7374       }
7375       return this;
7376     }
7377     /**
7378      *
7379      *
7380      * <pre>
7381      * Output only. List of server CA certificates for the instance.
7382      * </pre>
7383      *
7384      * <code>
7385      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7386      * </code>
7387      */
addAllServerCaCerts( java.lang.Iterable<? extends com.google.cloud.redis.v1.TlsCertificate> values)7388     public Builder addAllServerCaCerts(
7389         java.lang.Iterable<? extends com.google.cloud.redis.v1.TlsCertificate> values) {
7390       if (serverCaCertsBuilder_ == null) {
7391         ensureServerCaCertsIsMutable();
7392         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, serverCaCerts_);
7393         onChanged();
7394       } else {
7395         serverCaCertsBuilder_.addAllMessages(values);
7396       }
7397       return this;
7398     }
7399     /**
7400      *
7401      *
7402      * <pre>
7403      * Output only. List of server CA certificates for the instance.
7404      * </pre>
7405      *
7406      * <code>
7407      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7408      * </code>
7409      */
clearServerCaCerts()7410     public Builder clearServerCaCerts() {
7411       if (serverCaCertsBuilder_ == null) {
7412         serverCaCerts_ = java.util.Collections.emptyList();
7413         bitField0_ = (bitField0_ & ~0x00200000);
7414         onChanged();
7415       } else {
7416         serverCaCertsBuilder_.clear();
7417       }
7418       return this;
7419     }
7420     /**
7421      *
7422      *
7423      * <pre>
7424      * Output only. List of server CA certificates for the instance.
7425      * </pre>
7426      *
7427      * <code>
7428      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7429      * </code>
7430      */
removeServerCaCerts(int index)7431     public Builder removeServerCaCerts(int index) {
7432       if (serverCaCertsBuilder_ == null) {
7433         ensureServerCaCertsIsMutable();
7434         serverCaCerts_.remove(index);
7435         onChanged();
7436       } else {
7437         serverCaCertsBuilder_.remove(index);
7438       }
7439       return this;
7440     }
7441     /**
7442      *
7443      *
7444      * <pre>
7445      * Output only. List of server CA certificates for the instance.
7446      * </pre>
7447      *
7448      * <code>
7449      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7450      * </code>
7451      */
getServerCaCertsBuilder(int index)7452     public com.google.cloud.redis.v1.TlsCertificate.Builder getServerCaCertsBuilder(int index) {
7453       return getServerCaCertsFieldBuilder().getBuilder(index);
7454     }
7455     /**
7456      *
7457      *
7458      * <pre>
7459      * Output only. List of server CA certificates for the instance.
7460      * </pre>
7461      *
7462      * <code>
7463      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7464      * </code>
7465      */
getServerCaCertsOrBuilder(int index)7466     public com.google.cloud.redis.v1.TlsCertificateOrBuilder getServerCaCertsOrBuilder(int index) {
7467       if (serverCaCertsBuilder_ == null) {
7468         return serverCaCerts_.get(index);
7469       } else {
7470         return serverCaCertsBuilder_.getMessageOrBuilder(index);
7471       }
7472     }
7473     /**
7474      *
7475      *
7476      * <pre>
7477      * Output only. List of server CA certificates for the instance.
7478      * </pre>
7479      *
7480      * <code>
7481      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7482      * </code>
7483      */
7484     public java.util.List<? extends com.google.cloud.redis.v1.TlsCertificateOrBuilder>
getServerCaCertsOrBuilderList()7485         getServerCaCertsOrBuilderList() {
7486       if (serverCaCertsBuilder_ != null) {
7487         return serverCaCertsBuilder_.getMessageOrBuilderList();
7488       } else {
7489         return java.util.Collections.unmodifiableList(serverCaCerts_);
7490       }
7491     }
7492     /**
7493      *
7494      *
7495      * <pre>
7496      * Output only. List of server CA certificates for the instance.
7497      * </pre>
7498      *
7499      * <code>
7500      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7501      * </code>
7502      */
addServerCaCertsBuilder()7503     public com.google.cloud.redis.v1.TlsCertificate.Builder addServerCaCertsBuilder() {
7504       return getServerCaCertsFieldBuilder()
7505           .addBuilder(com.google.cloud.redis.v1.TlsCertificate.getDefaultInstance());
7506     }
7507     /**
7508      *
7509      *
7510      * <pre>
7511      * Output only. List of server CA certificates for the instance.
7512      * </pre>
7513      *
7514      * <code>
7515      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7516      * </code>
7517      */
addServerCaCertsBuilder(int index)7518     public com.google.cloud.redis.v1.TlsCertificate.Builder addServerCaCertsBuilder(int index) {
7519       return getServerCaCertsFieldBuilder()
7520           .addBuilder(index, com.google.cloud.redis.v1.TlsCertificate.getDefaultInstance());
7521     }
7522     /**
7523      *
7524      *
7525      * <pre>
7526      * Output only. List of server CA certificates for the instance.
7527      * </pre>
7528      *
7529      * <code>
7530      * repeated .google.cloud.redis.v1.TlsCertificate server_ca_certs = 25 [(.google.api.field_behavior) = OUTPUT_ONLY];
7531      * </code>
7532      */
7533     public java.util.List<com.google.cloud.redis.v1.TlsCertificate.Builder>
getServerCaCertsBuilderList()7534         getServerCaCertsBuilderList() {
7535       return getServerCaCertsFieldBuilder().getBuilderList();
7536     }
7537 
7538     private com.google.protobuf.RepeatedFieldBuilderV3<
7539             com.google.cloud.redis.v1.TlsCertificate,
7540             com.google.cloud.redis.v1.TlsCertificate.Builder,
7541             com.google.cloud.redis.v1.TlsCertificateOrBuilder>
getServerCaCertsFieldBuilder()7542         getServerCaCertsFieldBuilder() {
7543       if (serverCaCertsBuilder_ == null) {
7544         serverCaCertsBuilder_ =
7545             new com.google.protobuf.RepeatedFieldBuilderV3<
7546                 com.google.cloud.redis.v1.TlsCertificate,
7547                 com.google.cloud.redis.v1.TlsCertificate.Builder,
7548                 com.google.cloud.redis.v1.TlsCertificateOrBuilder>(
7549                 serverCaCerts_,
7550                 ((bitField0_ & 0x00200000) != 0),
7551                 getParentForChildren(),
7552                 isClean());
7553         serverCaCerts_ = null;
7554       }
7555       return serverCaCertsBuilder_;
7556     }
7557 
7558     private int transitEncryptionMode_ = 0;
7559     /**
7560      *
7561      *
7562      * <pre>
7563      * Optional. The TLS mode of the Redis instance.
7564      * If not provided, TLS is disabled for the instance.
7565      * </pre>
7566      *
7567      * <code>
7568      * .google.cloud.redis.v1.Instance.TransitEncryptionMode transit_encryption_mode = 26 [(.google.api.field_behavior) = OPTIONAL];
7569      * </code>
7570      *
7571      * @return The enum numeric value on the wire for transitEncryptionMode.
7572      */
7573     @java.lang.Override
getTransitEncryptionModeValue()7574     public int getTransitEncryptionModeValue() {
7575       return transitEncryptionMode_;
7576     }
7577     /**
7578      *
7579      *
7580      * <pre>
7581      * Optional. The TLS mode of the Redis instance.
7582      * If not provided, TLS is disabled for the instance.
7583      * </pre>
7584      *
7585      * <code>
7586      * .google.cloud.redis.v1.Instance.TransitEncryptionMode transit_encryption_mode = 26 [(.google.api.field_behavior) = OPTIONAL];
7587      * </code>
7588      *
7589      * @param value The enum numeric value on the wire for transitEncryptionMode to set.
7590      * @return This builder for chaining.
7591      */
setTransitEncryptionModeValue(int value)7592     public Builder setTransitEncryptionModeValue(int value) {
7593       transitEncryptionMode_ = value;
7594       bitField0_ |= 0x00400000;
7595       onChanged();
7596       return this;
7597     }
7598     /**
7599      *
7600      *
7601      * <pre>
7602      * Optional. The TLS mode of the Redis instance.
7603      * If not provided, TLS is disabled for the instance.
7604      * </pre>
7605      *
7606      * <code>
7607      * .google.cloud.redis.v1.Instance.TransitEncryptionMode transit_encryption_mode = 26 [(.google.api.field_behavior) = OPTIONAL];
7608      * </code>
7609      *
7610      * @return The transitEncryptionMode.
7611      */
7612     @java.lang.Override
getTransitEncryptionMode()7613     public com.google.cloud.redis.v1.Instance.TransitEncryptionMode getTransitEncryptionMode() {
7614       com.google.cloud.redis.v1.Instance.TransitEncryptionMode result =
7615           com.google.cloud.redis.v1.Instance.TransitEncryptionMode.forNumber(
7616               transitEncryptionMode_);
7617       return result == null
7618           ? com.google.cloud.redis.v1.Instance.TransitEncryptionMode.UNRECOGNIZED
7619           : result;
7620     }
7621     /**
7622      *
7623      *
7624      * <pre>
7625      * Optional. The TLS mode of the Redis instance.
7626      * If not provided, TLS is disabled for the instance.
7627      * </pre>
7628      *
7629      * <code>
7630      * .google.cloud.redis.v1.Instance.TransitEncryptionMode transit_encryption_mode = 26 [(.google.api.field_behavior) = OPTIONAL];
7631      * </code>
7632      *
7633      * @param value The transitEncryptionMode to set.
7634      * @return This builder for chaining.
7635      */
setTransitEncryptionMode( com.google.cloud.redis.v1.Instance.TransitEncryptionMode value)7636     public Builder setTransitEncryptionMode(
7637         com.google.cloud.redis.v1.Instance.TransitEncryptionMode value) {
7638       if (value == null) {
7639         throw new NullPointerException();
7640       }
7641       bitField0_ |= 0x00400000;
7642       transitEncryptionMode_ = value.getNumber();
7643       onChanged();
7644       return this;
7645     }
7646     /**
7647      *
7648      *
7649      * <pre>
7650      * Optional. The TLS mode of the Redis instance.
7651      * If not provided, TLS is disabled for the instance.
7652      * </pre>
7653      *
7654      * <code>
7655      * .google.cloud.redis.v1.Instance.TransitEncryptionMode transit_encryption_mode = 26 [(.google.api.field_behavior) = OPTIONAL];
7656      * </code>
7657      *
7658      * @return This builder for chaining.
7659      */
clearTransitEncryptionMode()7660     public Builder clearTransitEncryptionMode() {
7661       bitField0_ = (bitField0_ & ~0x00400000);
7662       transitEncryptionMode_ = 0;
7663       onChanged();
7664       return this;
7665     }
7666 
7667     private com.google.cloud.redis.v1.MaintenancePolicy maintenancePolicy_;
7668     private com.google.protobuf.SingleFieldBuilderV3<
7669             com.google.cloud.redis.v1.MaintenancePolicy,
7670             com.google.cloud.redis.v1.MaintenancePolicy.Builder,
7671             com.google.cloud.redis.v1.MaintenancePolicyOrBuilder>
7672         maintenancePolicyBuilder_;
7673     /**
7674      *
7675      *
7676      * <pre>
7677      * Optional. The maintenance policy for the instance. If not provided,
7678      * maintenance events can be performed at any time.
7679      * </pre>
7680      *
7681      * <code>
7682      * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
7683      * </code>
7684      *
7685      * @return Whether the maintenancePolicy field is set.
7686      */
hasMaintenancePolicy()7687     public boolean hasMaintenancePolicy() {
7688       return ((bitField0_ & 0x00800000) != 0);
7689     }
7690     /**
7691      *
7692      *
7693      * <pre>
7694      * Optional. The maintenance policy for the instance. If not provided,
7695      * maintenance events can be performed at any time.
7696      * </pre>
7697      *
7698      * <code>
7699      * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
7700      * </code>
7701      *
7702      * @return The maintenancePolicy.
7703      */
getMaintenancePolicy()7704     public com.google.cloud.redis.v1.MaintenancePolicy getMaintenancePolicy() {
7705       if (maintenancePolicyBuilder_ == null) {
7706         return maintenancePolicy_ == null
7707             ? com.google.cloud.redis.v1.MaintenancePolicy.getDefaultInstance()
7708             : maintenancePolicy_;
7709       } else {
7710         return maintenancePolicyBuilder_.getMessage();
7711       }
7712     }
7713     /**
7714      *
7715      *
7716      * <pre>
7717      * Optional. The maintenance policy for the instance. If not provided,
7718      * maintenance events can be performed at any time.
7719      * </pre>
7720      *
7721      * <code>
7722      * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
7723      * </code>
7724      */
setMaintenancePolicy(com.google.cloud.redis.v1.MaintenancePolicy value)7725     public Builder setMaintenancePolicy(com.google.cloud.redis.v1.MaintenancePolicy value) {
7726       if (maintenancePolicyBuilder_ == null) {
7727         if (value == null) {
7728           throw new NullPointerException();
7729         }
7730         maintenancePolicy_ = value;
7731       } else {
7732         maintenancePolicyBuilder_.setMessage(value);
7733       }
7734       bitField0_ |= 0x00800000;
7735       onChanged();
7736       return this;
7737     }
7738     /**
7739      *
7740      *
7741      * <pre>
7742      * Optional. The maintenance policy for the instance. If not provided,
7743      * maintenance events can be performed at any time.
7744      * </pre>
7745      *
7746      * <code>
7747      * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
7748      * </code>
7749      */
setMaintenancePolicy( com.google.cloud.redis.v1.MaintenancePolicy.Builder builderForValue)7750     public Builder setMaintenancePolicy(
7751         com.google.cloud.redis.v1.MaintenancePolicy.Builder builderForValue) {
7752       if (maintenancePolicyBuilder_ == null) {
7753         maintenancePolicy_ = builderForValue.build();
7754       } else {
7755         maintenancePolicyBuilder_.setMessage(builderForValue.build());
7756       }
7757       bitField0_ |= 0x00800000;
7758       onChanged();
7759       return this;
7760     }
7761     /**
7762      *
7763      *
7764      * <pre>
7765      * Optional. The maintenance policy for the instance. If not provided,
7766      * maintenance events can be performed at any time.
7767      * </pre>
7768      *
7769      * <code>
7770      * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
7771      * </code>
7772      */
mergeMaintenancePolicy(com.google.cloud.redis.v1.MaintenancePolicy value)7773     public Builder mergeMaintenancePolicy(com.google.cloud.redis.v1.MaintenancePolicy value) {
7774       if (maintenancePolicyBuilder_ == null) {
7775         if (((bitField0_ & 0x00800000) != 0)
7776             && maintenancePolicy_ != null
7777             && maintenancePolicy_
7778                 != com.google.cloud.redis.v1.MaintenancePolicy.getDefaultInstance()) {
7779           getMaintenancePolicyBuilder().mergeFrom(value);
7780         } else {
7781           maintenancePolicy_ = value;
7782         }
7783       } else {
7784         maintenancePolicyBuilder_.mergeFrom(value);
7785       }
7786       bitField0_ |= 0x00800000;
7787       onChanged();
7788       return this;
7789     }
7790     /**
7791      *
7792      *
7793      * <pre>
7794      * Optional. The maintenance policy for the instance. If not provided,
7795      * maintenance events can be performed at any time.
7796      * </pre>
7797      *
7798      * <code>
7799      * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
7800      * </code>
7801      */
clearMaintenancePolicy()7802     public Builder clearMaintenancePolicy() {
7803       bitField0_ = (bitField0_ & ~0x00800000);
7804       maintenancePolicy_ = null;
7805       if (maintenancePolicyBuilder_ != null) {
7806         maintenancePolicyBuilder_.dispose();
7807         maintenancePolicyBuilder_ = null;
7808       }
7809       onChanged();
7810       return this;
7811     }
7812     /**
7813      *
7814      *
7815      * <pre>
7816      * Optional. The maintenance policy for the instance. If not provided,
7817      * maintenance events can be performed at any time.
7818      * </pre>
7819      *
7820      * <code>
7821      * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
7822      * </code>
7823      */
getMaintenancePolicyBuilder()7824     public com.google.cloud.redis.v1.MaintenancePolicy.Builder getMaintenancePolicyBuilder() {
7825       bitField0_ |= 0x00800000;
7826       onChanged();
7827       return getMaintenancePolicyFieldBuilder().getBuilder();
7828     }
7829     /**
7830      *
7831      *
7832      * <pre>
7833      * Optional. The maintenance policy for the instance. If not provided,
7834      * maintenance events can be performed at any time.
7835      * </pre>
7836      *
7837      * <code>
7838      * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
7839      * </code>
7840      */
getMaintenancePolicyOrBuilder()7841     public com.google.cloud.redis.v1.MaintenancePolicyOrBuilder getMaintenancePolicyOrBuilder() {
7842       if (maintenancePolicyBuilder_ != null) {
7843         return maintenancePolicyBuilder_.getMessageOrBuilder();
7844       } else {
7845         return maintenancePolicy_ == null
7846             ? com.google.cloud.redis.v1.MaintenancePolicy.getDefaultInstance()
7847             : maintenancePolicy_;
7848       }
7849     }
7850     /**
7851      *
7852      *
7853      * <pre>
7854      * Optional. The maintenance policy for the instance. If not provided,
7855      * maintenance events can be performed at any time.
7856      * </pre>
7857      *
7858      * <code>
7859      * .google.cloud.redis.v1.MaintenancePolicy maintenance_policy = 27 [(.google.api.field_behavior) = OPTIONAL];
7860      * </code>
7861      */
7862     private com.google.protobuf.SingleFieldBuilderV3<
7863             com.google.cloud.redis.v1.MaintenancePolicy,
7864             com.google.cloud.redis.v1.MaintenancePolicy.Builder,
7865             com.google.cloud.redis.v1.MaintenancePolicyOrBuilder>
getMaintenancePolicyFieldBuilder()7866         getMaintenancePolicyFieldBuilder() {
7867       if (maintenancePolicyBuilder_ == null) {
7868         maintenancePolicyBuilder_ =
7869             new com.google.protobuf.SingleFieldBuilderV3<
7870                 com.google.cloud.redis.v1.MaintenancePolicy,
7871                 com.google.cloud.redis.v1.MaintenancePolicy.Builder,
7872                 com.google.cloud.redis.v1.MaintenancePolicyOrBuilder>(
7873                 getMaintenancePolicy(), getParentForChildren(), isClean());
7874         maintenancePolicy_ = null;
7875       }
7876       return maintenancePolicyBuilder_;
7877     }
7878 
7879     private com.google.cloud.redis.v1.MaintenanceSchedule maintenanceSchedule_;
7880     private com.google.protobuf.SingleFieldBuilderV3<
7881             com.google.cloud.redis.v1.MaintenanceSchedule,
7882             com.google.cloud.redis.v1.MaintenanceSchedule.Builder,
7883             com.google.cloud.redis.v1.MaintenanceScheduleOrBuilder>
7884         maintenanceScheduleBuilder_;
7885     /**
7886      *
7887      *
7888      * <pre>
7889      * Output only. Date and time of upcoming maintenance events which have been
7890      * scheduled.
7891      * </pre>
7892      *
7893      * <code>
7894      * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
7895      * </code>
7896      *
7897      * @return Whether the maintenanceSchedule field is set.
7898      */
hasMaintenanceSchedule()7899     public boolean hasMaintenanceSchedule() {
7900       return ((bitField0_ & 0x01000000) != 0);
7901     }
7902     /**
7903      *
7904      *
7905      * <pre>
7906      * Output only. Date and time of upcoming maintenance events which have been
7907      * scheduled.
7908      * </pre>
7909      *
7910      * <code>
7911      * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
7912      * </code>
7913      *
7914      * @return The maintenanceSchedule.
7915      */
getMaintenanceSchedule()7916     public com.google.cloud.redis.v1.MaintenanceSchedule getMaintenanceSchedule() {
7917       if (maintenanceScheduleBuilder_ == null) {
7918         return maintenanceSchedule_ == null
7919             ? com.google.cloud.redis.v1.MaintenanceSchedule.getDefaultInstance()
7920             : maintenanceSchedule_;
7921       } else {
7922         return maintenanceScheduleBuilder_.getMessage();
7923       }
7924     }
7925     /**
7926      *
7927      *
7928      * <pre>
7929      * Output only. Date and time of upcoming maintenance events which have been
7930      * scheduled.
7931      * </pre>
7932      *
7933      * <code>
7934      * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
7935      * </code>
7936      */
setMaintenanceSchedule(com.google.cloud.redis.v1.MaintenanceSchedule value)7937     public Builder setMaintenanceSchedule(com.google.cloud.redis.v1.MaintenanceSchedule value) {
7938       if (maintenanceScheduleBuilder_ == null) {
7939         if (value == null) {
7940           throw new NullPointerException();
7941         }
7942         maintenanceSchedule_ = value;
7943       } else {
7944         maintenanceScheduleBuilder_.setMessage(value);
7945       }
7946       bitField0_ |= 0x01000000;
7947       onChanged();
7948       return this;
7949     }
7950     /**
7951      *
7952      *
7953      * <pre>
7954      * Output only. Date and time of upcoming maintenance events which have been
7955      * scheduled.
7956      * </pre>
7957      *
7958      * <code>
7959      * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
7960      * </code>
7961      */
setMaintenanceSchedule( com.google.cloud.redis.v1.MaintenanceSchedule.Builder builderForValue)7962     public Builder setMaintenanceSchedule(
7963         com.google.cloud.redis.v1.MaintenanceSchedule.Builder builderForValue) {
7964       if (maintenanceScheduleBuilder_ == null) {
7965         maintenanceSchedule_ = builderForValue.build();
7966       } else {
7967         maintenanceScheduleBuilder_.setMessage(builderForValue.build());
7968       }
7969       bitField0_ |= 0x01000000;
7970       onChanged();
7971       return this;
7972     }
7973     /**
7974      *
7975      *
7976      * <pre>
7977      * Output only. Date and time of upcoming maintenance events which have been
7978      * scheduled.
7979      * </pre>
7980      *
7981      * <code>
7982      * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
7983      * </code>
7984      */
mergeMaintenanceSchedule(com.google.cloud.redis.v1.MaintenanceSchedule value)7985     public Builder mergeMaintenanceSchedule(com.google.cloud.redis.v1.MaintenanceSchedule value) {
7986       if (maintenanceScheduleBuilder_ == null) {
7987         if (((bitField0_ & 0x01000000) != 0)
7988             && maintenanceSchedule_ != null
7989             && maintenanceSchedule_
7990                 != com.google.cloud.redis.v1.MaintenanceSchedule.getDefaultInstance()) {
7991           getMaintenanceScheduleBuilder().mergeFrom(value);
7992         } else {
7993           maintenanceSchedule_ = value;
7994         }
7995       } else {
7996         maintenanceScheduleBuilder_.mergeFrom(value);
7997       }
7998       bitField0_ |= 0x01000000;
7999       onChanged();
8000       return this;
8001     }
8002     /**
8003      *
8004      *
8005      * <pre>
8006      * Output only. Date and time of upcoming maintenance events which have been
8007      * scheduled.
8008      * </pre>
8009      *
8010      * <code>
8011      * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
8012      * </code>
8013      */
clearMaintenanceSchedule()8014     public Builder clearMaintenanceSchedule() {
8015       bitField0_ = (bitField0_ & ~0x01000000);
8016       maintenanceSchedule_ = null;
8017       if (maintenanceScheduleBuilder_ != null) {
8018         maintenanceScheduleBuilder_.dispose();
8019         maintenanceScheduleBuilder_ = null;
8020       }
8021       onChanged();
8022       return this;
8023     }
8024     /**
8025      *
8026      *
8027      * <pre>
8028      * Output only. Date and time of upcoming maintenance events which have been
8029      * scheduled.
8030      * </pre>
8031      *
8032      * <code>
8033      * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
8034      * </code>
8035      */
getMaintenanceScheduleBuilder()8036     public com.google.cloud.redis.v1.MaintenanceSchedule.Builder getMaintenanceScheduleBuilder() {
8037       bitField0_ |= 0x01000000;
8038       onChanged();
8039       return getMaintenanceScheduleFieldBuilder().getBuilder();
8040     }
8041     /**
8042      *
8043      *
8044      * <pre>
8045      * Output only. Date and time of upcoming maintenance events which have been
8046      * scheduled.
8047      * </pre>
8048      *
8049      * <code>
8050      * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
8051      * </code>
8052      */
8053     public com.google.cloud.redis.v1.MaintenanceScheduleOrBuilder
getMaintenanceScheduleOrBuilder()8054         getMaintenanceScheduleOrBuilder() {
8055       if (maintenanceScheduleBuilder_ != null) {
8056         return maintenanceScheduleBuilder_.getMessageOrBuilder();
8057       } else {
8058         return maintenanceSchedule_ == null
8059             ? com.google.cloud.redis.v1.MaintenanceSchedule.getDefaultInstance()
8060             : maintenanceSchedule_;
8061       }
8062     }
8063     /**
8064      *
8065      *
8066      * <pre>
8067      * Output only. Date and time of upcoming maintenance events which have been
8068      * scheduled.
8069      * </pre>
8070      *
8071      * <code>
8072      * .google.cloud.redis.v1.MaintenanceSchedule maintenance_schedule = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];
8073      * </code>
8074      */
8075     private com.google.protobuf.SingleFieldBuilderV3<
8076             com.google.cloud.redis.v1.MaintenanceSchedule,
8077             com.google.cloud.redis.v1.MaintenanceSchedule.Builder,
8078             com.google.cloud.redis.v1.MaintenanceScheduleOrBuilder>
getMaintenanceScheduleFieldBuilder()8079         getMaintenanceScheduleFieldBuilder() {
8080       if (maintenanceScheduleBuilder_ == null) {
8081         maintenanceScheduleBuilder_ =
8082             new com.google.protobuf.SingleFieldBuilderV3<
8083                 com.google.cloud.redis.v1.MaintenanceSchedule,
8084                 com.google.cloud.redis.v1.MaintenanceSchedule.Builder,
8085                 com.google.cloud.redis.v1.MaintenanceScheduleOrBuilder>(
8086                 getMaintenanceSchedule(), getParentForChildren(), isClean());
8087         maintenanceSchedule_ = null;
8088       }
8089       return maintenanceScheduleBuilder_;
8090     }
8091 
8092     private int replicaCount_;
8093     /**
8094      *
8095      *
8096      * <pre>
8097      * Optional. The number of replica nodes. The valid range for the Standard
8098      * Tier with read replicas enabled is [1-5] and defaults to 2. If read
8099      * replicas are not enabled for a Standard Tier instance, the only valid value
8100      * is 1 and the default is 1. The valid value for basic tier is 0 and the
8101      * default is also 0.
8102      * </pre>
8103      *
8104      * <code>int32 replica_count = 31 [(.google.api.field_behavior) = OPTIONAL];</code>
8105      *
8106      * @return The replicaCount.
8107      */
8108     @java.lang.Override
getReplicaCount()8109     public int getReplicaCount() {
8110       return replicaCount_;
8111     }
8112     /**
8113      *
8114      *
8115      * <pre>
8116      * Optional. The number of replica nodes. The valid range for the Standard
8117      * Tier with read replicas enabled is [1-5] and defaults to 2. If read
8118      * replicas are not enabled for a Standard Tier instance, the only valid value
8119      * is 1 and the default is 1. The valid value for basic tier is 0 and the
8120      * default is also 0.
8121      * </pre>
8122      *
8123      * <code>int32 replica_count = 31 [(.google.api.field_behavior) = OPTIONAL];</code>
8124      *
8125      * @param value The replicaCount to set.
8126      * @return This builder for chaining.
8127      */
setReplicaCount(int value)8128     public Builder setReplicaCount(int value) {
8129 
8130       replicaCount_ = value;
8131       bitField0_ |= 0x02000000;
8132       onChanged();
8133       return this;
8134     }
8135     /**
8136      *
8137      *
8138      * <pre>
8139      * Optional. The number of replica nodes. The valid range for the Standard
8140      * Tier with read replicas enabled is [1-5] and defaults to 2. If read
8141      * replicas are not enabled for a Standard Tier instance, the only valid value
8142      * is 1 and the default is 1. The valid value for basic tier is 0 and the
8143      * default is also 0.
8144      * </pre>
8145      *
8146      * <code>int32 replica_count = 31 [(.google.api.field_behavior) = OPTIONAL];</code>
8147      *
8148      * @return This builder for chaining.
8149      */
clearReplicaCount()8150     public Builder clearReplicaCount() {
8151       bitField0_ = (bitField0_ & ~0x02000000);
8152       replicaCount_ = 0;
8153       onChanged();
8154       return this;
8155     }
8156 
8157     private java.util.List<com.google.cloud.redis.v1.NodeInfo> nodes_ =
8158         java.util.Collections.emptyList();
8159 
ensureNodesIsMutable()8160     private void ensureNodesIsMutable() {
8161       if (!((bitField0_ & 0x04000000) != 0)) {
8162         nodes_ = new java.util.ArrayList<com.google.cloud.redis.v1.NodeInfo>(nodes_);
8163         bitField0_ |= 0x04000000;
8164       }
8165     }
8166 
8167     private com.google.protobuf.RepeatedFieldBuilderV3<
8168             com.google.cloud.redis.v1.NodeInfo,
8169             com.google.cloud.redis.v1.NodeInfo.Builder,
8170             com.google.cloud.redis.v1.NodeInfoOrBuilder>
8171         nodesBuilder_;
8172 
8173     /**
8174      *
8175      *
8176      * <pre>
8177      * Output only. Info per node.
8178      * </pre>
8179      *
8180      * <code>
8181      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8182      * </code>
8183      */
getNodesList()8184     public java.util.List<com.google.cloud.redis.v1.NodeInfo> getNodesList() {
8185       if (nodesBuilder_ == null) {
8186         return java.util.Collections.unmodifiableList(nodes_);
8187       } else {
8188         return nodesBuilder_.getMessageList();
8189       }
8190     }
8191     /**
8192      *
8193      *
8194      * <pre>
8195      * Output only. Info per node.
8196      * </pre>
8197      *
8198      * <code>
8199      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8200      * </code>
8201      */
getNodesCount()8202     public int getNodesCount() {
8203       if (nodesBuilder_ == null) {
8204         return nodes_.size();
8205       } else {
8206         return nodesBuilder_.getCount();
8207       }
8208     }
8209     /**
8210      *
8211      *
8212      * <pre>
8213      * Output only. Info per node.
8214      * </pre>
8215      *
8216      * <code>
8217      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8218      * </code>
8219      */
getNodes(int index)8220     public com.google.cloud.redis.v1.NodeInfo getNodes(int index) {
8221       if (nodesBuilder_ == null) {
8222         return nodes_.get(index);
8223       } else {
8224         return nodesBuilder_.getMessage(index);
8225       }
8226     }
8227     /**
8228      *
8229      *
8230      * <pre>
8231      * Output only. Info per node.
8232      * </pre>
8233      *
8234      * <code>
8235      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8236      * </code>
8237      */
setNodes(int index, com.google.cloud.redis.v1.NodeInfo value)8238     public Builder setNodes(int index, com.google.cloud.redis.v1.NodeInfo value) {
8239       if (nodesBuilder_ == null) {
8240         if (value == null) {
8241           throw new NullPointerException();
8242         }
8243         ensureNodesIsMutable();
8244         nodes_.set(index, value);
8245         onChanged();
8246       } else {
8247         nodesBuilder_.setMessage(index, value);
8248       }
8249       return this;
8250     }
8251     /**
8252      *
8253      *
8254      * <pre>
8255      * Output only. Info per node.
8256      * </pre>
8257      *
8258      * <code>
8259      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8260      * </code>
8261      */
setNodes(int index, com.google.cloud.redis.v1.NodeInfo.Builder builderForValue)8262     public Builder setNodes(int index, com.google.cloud.redis.v1.NodeInfo.Builder builderForValue) {
8263       if (nodesBuilder_ == null) {
8264         ensureNodesIsMutable();
8265         nodes_.set(index, builderForValue.build());
8266         onChanged();
8267       } else {
8268         nodesBuilder_.setMessage(index, builderForValue.build());
8269       }
8270       return this;
8271     }
8272     /**
8273      *
8274      *
8275      * <pre>
8276      * Output only. Info per node.
8277      * </pre>
8278      *
8279      * <code>
8280      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8281      * </code>
8282      */
addNodes(com.google.cloud.redis.v1.NodeInfo value)8283     public Builder addNodes(com.google.cloud.redis.v1.NodeInfo value) {
8284       if (nodesBuilder_ == null) {
8285         if (value == null) {
8286           throw new NullPointerException();
8287         }
8288         ensureNodesIsMutable();
8289         nodes_.add(value);
8290         onChanged();
8291       } else {
8292         nodesBuilder_.addMessage(value);
8293       }
8294       return this;
8295     }
8296     /**
8297      *
8298      *
8299      * <pre>
8300      * Output only. Info per node.
8301      * </pre>
8302      *
8303      * <code>
8304      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8305      * </code>
8306      */
addNodes(int index, com.google.cloud.redis.v1.NodeInfo value)8307     public Builder addNodes(int index, com.google.cloud.redis.v1.NodeInfo value) {
8308       if (nodesBuilder_ == null) {
8309         if (value == null) {
8310           throw new NullPointerException();
8311         }
8312         ensureNodesIsMutable();
8313         nodes_.add(index, value);
8314         onChanged();
8315       } else {
8316         nodesBuilder_.addMessage(index, value);
8317       }
8318       return this;
8319     }
8320     /**
8321      *
8322      *
8323      * <pre>
8324      * Output only. Info per node.
8325      * </pre>
8326      *
8327      * <code>
8328      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8329      * </code>
8330      */
addNodes(com.google.cloud.redis.v1.NodeInfo.Builder builderForValue)8331     public Builder addNodes(com.google.cloud.redis.v1.NodeInfo.Builder builderForValue) {
8332       if (nodesBuilder_ == null) {
8333         ensureNodesIsMutable();
8334         nodes_.add(builderForValue.build());
8335         onChanged();
8336       } else {
8337         nodesBuilder_.addMessage(builderForValue.build());
8338       }
8339       return this;
8340     }
8341     /**
8342      *
8343      *
8344      * <pre>
8345      * Output only. Info per node.
8346      * </pre>
8347      *
8348      * <code>
8349      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8350      * </code>
8351      */
addNodes(int index, com.google.cloud.redis.v1.NodeInfo.Builder builderForValue)8352     public Builder addNodes(int index, com.google.cloud.redis.v1.NodeInfo.Builder builderForValue) {
8353       if (nodesBuilder_ == null) {
8354         ensureNodesIsMutable();
8355         nodes_.add(index, builderForValue.build());
8356         onChanged();
8357       } else {
8358         nodesBuilder_.addMessage(index, builderForValue.build());
8359       }
8360       return this;
8361     }
8362     /**
8363      *
8364      *
8365      * <pre>
8366      * Output only. Info per node.
8367      * </pre>
8368      *
8369      * <code>
8370      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8371      * </code>
8372      */
addAllNodes( java.lang.Iterable<? extends com.google.cloud.redis.v1.NodeInfo> values)8373     public Builder addAllNodes(
8374         java.lang.Iterable<? extends com.google.cloud.redis.v1.NodeInfo> values) {
8375       if (nodesBuilder_ == null) {
8376         ensureNodesIsMutable();
8377         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, nodes_);
8378         onChanged();
8379       } else {
8380         nodesBuilder_.addAllMessages(values);
8381       }
8382       return this;
8383     }
8384     /**
8385      *
8386      *
8387      * <pre>
8388      * Output only. Info per node.
8389      * </pre>
8390      *
8391      * <code>
8392      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8393      * </code>
8394      */
clearNodes()8395     public Builder clearNodes() {
8396       if (nodesBuilder_ == null) {
8397         nodes_ = java.util.Collections.emptyList();
8398         bitField0_ = (bitField0_ & ~0x04000000);
8399         onChanged();
8400       } else {
8401         nodesBuilder_.clear();
8402       }
8403       return this;
8404     }
8405     /**
8406      *
8407      *
8408      * <pre>
8409      * Output only. Info per node.
8410      * </pre>
8411      *
8412      * <code>
8413      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8414      * </code>
8415      */
removeNodes(int index)8416     public Builder removeNodes(int index) {
8417       if (nodesBuilder_ == null) {
8418         ensureNodesIsMutable();
8419         nodes_.remove(index);
8420         onChanged();
8421       } else {
8422         nodesBuilder_.remove(index);
8423       }
8424       return this;
8425     }
8426     /**
8427      *
8428      *
8429      * <pre>
8430      * Output only. Info per node.
8431      * </pre>
8432      *
8433      * <code>
8434      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8435      * </code>
8436      */
getNodesBuilder(int index)8437     public com.google.cloud.redis.v1.NodeInfo.Builder getNodesBuilder(int index) {
8438       return getNodesFieldBuilder().getBuilder(index);
8439     }
8440     /**
8441      *
8442      *
8443      * <pre>
8444      * Output only. Info per node.
8445      * </pre>
8446      *
8447      * <code>
8448      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8449      * </code>
8450      */
getNodesOrBuilder(int index)8451     public com.google.cloud.redis.v1.NodeInfoOrBuilder getNodesOrBuilder(int index) {
8452       if (nodesBuilder_ == null) {
8453         return nodes_.get(index);
8454       } else {
8455         return nodesBuilder_.getMessageOrBuilder(index);
8456       }
8457     }
8458     /**
8459      *
8460      *
8461      * <pre>
8462      * Output only. Info per node.
8463      * </pre>
8464      *
8465      * <code>
8466      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8467      * </code>
8468      */
8469     public java.util.List<? extends com.google.cloud.redis.v1.NodeInfoOrBuilder>
getNodesOrBuilderList()8470         getNodesOrBuilderList() {
8471       if (nodesBuilder_ != null) {
8472         return nodesBuilder_.getMessageOrBuilderList();
8473       } else {
8474         return java.util.Collections.unmodifiableList(nodes_);
8475       }
8476     }
8477     /**
8478      *
8479      *
8480      * <pre>
8481      * Output only. Info per node.
8482      * </pre>
8483      *
8484      * <code>
8485      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8486      * </code>
8487      */
addNodesBuilder()8488     public com.google.cloud.redis.v1.NodeInfo.Builder addNodesBuilder() {
8489       return getNodesFieldBuilder()
8490           .addBuilder(com.google.cloud.redis.v1.NodeInfo.getDefaultInstance());
8491     }
8492     /**
8493      *
8494      *
8495      * <pre>
8496      * Output only. Info per node.
8497      * </pre>
8498      *
8499      * <code>
8500      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8501      * </code>
8502      */
addNodesBuilder(int index)8503     public com.google.cloud.redis.v1.NodeInfo.Builder addNodesBuilder(int index) {
8504       return getNodesFieldBuilder()
8505           .addBuilder(index, com.google.cloud.redis.v1.NodeInfo.getDefaultInstance());
8506     }
8507     /**
8508      *
8509      *
8510      * <pre>
8511      * Output only. Info per node.
8512      * </pre>
8513      *
8514      * <code>
8515      * repeated .google.cloud.redis.v1.NodeInfo nodes = 32 [(.google.api.field_behavior) = OUTPUT_ONLY];
8516      * </code>
8517      */
getNodesBuilderList()8518     public java.util.List<com.google.cloud.redis.v1.NodeInfo.Builder> getNodesBuilderList() {
8519       return getNodesFieldBuilder().getBuilderList();
8520     }
8521 
8522     private com.google.protobuf.RepeatedFieldBuilderV3<
8523             com.google.cloud.redis.v1.NodeInfo,
8524             com.google.cloud.redis.v1.NodeInfo.Builder,
8525             com.google.cloud.redis.v1.NodeInfoOrBuilder>
getNodesFieldBuilder()8526         getNodesFieldBuilder() {
8527       if (nodesBuilder_ == null) {
8528         nodesBuilder_ =
8529             new com.google.protobuf.RepeatedFieldBuilderV3<
8530                 com.google.cloud.redis.v1.NodeInfo,
8531                 com.google.cloud.redis.v1.NodeInfo.Builder,
8532                 com.google.cloud.redis.v1.NodeInfoOrBuilder>(
8533                 nodes_, ((bitField0_ & 0x04000000) != 0), getParentForChildren(), isClean());
8534         nodes_ = null;
8535       }
8536       return nodesBuilder_;
8537     }
8538 
8539     private java.lang.Object readEndpoint_ = "";
8540     /**
8541      *
8542      *
8543      * <pre>
8544      * Output only. Hostname or IP address of the exposed readonly Redis
8545      * endpoint. Standard tier only. Targets all healthy replica nodes in
8546      * instance. Replication is asynchronous and replica nodes will exhibit some
8547      * lag behind the primary. Write requests must target 'host'.
8548      * </pre>
8549      *
8550      * <code>string read_endpoint = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
8551      *
8552      * @return The readEndpoint.
8553      */
getReadEndpoint()8554     public java.lang.String getReadEndpoint() {
8555       java.lang.Object ref = readEndpoint_;
8556       if (!(ref instanceof java.lang.String)) {
8557         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8558         java.lang.String s = bs.toStringUtf8();
8559         readEndpoint_ = s;
8560         return s;
8561       } else {
8562         return (java.lang.String) ref;
8563       }
8564     }
8565     /**
8566      *
8567      *
8568      * <pre>
8569      * Output only. Hostname or IP address of the exposed readonly Redis
8570      * endpoint. Standard tier only. Targets all healthy replica nodes in
8571      * instance. Replication is asynchronous and replica nodes will exhibit some
8572      * lag behind the primary. Write requests must target 'host'.
8573      * </pre>
8574      *
8575      * <code>string read_endpoint = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
8576      *
8577      * @return The bytes for readEndpoint.
8578      */
getReadEndpointBytes()8579     public com.google.protobuf.ByteString getReadEndpointBytes() {
8580       java.lang.Object ref = readEndpoint_;
8581       if (ref instanceof String) {
8582         com.google.protobuf.ByteString b =
8583             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8584         readEndpoint_ = b;
8585         return b;
8586       } else {
8587         return (com.google.protobuf.ByteString) ref;
8588       }
8589     }
8590     /**
8591      *
8592      *
8593      * <pre>
8594      * Output only. Hostname or IP address of the exposed readonly Redis
8595      * endpoint. Standard tier only. Targets all healthy replica nodes in
8596      * instance. Replication is asynchronous and replica nodes will exhibit some
8597      * lag behind the primary. Write requests must target 'host'.
8598      * </pre>
8599      *
8600      * <code>string read_endpoint = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
8601      *
8602      * @param value The readEndpoint to set.
8603      * @return This builder for chaining.
8604      */
setReadEndpoint(java.lang.String value)8605     public Builder setReadEndpoint(java.lang.String value) {
8606       if (value == null) {
8607         throw new NullPointerException();
8608       }
8609       readEndpoint_ = value;
8610       bitField0_ |= 0x08000000;
8611       onChanged();
8612       return this;
8613     }
8614     /**
8615      *
8616      *
8617      * <pre>
8618      * Output only. Hostname or IP address of the exposed readonly Redis
8619      * endpoint. Standard tier only. Targets all healthy replica nodes in
8620      * instance. Replication is asynchronous and replica nodes will exhibit some
8621      * lag behind the primary. Write requests must target 'host'.
8622      * </pre>
8623      *
8624      * <code>string read_endpoint = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
8625      *
8626      * @return This builder for chaining.
8627      */
clearReadEndpoint()8628     public Builder clearReadEndpoint() {
8629       readEndpoint_ = getDefaultInstance().getReadEndpoint();
8630       bitField0_ = (bitField0_ & ~0x08000000);
8631       onChanged();
8632       return this;
8633     }
8634     /**
8635      *
8636      *
8637      * <pre>
8638      * Output only. Hostname or IP address of the exposed readonly Redis
8639      * endpoint. Standard tier only. Targets all healthy replica nodes in
8640      * instance. Replication is asynchronous and replica nodes will exhibit some
8641      * lag behind the primary. Write requests must target 'host'.
8642      * </pre>
8643      *
8644      * <code>string read_endpoint = 33 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
8645      *
8646      * @param value The bytes for readEndpoint to set.
8647      * @return This builder for chaining.
8648      */
setReadEndpointBytes(com.google.protobuf.ByteString value)8649     public Builder setReadEndpointBytes(com.google.protobuf.ByteString value) {
8650       if (value == null) {
8651         throw new NullPointerException();
8652       }
8653       checkByteStringIsUtf8(value);
8654       readEndpoint_ = value;
8655       bitField0_ |= 0x08000000;
8656       onChanged();
8657       return this;
8658     }
8659 
8660     private int readEndpointPort_;
8661     /**
8662      *
8663      *
8664      * <pre>
8665      * Output only. The port number of the exposed readonly redis
8666      * endpoint. Standard tier only. Write requests should target 'port'.
8667      * </pre>
8668      *
8669      * <code>int32 read_endpoint_port = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
8670      *
8671      * @return The readEndpointPort.
8672      */
8673     @java.lang.Override
getReadEndpointPort()8674     public int getReadEndpointPort() {
8675       return readEndpointPort_;
8676     }
8677     /**
8678      *
8679      *
8680      * <pre>
8681      * Output only. The port number of the exposed readonly redis
8682      * endpoint. Standard tier only. Write requests should target 'port'.
8683      * </pre>
8684      *
8685      * <code>int32 read_endpoint_port = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
8686      *
8687      * @param value The readEndpointPort to set.
8688      * @return This builder for chaining.
8689      */
setReadEndpointPort(int value)8690     public Builder setReadEndpointPort(int value) {
8691 
8692       readEndpointPort_ = value;
8693       bitField0_ |= 0x10000000;
8694       onChanged();
8695       return this;
8696     }
8697     /**
8698      *
8699      *
8700      * <pre>
8701      * Output only. The port number of the exposed readonly redis
8702      * endpoint. Standard tier only. Write requests should target 'port'.
8703      * </pre>
8704      *
8705      * <code>int32 read_endpoint_port = 34 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
8706      *
8707      * @return This builder for chaining.
8708      */
clearReadEndpointPort()8709     public Builder clearReadEndpointPort() {
8710       bitField0_ = (bitField0_ & ~0x10000000);
8711       readEndpointPort_ = 0;
8712       onChanged();
8713       return this;
8714     }
8715 
8716     private int readReplicasMode_ = 0;
8717     /**
8718      *
8719      *
8720      * <pre>
8721      * Optional. Read replicas mode for the instance. Defaults to
8722      * READ_REPLICAS_DISABLED.
8723      * </pre>
8724      *
8725      * <code>
8726      * .google.cloud.redis.v1.Instance.ReadReplicasMode read_replicas_mode = 35 [(.google.api.field_behavior) = OPTIONAL];
8727      * </code>
8728      *
8729      * @return The enum numeric value on the wire for readReplicasMode.
8730      */
8731     @java.lang.Override
getReadReplicasModeValue()8732     public int getReadReplicasModeValue() {
8733       return readReplicasMode_;
8734     }
8735     /**
8736      *
8737      *
8738      * <pre>
8739      * Optional. Read replicas mode for the instance. Defaults to
8740      * READ_REPLICAS_DISABLED.
8741      * </pre>
8742      *
8743      * <code>
8744      * .google.cloud.redis.v1.Instance.ReadReplicasMode read_replicas_mode = 35 [(.google.api.field_behavior) = OPTIONAL];
8745      * </code>
8746      *
8747      * @param value The enum numeric value on the wire for readReplicasMode to set.
8748      * @return This builder for chaining.
8749      */
setReadReplicasModeValue(int value)8750     public Builder setReadReplicasModeValue(int value) {
8751       readReplicasMode_ = value;
8752       bitField0_ |= 0x20000000;
8753       onChanged();
8754       return this;
8755     }
8756     /**
8757      *
8758      *
8759      * <pre>
8760      * Optional. Read replicas mode for the instance. Defaults to
8761      * READ_REPLICAS_DISABLED.
8762      * </pre>
8763      *
8764      * <code>
8765      * .google.cloud.redis.v1.Instance.ReadReplicasMode read_replicas_mode = 35 [(.google.api.field_behavior) = OPTIONAL];
8766      * </code>
8767      *
8768      * @return The readReplicasMode.
8769      */
8770     @java.lang.Override
getReadReplicasMode()8771     public com.google.cloud.redis.v1.Instance.ReadReplicasMode getReadReplicasMode() {
8772       com.google.cloud.redis.v1.Instance.ReadReplicasMode result =
8773           com.google.cloud.redis.v1.Instance.ReadReplicasMode.forNumber(readReplicasMode_);
8774       return result == null
8775           ? com.google.cloud.redis.v1.Instance.ReadReplicasMode.UNRECOGNIZED
8776           : result;
8777     }
8778     /**
8779      *
8780      *
8781      * <pre>
8782      * Optional. Read replicas mode for the instance. Defaults to
8783      * READ_REPLICAS_DISABLED.
8784      * </pre>
8785      *
8786      * <code>
8787      * .google.cloud.redis.v1.Instance.ReadReplicasMode read_replicas_mode = 35 [(.google.api.field_behavior) = OPTIONAL];
8788      * </code>
8789      *
8790      * @param value The readReplicasMode to set.
8791      * @return This builder for chaining.
8792      */
setReadReplicasMode(com.google.cloud.redis.v1.Instance.ReadReplicasMode value)8793     public Builder setReadReplicasMode(com.google.cloud.redis.v1.Instance.ReadReplicasMode value) {
8794       if (value == null) {
8795         throw new NullPointerException();
8796       }
8797       bitField0_ |= 0x20000000;
8798       readReplicasMode_ = value.getNumber();
8799       onChanged();
8800       return this;
8801     }
8802     /**
8803      *
8804      *
8805      * <pre>
8806      * Optional. Read replicas mode for the instance. Defaults to
8807      * READ_REPLICAS_DISABLED.
8808      * </pre>
8809      *
8810      * <code>
8811      * .google.cloud.redis.v1.Instance.ReadReplicasMode read_replicas_mode = 35 [(.google.api.field_behavior) = OPTIONAL];
8812      * </code>
8813      *
8814      * @return This builder for chaining.
8815      */
clearReadReplicasMode()8816     public Builder clearReadReplicasMode() {
8817       bitField0_ = (bitField0_ & ~0x20000000);
8818       readReplicasMode_ = 0;
8819       onChanged();
8820       return this;
8821     }
8822 
8823     private java.lang.Object customerManagedKey_ = "";
8824     /**
8825      *
8826      *
8827      * <pre>
8828      * Optional. The KMS key reference that the customer provides when trying to
8829      * create the instance.
8830      * </pre>
8831      *
8832      * <code>string customer_managed_key = 36 [(.google.api.field_behavior) = OPTIONAL];</code>
8833      *
8834      * @return The customerManagedKey.
8835      */
getCustomerManagedKey()8836     public java.lang.String getCustomerManagedKey() {
8837       java.lang.Object ref = customerManagedKey_;
8838       if (!(ref instanceof java.lang.String)) {
8839         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8840         java.lang.String s = bs.toStringUtf8();
8841         customerManagedKey_ = s;
8842         return s;
8843       } else {
8844         return (java.lang.String) ref;
8845       }
8846     }
8847     /**
8848      *
8849      *
8850      * <pre>
8851      * Optional. The KMS key reference that the customer provides when trying to
8852      * create the instance.
8853      * </pre>
8854      *
8855      * <code>string customer_managed_key = 36 [(.google.api.field_behavior) = OPTIONAL];</code>
8856      *
8857      * @return The bytes for customerManagedKey.
8858      */
getCustomerManagedKeyBytes()8859     public com.google.protobuf.ByteString getCustomerManagedKeyBytes() {
8860       java.lang.Object ref = customerManagedKey_;
8861       if (ref instanceof String) {
8862         com.google.protobuf.ByteString b =
8863             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8864         customerManagedKey_ = b;
8865         return b;
8866       } else {
8867         return (com.google.protobuf.ByteString) ref;
8868       }
8869     }
8870     /**
8871      *
8872      *
8873      * <pre>
8874      * Optional. The KMS key reference that the customer provides when trying to
8875      * create the instance.
8876      * </pre>
8877      *
8878      * <code>string customer_managed_key = 36 [(.google.api.field_behavior) = OPTIONAL];</code>
8879      *
8880      * @param value The customerManagedKey to set.
8881      * @return This builder for chaining.
8882      */
setCustomerManagedKey(java.lang.String value)8883     public Builder setCustomerManagedKey(java.lang.String value) {
8884       if (value == null) {
8885         throw new NullPointerException();
8886       }
8887       customerManagedKey_ = value;
8888       bitField0_ |= 0x40000000;
8889       onChanged();
8890       return this;
8891     }
8892     /**
8893      *
8894      *
8895      * <pre>
8896      * Optional. The KMS key reference that the customer provides when trying to
8897      * create the instance.
8898      * </pre>
8899      *
8900      * <code>string customer_managed_key = 36 [(.google.api.field_behavior) = OPTIONAL];</code>
8901      *
8902      * @return This builder for chaining.
8903      */
clearCustomerManagedKey()8904     public Builder clearCustomerManagedKey() {
8905       customerManagedKey_ = getDefaultInstance().getCustomerManagedKey();
8906       bitField0_ = (bitField0_ & ~0x40000000);
8907       onChanged();
8908       return this;
8909     }
8910     /**
8911      *
8912      *
8913      * <pre>
8914      * Optional. The KMS key reference that the customer provides when trying to
8915      * create the instance.
8916      * </pre>
8917      *
8918      * <code>string customer_managed_key = 36 [(.google.api.field_behavior) = OPTIONAL];</code>
8919      *
8920      * @param value The bytes for customerManagedKey to set.
8921      * @return This builder for chaining.
8922      */
setCustomerManagedKeyBytes(com.google.protobuf.ByteString value)8923     public Builder setCustomerManagedKeyBytes(com.google.protobuf.ByteString value) {
8924       if (value == null) {
8925         throw new NullPointerException();
8926       }
8927       checkByteStringIsUtf8(value);
8928       customerManagedKey_ = value;
8929       bitField0_ |= 0x40000000;
8930       onChanged();
8931       return this;
8932     }
8933 
8934     private com.google.cloud.redis.v1.PersistenceConfig persistenceConfig_;
8935     private com.google.protobuf.SingleFieldBuilderV3<
8936             com.google.cloud.redis.v1.PersistenceConfig,
8937             com.google.cloud.redis.v1.PersistenceConfig.Builder,
8938             com.google.cloud.redis.v1.PersistenceConfigOrBuilder>
8939         persistenceConfigBuilder_;
8940     /**
8941      *
8942      *
8943      * <pre>
8944      * Optional. Persistence configuration parameters
8945      * </pre>
8946      *
8947      * <code>
8948      * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
8949      * </code>
8950      *
8951      * @return Whether the persistenceConfig field is set.
8952      */
hasPersistenceConfig()8953     public boolean hasPersistenceConfig() {
8954       return ((bitField0_ & 0x80000000) != 0);
8955     }
8956     /**
8957      *
8958      *
8959      * <pre>
8960      * Optional. Persistence configuration parameters
8961      * </pre>
8962      *
8963      * <code>
8964      * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
8965      * </code>
8966      *
8967      * @return The persistenceConfig.
8968      */
getPersistenceConfig()8969     public com.google.cloud.redis.v1.PersistenceConfig getPersistenceConfig() {
8970       if (persistenceConfigBuilder_ == null) {
8971         return persistenceConfig_ == null
8972             ? com.google.cloud.redis.v1.PersistenceConfig.getDefaultInstance()
8973             : persistenceConfig_;
8974       } else {
8975         return persistenceConfigBuilder_.getMessage();
8976       }
8977     }
8978     /**
8979      *
8980      *
8981      * <pre>
8982      * Optional. Persistence configuration parameters
8983      * </pre>
8984      *
8985      * <code>
8986      * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
8987      * </code>
8988      */
setPersistenceConfig(com.google.cloud.redis.v1.PersistenceConfig value)8989     public Builder setPersistenceConfig(com.google.cloud.redis.v1.PersistenceConfig value) {
8990       if (persistenceConfigBuilder_ == null) {
8991         if (value == null) {
8992           throw new NullPointerException();
8993         }
8994         persistenceConfig_ = value;
8995       } else {
8996         persistenceConfigBuilder_.setMessage(value);
8997       }
8998       bitField0_ |= 0x80000000;
8999       onChanged();
9000       return this;
9001     }
9002     /**
9003      *
9004      *
9005      * <pre>
9006      * Optional. Persistence configuration parameters
9007      * </pre>
9008      *
9009      * <code>
9010      * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
9011      * </code>
9012      */
setPersistenceConfig( com.google.cloud.redis.v1.PersistenceConfig.Builder builderForValue)9013     public Builder setPersistenceConfig(
9014         com.google.cloud.redis.v1.PersistenceConfig.Builder builderForValue) {
9015       if (persistenceConfigBuilder_ == null) {
9016         persistenceConfig_ = builderForValue.build();
9017       } else {
9018         persistenceConfigBuilder_.setMessage(builderForValue.build());
9019       }
9020       bitField0_ |= 0x80000000;
9021       onChanged();
9022       return this;
9023     }
9024     /**
9025      *
9026      *
9027      * <pre>
9028      * Optional. Persistence configuration parameters
9029      * </pre>
9030      *
9031      * <code>
9032      * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
9033      * </code>
9034      */
mergePersistenceConfig(com.google.cloud.redis.v1.PersistenceConfig value)9035     public Builder mergePersistenceConfig(com.google.cloud.redis.v1.PersistenceConfig value) {
9036       if (persistenceConfigBuilder_ == null) {
9037         if (((bitField0_ & 0x80000000) != 0)
9038             && persistenceConfig_ != null
9039             && persistenceConfig_
9040                 != com.google.cloud.redis.v1.PersistenceConfig.getDefaultInstance()) {
9041           getPersistenceConfigBuilder().mergeFrom(value);
9042         } else {
9043           persistenceConfig_ = value;
9044         }
9045       } else {
9046         persistenceConfigBuilder_.mergeFrom(value);
9047       }
9048       bitField0_ |= 0x80000000;
9049       onChanged();
9050       return this;
9051     }
9052     /**
9053      *
9054      *
9055      * <pre>
9056      * Optional. Persistence configuration parameters
9057      * </pre>
9058      *
9059      * <code>
9060      * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
9061      * </code>
9062      */
clearPersistenceConfig()9063     public Builder clearPersistenceConfig() {
9064       bitField0_ = (bitField0_ & ~0x80000000);
9065       persistenceConfig_ = null;
9066       if (persistenceConfigBuilder_ != null) {
9067         persistenceConfigBuilder_.dispose();
9068         persistenceConfigBuilder_ = null;
9069       }
9070       onChanged();
9071       return this;
9072     }
9073     /**
9074      *
9075      *
9076      * <pre>
9077      * Optional. Persistence configuration parameters
9078      * </pre>
9079      *
9080      * <code>
9081      * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
9082      * </code>
9083      */
getPersistenceConfigBuilder()9084     public com.google.cloud.redis.v1.PersistenceConfig.Builder getPersistenceConfigBuilder() {
9085       bitField0_ |= 0x80000000;
9086       onChanged();
9087       return getPersistenceConfigFieldBuilder().getBuilder();
9088     }
9089     /**
9090      *
9091      *
9092      * <pre>
9093      * Optional. Persistence configuration parameters
9094      * </pre>
9095      *
9096      * <code>
9097      * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
9098      * </code>
9099      */
getPersistenceConfigOrBuilder()9100     public com.google.cloud.redis.v1.PersistenceConfigOrBuilder getPersistenceConfigOrBuilder() {
9101       if (persistenceConfigBuilder_ != null) {
9102         return persistenceConfigBuilder_.getMessageOrBuilder();
9103       } else {
9104         return persistenceConfig_ == null
9105             ? com.google.cloud.redis.v1.PersistenceConfig.getDefaultInstance()
9106             : persistenceConfig_;
9107       }
9108     }
9109     /**
9110      *
9111      *
9112      * <pre>
9113      * Optional. Persistence configuration parameters
9114      * </pre>
9115      *
9116      * <code>
9117      * .google.cloud.redis.v1.PersistenceConfig persistence_config = 37 [(.google.api.field_behavior) = OPTIONAL];
9118      * </code>
9119      */
9120     private com.google.protobuf.SingleFieldBuilderV3<
9121             com.google.cloud.redis.v1.PersistenceConfig,
9122             com.google.cloud.redis.v1.PersistenceConfig.Builder,
9123             com.google.cloud.redis.v1.PersistenceConfigOrBuilder>
getPersistenceConfigFieldBuilder()9124         getPersistenceConfigFieldBuilder() {
9125       if (persistenceConfigBuilder_ == null) {
9126         persistenceConfigBuilder_ =
9127             new com.google.protobuf.SingleFieldBuilderV3<
9128                 com.google.cloud.redis.v1.PersistenceConfig,
9129                 com.google.cloud.redis.v1.PersistenceConfig.Builder,
9130                 com.google.cloud.redis.v1.PersistenceConfigOrBuilder>(
9131                 getPersistenceConfig(), getParentForChildren(), isClean());
9132         persistenceConfig_ = null;
9133       }
9134       return persistenceConfigBuilder_;
9135     }
9136 
9137     private java.util.List<java.lang.Integer> suspensionReasons_ =
9138         java.util.Collections.emptyList();
9139 
ensureSuspensionReasonsIsMutable()9140     private void ensureSuspensionReasonsIsMutable() {
9141       if (!((bitField1_ & 0x00000001) != 0)) {
9142         suspensionReasons_ = new java.util.ArrayList<java.lang.Integer>(suspensionReasons_);
9143         bitField1_ |= 0x00000001;
9144       }
9145     }
9146     /**
9147      *
9148      *
9149      * <pre>
9150      * Optional. reasons that causes instance in "SUSPENDED" state.
9151      * </pre>
9152      *
9153      * <code>
9154      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9155      * </code>
9156      *
9157      * @return A list containing the suspensionReasons.
9158      */
9159     public java.util.List<com.google.cloud.redis.v1.Instance.SuspensionReason>
getSuspensionReasonsList()9160         getSuspensionReasonsList() {
9161       return new com.google.protobuf.Internal.ListAdapter<
9162           java.lang.Integer, com.google.cloud.redis.v1.Instance.SuspensionReason>(
9163           suspensionReasons_, suspensionReasons_converter_);
9164     }
9165     /**
9166      *
9167      *
9168      * <pre>
9169      * Optional. reasons that causes instance in "SUSPENDED" state.
9170      * </pre>
9171      *
9172      * <code>
9173      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9174      * </code>
9175      *
9176      * @return The count of suspensionReasons.
9177      */
getSuspensionReasonsCount()9178     public int getSuspensionReasonsCount() {
9179       return suspensionReasons_.size();
9180     }
9181     /**
9182      *
9183      *
9184      * <pre>
9185      * Optional. reasons that causes instance in "SUSPENDED" state.
9186      * </pre>
9187      *
9188      * <code>
9189      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9190      * </code>
9191      *
9192      * @param index The index of the element to return.
9193      * @return The suspensionReasons at the given index.
9194      */
getSuspensionReasons(int index)9195     public com.google.cloud.redis.v1.Instance.SuspensionReason getSuspensionReasons(int index) {
9196       return suspensionReasons_converter_.convert(suspensionReasons_.get(index));
9197     }
9198     /**
9199      *
9200      *
9201      * <pre>
9202      * Optional. reasons that causes instance in "SUSPENDED" state.
9203      * </pre>
9204      *
9205      * <code>
9206      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9207      * </code>
9208      *
9209      * @param index The index to set the value at.
9210      * @param value The suspensionReasons to set.
9211      * @return This builder for chaining.
9212      */
setSuspensionReasons( int index, com.google.cloud.redis.v1.Instance.SuspensionReason value)9213     public Builder setSuspensionReasons(
9214         int index, com.google.cloud.redis.v1.Instance.SuspensionReason value) {
9215       if (value == null) {
9216         throw new NullPointerException();
9217       }
9218       ensureSuspensionReasonsIsMutable();
9219       suspensionReasons_.set(index, value.getNumber());
9220       onChanged();
9221       return this;
9222     }
9223     /**
9224      *
9225      *
9226      * <pre>
9227      * Optional. reasons that causes instance in "SUSPENDED" state.
9228      * </pre>
9229      *
9230      * <code>
9231      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9232      * </code>
9233      *
9234      * @param value The suspensionReasons to add.
9235      * @return This builder for chaining.
9236      */
addSuspensionReasons(com.google.cloud.redis.v1.Instance.SuspensionReason value)9237     public Builder addSuspensionReasons(com.google.cloud.redis.v1.Instance.SuspensionReason value) {
9238       if (value == null) {
9239         throw new NullPointerException();
9240       }
9241       ensureSuspensionReasonsIsMutable();
9242       suspensionReasons_.add(value.getNumber());
9243       onChanged();
9244       return this;
9245     }
9246     /**
9247      *
9248      *
9249      * <pre>
9250      * Optional. reasons that causes instance in "SUSPENDED" state.
9251      * </pre>
9252      *
9253      * <code>
9254      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9255      * </code>
9256      *
9257      * @param values The suspensionReasons to add.
9258      * @return This builder for chaining.
9259      */
addAllSuspensionReasons( java.lang.Iterable<? extends com.google.cloud.redis.v1.Instance.SuspensionReason> values)9260     public Builder addAllSuspensionReasons(
9261         java.lang.Iterable<? extends com.google.cloud.redis.v1.Instance.SuspensionReason> values) {
9262       ensureSuspensionReasonsIsMutable();
9263       for (com.google.cloud.redis.v1.Instance.SuspensionReason value : values) {
9264         suspensionReasons_.add(value.getNumber());
9265       }
9266       onChanged();
9267       return this;
9268     }
9269     /**
9270      *
9271      *
9272      * <pre>
9273      * Optional. reasons that causes instance in "SUSPENDED" state.
9274      * </pre>
9275      *
9276      * <code>
9277      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9278      * </code>
9279      *
9280      * @return This builder for chaining.
9281      */
clearSuspensionReasons()9282     public Builder clearSuspensionReasons() {
9283       suspensionReasons_ = java.util.Collections.emptyList();
9284       bitField1_ = (bitField1_ & ~0x00000001);
9285       onChanged();
9286       return this;
9287     }
9288     /**
9289      *
9290      *
9291      * <pre>
9292      * Optional. reasons that causes instance in "SUSPENDED" state.
9293      * </pre>
9294      *
9295      * <code>
9296      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9297      * </code>
9298      *
9299      * @return A list containing the enum numeric values on the wire for suspensionReasons.
9300      */
getSuspensionReasonsValueList()9301     public java.util.List<java.lang.Integer> getSuspensionReasonsValueList() {
9302       return java.util.Collections.unmodifiableList(suspensionReasons_);
9303     }
9304     /**
9305      *
9306      *
9307      * <pre>
9308      * Optional. reasons that causes instance in "SUSPENDED" state.
9309      * </pre>
9310      *
9311      * <code>
9312      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9313      * </code>
9314      *
9315      * @param index The index of the value to return.
9316      * @return The enum numeric value on the wire of suspensionReasons at the given index.
9317      */
getSuspensionReasonsValue(int index)9318     public int getSuspensionReasonsValue(int index) {
9319       return suspensionReasons_.get(index);
9320     }
9321     /**
9322      *
9323      *
9324      * <pre>
9325      * Optional. reasons that causes instance in "SUSPENDED" state.
9326      * </pre>
9327      *
9328      * <code>
9329      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9330      * </code>
9331      *
9332      * @param index The index to set the value at.
9333      * @param value The enum numeric value on the wire for suspensionReasons to set.
9334      * @return This builder for chaining.
9335      */
setSuspensionReasonsValue(int index, int value)9336     public Builder setSuspensionReasonsValue(int index, int value) {
9337       ensureSuspensionReasonsIsMutable();
9338       suspensionReasons_.set(index, value);
9339       onChanged();
9340       return this;
9341     }
9342     /**
9343      *
9344      *
9345      * <pre>
9346      * Optional. reasons that causes instance in "SUSPENDED" state.
9347      * </pre>
9348      *
9349      * <code>
9350      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9351      * </code>
9352      *
9353      * @param value The enum numeric value on the wire for suspensionReasons to add.
9354      * @return This builder for chaining.
9355      */
addSuspensionReasonsValue(int value)9356     public Builder addSuspensionReasonsValue(int value) {
9357       ensureSuspensionReasonsIsMutable();
9358       suspensionReasons_.add(value);
9359       onChanged();
9360       return this;
9361     }
9362     /**
9363      *
9364      *
9365      * <pre>
9366      * Optional. reasons that causes instance in "SUSPENDED" state.
9367      * </pre>
9368      *
9369      * <code>
9370      * repeated .google.cloud.redis.v1.Instance.SuspensionReason suspension_reasons = 38 [(.google.api.field_behavior) = OPTIONAL];
9371      * </code>
9372      *
9373      * @param values The enum numeric values on the wire for suspensionReasons to add.
9374      * @return This builder for chaining.
9375      */
addAllSuspensionReasonsValue(java.lang.Iterable<java.lang.Integer> values)9376     public Builder addAllSuspensionReasonsValue(java.lang.Iterable<java.lang.Integer> values) {
9377       ensureSuspensionReasonsIsMutable();
9378       for (int value : values) {
9379         suspensionReasons_.add(value);
9380       }
9381       onChanged();
9382       return this;
9383     }
9384 
9385     private java.lang.Object maintenanceVersion_ = "";
9386     /**
9387      *
9388      *
9389      * <pre>
9390      * Optional. The self service update maintenance version.
9391      * The version is date based such as "20210712_00_00".
9392      * </pre>
9393      *
9394      * <code>string maintenance_version = 39 [(.google.api.field_behavior) = OPTIONAL];</code>
9395      *
9396      * @return The maintenanceVersion.
9397      */
getMaintenanceVersion()9398     public java.lang.String getMaintenanceVersion() {
9399       java.lang.Object ref = maintenanceVersion_;
9400       if (!(ref instanceof java.lang.String)) {
9401         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9402         java.lang.String s = bs.toStringUtf8();
9403         maintenanceVersion_ = s;
9404         return s;
9405       } else {
9406         return (java.lang.String) ref;
9407       }
9408     }
9409     /**
9410      *
9411      *
9412      * <pre>
9413      * Optional. The self service update maintenance version.
9414      * The version is date based such as "20210712_00_00".
9415      * </pre>
9416      *
9417      * <code>string maintenance_version = 39 [(.google.api.field_behavior) = OPTIONAL];</code>
9418      *
9419      * @return The bytes for maintenanceVersion.
9420      */
getMaintenanceVersionBytes()9421     public com.google.protobuf.ByteString getMaintenanceVersionBytes() {
9422       java.lang.Object ref = maintenanceVersion_;
9423       if (ref instanceof String) {
9424         com.google.protobuf.ByteString b =
9425             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9426         maintenanceVersion_ = b;
9427         return b;
9428       } else {
9429         return (com.google.protobuf.ByteString) ref;
9430       }
9431     }
9432     /**
9433      *
9434      *
9435      * <pre>
9436      * Optional. The self service update maintenance version.
9437      * The version is date based such as "20210712_00_00".
9438      * </pre>
9439      *
9440      * <code>string maintenance_version = 39 [(.google.api.field_behavior) = OPTIONAL];</code>
9441      *
9442      * @param value The maintenanceVersion to set.
9443      * @return This builder for chaining.
9444      */
setMaintenanceVersion(java.lang.String value)9445     public Builder setMaintenanceVersion(java.lang.String value) {
9446       if (value == null) {
9447         throw new NullPointerException();
9448       }
9449       maintenanceVersion_ = value;
9450       bitField1_ |= 0x00000002;
9451       onChanged();
9452       return this;
9453     }
9454     /**
9455      *
9456      *
9457      * <pre>
9458      * Optional. The self service update maintenance version.
9459      * The version is date based such as "20210712_00_00".
9460      * </pre>
9461      *
9462      * <code>string maintenance_version = 39 [(.google.api.field_behavior) = OPTIONAL];</code>
9463      *
9464      * @return This builder for chaining.
9465      */
clearMaintenanceVersion()9466     public Builder clearMaintenanceVersion() {
9467       maintenanceVersion_ = getDefaultInstance().getMaintenanceVersion();
9468       bitField1_ = (bitField1_ & ~0x00000002);
9469       onChanged();
9470       return this;
9471     }
9472     /**
9473      *
9474      *
9475      * <pre>
9476      * Optional. The self service update maintenance version.
9477      * The version is date based such as "20210712_00_00".
9478      * </pre>
9479      *
9480      * <code>string maintenance_version = 39 [(.google.api.field_behavior) = OPTIONAL];</code>
9481      *
9482      * @param value The bytes for maintenanceVersion to set.
9483      * @return This builder for chaining.
9484      */
setMaintenanceVersionBytes(com.google.protobuf.ByteString value)9485     public Builder setMaintenanceVersionBytes(com.google.protobuf.ByteString value) {
9486       if (value == null) {
9487         throw new NullPointerException();
9488       }
9489       checkByteStringIsUtf8(value);
9490       maintenanceVersion_ = value;
9491       bitField1_ |= 0x00000002;
9492       onChanged();
9493       return this;
9494     }
9495 
9496     private com.google.protobuf.LazyStringList availableMaintenanceVersions_ =
9497         com.google.protobuf.LazyStringArrayList.EMPTY;
9498 
ensureAvailableMaintenanceVersionsIsMutable()9499     private void ensureAvailableMaintenanceVersionsIsMutable() {
9500       if (!((bitField1_ & 0x00000004) != 0)) {
9501         availableMaintenanceVersions_ =
9502             new com.google.protobuf.LazyStringArrayList(availableMaintenanceVersions_);
9503         bitField1_ |= 0x00000004;
9504       }
9505     }
9506     /**
9507      *
9508      *
9509      * <pre>
9510      * Optional. The available maintenance versions that an instance could update
9511      * to.
9512      * </pre>
9513      *
9514      * <code>
9515      * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
9516      * </code>
9517      *
9518      * @return A list containing the availableMaintenanceVersions.
9519      */
getAvailableMaintenanceVersionsList()9520     public com.google.protobuf.ProtocolStringList getAvailableMaintenanceVersionsList() {
9521       return availableMaintenanceVersions_.getUnmodifiableView();
9522     }
9523     /**
9524      *
9525      *
9526      * <pre>
9527      * Optional. The available maintenance versions that an instance could update
9528      * to.
9529      * </pre>
9530      *
9531      * <code>
9532      * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
9533      * </code>
9534      *
9535      * @return The count of availableMaintenanceVersions.
9536      */
getAvailableMaintenanceVersionsCount()9537     public int getAvailableMaintenanceVersionsCount() {
9538       return availableMaintenanceVersions_.size();
9539     }
9540     /**
9541      *
9542      *
9543      * <pre>
9544      * Optional. The available maintenance versions that an instance could update
9545      * to.
9546      * </pre>
9547      *
9548      * <code>
9549      * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
9550      * </code>
9551      *
9552      * @param index The index of the element to return.
9553      * @return The availableMaintenanceVersions at the given index.
9554      */
getAvailableMaintenanceVersions(int index)9555     public java.lang.String getAvailableMaintenanceVersions(int index) {
9556       return availableMaintenanceVersions_.get(index);
9557     }
9558     /**
9559      *
9560      *
9561      * <pre>
9562      * Optional. The available maintenance versions that an instance could update
9563      * to.
9564      * </pre>
9565      *
9566      * <code>
9567      * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
9568      * </code>
9569      *
9570      * @param index The index of the value to return.
9571      * @return The bytes of the availableMaintenanceVersions at the given index.
9572      */
getAvailableMaintenanceVersionsBytes(int index)9573     public com.google.protobuf.ByteString getAvailableMaintenanceVersionsBytes(int index) {
9574       return availableMaintenanceVersions_.getByteString(index);
9575     }
9576     /**
9577      *
9578      *
9579      * <pre>
9580      * Optional. The available maintenance versions that an instance could update
9581      * to.
9582      * </pre>
9583      *
9584      * <code>
9585      * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
9586      * </code>
9587      *
9588      * @param index The index to set the value at.
9589      * @param value The availableMaintenanceVersions to set.
9590      * @return This builder for chaining.
9591      */
setAvailableMaintenanceVersions(int index, java.lang.String value)9592     public Builder setAvailableMaintenanceVersions(int index, java.lang.String value) {
9593       if (value == null) {
9594         throw new NullPointerException();
9595       }
9596       ensureAvailableMaintenanceVersionsIsMutable();
9597       availableMaintenanceVersions_.set(index, value);
9598       onChanged();
9599       return this;
9600     }
9601     /**
9602      *
9603      *
9604      * <pre>
9605      * Optional. The available maintenance versions that an instance could update
9606      * to.
9607      * </pre>
9608      *
9609      * <code>
9610      * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
9611      * </code>
9612      *
9613      * @param value The availableMaintenanceVersions to add.
9614      * @return This builder for chaining.
9615      */
addAvailableMaintenanceVersions(java.lang.String value)9616     public Builder addAvailableMaintenanceVersions(java.lang.String value) {
9617       if (value == null) {
9618         throw new NullPointerException();
9619       }
9620       ensureAvailableMaintenanceVersionsIsMutable();
9621       availableMaintenanceVersions_.add(value);
9622       onChanged();
9623       return this;
9624     }
9625     /**
9626      *
9627      *
9628      * <pre>
9629      * Optional. The available maintenance versions that an instance could update
9630      * to.
9631      * </pre>
9632      *
9633      * <code>
9634      * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
9635      * </code>
9636      *
9637      * @param values The availableMaintenanceVersions to add.
9638      * @return This builder for chaining.
9639      */
addAllAvailableMaintenanceVersions(java.lang.Iterable<java.lang.String> values)9640     public Builder addAllAvailableMaintenanceVersions(java.lang.Iterable<java.lang.String> values) {
9641       ensureAvailableMaintenanceVersionsIsMutable();
9642       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, availableMaintenanceVersions_);
9643       onChanged();
9644       return this;
9645     }
9646     /**
9647      *
9648      *
9649      * <pre>
9650      * Optional. The available maintenance versions that an instance could update
9651      * to.
9652      * </pre>
9653      *
9654      * <code>
9655      * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
9656      * </code>
9657      *
9658      * @return This builder for chaining.
9659      */
clearAvailableMaintenanceVersions()9660     public Builder clearAvailableMaintenanceVersions() {
9661       availableMaintenanceVersions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
9662       bitField1_ = (bitField1_ & ~0x00000004);
9663       onChanged();
9664       return this;
9665     }
9666     /**
9667      *
9668      *
9669      * <pre>
9670      * Optional. The available maintenance versions that an instance could update
9671      * to.
9672      * </pre>
9673      *
9674      * <code>
9675      * repeated string available_maintenance_versions = 40 [(.google.api.field_behavior) = OPTIONAL];
9676      * </code>
9677      *
9678      * @param value The bytes of the availableMaintenanceVersions to add.
9679      * @return This builder for chaining.
9680      */
addAvailableMaintenanceVersionsBytes(com.google.protobuf.ByteString value)9681     public Builder addAvailableMaintenanceVersionsBytes(com.google.protobuf.ByteString value) {
9682       if (value == null) {
9683         throw new NullPointerException();
9684       }
9685       checkByteStringIsUtf8(value);
9686       ensureAvailableMaintenanceVersionsIsMutable();
9687       availableMaintenanceVersions_.add(value);
9688       onChanged();
9689       return this;
9690     }
9691 
9692     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)9693     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
9694       return super.setUnknownFields(unknownFields);
9695     }
9696 
9697     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)9698     public final Builder mergeUnknownFields(
9699         final com.google.protobuf.UnknownFieldSet unknownFields) {
9700       return super.mergeUnknownFields(unknownFields);
9701     }
9702 
9703     // @@protoc_insertion_point(builder_scope:google.cloud.redis.v1.Instance)
9704   }
9705 
9706   // @@protoc_insertion_point(class_scope:google.cloud.redis.v1.Instance)
9707   private static final com.google.cloud.redis.v1.Instance DEFAULT_INSTANCE;
9708 
9709   static {
9710     DEFAULT_INSTANCE = new com.google.cloud.redis.v1.Instance();
9711   }
9712 
getDefaultInstance()9713   public static com.google.cloud.redis.v1.Instance getDefaultInstance() {
9714     return DEFAULT_INSTANCE;
9715   }
9716 
9717   private static final com.google.protobuf.Parser<Instance> PARSER =
9718       new com.google.protobuf.AbstractParser<Instance>() {
9719         @java.lang.Override
9720         public Instance parsePartialFrom(
9721             com.google.protobuf.CodedInputStream input,
9722             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9723             throws com.google.protobuf.InvalidProtocolBufferException {
9724           Builder builder = newBuilder();
9725           try {
9726             builder.mergeFrom(input, extensionRegistry);
9727           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9728             throw e.setUnfinishedMessage(builder.buildPartial());
9729           } catch (com.google.protobuf.UninitializedMessageException e) {
9730             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
9731           } catch (java.io.IOException e) {
9732             throw new com.google.protobuf.InvalidProtocolBufferException(e)
9733                 .setUnfinishedMessage(builder.buildPartial());
9734           }
9735           return builder.buildPartial();
9736         }
9737       };
9738 
parser()9739   public static com.google.protobuf.Parser<Instance> parser() {
9740     return PARSER;
9741   }
9742 
9743   @java.lang.Override
getParserForType()9744   public com.google.protobuf.Parser<Instance> getParserForType() {
9745     return PARSER;
9746   }
9747 
9748   @java.lang.Override
getDefaultInstanceForType()9749   public com.google.cloud.redis.v1.Instance getDefaultInstanceForType() {
9750     return DEFAULT_INSTANCE;
9751   }
9752 }
9753