• 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/channel/v1/entitlements.proto
18 
19 package com.google.cloud.channel.v1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * An entitlement is a representation of a customer's ability to use a service.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.channel.v1.Entitlement}
29  */
30 public final class Entitlement extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.channel.v1.Entitlement)
33     EntitlementOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use Entitlement.newBuilder() to construct.
Entitlement(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private Entitlement(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
Entitlement()40   private Entitlement() {
41     name_ = "";
42     offer_ = "";
43     provisioningState_ = 0;
44     suspensionReasons_ = java.util.Collections.emptyList();
45     purchaseOrderId_ = "";
46     parameters_ = java.util.Collections.emptyList();
47     billingAccount_ = "";
48   }
49 
50   @java.lang.Override
51   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)52   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
53     return new Entitlement();
54   }
55 
56   @java.lang.Override
getUnknownFields()57   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
58     return this.unknownFields;
59   }
60 
getDescriptor()61   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
62     return com.google.cloud.channel.v1.EntitlementsProto
63         .internal_static_google_cloud_channel_v1_Entitlement_descriptor;
64   }
65 
66   @java.lang.Override
67   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()68       internalGetFieldAccessorTable() {
69     return com.google.cloud.channel.v1.EntitlementsProto
70         .internal_static_google_cloud_channel_v1_Entitlement_fieldAccessorTable
71         .ensureFieldAccessorsInitialized(
72             com.google.cloud.channel.v1.Entitlement.class,
73             com.google.cloud.channel.v1.Entitlement.Builder.class);
74   }
75 
76   /**
77    *
78    *
79    * <pre>
80    * Indicates the current provisioning state of the entitlement.
81    * </pre>
82    *
83    * Protobuf enum {@code google.cloud.channel.v1.Entitlement.ProvisioningState}
84    */
85   public enum ProvisioningState implements com.google.protobuf.ProtocolMessageEnum {
86     /**
87      *
88      *
89      * <pre>
90      * Not used.
91      * </pre>
92      *
93      * <code>PROVISIONING_STATE_UNSPECIFIED = 0;</code>
94      */
95     PROVISIONING_STATE_UNSPECIFIED(0),
96     /**
97      *
98      *
99      * <pre>
100      * The entitlement is currently active.
101      * </pre>
102      *
103      * <code>ACTIVE = 1;</code>
104      */
105     ACTIVE(1),
106     /**
107      *
108      *
109      * <pre>
110      * The entitlement is currently suspended.
111      * </pre>
112      *
113      * <code>SUSPENDED = 5;</code>
114      */
115     SUSPENDED(5),
116     UNRECOGNIZED(-1),
117     ;
118 
119     /**
120      *
121      *
122      * <pre>
123      * Not used.
124      * </pre>
125      *
126      * <code>PROVISIONING_STATE_UNSPECIFIED = 0;</code>
127      */
128     public static final int PROVISIONING_STATE_UNSPECIFIED_VALUE = 0;
129     /**
130      *
131      *
132      * <pre>
133      * The entitlement is currently active.
134      * </pre>
135      *
136      * <code>ACTIVE = 1;</code>
137      */
138     public static final int ACTIVE_VALUE = 1;
139     /**
140      *
141      *
142      * <pre>
143      * The entitlement is currently suspended.
144      * </pre>
145      *
146      * <code>SUSPENDED = 5;</code>
147      */
148     public static final int SUSPENDED_VALUE = 5;
149 
getNumber()150     public final int getNumber() {
151       if (this == UNRECOGNIZED) {
152         throw new java.lang.IllegalArgumentException(
153             "Can't get the number of an unknown enum value.");
154       }
155       return value;
156     }
157 
158     /**
159      * @param value The numeric wire value of the corresponding enum entry.
160      * @return The enum associated with the given numeric wire value.
161      * @deprecated Use {@link #forNumber(int)} instead.
162      */
163     @java.lang.Deprecated
valueOf(int value)164     public static ProvisioningState valueOf(int value) {
165       return forNumber(value);
166     }
167 
168     /**
169      * @param value The numeric wire value of the corresponding enum entry.
170      * @return The enum associated with the given numeric wire value.
171      */
forNumber(int value)172     public static ProvisioningState forNumber(int value) {
173       switch (value) {
174         case 0:
175           return PROVISIONING_STATE_UNSPECIFIED;
176         case 1:
177           return ACTIVE;
178         case 5:
179           return SUSPENDED;
180         default:
181           return null;
182       }
183     }
184 
185     public static com.google.protobuf.Internal.EnumLiteMap<ProvisioningState>
internalGetValueMap()186         internalGetValueMap() {
187       return internalValueMap;
188     }
189 
190     private static final com.google.protobuf.Internal.EnumLiteMap<ProvisioningState>
191         internalValueMap =
192             new com.google.protobuf.Internal.EnumLiteMap<ProvisioningState>() {
193               public ProvisioningState findValueByNumber(int number) {
194                 return ProvisioningState.forNumber(number);
195               }
196             };
197 
getValueDescriptor()198     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
199       if (this == UNRECOGNIZED) {
200         throw new java.lang.IllegalStateException(
201             "Can't get the descriptor of an unrecognized enum value.");
202       }
203       return getDescriptor().getValues().get(ordinal());
204     }
205 
getDescriptorForType()206     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
207       return getDescriptor();
208     }
209 
getDescriptor()210     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
211       return com.google.cloud.channel.v1.Entitlement.getDescriptor().getEnumTypes().get(0);
212     }
213 
214     private static final ProvisioningState[] VALUES = values();
215 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)216     public static ProvisioningState valueOf(
217         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
218       if (desc.getType() != getDescriptor()) {
219         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
220       }
221       if (desc.getIndex() == -1) {
222         return UNRECOGNIZED;
223       }
224       return VALUES[desc.getIndex()];
225     }
226 
227     private final int value;
228 
ProvisioningState(int value)229     private ProvisioningState(int value) {
230       this.value = value;
231     }
232 
233     // @@protoc_insertion_point(enum_scope:google.cloud.channel.v1.Entitlement.ProvisioningState)
234   }
235 
236   /**
237    *
238    *
239    * <pre>
240    * Suspension reason for an entitlement if
241    * [provisioning_state][google.cloud.channel.v1.Entitlement.provisioning_state]
242    * = SUSPENDED.
243    * </pre>
244    *
245    * Protobuf enum {@code google.cloud.channel.v1.Entitlement.SuspensionReason}
246    */
247   public enum SuspensionReason implements com.google.protobuf.ProtocolMessageEnum {
248     /**
249      *
250      *
251      * <pre>
252      * Not used.
253      * </pre>
254      *
255      * <code>SUSPENSION_REASON_UNSPECIFIED = 0;</code>
256      */
257     SUSPENSION_REASON_UNSPECIFIED(0),
258     /**
259      *
260      *
261      * <pre>
262      * Entitlement was manually suspended by the Reseller.
263      * </pre>
264      *
265      * <code>RESELLER_INITIATED = 1;</code>
266      */
267     RESELLER_INITIATED(1),
268     /**
269      *
270      *
271      * <pre>
272      * Trial ended.
273      * </pre>
274      *
275      * <code>TRIAL_ENDED = 2;</code>
276      */
277     TRIAL_ENDED(2),
278     /**
279      *
280      *
281      * <pre>
282      * Entitlement renewal was canceled.
283      * </pre>
284      *
285      * <code>RENEWAL_WITH_TYPE_CANCEL = 3;</code>
286      */
287     RENEWAL_WITH_TYPE_CANCEL(3),
288     /**
289      *
290      *
291      * <pre>
292      * Entitlement was automatically suspended on creation for pending ToS
293      * acceptance on customer.
294      * </pre>
295      *
296      * <code>PENDING_TOS_ACCEPTANCE = 4;</code>
297      */
298     PENDING_TOS_ACCEPTANCE(4),
299     /**
300      *
301      *
302      * <pre>
303      * Other reasons (internal reasons, abuse, etc.).
304      * </pre>
305      *
306      * <code>OTHER = 100;</code>
307      */
308     OTHER(100),
309     UNRECOGNIZED(-1),
310     ;
311 
312     /**
313      *
314      *
315      * <pre>
316      * Not used.
317      * </pre>
318      *
319      * <code>SUSPENSION_REASON_UNSPECIFIED = 0;</code>
320      */
321     public static final int SUSPENSION_REASON_UNSPECIFIED_VALUE = 0;
322     /**
323      *
324      *
325      * <pre>
326      * Entitlement was manually suspended by the Reseller.
327      * </pre>
328      *
329      * <code>RESELLER_INITIATED = 1;</code>
330      */
331     public static final int RESELLER_INITIATED_VALUE = 1;
332     /**
333      *
334      *
335      * <pre>
336      * Trial ended.
337      * </pre>
338      *
339      * <code>TRIAL_ENDED = 2;</code>
340      */
341     public static final int TRIAL_ENDED_VALUE = 2;
342     /**
343      *
344      *
345      * <pre>
346      * Entitlement renewal was canceled.
347      * </pre>
348      *
349      * <code>RENEWAL_WITH_TYPE_CANCEL = 3;</code>
350      */
351     public static final int RENEWAL_WITH_TYPE_CANCEL_VALUE = 3;
352     /**
353      *
354      *
355      * <pre>
356      * Entitlement was automatically suspended on creation for pending ToS
357      * acceptance on customer.
358      * </pre>
359      *
360      * <code>PENDING_TOS_ACCEPTANCE = 4;</code>
361      */
362     public static final int PENDING_TOS_ACCEPTANCE_VALUE = 4;
363     /**
364      *
365      *
366      * <pre>
367      * Other reasons (internal reasons, abuse, etc.).
368      * </pre>
369      *
370      * <code>OTHER = 100;</code>
371      */
372     public static final int OTHER_VALUE = 100;
373 
getNumber()374     public final int getNumber() {
375       if (this == UNRECOGNIZED) {
376         throw new java.lang.IllegalArgumentException(
377             "Can't get the number of an unknown enum value.");
378       }
379       return value;
380     }
381 
382     /**
383      * @param value The numeric wire value of the corresponding enum entry.
384      * @return The enum associated with the given numeric wire value.
385      * @deprecated Use {@link #forNumber(int)} instead.
386      */
387     @java.lang.Deprecated
valueOf(int value)388     public static SuspensionReason valueOf(int value) {
389       return forNumber(value);
390     }
391 
392     /**
393      * @param value The numeric wire value of the corresponding enum entry.
394      * @return The enum associated with the given numeric wire value.
395      */
forNumber(int value)396     public static SuspensionReason forNumber(int value) {
397       switch (value) {
398         case 0:
399           return SUSPENSION_REASON_UNSPECIFIED;
400         case 1:
401           return RESELLER_INITIATED;
402         case 2:
403           return TRIAL_ENDED;
404         case 3:
405           return RENEWAL_WITH_TYPE_CANCEL;
406         case 4:
407           return PENDING_TOS_ACCEPTANCE;
408         case 100:
409           return OTHER;
410         default:
411           return null;
412       }
413     }
414 
internalGetValueMap()415     public static com.google.protobuf.Internal.EnumLiteMap<SuspensionReason> internalGetValueMap() {
416       return internalValueMap;
417     }
418 
419     private static final com.google.protobuf.Internal.EnumLiteMap<SuspensionReason>
420         internalValueMap =
421             new com.google.protobuf.Internal.EnumLiteMap<SuspensionReason>() {
422               public SuspensionReason findValueByNumber(int number) {
423                 return SuspensionReason.forNumber(number);
424               }
425             };
426 
getValueDescriptor()427     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
428       if (this == UNRECOGNIZED) {
429         throw new java.lang.IllegalStateException(
430             "Can't get the descriptor of an unrecognized enum value.");
431       }
432       return getDescriptor().getValues().get(ordinal());
433     }
434 
getDescriptorForType()435     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
436       return getDescriptor();
437     }
438 
getDescriptor()439     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
440       return com.google.cloud.channel.v1.Entitlement.getDescriptor().getEnumTypes().get(1);
441     }
442 
443     private static final SuspensionReason[] VALUES = values();
444 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)445     public static SuspensionReason valueOf(
446         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
447       if (desc.getType() != getDescriptor()) {
448         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
449       }
450       if (desc.getIndex() == -1) {
451         return UNRECOGNIZED;
452       }
453       return VALUES[desc.getIndex()];
454     }
455 
456     private final int value;
457 
SuspensionReason(int value)458     private SuspensionReason(int value) {
459       this.value = value;
460     }
461 
462     // @@protoc_insertion_point(enum_scope:google.cloud.channel.v1.Entitlement.SuspensionReason)
463   }
464 
465   public static final int NAME_FIELD_NUMBER = 1;
466 
467   @SuppressWarnings("serial")
468   private volatile java.lang.Object name_ = "";
469   /**
470    *
471    *
472    * <pre>
473    * Output only. Resource name of an entitlement in the form:
474    * accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}.
475    * </pre>
476    *
477    * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
478    *
479    * @return The name.
480    */
481   @java.lang.Override
getName()482   public java.lang.String getName() {
483     java.lang.Object ref = name_;
484     if (ref instanceof java.lang.String) {
485       return (java.lang.String) ref;
486     } else {
487       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
488       java.lang.String s = bs.toStringUtf8();
489       name_ = s;
490       return s;
491     }
492   }
493   /**
494    *
495    *
496    * <pre>
497    * Output only. Resource name of an entitlement in the form:
498    * accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}.
499    * </pre>
500    *
501    * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
502    *
503    * @return The bytes for name.
504    */
505   @java.lang.Override
getNameBytes()506   public com.google.protobuf.ByteString getNameBytes() {
507     java.lang.Object ref = name_;
508     if (ref instanceof java.lang.String) {
509       com.google.protobuf.ByteString b =
510           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
511       name_ = b;
512       return b;
513     } else {
514       return (com.google.protobuf.ByteString) ref;
515     }
516   }
517 
518   public static final int CREATE_TIME_FIELD_NUMBER = 5;
519   private com.google.protobuf.Timestamp createTime_;
520   /**
521    *
522    *
523    * <pre>
524    * Output only. The time at which the entitlement is created.
525    * </pre>
526    *
527    * <code>.google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
528    * </code>
529    *
530    * @return Whether the createTime field is set.
531    */
532   @java.lang.Override
hasCreateTime()533   public boolean hasCreateTime() {
534     return createTime_ != null;
535   }
536   /**
537    *
538    *
539    * <pre>
540    * Output only. The time at which the entitlement is created.
541    * </pre>
542    *
543    * <code>.google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
544    * </code>
545    *
546    * @return The createTime.
547    */
548   @java.lang.Override
getCreateTime()549   public com.google.protobuf.Timestamp getCreateTime() {
550     return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_;
551   }
552   /**
553    *
554    *
555    * <pre>
556    * Output only. The time at which the entitlement is created.
557    * </pre>
558    *
559    * <code>.google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
560    * </code>
561    */
562   @java.lang.Override
getCreateTimeOrBuilder()563   public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
564     return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_;
565   }
566 
567   public static final int UPDATE_TIME_FIELD_NUMBER = 6;
568   private com.google.protobuf.Timestamp updateTime_;
569   /**
570    *
571    *
572    * <pre>
573    * Output only. The time at which the entitlement is updated.
574    * </pre>
575    *
576    * <code>.google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
577    * </code>
578    *
579    * @return Whether the updateTime field is set.
580    */
581   @java.lang.Override
hasUpdateTime()582   public boolean hasUpdateTime() {
583     return updateTime_ != null;
584   }
585   /**
586    *
587    *
588    * <pre>
589    * Output only. The time at which the entitlement is updated.
590    * </pre>
591    *
592    * <code>.google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
593    * </code>
594    *
595    * @return The updateTime.
596    */
597   @java.lang.Override
getUpdateTime()598   public com.google.protobuf.Timestamp getUpdateTime() {
599     return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_;
600   }
601   /**
602    *
603    *
604    * <pre>
605    * Output only. The time at which the entitlement is updated.
606    * </pre>
607    *
608    * <code>.google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
609    * </code>
610    */
611   @java.lang.Override
getUpdateTimeOrBuilder()612   public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() {
613     return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_;
614   }
615 
616   public static final int OFFER_FIELD_NUMBER = 8;
617 
618   @SuppressWarnings("serial")
619   private volatile java.lang.Object offer_ = "";
620   /**
621    *
622    *
623    * <pre>
624    * Required. The offer resource name for which the entitlement is to be
625    * created. Takes the form: accounts/{account_id}/offers/{offer_id}.
626    * </pre>
627    *
628    * <code>
629    * string offer = 8 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
630    * </code>
631    *
632    * @return The offer.
633    */
634   @java.lang.Override
getOffer()635   public java.lang.String getOffer() {
636     java.lang.Object ref = offer_;
637     if (ref instanceof java.lang.String) {
638       return (java.lang.String) ref;
639     } else {
640       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
641       java.lang.String s = bs.toStringUtf8();
642       offer_ = s;
643       return s;
644     }
645   }
646   /**
647    *
648    *
649    * <pre>
650    * Required. The offer resource name for which the entitlement is to be
651    * created. Takes the form: accounts/{account_id}/offers/{offer_id}.
652    * </pre>
653    *
654    * <code>
655    * string offer = 8 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
656    * </code>
657    *
658    * @return The bytes for offer.
659    */
660   @java.lang.Override
getOfferBytes()661   public com.google.protobuf.ByteString getOfferBytes() {
662     java.lang.Object ref = offer_;
663     if (ref instanceof java.lang.String) {
664       com.google.protobuf.ByteString b =
665           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
666       offer_ = b;
667       return b;
668     } else {
669       return (com.google.protobuf.ByteString) ref;
670     }
671   }
672 
673   public static final int COMMITMENT_SETTINGS_FIELD_NUMBER = 12;
674   private com.google.cloud.channel.v1.CommitmentSettings commitmentSettings_;
675   /**
676    *
677    *
678    * <pre>
679    * Commitment settings for a commitment-based Offer.
680    * Required for commitment based offers.
681    * </pre>
682    *
683    * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
684    *
685    * @return Whether the commitmentSettings field is set.
686    */
687   @java.lang.Override
hasCommitmentSettings()688   public boolean hasCommitmentSettings() {
689     return commitmentSettings_ != null;
690   }
691   /**
692    *
693    *
694    * <pre>
695    * Commitment settings for a commitment-based Offer.
696    * Required for commitment based offers.
697    * </pre>
698    *
699    * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
700    *
701    * @return The commitmentSettings.
702    */
703   @java.lang.Override
getCommitmentSettings()704   public com.google.cloud.channel.v1.CommitmentSettings getCommitmentSettings() {
705     return commitmentSettings_ == null
706         ? com.google.cloud.channel.v1.CommitmentSettings.getDefaultInstance()
707         : commitmentSettings_;
708   }
709   /**
710    *
711    *
712    * <pre>
713    * Commitment settings for a commitment-based Offer.
714    * Required for commitment based offers.
715    * </pre>
716    *
717    * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
718    */
719   @java.lang.Override
getCommitmentSettingsOrBuilder()720   public com.google.cloud.channel.v1.CommitmentSettingsOrBuilder getCommitmentSettingsOrBuilder() {
721     return commitmentSettings_ == null
722         ? com.google.cloud.channel.v1.CommitmentSettings.getDefaultInstance()
723         : commitmentSettings_;
724   }
725 
726   public static final int PROVISIONING_STATE_FIELD_NUMBER = 13;
727   private int provisioningState_ = 0;
728   /**
729    *
730    *
731    * <pre>
732    * Output only. Current provisioning state of the entitlement.
733    * </pre>
734    *
735    * <code>
736    * .google.cloud.channel.v1.Entitlement.ProvisioningState provisioning_state = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
737    * </code>
738    *
739    * @return The enum numeric value on the wire for provisioningState.
740    */
741   @java.lang.Override
getProvisioningStateValue()742   public int getProvisioningStateValue() {
743     return provisioningState_;
744   }
745   /**
746    *
747    *
748    * <pre>
749    * Output only. Current provisioning state of the entitlement.
750    * </pre>
751    *
752    * <code>
753    * .google.cloud.channel.v1.Entitlement.ProvisioningState provisioning_state = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
754    * </code>
755    *
756    * @return The provisioningState.
757    */
758   @java.lang.Override
getProvisioningState()759   public com.google.cloud.channel.v1.Entitlement.ProvisioningState getProvisioningState() {
760     com.google.cloud.channel.v1.Entitlement.ProvisioningState result =
761         com.google.cloud.channel.v1.Entitlement.ProvisioningState.forNumber(provisioningState_);
762     return result == null
763         ? com.google.cloud.channel.v1.Entitlement.ProvisioningState.UNRECOGNIZED
764         : result;
765   }
766 
767   public static final int PROVISIONED_SERVICE_FIELD_NUMBER = 16;
768   private com.google.cloud.channel.v1.ProvisionedService provisionedService_;
769   /**
770    *
771    *
772    * <pre>
773    * Output only. Service provisioning details for the entitlement.
774    * </pre>
775    *
776    * <code>
777    * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
778    * </code>
779    *
780    * @return Whether the provisionedService field is set.
781    */
782   @java.lang.Override
hasProvisionedService()783   public boolean hasProvisionedService() {
784     return provisionedService_ != null;
785   }
786   /**
787    *
788    *
789    * <pre>
790    * Output only. Service provisioning details for the entitlement.
791    * </pre>
792    *
793    * <code>
794    * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
795    * </code>
796    *
797    * @return The provisionedService.
798    */
799   @java.lang.Override
getProvisionedService()800   public com.google.cloud.channel.v1.ProvisionedService getProvisionedService() {
801     return provisionedService_ == null
802         ? com.google.cloud.channel.v1.ProvisionedService.getDefaultInstance()
803         : provisionedService_;
804   }
805   /**
806    *
807    *
808    * <pre>
809    * Output only. Service provisioning details for the entitlement.
810    * </pre>
811    *
812    * <code>
813    * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
814    * </code>
815    */
816   @java.lang.Override
getProvisionedServiceOrBuilder()817   public com.google.cloud.channel.v1.ProvisionedServiceOrBuilder getProvisionedServiceOrBuilder() {
818     return provisionedService_ == null
819         ? com.google.cloud.channel.v1.ProvisionedService.getDefaultInstance()
820         : provisionedService_;
821   }
822 
823   public static final int SUSPENSION_REASONS_FIELD_NUMBER = 18;
824 
825   @SuppressWarnings("serial")
826   private java.util.List<java.lang.Integer> suspensionReasons_;
827 
828   private static final com.google.protobuf.Internal.ListAdapter.Converter<
829           java.lang.Integer, com.google.cloud.channel.v1.Entitlement.SuspensionReason>
830       suspensionReasons_converter_ =
831           new com.google.protobuf.Internal.ListAdapter.Converter<
832               java.lang.Integer, com.google.cloud.channel.v1.Entitlement.SuspensionReason>() {
833             public com.google.cloud.channel.v1.Entitlement.SuspensionReason convert(
834                 java.lang.Integer from) {
835               com.google.cloud.channel.v1.Entitlement.SuspensionReason result =
836                   com.google.cloud.channel.v1.Entitlement.SuspensionReason.forNumber(from);
837               return result == null
838                   ? com.google.cloud.channel.v1.Entitlement.SuspensionReason.UNRECOGNIZED
839                   : result;
840             }
841           };
842   /**
843    *
844    *
845    * <pre>
846    * Output only. Enumerable of all current suspension reasons for an
847    * entitlement.
848    * </pre>
849    *
850    * <code>
851    * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
852    * </code>
853    *
854    * @return A list containing the suspensionReasons.
855    */
856   @java.lang.Override
857   public java.util.List<com.google.cloud.channel.v1.Entitlement.SuspensionReason>
getSuspensionReasonsList()858       getSuspensionReasonsList() {
859     return new com.google.protobuf.Internal.ListAdapter<
860         java.lang.Integer, com.google.cloud.channel.v1.Entitlement.SuspensionReason>(
861         suspensionReasons_, suspensionReasons_converter_);
862   }
863   /**
864    *
865    *
866    * <pre>
867    * Output only. Enumerable of all current suspension reasons for an
868    * entitlement.
869    * </pre>
870    *
871    * <code>
872    * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
873    * </code>
874    *
875    * @return The count of suspensionReasons.
876    */
877   @java.lang.Override
getSuspensionReasonsCount()878   public int getSuspensionReasonsCount() {
879     return suspensionReasons_.size();
880   }
881   /**
882    *
883    *
884    * <pre>
885    * Output only. Enumerable of all current suspension reasons for an
886    * entitlement.
887    * </pre>
888    *
889    * <code>
890    * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
891    * </code>
892    *
893    * @param index The index of the element to return.
894    * @return The suspensionReasons at the given index.
895    */
896   @java.lang.Override
getSuspensionReasons(int index)897   public com.google.cloud.channel.v1.Entitlement.SuspensionReason getSuspensionReasons(int index) {
898     return suspensionReasons_converter_.convert(suspensionReasons_.get(index));
899   }
900   /**
901    *
902    *
903    * <pre>
904    * Output only. Enumerable of all current suspension reasons for an
905    * entitlement.
906    * </pre>
907    *
908    * <code>
909    * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
910    * </code>
911    *
912    * @return A list containing the enum numeric values on the wire for suspensionReasons.
913    */
914   @java.lang.Override
getSuspensionReasonsValueList()915   public java.util.List<java.lang.Integer> getSuspensionReasonsValueList() {
916     return suspensionReasons_;
917   }
918   /**
919    *
920    *
921    * <pre>
922    * Output only. Enumerable of all current suspension reasons for an
923    * entitlement.
924    * </pre>
925    *
926    * <code>
927    * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
928    * </code>
929    *
930    * @param index The index of the value to return.
931    * @return The enum numeric value on the wire of suspensionReasons at the given index.
932    */
933   @java.lang.Override
getSuspensionReasonsValue(int index)934   public int getSuspensionReasonsValue(int index) {
935     return suspensionReasons_.get(index);
936   }
937 
938   private int suspensionReasonsMemoizedSerializedSize;
939 
940   public static final int PURCHASE_ORDER_ID_FIELD_NUMBER = 19;
941 
942   @SuppressWarnings("serial")
943   private volatile java.lang.Object purchaseOrderId_ = "";
944   /**
945    *
946    *
947    * <pre>
948    * Optional. This purchase order (PO) information is for resellers to use for
949    * their company tracking usage. If a purchaseOrderId value is given, it
950    * appears in the API responses and shows up in the invoice. The property
951    * accepts up to 80 plain text characters. This is only supported for Google
952    * Workspace entitlements.
953    * </pre>
954    *
955    * <code>string purchase_order_id = 19 [(.google.api.field_behavior) = OPTIONAL];</code>
956    *
957    * @return The purchaseOrderId.
958    */
959   @java.lang.Override
getPurchaseOrderId()960   public java.lang.String getPurchaseOrderId() {
961     java.lang.Object ref = purchaseOrderId_;
962     if (ref instanceof java.lang.String) {
963       return (java.lang.String) ref;
964     } else {
965       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
966       java.lang.String s = bs.toStringUtf8();
967       purchaseOrderId_ = s;
968       return s;
969     }
970   }
971   /**
972    *
973    *
974    * <pre>
975    * Optional. This purchase order (PO) information is for resellers to use for
976    * their company tracking usage. If a purchaseOrderId value is given, it
977    * appears in the API responses and shows up in the invoice. The property
978    * accepts up to 80 plain text characters. This is only supported for Google
979    * Workspace entitlements.
980    * </pre>
981    *
982    * <code>string purchase_order_id = 19 [(.google.api.field_behavior) = OPTIONAL];</code>
983    *
984    * @return The bytes for purchaseOrderId.
985    */
986   @java.lang.Override
getPurchaseOrderIdBytes()987   public com.google.protobuf.ByteString getPurchaseOrderIdBytes() {
988     java.lang.Object ref = purchaseOrderId_;
989     if (ref instanceof java.lang.String) {
990       com.google.protobuf.ByteString b =
991           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
992       purchaseOrderId_ = b;
993       return b;
994     } else {
995       return (com.google.protobuf.ByteString) ref;
996     }
997   }
998 
999   public static final int TRIAL_SETTINGS_FIELD_NUMBER = 21;
1000   private com.google.cloud.channel.v1.TrialSettings trialSettings_;
1001   /**
1002    *
1003    *
1004    * <pre>
1005    * Output only. Settings for trial offers.
1006    * </pre>
1007    *
1008    * <code>
1009    * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
1010    * </code>
1011    *
1012    * @return Whether the trialSettings field is set.
1013    */
1014   @java.lang.Override
hasTrialSettings()1015   public boolean hasTrialSettings() {
1016     return trialSettings_ != null;
1017   }
1018   /**
1019    *
1020    *
1021    * <pre>
1022    * Output only. Settings for trial offers.
1023    * </pre>
1024    *
1025    * <code>
1026    * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
1027    * </code>
1028    *
1029    * @return The trialSettings.
1030    */
1031   @java.lang.Override
getTrialSettings()1032   public com.google.cloud.channel.v1.TrialSettings getTrialSettings() {
1033     return trialSettings_ == null
1034         ? com.google.cloud.channel.v1.TrialSettings.getDefaultInstance()
1035         : trialSettings_;
1036   }
1037   /**
1038    *
1039    *
1040    * <pre>
1041    * Output only. Settings for trial offers.
1042    * </pre>
1043    *
1044    * <code>
1045    * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
1046    * </code>
1047    */
1048   @java.lang.Override
getTrialSettingsOrBuilder()1049   public com.google.cloud.channel.v1.TrialSettingsOrBuilder getTrialSettingsOrBuilder() {
1050     return trialSettings_ == null
1051         ? com.google.cloud.channel.v1.TrialSettings.getDefaultInstance()
1052         : trialSettings_;
1053   }
1054 
1055   public static final int ASSOCIATION_INFO_FIELD_NUMBER = 23;
1056   private com.google.cloud.channel.v1.AssociationInfo associationInfo_;
1057   /**
1058    *
1059    *
1060    * <pre>
1061    * Association information to other entitlements.
1062    * </pre>
1063    *
1064    * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
1065    *
1066    * @return Whether the associationInfo field is set.
1067    */
1068   @java.lang.Override
hasAssociationInfo()1069   public boolean hasAssociationInfo() {
1070     return associationInfo_ != null;
1071   }
1072   /**
1073    *
1074    *
1075    * <pre>
1076    * Association information to other entitlements.
1077    * </pre>
1078    *
1079    * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
1080    *
1081    * @return The associationInfo.
1082    */
1083   @java.lang.Override
getAssociationInfo()1084   public com.google.cloud.channel.v1.AssociationInfo getAssociationInfo() {
1085     return associationInfo_ == null
1086         ? com.google.cloud.channel.v1.AssociationInfo.getDefaultInstance()
1087         : associationInfo_;
1088   }
1089   /**
1090    *
1091    *
1092    * <pre>
1093    * Association information to other entitlements.
1094    * </pre>
1095    *
1096    * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
1097    */
1098   @java.lang.Override
getAssociationInfoOrBuilder()1099   public com.google.cloud.channel.v1.AssociationInfoOrBuilder getAssociationInfoOrBuilder() {
1100     return associationInfo_ == null
1101         ? com.google.cloud.channel.v1.AssociationInfo.getDefaultInstance()
1102         : associationInfo_;
1103   }
1104 
1105   public static final int PARAMETERS_FIELD_NUMBER = 26;
1106 
1107   @SuppressWarnings("serial")
1108   private java.util.List<com.google.cloud.channel.v1.Parameter> parameters_;
1109   /**
1110    *
1111    *
1112    * <pre>
1113    * Extended entitlement parameters. When creating an entitlement, valid
1114    * parameter names and values are defined in the
1115    * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
1116    * For Google Workspace, the following Parameters may be accepted as input:
1117    * - max_units: The maximum assignable units for a flexible offer
1118    * OR
1119    * - num_units: The total commitment for commitment-based offers
1120    * The response may additionally include the following output-only Parameters:
1121    * - assigned_units: The number of licenses assigned to users.
1122    * For GCP billing subaccounts, the following Parameter may be accepted as
1123    * input:
1124    * - display_name: The display name of the billing subaccount.
1125    * </pre>
1126    *
1127    * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
1128    */
1129   @java.lang.Override
getParametersList()1130   public java.util.List<com.google.cloud.channel.v1.Parameter> getParametersList() {
1131     return parameters_;
1132   }
1133   /**
1134    *
1135    *
1136    * <pre>
1137    * Extended entitlement parameters. When creating an entitlement, valid
1138    * parameter names and values are defined in the
1139    * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
1140    * For Google Workspace, the following Parameters may be accepted as input:
1141    * - max_units: The maximum assignable units for a flexible offer
1142    * OR
1143    * - num_units: The total commitment for commitment-based offers
1144    * The response may additionally include the following output-only Parameters:
1145    * - assigned_units: The number of licenses assigned to users.
1146    * For GCP billing subaccounts, the following Parameter may be accepted as
1147    * input:
1148    * - display_name: The display name of the billing subaccount.
1149    * </pre>
1150    *
1151    * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
1152    */
1153   @java.lang.Override
1154   public java.util.List<? extends com.google.cloud.channel.v1.ParameterOrBuilder>
getParametersOrBuilderList()1155       getParametersOrBuilderList() {
1156     return parameters_;
1157   }
1158   /**
1159    *
1160    *
1161    * <pre>
1162    * Extended entitlement parameters. When creating an entitlement, valid
1163    * parameter names and values are defined in the
1164    * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
1165    * For Google Workspace, the following Parameters may be accepted as input:
1166    * - max_units: The maximum assignable units for a flexible offer
1167    * OR
1168    * - num_units: The total commitment for commitment-based offers
1169    * The response may additionally include the following output-only Parameters:
1170    * - assigned_units: The number of licenses assigned to users.
1171    * For GCP billing subaccounts, the following Parameter may be accepted as
1172    * input:
1173    * - display_name: The display name of the billing subaccount.
1174    * </pre>
1175    *
1176    * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
1177    */
1178   @java.lang.Override
getParametersCount()1179   public int getParametersCount() {
1180     return parameters_.size();
1181   }
1182   /**
1183    *
1184    *
1185    * <pre>
1186    * Extended entitlement parameters. When creating an entitlement, valid
1187    * parameter names and values are defined in the
1188    * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
1189    * For Google Workspace, the following Parameters may be accepted as input:
1190    * - max_units: The maximum assignable units for a flexible offer
1191    * OR
1192    * - num_units: The total commitment for commitment-based offers
1193    * The response may additionally include the following output-only Parameters:
1194    * - assigned_units: The number of licenses assigned to users.
1195    * For GCP billing subaccounts, the following Parameter may be accepted as
1196    * input:
1197    * - display_name: The display name of the billing subaccount.
1198    * </pre>
1199    *
1200    * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
1201    */
1202   @java.lang.Override
getParameters(int index)1203   public com.google.cloud.channel.v1.Parameter getParameters(int index) {
1204     return parameters_.get(index);
1205   }
1206   /**
1207    *
1208    *
1209    * <pre>
1210    * Extended entitlement parameters. When creating an entitlement, valid
1211    * parameter names and values are defined in the
1212    * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
1213    * For Google Workspace, the following Parameters may be accepted as input:
1214    * - max_units: The maximum assignable units for a flexible offer
1215    * OR
1216    * - num_units: The total commitment for commitment-based offers
1217    * The response may additionally include the following output-only Parameters:
1218    * - assigned_units: The number of licenses assigned to users.
1219    * For GCP billing subaccounts, the following Parameter may be accepted as
1220    * input:
1221    * - display_name: The display name of the billing subaccount.
1222    * </pre>
1223    *
1224    * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
1225    */
1226   @java.lang.Override
getParametersOrBuilder(int index)1227   public com.google.cloud.channel.v1.ParameterOrBuilder getParametersOrBuilder(int index) {
1228     return parameters_.get(index);
1229   }
1230 
1231   public static final int BILLING_ACCOUNT_FIELD_NUMBER = 28;
1232 
1233   @SuppressWarnings("serial")
1234   private volatile java.lang.Object billingAccount_ = "";
1235   /**
1236    *
1237    *
1238    * <pre>
1239    * Optional. The billing account resource name that is used to pay for this
1240    * entitlement.
1241    * </pre>
1242    *
1243    * <code>string billing_account = 28 [(.google.api.field_behavior) = OPTIONAL];</code>
1244    *
1245    * @return The billingAccount.
1246    */
1247   @java.lang.Override
getBillingAccount()1248   public java.lang.String getBillingAccount() {
1249     java.lang.Object ref = billingAccount_;
1250     if (ref instanceof java.lang.String) {
1251       return (java.lang.String) ref;
1252     } else {
1253       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1254       java.lang.String s = bs.toStringUtf8();
1255       billingAccount_ = s;
1256       return s;
1257     }
1258   }
1259   /**
1260    *
1261    *
1262    * <pre>
1263    * Optional. The billing account resource name that is used to pay for this
1264    * entitlement.
1265    * </pre>
1266    *
1267    * <code>string billing_account = 28 [(.google.api.field_behavior) = OPTIONAL];</code>
1268    *
1269    * @return The bytes for billingAccount.
1270    */
1271   @java.lang.Override
getBillingAccountBytes()1272   public com.google.protobuf.ByteString getBillingAccountBytes() {
1273     java.lang.Object ref = billingAccount_;
1274     if (ref instanceof java.lang.String) {
1275       com.google.protobuf.ByteString b =
1276           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1277       billingAccount_ = b;
1278       return b;
1279     } else {
1280       return (com.google.protobuf.ByteString) ref;
1281     }
1282   }
1283 
1284   private byte memoizedIsInitialized = -1;
1285 
1286   @java.lang.Override
isInitialized()1287   public final boolean isInitialized() {
1288     byte isInitialized = memoizedIsInitialized;
1289     if (isInitialized == 1) return true;
1290     if (isInitialized == 0) return false;
1291 
1292     memoizedIsInitialized = 1;
1293     return true;
1294   }
1295 
1296   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1297   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1298     getSerializedSize();
1299     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
1300       com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
1301     }
1302     if (createTime_ != null) {
1303       output.writeMessage(5, getCreateTime());
1304     }
1305     if (updateTime_ != null) {
1306       output.writeMessage(6, getUpdateTime());
1307     }
1308     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(offer_)) {
1309       com.google.protobuf.GeneratedMessageV3.writeString(output, 8, offer_);
1310     }
1311     if (commitmentSettings_ != null) {
1312       output.writeMessage(12, getCommitmentSettings());
1313     }
1314     if (provisioningState_
1315         != com.google.cloud.channel.v1.Entitlement.ProvisioningState.PROVISIONING_STATE_UNSPECIFIED
1316             .getNumber()) {
1317       output.writeEnum(13, provisioningState_);
1318     }
1319     if (provisionedService_ != null) {
1320       output.writeMessage(16, getProvisionedService());
1321     }
1322     if (getSuspensionReasonsList().size() > 0) {
1323       output.writeUInt32NoTag(146);
1324       output.writeUInt32NoTag(suspensionReasonsMemoizedSerializedSize);
1325     }
1326     for (int i = 0; i < suspensionReasons_.size(); i++) {
1327       output.writeEnumNoTag(suspensionReasons_.get(i));
1328     }
1329     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(purchaseOrderId_)) {
1330       com.google.protobuf.GeneratedMessageV3.writeString(output, 19, purchaseOrderId_);
1331     }
1332     if (trialSettings_ != null) {
1333       output.writeMessage(21, getTrialSettings());
1334     }
1335     if (associationInfo_ != null) {
1336       output.writeMessage(23, getAssociationInfo());
1337     }
1338     for (int i = 0; i < parameters_.size(); i++) {
1339       output.writeMessage(26, parameters_.get(i));
1340     }
1341     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(billingAccount_)) {
1342       com.google.protobuf.GeneratedMessageV3.writeString(output, 28, billingAccount_);
1343     }
1344     getUnknownFields().writeTo(output);
1345   }
1346 
1347   @java.lang.Override
getSerializedSize()1348   public int getSerializedSize() {
1349     int size = memoizedSize;
1350     if (size != -1) return size;
1351 
1352     size = 0;
1353     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
1354       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
1355     }
1356     if (createTime_ != null) {
1357       size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getCreateTime());
1358     }
1359     if (updateTime_ != null) {
1360       size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getUpdateTime());
1361     }
1362     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(offer_)) {
1363       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, offer_);
1364     }
1365     if (commitmentSettings_ != null) {
1366       size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, getCommitmentSettings());
1367     }
1368     if (provisioningState_
1369         != com.google.cloud.channel.v1.Entitlement.ProvisioningState.PROVISIONING_STATE_UNSPECIFIED
1370             .getNumber()) {
1371       size += com.google.protobuf.CodedOutputStream.computeEnumSize(13, provisioningState_);
1372     }
1373     if (provisionedService_ != null) {
1374       size += com.google.protobuf.CodedOutputStream.computeMessageSize(16, getProvisionedService());
1375     }
1376     {
1377       int dataSize = 0;
1378       for (int i = 0; i < suspensionReasons_.size(); i++) {
1379         dataSize +=
1380             com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(suspensionReasons_.get(i));
1381       }
1382       size += dataSize;
1383       if (!getSuspensionReasonsList().isEmpty()) {
1384         size += 2;
1385         size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
1386       }
1387       suspensionReasonsMemoizedSerializedSize = dataSize;
1388     }
1389     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(purchaseOrderId_)) {
1390       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(19, purchaseOrderId_);
1391     }
1392     if (trialSettings_ != null) {
1393       size += com.google.protobuf.CodedOutputStream.computeMessageSize(21, getTrialSettings());
1394     }
1395     if (associationInfo_ != null) {
1396       size += com.google.protobuf.CodedOutputStream.computeMessageSize(23, getAssociationInfo());
1397     }
1398     for (int i = 0; i < parameters_.size(); i++) {
1399       size += com.google.protobuf.CodedOutputStream.computeMessageSize(26, parameters_.get(i));
1400     }
1401     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(billingAccount_)) {
1402       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(28, billingAccount_);
1403     }
1404     size += getUnknownFields().getSerializedSize();
1405     memoizedSize = size;
1406     return size;
1407   }
1408 
1409   @java.lang.Override
equals(final java.lang.Object obj)1410   public boolean equals(final java.lang.Object obj) {
1411     if (obj == this) {
1412       return true;
1413     }
1414     if (!(obj instanceof com.google.cloud.channel.v1.Entitlement)) {
1415       return super.equals(obj);
1416     }
1417     com.google.cloud.channel.v1.Entitlement other = (com.google.cloud.channel.v1.Entitlement) obj;
1418 
1419     if (!getName().equals(other.getName())) return false;
1420     if (hasCreateTime() != other.hasCreateTime()) return false;
1421     if (hasCreateTime()) {
1422       if (!getCreateTime().equals(other.getCreateTime())) return false;
1423     }
1424     if (hasUpdateTime() != other.hasUpdateTime()) return false;
1425     if (hasUpdateTime()) {
1426       if (!getUpdateTime().equals(other.getUpdateTime())) return false;
1427     }
1428     if (!getOffer().equals(other.getOffer())) return false;
1429     if (hasCommitmentSettings() != other.hasCommitmentSettings()) return false;
1430     if (hasCommitmentSettings()) {
1431       if (!getCommitmentSettings().equals(other.getCommitmentSettings())) return false;
1432     }
1433     if (provisioningState_ != other.provisioningState_) return false;
1434     if (hasProvisionedService() != other.hasProvisionedService()) return false;
1435     if (hasProvisionedService()) {
1436       if (!getProvisionedService().equals(other.getProvisionedService())) return false;
1437     }
1438     if (!suspensionReasons_.equals(other.suspensionReasons_)) return false;
1439     if (!getPurchaseOrderId().equals(other.getPurchaseOrderId())) return false;
1440     if (hasTrialSettings() != other.hasTrialSettings()) return false;
1441     if (hasTrialSettings()) {
1442       if (!getTrialSettings().equals(other.getTrialSettings())) return false;
1443     }
1444     if (hasAssociationInfo() != other.hasAssociationInfo()) return false;
1445     if (hasAssociationInfo()) {
1446       if (!getAssociationInfo().equals(other.getAssociationInfo())) return false;
1447     }
1448     if (!getParametersList().equals(other.getParametersList())) return false;
1449     if (!getBillingAccount().equals(other.getBillingAccount())) return false;
1450     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1451     return true;
1452   }
1453 
1454   @java.lang.Override
hashCode()1455   public int hashCode() {
1456     if (memoizedHashCode != 0) {
1457       return memoizedHashCode;
1458     }
1459     int hash = 41;
1460     hash = (19 * hash) + getDescriptor().hashCode();
1461     hash = (37 * hash) + NAME_FIELD_NUMBER;
1462     hash = (53 * hash) + getName().hashCode();
1463     if (hasCreateTime()) {
1464       hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER;
1465       hash = (53 * hash) + getCreateTime().hashCode();
1466     }
1467     if (hasUpdateTime()) {
1468       hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER;
1469       hash = (53 * hash) + getUpdateTime().hashCode();
1470     }
1471     hash = (37 * hash) + OFFER_FIELD_NUMBER;
1472     hash = (53 * hash) + getOffer().hashCode();
1473     if (hasCommitmentSettings()) {
1474       hash = (37 * hash) + COMMITMENT_SETTINGS_FIELD_NUMBER;
1475       hash = (53 * hash) + getCommitmentSettings().hashCode();
1476     }
1477     hash = (37 * hash) + PROVISIONING_STATE_FIELD_NUMBER;
1478     hash = (53 * hash) + provisioningState_;
1479     if (hasProvisionedService()) {
1480       hash = (37 * hash) + PROVISIONED_SERVICE_FIELD_NUMBER;
1481       hash = (53 * hash) + getProvisionedService().hashCode();
1482     }
1483     if (getSuspensionReasonsCount() > 0) {
1484       hash = (37 * hash) + SUSPENSION_REASONS_FIELD_NUMBER;
1485       hash = (53 * hash) + suspensionReasons_.hashCode();
1486     }
1487     hash = (37 * hash) + PURCHASE_ORDER_ID_FIELD_NUMBER;
1488     hash = (53 * hash) + getPurchaseOrderId().hashCode();
1489     if (hasTrialSettings()) {
1490       hash = (37 * hash) + TRIAL_SETTINGS_FIELD_NUMBER;
1491       hash = (53 * hash) + getTrialSettings().hashCode();
1492     }
1493     if (hasAssociationInfo()) {
1494       hash = (37 * hash) + ASSOCIATION_INFO_FIELD_NUMBER;
1495       hash = (53 * hash) + getAssociationInfo().hashCode();
1496     }
1497     if (getParametersCount() > 0) {
1498       hash = (37 * hash) + PARAMETERS_FIELD_NUMBER;
1499       hash = (53 * hash) + getParametersList().hashCode();
1500     }
1501     hash = (37 * hash) + BILLING_ACCOUNT_FIELD_NUMBER;
1502     hash = (53 * hash) + getBillingAccount().hashCode();
1503     hash = (29 * hash) + getUnknownFields().hashCode();
1504     memoizedHashCode = hash;
1505     return hash;
1506   }
1507 
parseFrom(java.nio.ByteBuffer data)1508   public static com.google.cloud.channel.v1.Entitlement parseFrom(java.nio.ByteBuffer data)
1509       throws com.google.protobuf.InvalidProtocolBufferException {
1510     return PARSER.parseFrom(data);
1511   }
1512 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1513   public static com.google.cloud.channel.v1.Entitlement parseFrom(
1514       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1515       throws com.google.protobuf.InvalidProtocolBufferException {
1516     return PARSER.parseFrom(data, extensionRegistry);
1517   }
1518 
parseFrom( com.google.protobuf.ByteString data)1519   public static com.google.cloud.channel.v1.Entitlement parseFrom(
1520       com.google.protobuf.ByteString data)
1521       throws com.google.protobuf.InvalidProtocolBufferException {
1522     return PARSER.parseFrom(data);
1523   }
1524 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1525   public static com.google.cloud.channel.v1.Entitlement parseFrom(
1526       com.google.protobuf.ByteString data,
1527       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1528       throws com.google.protobuf.InvalidProtocolBufferException {
1529     return PARSER.parseFrom(data, extensionRegistry);
1530   }
1531 
parseFrom(byte[] data)1532   public static com.google.cloud.channel.v1.Entitlement parseFrom(byte[] data)
1533       throws com.google.protobuf.InvalidProtocolBufferException {
1534     return PARSER.parseFrom(data);
1535   }
1536 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1537   public static com.google.cloud.channel.v1.Entitlement parseFrom(
1538       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1539       throws com.google.protobuf.InvalidProtocolBufferException {
1540     return PARSER.parseFrom(data, extensionRegistry);
1541   }
1542 
parseFrom(java.io.InputStream input)1543   public static com.google.cloud.channel.v1.Entitlement parseFrom(java.io.InputStream input)
1544       throws java.io.IOException {
1545     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1546   }
1547 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1548   public static com.google.cloud.channel.v1.Entitlement parseFrom(
1549       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1550       throws java.io.IOException {
1551     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1552         PARSER, input, extensionRegistry);
1553   }
1554 
parseDelimitedFrom( java.io.InputStream input)1555   public static com.google.cloud.channel.v1.Entitlement parseDelimitedFrom(
1556       java.io.InputStream input) throws java.io.IOException {
1557     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1558   }
1559 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1560   public static com.google.cloud.channel.v1.Entitlement parseDelimitedFrom(
1561       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1562       throws java.io.IOException {
1563     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1564         PARSER, input, extensionRegistry);
1565   }
1566 
parseFrom( com.google.protobuf.CodedInputStream input)1567   public static com.google.cloud.channel.v1.Entitlement parseFrom(
1568       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1569     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1570   }
1571 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1572   public static com.google.cloud.channel.v1.Entitlement parseFrom(
1573       com.google.protobuf.CodedInputStream input,
1574       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1575       throws java.io.IOException {
1576     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1577         PARSER, input, extensionRegistry);
1578   }
1579 
1580   @java.lang.Override
newBuilderForType()1581   public Builder newBuilderForType() {
1582     return newBuilder();
1583   }
1584 
newBuilder()1585   public static Builder newBuilder() {
1586     return DEFAULT_INSTANCE.toBuilder();
1587   }
1588 
newBuilder(com.google.cloud.channel.v1.Entitlement prototype)1589   public static Builder newBuilder(com.google.cloud.channel.v1.Entitlement prototype) {
1590     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1591   }
1592 
1593   @java.lang.Override
toBuilder()1594   public Builder toBuilder() {
1595     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1596   }
1597 
1598   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1599   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1600     Builder builder = new Builder(parent);
1601     return builder;
1602   }
1603   /**
1604    *
1605    *
1606    * <pre>
1607    * An entitlement is a representation of a customer's ability to use a service.
1608    * </pre>
1609    *
1610    * Protobuf type {@code google.cloud.channel.v1.Entitlement}
1611    */
1612   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1613       implements
1614       // @@protoc_insertion_point(builder_implements:google.cloud.channel.v1.Entitlement)
1615       com.google.cloud.channel.v1.EntitlementOrBuilder {
getDescriptor()1616     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1617       return com.google.cloud.channel.v1.EntitlementsProto
1618           .internal_static_google_cloud_channel_v1_Entitlement_descriptor;
1619     }
1620 
1621     @java.lang.Override
1622     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1623         internalGetFieldAccessorTable() {
1624       return com.google.cloud.channel.v1.EntitlementsProto
1625           .internal_static_google_cloud_channel_v1_Entitlement_fieldAccessorTable
1626           .ensureFieldAccessorsInitialized(
1627               com.google.cloud.channel.v1.Entitlement.class,
1628               com.google.cloud.channel.v1.Entitlement.Builder.class);
1629     }
1630 
1631     // Construct using com.google.cloud.channel.v1.Entitlement.newBuilder()
Builder()1632     private Builder() {}
1633 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1634     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1635       super(parent);
1636     }
1637 
1638     @java.lang.Override
clear()1639     public Builder clear() {
1640       super.clear();
1641       bitField0_ = 0;
1642       name_ = "";
1643       createTime_ = null;
1644       if (createTimeBuilder_ != null) {
1645         createTimeBuilder_.dispose();
1646         createTimeBuilder_ = null;
1647       }
1648       updateTime_ = null;
1649       if (updateTimeBuilder_ != null) {
1650         updateTimeBuilder_.dispose();
1651         updateTimeBuilder_ = null;
1652       }
1653       offer_ = "";
1654       commitmentSettings_ = null;
1655       if (commitmentSettingsBuilder_ != null) {
1656         commitmentSettingsBuilder_.dispose();
1657         commitmentSettingsBuilder_ = null;
1658       }
1659       provisioningState_ = 0;
1660       provisionedService_ = null;
1661       if (provisionedServiceBuilder_ != null) {
1662         provisionedServiceBuilder_.dispose();
1663         provisionedServiceBuilder_ = null;
1664       }
1665       suspensionReasons_ = java.util.Collections.emptyList();
1666       bitField0_ = (bitField0_ & ~0x00000080);
1667       purchaseOrderId_ = "";
1668       trialSettings_ = null;
1669       if (trialSettingsBuilder_ != null) {
1670         trialSettingsBuilder_.dispose();
1671         trialSettingsBuilder_ = null;
1672       }
1673       associationInfo_ = null;
1674       if (associationInfoBuilder_ != null) {
1675         associationInfoBuilder_.dispose();
1676         associationInfoBuilder_ = null;
1677       }
1678       if (parametersBuilder_ == null) {
1679         parameters_ = java.util.Collections.emptyList();
1680       } else {
1681         parameters_ = null;
1682         parametersBuilder_.clear();
1683       }
1684       bitField0_ = (bitField0_ & ~0x00000800);
1685       billingAccount_ = "";
1686       return this;
1687     }
1688 
1689     @java.lang.Override
getDescriptorForType()1690     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1691       return com.google.cloud.channel.v1.EntitlementsProto
1692           .internal_static_google_cloud_channel_v1_Entitlement_descriptor;
1693     }
1694 
1695     @java.lang.Override
getDefaultInstanceForType()1696     public com.google.cloud.channel.v1.Entitlement getDefaultInstanceForType() {
1697       return com.google.cloud.channel.v1.Entitlement.getDefaultInstance();
1698     }
1699 
1700     @java.lang.Override
build()1701     public com.google.cloud.channel.v1.Entitlement build() {
1702       com.google.cloud.channel.v1.Entitlement result = buildPartial();
1703       if (!result.isInitialized()) {
1704         throw newUninitializedMessageException(result);
1705       }
1706       return result;
1707     }
1708 
1709     @java.lang.Override
buildPartial()1710     public com.google.cloud.channel.v1.Entitlement buildPartial() {
1711       com.google.cloud.channel.v1.Entitlement result =
1712           new com.google.cloud.channel.v1.Entitlement(this);
1713       buildPartialRepeatedFields(result);
1714       if (bitField0_ != 0) {
1715         buildPartial0(result);
1716       }
1717       onBuilt();
1718       return result;
1719     }
1720 
buildPartialRepeatedFields(com.google.cloud.channel.v1.Entitlement result)1721     private void buildPartialRepeatedFields(com.google.cloud.channel.v1.Entitlement result) {
1722       if (((bitField0_ & 0x00000080) != 0)) {
1723         suspensionReasons_ = java.util.Collections.unmodifiableList(suspensionReasons_);
1724         bitField0_ = (bitField0_ & ~0x00000080);
1725       }
1726       result.suspensionReasons_ = suspensionReasons_;
1727       if (parametersBuilder_ == null) {
1728         if (((bitField0_ & 0x00000800) != 0)) {
1729           parameters_ = java.util.Collections.unmodifiableList(parameters_);
1730           bitField0_ = (bitField0_ & ~0x00000800);
1731         }
1732         result.parameters_ = parameters_;
1733       } else {
1734         result.parameters_ = parametersBuilder_.build();
1735       }
1736     }
1737 
buildPartial0(com.google.cloud.channel.v1.Entitlement result)1738     private void buildPartial0(com.google.cloud.channel.v1.Entitlement result) {
1739       int from_bitField0_ = bitField0_;
1740       if (((from_bitField0_ & 0x00000001) != 0)) {
1741         result.name_ = name_;
1742       }
1743       if (((from_bitField0_ & 0x00000002) != 0)) {
1744         result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build();
1745       }
1746       if (((from_bitField0_ & 0x00000004) != 0)) {
1747         result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build();
1748       }
1749       if (((from_bitField0_ & 0x00000008) != 0)) {
1750         result.offer_ = offer_;
1751       }
1752       if (((from_bitField0_ & 0x00000010) != 0)) {
1753         result.commitmentSettings_ =
1754             commitmentSettingsBuilder_ == null
1755                 ? commitmentSettings_
1756                 : commitmentSettingsBuilder_.build();
1757       }
1758       if (((from_bitField0_ & 0x00000020) != 0)) {
1759         result.provisioningState_ = provisioningState_;
1760       }
1761       if (((from_bitField0_ & 0x00000040) != 0)) {
1762         result.provisionedService_ =
1763             provisionedServiceBuilder_ == null
1764                 ? provisionedService_
1765                 : provisionedServiceBuilder_.build();
1766       }
1767       if (((from_bitField0_ & 0x00000100) != 0)) {
1768         result.purchaseOrderId_ = purchaseOrderId_;
1769       }
1770       if (((from_bitField0_ & 0x00000200) != 0)) {
1771         result.trialSettings_ =
1772             trialSettingsBuilder_ == null ? trialSettings_ : trialSettingsBuilder_.build();
1773       }
1774       if (((from_bitField0_ & 0x00000400) != 0)) {
1775         result.associationInfo_ =
1776             associationInfoBuilder_ == null ? associationInfo_ : associationInfoBuilder_.build();
1777       }
1778       if (((from_bitField0_ & 0x00001000) != 0)) {
1779         result.billingAccount_ = billingAccount_;
1780       }
1781     }
1782 
1783     @java.lang.Override
clone()1784     public Builder clone() {
1785       return super.clone();
1786     }
1787 
1788     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1789     public Builder setField(
1790         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1791       return super.setField(field, value);
1792     }
1793 
1794     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1795     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1796       return super.clearField(field);
1797     }
1798 
1799     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1800     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1801       return super.clearOneof(oneof);
1802     }
1803 
1804     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1805     public Builder setRepeatedField(
1806         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
1807       return super.setRepeatedField(field, index, value);
1808     }
1809 
1810     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1811     public Builder addRepeatedField(
1812         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1813       return super.addRepeatedField(field, value);
1814     }
1815 
1816     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1817     public Builder mergeFrom(com.google.protobuf.Message other) {
1818       if (other instanceof com.google.cloud.channel.v1.Entitlement) {
1819         return mergeFrom((com.google.cloud.channel.v1.Entitlement) other);
1820       } else {
1821         super.mergeFrom(other);
1822         return this;
1823       }
1824     }
1825 
mergeFrom(com.google.cloud.channel.v1.Entitlement other)1826     public Builder mergeFrom(com.google.cloud.channel.v1.Entitlement other) {
1827       if (other == com.google.cloud.channel.v1.Entitlement.getDefaultInstance()) return this;
1828       if (!other.getName().isEmpty()) {
1829         name_ = other.name_;
1830         bitField0_ |= 0x00000001;
1831         onChanged();
1832       }
1833       if (other.hasCreateTime()) {
1834         mergeCreateTime(other.getCreateTime());
1835       }
1836       if (other.hasUpdateTime()) {
1837         mergeUpdateTime(other.getUpdateTime());
1838       }
1839       if (!other.getOffer().isEmpty()) {
1840         offer_ = other.offer_;
1841         bitField0_ |= 0x00000008;
1842         onChanged();
1843       }
1844       if (other.hasCommitmentSettings()) {
1845         mergeCommitmentSettings(other.getCommitmentSettings());
1846       }
1847       if (other.provisioningState_ != 0) {
1848         setProvisioningStateValue(other.getProvisioningStateValue());
1849       }
1850       if (other.hasProvisionedService()) {
1851         mergeProvisionedService(other.getProvisionedService());
1852       }
1853       if (!other.suspensionReasons_.isEmpty()) {
1854         if (suspensionReasons_.isEmpty()) {
1855           suspensionReasons_ = other.suspensionReasons_;
1856           bitField0_ = (bitField0_ & ~0x00000080);
1857         } else {
1858           ensureSuspensionReasonsIsMutable();
1859           suspensionReasons_.addAll(other.suspensionReasons_);
1860         }
1861         onChanged();
1862       }
1863       if (!other.getPurchaseOrderId().isEmpty()) {
1864         purchaseOrderId_ = other.purchaseOrderId_;
1865         bitField0_ |= 0x00000100;
1866         onChanged();
1867       }
1868       if (other.hasTrialSettings()) {
1869         mergeTrialSettings(other.getTrialSettings());
1870       }
1871       if (other.hasAssociationInfo()) {
1872         mergeAssociationInfo(other.getAssociationInfo());
1873       }
1874       if (parametersBuilder_ == null) {
1875         if (!other.parameters_.isEmpty()) {
1876           if (parameters_.isEmpty()) {
1877             parameters_ = other.parameters_;
1878             bitField0_ = (bitField0_ & ~0x00000800);
1879           } else {
1880             ensureParametersIsMutable();
1881             parameters_.addAll(other.parameters_);
1882           }
1883           onChanged();
1884         }
1885       } else {
1886         if (!other.parameters_.isEmpty()) {
1887           if (parametersBuilder_.isEmpty()) {
1888             parametersBuilder_.dispose();
1889             parametersBuilder_ = null;
1890             parameters_ = other.parameters_;
1891             bitField0_ = (bitField0_ & ~0x00000800);
1892             parametersBuilder_ =
1893                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
1894                     ? getParametersFieldBuilder()
1895                     : null;
1896           } else {
1897             parametersBuilder_.addAllMessages(other.parameters_);
1898           }
1899         }
1900       }
1901       if (!other.getBillingAccount().isEmpty()) {
1902         billingAccount_ = other.billingAccount_;
1903         bitField0_ |= 0x00001000;
1904         onChanged();
1905       }
1906       this.mergeUnknownFields(other.getUnknownFields());
1907       onChanged();
1908       return this;
1909     }
1910 
1911     @java.lang.Override
isInitialized()1912     public final boolean isInitialized() {
1913       return true;
1914     }
1915 
1916     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1917     public Builder mergeFrom(
1918         com.google.protobuf.CodedInputStream input,
1919         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1920         throws java.io.IOException {
1921       if (extensionRegistry == null) {
1922         throw new java.lang.NullPointerException();
1923       }
1924       try {
1925         boolean done = false;
1926         while (!done) {
1927           int tag = input.readTag();
1928           switch (tag) {
1929             case 0:
1930               done = true;
1931               break;
1932             case 10:
1933               {
1934                 name_ = input.readStringRequireUtf8();
1935                 bitField0_ |= 0x00000001;
1936                 break;
1937               } // case 10
1938             case 42:
1939               {
1940                 input.readMessage(getCreateTimeFieldBuilder().getBuilder(), extensionRegistry);
1941                 bitField0_ |= 0x00000002;
1942                 break;
1943               } // case 42
1944             case 50:
1945               {
1946                 input.readMessage(getUpdateTimeFieldBuilder().getBuilder(), extensionRegistry);
1947                 bitField0_ |= 0x00000004;
1948                 break;
1949               } // case 50
1950             case 66:
1951               {
1952                 offer_ = input.readStringRequireUtf8();
1953                 bitField0_ |= 0x00000008;
1954                 break;
1955               } // case 66
1956             case 98:
1957               {
1958                 input.readMessage(
1959                     getCommitmentSettingsFieldBuilder().getBuilder(), extensionRegistry);
1960                 bitField0_ |= 0x00000010;
1961                 break;
1962               } // case 98
1963             case 104:
1964               {
1965                 provisioningState_ = input.readEnum();
1966                 bitField0_ |= 0x00000020;
1967                 break;
1968               } // case 104
1969             case 130:
1970               {
1971                 input.readMessage(
1972                     getProvisionedServiceFieldBuilder().getBuilder(), extensionRegistry);
1973                 bitField0_ |= 0x00000040;
1974                 break;
1975               } // case 130
1976             case 144:
1977               {
1978                 int tmpRaw = input.readEnum();
1979                 ensureSuspensionReasonsIsMutable();
1980                 suspensionReasons_.add(tmpRaw);
1981                 break;
1982               } // case 144
1983             case 146:
1984               {
1985                 int length = input.readRawVarint32();
1986                 int oldLimit = input.pushLimit(length);
1987                 while (input.getBytesUntilLimit() > 0) {
1988                   int tmpRaw = input.readEnum();
1989                   ensureSuspensionReasonsIsMutable();
1990                   suspensionReasons_.add(tmpRaw);
1991                 }
1992                 input.popLimit(oldLimit);
1993                 break;
1994               } // case 146
1995             case 154:
1996               {
1997                 purchaseOrderId_ = input.readStringRequireUtf8();
1998                 bitField0_ |= 0x00000100;
1999                 break;
2000               } // case 154
2001             case 170:
2002               {
2003                 input.readMessage(getTrialSettingsFieldBuilder().getBuilder(), extensionRegistry);
2004                 bitField0_ |= 0x00000200;
2005                 break;
2006               } // case 170
2007             case 186:
2008               {
2009                 input.readMessage(getAssociationInfoFieldBuilder().getBuilder(), extensionRegistry);
2010                 bitField0_ |= 0x00000400;
2011                 break;
2012               } // case 186
2013             case 210:
2014               {
2015                 com.google.cloud.channel.v1.Parameter m =
2016                     input.readMessage(
2017                         com.google.cloud.channel.v1.Parameter.parser(), extensionRegistry);
2018                 if (parametersBuilder_ == null) {
2019                   ensureParametersIsMutable();
2020                   parameters_.add(m);
2021                 } else {
2022                   parametersBuilder_.addMessage(m);
2023                 }
2024                 break;
2025               } // case 210
2026             case 226:
2027               {
2028                 billingAccount_ = input.readStringRequireUtf8();
2029                 bitField0_ |= 0x00001000;
2030                 break;
2031               } // case 226
2032             default:
2033               {
2034                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2035                   done = true; // was an endgroup tag
2036                 }
2037                 break;
2038               } // default:
2039           } // switch (tag)
2040         } // while (!done)
2041       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2042         throw e.unwrapIOException();
2043       } finally {
2044         onChanged();
2045       } // finally
2046       return this;
2047     }
2048 
2049     private int bitField0_;
2050 
2051     private java.lang.Object name_ = "";
2052     /**
2053      *
2054      *
2055      * <pre>
2056      * Output only. Resource name of an entitlement in the form:
2057      * accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}.
2058      * </pre>
2059      *
2060      * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2061      *
2062      * @return The name.
2063      */
getName()2064     public java.lang.String getName() {
2065       java.lang.Object ref = name_;
2066       if (!(ref instanceof java.lang.String)) {
2067         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2068         java.lang.String s = bs.toStringUtf8();
2069         name_ = s;
2070         return s;
2071       } else {
2072         return (java.lang.String) ref;
2073       }
2074     }
2075     /**
2076      *
2077      *
2078      * <pre>
2079      * Output only. Resource name of an entitlement in the form:
2080      * accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}.
2081      * </pre>
2082      *
2083      * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2084      *
2085      * @return The bytes for name.
2086      */
getNameBytes()2087     public com.google.protobuf.ByteString getNameBytes() {
2088       java.lang.Object ref = name_;
2089       if (ref instanceof String) {
2090         com.google.protobuf.ByteString b =
2091             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2092         name_ = b;
2093         return b;
2094       } else {
2095         return (com.google.protobuf.ByteString) ref;
2096       }
2097     }
2098     /**
2099      *
2100      *
2101      * <pre>
2102      * Output only. Resource name of an entitlement in the form:
2103      * accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}.
2104      * </pre>
2105      *
2106      * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2107      *
2108      * @param value The name to set.
2109      * @return This builder for chaining.
2110      */
setName(java.lang.String value)2111     public Builder setName(java.lang.String value) {
2112       if (value == null) {
2113         throw new NullPointerException();
2114       }
2115       name_ = value;
2116       bitField0_ |= 0x00000001;
2117       onChanged();
2118       return this;
2119     }
2120     /**
2121      *
2122      *
2123      * <pre>
2124      * Output only. Resource name of an entitlement in the form:
2125      * accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}.
2126      * </pre>
2127      *
2128      * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2129      *
2130      * @return This builder for chaining.
2131      */
clearName()2132     public Builder clearName() {
2133       name_ = getDefaultInstance().getName();
2134       bitField0_ = (bitField0_ & ~0x00000001);
2135       onChanged();
2136       return this;
2137     }
2138     /**
2139      *
2140      *
2141      * <pre>
2142      * Output only. Resource name of an entitlement in the form:
2143      * accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}.
2144      * </pre>
2145      *
2146      * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
2147      *
2148      * @param value The bytes for name to set.
2149      * @return This builder for chaining.
2150      */
setNameBytes(com.google.protobuf.ByteString value)2151     public Builder setNameBytes(com.google.protobuf.ByteString value) {
2152       if (value == null) {
2153         throw new NullPointerException();
2154       }
2155       checkByteStringIsUtf8(value);
2156       name_ = value;
2157       bitField0_ |= 0x00000001;
2158       onChanged();
2159       return this;
2160     }
2161 
2162     private com.google.protobuf.Timestamp createTime_;
2163     private com.google.protobuf.SingleFieldBuilderV3<
2164             com.google.protobuf.Timestamp,
2165             com.google.protobuf.Timestamp.Builder,
2166             com.google.protobuf.TimestampOrBuilder>
2167         createTimeBuilder_;
2168     /**
2169      *
2170      *
2171      * <pre>
2172      * Output only. The time at which the entitlement is created.
2173      * </pre>
2174      *
2175      * <code>
2176      * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
2177      * </code>
2178      *
2179      * @return Whether the createTime field is set.
2180      */
hasCreateTime()2181     public boolean hasCreateTime() {
2182       return ((bitField0_ & 0x00000002) != 0);
2183     }
2184     /**
2185      *
2186      *
2187      * <pre>
2188      * Output only. The time at which the entitlement is created.
2189      * </pre>
2190      *
2191      * <code>
2192      * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
2193      * </code>
2194      *
2195      * @return The createTime.
2196      */
getCreateTime()2197     public com.google.protobuf.Timestamp getCreateTime() {
2198       if (createTimeBuilder_ == null) {
2199         return createTime_ == null
2200             ? com.google.protobuf.Timestamp.getDefaultInstance()
2201             : createTime_;
2202       } else {
2203         return createTimeBuilder_.getMessage();
2204       }
2205     }
2206     /**
2207      *
2208      *
2209      * <pre>
2210      * Output only. The time at which the entitlement is created.
2211      * </pre>
2212      *
2213      * <code>
2214      * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
2215      * </code>
2216      */
setCreateTime(com.google.protobuf.Timestamp value)2217     public Builder setCreateTime(com.google.protobuf.Timestamp value) {
2218       if (createTimeBuilder_ == null) {
2219         if (value == null) {
2220           throw new NullPointerException();
2221         }
2222         createTime_ = value;
2223       } else {
2224         createTimeBuilder_.setMessage(value);
2225       }
2226       bitField0_ |= 0x00000002;
2227       onChanged();
2228       return this;
2229     }
2230     /**
2231      *
2232      *
2233      * <pre>
2234      * Output only. The time at which the entitlement is created.
2235      * </pre>
2236      *
2237      * <code>
2238      * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
2239      * </code>
2240      */
setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue)2241     public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
2242       if (createTimeBuilder_ == null) {
2243         createTime_ = builderForValue.build();
2244       } else {
2245         createTimeBuilder_.setMessage(builderForValue.build());
2246       }
2247       bitField0_ |= 0x00000002;
2248       onChanged();
2249       return this;
2250     }
2251     /**
2252      *
2253      *
2254      * <pre>
2255      * Output only. The time at which the entitlement is created.
2256      * </pre>
2257      *
2258      * <code>
2259      * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
2260      * </code>
2261      */
mergeCreateTime(com.google.protobuf.Timestamp value)2262     public Builder mergeCreateTime(com.google.protobuf.Timestamp value) {
2263       if (createTimeBuilder_ == null) {
2264         if (((bitField0_ & 0x00000002) != 0)
2265             && createTime_ != null
2266             && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
2267           getCreateTimeBuilder().mergeFrom(value);
2268         } else {
2269           createTime_ = value;
2270         }
2271       } else {
2272         createTimeBuilder_.mergeFrom(value);
2273       }
2274       bitField0_ |= 0x00000002;
2275       onChanged();
2276       return this;
2277     }
2278     /**
2279      *
2280      *
2281      * <pre>
2282      * Output only. The time at which the entitlement is created.
2283      * </pre>
2284      *
2285      * <code>
2286      * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
2287      * </code>
2288      */
clearCreateTime()2289     public Builder clearCreateTime() {
2290       bitField0_ = (bitField0_ & ~0x00000002);
2291       createTime_ = null;
2292       if (createTimeBuilder_ != null) {
2293         createTimeBuilder_.dispose();
2294         createTimeBuilder_ = null;
2295       }
2296       onChanged();
2297       return this;
2298     }
2299     /**
2300      *
2301      *
2302      * <pre>
2303      * Output only. The time at which the entitlement is created.
2304      * </pre>
2305      *
2306      * <code>
2307      * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
2308      * </code>
2309      */
getCreateTimeBuilder()2310     public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() {
2311       bitField0_ |= 0x00000002;
2312       onChanged();
2313       return getCreateTimeFieldBuilder().getBuilder();
2314     }
2315     /**
2316      *
2317      *
2318      * <pre>
2319      * Output only. The time at which the entitlement is created.
2320      * </pre>
2321      *
2322      * <code>
2323      * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
2324      * </code>
2325      */
getCreateTimeOrBuilder()2326     public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
2327       if (createTimeBuilder_ != null) {
2328         return createTimeBuilder_.getMessageOrBuilder();
2329       } else {
2330         return createTime_ == null
2331             ? com.google.protobuf.Timestamp.getDefaultInstance()
2332             : createTime_;
2333       }
2334     }
2335     /**
2336      *
2337      *
2338      * <pre>
2339      * Output only. The time at which the entitlement is created.
2340      * </pre>
2341      *
2342      * <code>
2343      * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
2344      * </code>
2345      */
2346     private com.google.protobuf.SingleFieldBuilderV3<
2347             com.google.protobuf.Timestamp,
2348             com.google.protobuf.Timestamp.Builder,
2349             com.google.protobuf.TimestampOrBuilder>
getCreateTimeFieldBuilder()2350         getCreateTimeFieldBuilder() {
2351       if (createTimeBuilder_ == null) {
2352         createTimeBuilder_ =
2353             new com.google.protobuf.SingleFieldBuilderV3<
2354                 com.google.protobuf.Timestamp,
2355                 com.google.protobuf.Timestamp.Builder,
2356                 com.google.protobuf.TimestampOrBuilder>(
2357                 getCreateTime(), getParentForChildren(), isClean());
2358         createTime_ = null;
2359       }
2360       return createTimeBuilder_;
2361     }
2362 
2363     private com.google.protobuf.Timestamp updateTime_;
2364     private com.google.protobuf.SingleFieldBuilderV3<
2365             com.google.protobuf.Timestamp,
2366             com.google.protobuf.Timestamp.Builder,
2367             com.google.protobuf.TimestampOrBuilder>
2368         updateTimeBuilder_;
2369     /**
2370      *
2371      *
2372      * <pre>
2373      * Output only. The time at which the entitlement is updated.
2374      * </pre>
2375      *
2376      * <code>
2377      * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
2378      * </code>
2379      *
2380      * @return Whether the updateTime field is set.
2381      */
hasUpdateTime()2382     public boolean hasUpdateTime() {
2383       return ((bitField0_ & 0x00000004) != 0);
2384     }
2385     /**
2386      *
2387      *
2388      * <pre>
2389      * Output only. The time at which the entitlement is updated.
2390      * </pre>
2391      *
2392      * <code>
2393      * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
2394      * </code>
2395      *
2396      * @return The updateTime.
2397      */
getUpdateTime()2398     public com.google.protobuf.Timestamp getUpdateTime() {
2399       if (updateTimeBuilder_ == null) {
2400         return updateTime_ == null
2401             ? com.google.protobuf.Timestamp.getDefaultInstance()
2402             : updateTime_;
2403       } else {
2404         return updateTimeBuilder_.getMessage();
2405       }
2406     }
2407     /**
2408      *
2409      *
2410      * <pre>
2411      * Output only. The time at which the entitlement is updated.
2412      * </pre>
2413      *
2414      * <code>
2415      * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
2416      * </code>
2417      */
setUpdateTime(com.google.protobuf.Timestamp value)2418     public Builder setUpdateTime(com.google.protobuf.Timestamp value) {
2419       if (updateTimeBuilder_ == null) {
2420         if (value == null) {
2421           throw new NullPointerException();
2422         }
2423         updateTime_ = value;
2424       } else {
2425         updateTimeBuilder_.setMessage(value);
2426       }
2427       bitField0_ |= 0x00000004;
2428       onChanged();
2429       return this;
2430     }
2431     /**
2432      *
2433      *
2434      * <pre>
2435      * Output only. The time at which the entitlement is updated.
2436      * </pre>
2437      *
2438      * <code>
2439      * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
2440      * </code>
2441      */
setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue)2442     public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
2443       if (updateTimeBuilder_ == null) {
2444         updateTime_ = builderForValue.build();
2445       } else {
2446         updateTimeBuilder_.setMessage(builderForValue.build());
2447       }
2448       bitField0_ |= 0x00000004;
2449       onChanged();
2450       return this;
2451     }
2452     /**
2453      *
2454      *
2455      * <pre>
2456      * Output only. The time at which the entitlement is updated.
2457      * </pre>
2458      *
2459      * <code>
2460      * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
2461      * </code>
2462      */
mergeUpdateTime(com.google.protobuf.Timestamp value)2463     public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) {
2464       if (updateTimeBuilder_ == null) {
2465         if (((bitField0_ & 0x00000004) != 0)
2466             && updateTime_ != null
2467             && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
2468           getUpdateTimeBuilder().mergeFrom(value);
2469         } else {
2470           updateTime_ = value;
2471         }
2472       } else {
2473         updateTimeBuilder_.mergeFrom(value);
2474       }
2475       bitField0_ |= 0x00000004;
2476       onChanged();
2477       return this;
2478     }
2479     /**
2480      *
2481      *
2482      * <pre>
2483      * Output only. The time at which the entitlement is updated.
2484      * </pre>
2485      *
2486      * <code>
2487      * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
2488      * </code>
2489      */
clearUpdateTime()2490     public Builder clearUpdateTime() {
2491       bitField0_ = (bitField0_ & ~0x00000004);
2492       updateTime_ = null;
2493       if (updateTimeBuilder_ != null) {
2494         updateTimeBuilder_.dispose();
2495         updateTimeBuilder_ = null;
2496       }
2497       onChanged();
2498       return this;
2499     }
2500     /**
2501      *
2502      *
2503      * <pre>
2504      * Output only. The time at which the entitlement is updated.
2505      * </pre>
2506      *
2507      * <code>
2508      * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
2509      * </code>
2510      */
getUpdateTimeBuilder()2511     public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() {
2512       bitField0_ |= 0x00000004;
2513       onChanged();
2514       return getUpdateTimeFieldBuilder().getBuilder();
2515     }
2516     /**
2517      *
2518      *
2519      * <pre>
2520      * Output only. The time at which the entitlement is updated.
2521      * </pre>
2522      *
2523      * <code>
2524      * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
2525      * </code>
2526      */
getUpdateTimeOrBuilder()2527     public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() {
2528       if (updateTimeBuilder_ != null) {
2529         return updateTimeBuilder_.getMessageOrBuilder();
2530       } else {
2531         return updateTime_ == null
2532             ? com.google.protobuf.Timestamp.getDefaultInstance()
2533             : updateTime_;
2534       }
2535     }
2536     /**
2537      *
2538      *
2539      * <pre>
2540      * Output only. The time at which the entitlement is updated.
2541      * </pre>
2542      *
2543      * <code>
2544      * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
2545      * </code>
2546      */
2547     private com.google.protobuf.SingleFieldBuilderV3<
2548             com.google.protobuf.Timestamp,
2549             com.google.protobuf.Timestamp.Builder,
2550             com.google.protobuf.TimestampOrBuilder>
getUpdateTimeFieldBuilder()2551         getUpdateTimeFieldBuilder() {
2552       if (updateTimeBuilder_ == null) {
2553         updateTimeBuilder_ =
2554             new com.google.protobuf.SingleFieldBuilderV3<
2555                 com.google.protobuf.Timestamp,
2556                 com.google.protobuf.Timestamp.Builder,
2557                 com.google.protobuf.TimestampOrBuilder>(
2558                 getUpdateTime(), getParentForChildren(), isClean());
2559         updateTime_ = null;
2560       }
2561       return updateTimeBuilder_;
2562     }
2563 
2564     private java.lang.Object offer_ = "";
2565     /**
2566      *
2567      *
2568      * <pre>
2569      * Required. The offer resource name for which the entitlement is to be
2570      * created. Takes the form: accounts/{account_id}/offers/{offer_id}.
2571      * </pre>
2572      *
2573      * <code>
2574      * string offer = 8 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
2575      * </code>
2576      *
2577      * @return The offer.
2578      */
getOffer()2579     public java.lang.String getOffer() {
2580       java.lang.Object ref = offer_;
2581       if (!(ref instanceof java.lang.String)) {
2582         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2583         java.lang.String s = bs.toStringUtf8();
2584         offer_ = s;
2585         return s;
2586       } else {
2587         return (java.lang.String) ref;
2588       }
2589     }
2590     /**
2591      *
2592      *
2593      * <pre>
2594      * Required. The offer resource name for which the entitlement is to be
2595      * created. Takes the form: accounts/{account_id}/offers/{offer_id}.
2596      * </pre>
2597      *
2598      * <code>
2599      * string offer = 8 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
2600      * </code>
2601      *
2602      * @return The bytes for offer.
2603      */
getOfferBytes()2604     public com.google.protobuf.ByteString getOfferBytes() {
2605       java.lang.Object ref = offer_;
2606       if (ref instanceof String) {
2607         com.google.protobuf.ByteString b =
2608             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2609         offer_ = b;
2610         return b;
2611       } else {
2612         return (com.google.protobuf.ByteString) ref;
2613       }
2614     }
2615     /**
2616      *
2617      *
2618      * <pre>
2619      * Required. The offer resource name for which the entitlement is to be
2620      * created. Takes the form: accounts/{account_id}/offers/{offer_id}.
2621      * </pre>
2622      *
2623      * <code>
2624      * string offer = 8 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
2625      * </code>
2626      *
2627      * @param value The offer to set.
2628      * @return This builder for chaining.
2629      */
setOffer(java.lang.String value)2630     public Builder setOffer(java.lang.String value) {
2631       if (value == null) {
2632         throw new NullPointerException();
2633       }
2634       offer_ = value;
2635       bitField0_ |= 0x00000008;
2636       onChanged();
2637       return this;
2638     }
2639     /**
2640      *
2641      *
2642      * <pre>
2643      * Required. The offer resource name for which the entitlement is to be
2644      * created. Takes the form: accounts/{account_id}/offers/{offer_id}.
2645      * </pre>
2646      *
2647      * <code>
2648      * string offer = 8 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
2649      * </code>
2650      *
2651      * @return This builder for chaining.
2652      */
clearOffer()2653     public Builder clearOffer() {
2654       offer_ = getDefaultInstance().getOffer();
2655       bitField0_ = (bitField0_ & ~0x00000008);
2656       onChanged();
2657       return this;
2658     }
2659     /**
2660      *
2661      *
2662      * <pre>
2663      * Required. The offer resource name for which the entitlement is to be
2664      * created. Takes the form: accounts/{account_id}/offers/{offer_id}.
2665      * </pre>
2666      *
2667      * <code>
2668      * string offer = 8 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
2669      * </code>
2670      *
2671      * @param value The bytes for offer to set.
2672      * @return This builder for chaining.
2673      */
setOfferBytes(com.google.protobuf.ByteString value)2674     public Builder setOfferBytes(com.google.protobuf.ByteString value) {
2675       if (value == null) {
2676         throw new NullPointerException();
2677       }
2678       checkByteStringIsUtf8(value);
2679       offer_ = value;
2680       bitField0_ |= 0x00000008;
2681       onChanged();
2682       return this;
2683     }
2684 
2685     private com.google.cloud.channel.v1.CommitmentSettings commitmentSettings_;
2686     private com.google.protobuf.SingleFieldBuilderV3<
2687             com.google.cloud.channel.v1.CommitmentSettings,
2688             com.google.cloud.channel.v1.CommitmentSettings.Builder,
2689             com.google.cloud.channel.v1.CommitmentSettingsOrBuilder>
2690         commitmentSettingsBuilder_;
2691     /**
2692      *
2693      *
2694      * <pre>
2695      * Commitment settings for a commitment-based Offer.
2696      * Required for commitment based offers.
2697      * </pre>
2698      *
2699      * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
2700      *
2701      * @return Whether the commitmentSettings field is set.
2702      */
hasCommitmentSettings()2703     public boolean hasCommitmentSettings() {
2704       return ((bitField0_ & 0x00000010) != 0);
2705     }
2706     /**
2707      *
2708      *
2709      * <pre>
2710      * Commitment settings for a commitment-based Offer.
2711      * Required for commitment based offers.
2712      * </pre>
2713      *
2714      * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
2715      *
2716      * @return The commitmentSettings.
2717      */
getCommitmentSettings()2718     public com.google.cloud.channel.v1.CommitmentSettings getCommitmentSettings() {
2719       if (commitmentSettingsBuilder_ == null) {
2720         return commitmentSettings_ == null
2721             ? com.google.cloud.channel.v1.CommitmentSettings.getDefaultInstance()
2722             : commitmentSettings_;
2723       } else {
2724         return commitmentSettingsBuilder_.getMessage();
2725       }
2726     }
2727     /**
2728      *
2729      *
2730      * <pre>
2731      * Commitment settings for a commitment-based Offer.
2732      * Required for commitment based offers.
2733      * </pre>
2734      *
2735      * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
2736      */
setCommitmentSettings(com.google.cloud.channel.v1.CommitmentSettings value)2737     public Builder setCommitmentSettings(com.google.cloud.channel.v1.CommitmentSettings value) {
2738       if (commitmentSettingsBuilder_ == null) {
2739         if (value == null) {
2740           throw new NullPointerException();
2741         }
2742         commitmentSettings_ = value;
2743       } else {
2744         commitmentSettingsBuilder_.setMessage(value);
2745       }
2746       bitField0_ |= 0x00000010;
2747       onChanged();
2748       return this;
2749     }
2750     /**
2751      *
2752      *
2753      * <pre>
2754      * Commitment settings for a commitment-based Offer.
2755      * Required for commitment based offers.
2756      * </pre>
2757      *
2758      * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
2759      */
setCommitmentSettings( com.google.cloud.channel.v1.CommitmentSettings.Builder builderForValue)2760     public Builder setCommitmentSettings(
2761         com.google.cloud.channel.v1.CommitmentSettings.Builder builderForValue) {
2762       if (commitmentSettingsBuilder_ == null) {
2763         commitmentSettings_ = builderForValue.build();
2764       } else {
2765         commitmentSettingsBuilder_.setMessage(builderForValue.build());
2766       }
2767       bitField0_ |= 0x00000010;
2768       onChanged();
2769       return this;
2770     }
2771     /**
2772      *
2773      *
2774      * <pre>
2775      * Commitment settings for a commitment-based Offer.
2776      * Required for commitment based offers.
2777      * </pre>
2778      *
2779      * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
2780      */
mergeCommitmentSettings(com.google.cloud.channel.v1.CommitmentSettings value)2781     public Builder mergeCommitmentSettings(com.google.cloud.channel.v1.CommitmentSettings value) {
2782       if (commitmentSettingsBuilder_ == null) {
2783         if (((bitField0_ & 0x00000010) != 0)
2784             && commitmentSettings_ != null
2785             && commitmentSettings_
2786                 != com.google.cloud.channel.v1.CommitmentSettings.getDefaultInstance()) {
2787           getCommitmentSettingsBuilder().mergeFrom(value);
2788         } else {
2789           commitmentSettings_ = value;
2790         }
2791       } else {
2792         commitmentSettingsBuilder_.mergeFrom(value);
2793       }
2794       bitField0_ |= 0x00000010;
2795       onChanged();
2796       return this;
2797     }
2798     /**
2799      *
2800      *
2801      * <pre>
2802      * Commitment settings for a commitment-based Offer.
2803      * Required for commitment based offers.
2804      * </pre>
2805      *
2806      * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
2807      */
clearCommitmentSettings()2808     public Builder clearCommitmentSettings() {
2809       bitField0_ = (bitField0_ & ~0x00000010);
2810       commitmentSettings_ = null;
2811       if (commitmentSettingsBuilder_ != null) {
2812         commitmentSettingsBuilder_.dispose();
2813         commitmentSettingsBuilder_ = null;
2814       }
2815       onChanged();
2816       return this;
2817     }
2818     /**
2819      *
2820      *
2821      * <pre>
2822      * Commitment settings for a commitment-based Offer.
2823      * Required for commitment based offers.
2824      * </pre>
2825      *
2826      * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
2827      */
getCommitmentSettingsBuilder()2828     public com.google.cloud.channel.v1.CommitmentSettings.Builder getCommitmentSettingsBuilder() {
2829       bitField0_ |= 0x00000010;
2830       onChanged();
2831       return getCommitmentSettingsFieldBuilder().getBuilder();
2832     }
2833     /**
2834      *
2835      *
2836      * <pre>
2837      * Commitment settings for a commitment-based Offer.
2838      * Required for commitment based offers.
2839      * </pre>
2840      *
2841      * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
2842      */
2843     public com.google.cloud.channel.v1.CommitmentSettingsOrBuilder
getCommitmentSettingsOrBuilder()2844         getCommitmentSettingsOrBuilder() {
2845       if (commitmentSettingsBuilder_ != null) {
2846         return commitmentSettingsBuilder_.getMessageOrBuilder();
2847       } else {
2848         return commitmentSettings_ == null
2849             ? com.google.cloud.channel.v1.CommitmentSettings.getDefaultInstance()
2850             : commitmentSettings_;
2851       }
2852     }
2853     /**
2854      *
2855      *
2856      * <pre>
2857      * Commitment settings for a commitment-based Offer.
2858      * Required for commitment based offers.
2859      * </pre>
2860      *
2861      * <code>.google.cloud.channel.v1.CommitmentSettings commitment_settings = 12;</code>
2862      */
2863     private com.google.protobuf.SingleFieldBuilderV3<
2864             com.google.cloud.channel.v1.CommitmentSettings,
2865             com.google.cloud.channel.v1.CommitmentSettings.Builder,
2866             com.google.cloud.channel.v1.CommitmentSettingsOrBuilder>
getCommitmentSettingsFieldBuilder()2867         getCommitmentSettingsFieldBuilder() {
2868       if (commitmentSettingsBuilder_ == null) {
2869         commitmentSettingsBuilder_ =
2870             new com.google.protobuf.SingleFieldBuilderV3<
2871                 com.google.cloud.channel.v1.CommitmentSettings,
2872                 com.google.cloud.channel.v1.CommitmentSettings.Builder,
2873                 com.google.cloud.channel.v1.CommitmentSettingsOrBuilder>(
2874                 getCommitmentSettings(), getParentForChildren(), isClean());
2875         commitmentSettings_ = null;
2876       }
2877       return commitmentSettingsBuilder_;
2878     }
2879 
2880     private int provisioningState_ = 0;
2881     /**
2882      *
2883      *
2884      * <pre>
2885      * Output only. Current provisioning state of the entitlement.
2886      * </pre>
2887      *
2888      * <code>
2889      * .google.cloud.channel.v1.Entitlement.ProvisioningState provisioning_state = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
2890      * </code>
2891      *
2892      * @return The enum numeric value on the wire for provisioningState.
2893      */
2894     @java.lang.Override
getProvisioningStateValue()2895     public int getProvisioningStateValue() {
2896       return provisioningState_;
2897     }
2898     /**
2899      *
2900      *
2901      * <pre>
2902      * Output only. Current provisioning state of the entitlement.
2903      * </pre>
2904      *
2905      * <code>
2906      * .google.cloud.channel.v1.Entitlement.ProvisioningState provisioning_state = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
2907      * </code>
2908      *
2909      * @param value The enum numeric value on the wire for provisioningState to set.
2910      * @return This builder for chaining.
2911      */
setProvisioningStateValue(int value)2912     public Builder setProvisioningStateValue(int value) {
2913       provisioningState_ = value;
2914       bitField0_ |= 0x00000020;
2915       onChanged();
2916       return this;
2917     }
2918     /**
2919      *
2920      *
2921      * <pre>
2922      * Output only. Current provisioning state of the entitlement.
2923      * </pre>
2924      *
2925      * <code>
2926      * .google.cloud.channel.v1.Entitlement.ProvisioningState provisioning_state = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
2927      * </code>
2928      *
2929      * @return The provisioningState.
2930      */
2931     @java.lang.Override
getProvisioningState()2932     public com.google.cloud.channel.v1.Entitlement.ProvisioningState getProvisioningState() {
2933       com.google.cloud.channel.v1.Entitlement.ProvisioningState result =
2934           com.google.cloud.channel.v1.Entitlement.ProvisioningState.forNumber(provisioningState_);
2935       return result == null
2936           ? com.google.cloud.channel.v1.Entitlement.ProvisioningState.UNRECOGNIZED
2937           : result;
2938     }
2939     /**
2940      *
2941      *
2942      * <pre>
2943      * Output only. Current provisioning state of the entitlement.
2944      * </pre>
2945      *
2946      * <code>
2947      * .google.cloud.channel.v1.Entitlement.ProvisioningState provisioning_state = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
2948      * </code>
2949      *
2950      * @param value The provisioningState to set.
2951      * @return This builder for chaining.
2952      */
setProvisioningState( com.google.cloud.channel.v1.Entitlement.ProvisioningState value)2953     public Builder setProvisioningState(
2954         com.google.cloud.channel.v1.Entitlement.ProvisioningState value) {
2955       if (value == null) {
2956         throw new NullPointerException();
2957       }
2958       bitField0_ |= 0x00000020;
2959       provisioningState_ = value.getNumber();
2960       onChanged();
2961       return this;
2962     }
2963     /**
2964      *
2965      *
2966      * <pre>
2967      * Output only. Current provisioning state of the entitlement.
2968      * </pre>
2969      *
2970      * <code>
2971      * .google.cloud.channel.v1.Entitlement.ProvisioningState provisioning_state = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
2972      * </code>
2973      *
2974      * @return This builder for chaining.
2975      */
clearProvisioningState()2976     public Builder clearProvisioningState() {
2977       bitField0_ = (bitField0_ & ~0x00000020);
2978       provisioningState_ = 0;
2979       onChanged();
2980       return this;
2981     }
2982 
2983     private com.google.cloud.channel.v1.ProvisionedService provisionedService_;
2984     private com.google.protobuf.SingleFieldBuilderV3<
2985             com.google.cloud.channel.v1.ProvisionedService,
2986             com.google.cloud.channel.v1.ProvisionedService.Builder,
2987             com.google.cloud.channel.v1.ProvisionedServiceOrBuilder>
2988         provisionedServiceBuilder_;
2989     /**
2990      *
2991      *
2992      * <pre>
2993      * Output only. Service provisioning details for the entitlement.
2994      * </pre>
2995      *
2996      * <code>
2997      * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
2998      * </code>
2999      *
3000      * @return Whether the provisionedService field is set.
3001      */
hasProvisionedService()3002     public boolean hasProvisionedService() {
3003       return ((bitField0_ & 0x00000040) != 0);
3004     }
3005     /**
3006      *
3007      *
3008      * <pre>
3009      * Output only. Service provisioning details for the entitlement.
3010      * </pre>
3011      *
3012      * <code>
3013      * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
3014      * </code>
3015      *
3016      * @return The provisionedService.
3017      */
getProvisionedService()3018     public com.google.cloud.channel.v1.ProvisionedService getProvisionedService() {
3019       if (provisionedServiceBuilder_ == null) {
3020         return provisionedService_ == null
3021             ? com.google.cloud.channel.v1.ProvisionedService.getDefaultInstance()
3022             : provisionedService_;
3023       } else {
3024         return provisionedServiceBuilder_.getMessage();
3025       }
3026     }
3027     /**
3028      *
3029      *
3030      * <pre>
3031      * Output only. Service provisioning details for the entitlement.
3032      * </pre>
3033      *
3034      * <code>
3035      * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
3036      * </code>
3037      */
setProvisionedService(com.google.cloud.channel.v1.ProvisionedService value)3038     public Builder setProvisionedService(com.google.cloud.channel.v1.ProvisionedService value) {
3039       if (provisionedServiceBuilder_ == null) {
3040         if (value == null) {
3041           throw new NullPointerException();
3042         }
3043         provisionedService_ = value;
3044       } else {
3045         provisionedServiceBuilder_.setMessage(value);
3046       }
3047       bitField0_ |= 0x00000040;
3048       onChanged();
3049       return this;
3050     }
3051     /**
3052      *
3053      *
3054      * <pre>
3055      * Output only. Service provisioning details for the entitlement.
3056      * </pre>
3057      *
3058      * <code>
3059      * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
3060      * </code>
3061      */
setProvisionedService( com.google.cloud.channel.v1.ProvisionedService.Builder builderForValue)3062     public Builder setProvisionedService(
3063         com.google.cloud.channel.v1.ProvisionedService.Builder builderForValue) {
3064       if (provisionedServiceBuilder_ == null) {
3065         provisionedService_ = builderForValue.build();
3066       } else {
3067         provisionedServiceBuilder_.setMessage(builderForValue.build());
3068       }
3069       bitField0_ |= 0x00000040;
3070       onChanged();
3071       return this;
3072     }
3073     /**
3074      *
3075      *
3076      * <pre>
3077      * Output only. Service provisioning details for the entitlement.
3078      * </pre>
3079      *
3080      * <code>
3081      * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
3082      * </code>
3083      */
mergeProvisionedService(com.google.cloud.channel.v1.ProvisionedService value)3084     public Builder mergeProvisionedService(com.google.cloud.channel.v1.ProvisionedService value) {
3085       if (provisionedServiceBuilder_ == null) {
3086         if (((bitField0_ & 0x00000040) != 0)
3087             && provisionedService_ != null
3088             && provisionedService_
3089                 != com.google.cloud.channel.v1.ProvisionedService.getDefaultInstance()) {
3090           getProvisionedServiceBuilder().mergeFrom(value);
3091         } else {
3092           provisionedService_ = value;
3093         }
3094       } else {
3095         provisionedServiceBuilder_.mergeFrom(value);
3096       }
3097       bitField0_ |= 0x00000040;
3098       onChanged();
3099       return this;
3100     }
3101     /**
3102      *
3103      *
3104      * <pre>
3105      * Output only. Service provisioning details for the entitlement.
3106      * </pre>
3107      *
3108      * <code>
3109      * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
3110      * </code>
3111      */
clearProvisionedService()3112     public Builder clearProvisionedService() {
3113       bitField0_ = (bitField0_ & ~0x00000040);
3114       provisionedService_ = null;
3115       if (provisionedServiceBuilder_ != null) {
3116         provisionedServiceBuilder_.dispose();
3117         provisionedServiceBuilder_ = null;
3118       }
3119       onChanged();
3120       return this;
3121     }
3122     /**
3123      *
3124      *
3125      * <pre>
3126      * Output only. Service provisioning details for the entitlement.
3127      * </pre>
3128      *
3129      * <code>
3130      * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
3131      * </code>
3132      */
getProvisionedServiceBuilder()3133     public com.google.cloud.channel.v1.ProvisionedService.Builder getProvisionedServiceBuilder() {
3134       bitField0_ |= 0x00000040;
3135       onChanged();
3136       return getProvisionedServiceFieldBuilder().getBuilder();
3137     }
3138     /**
3139      *
3140      *
3141      * <pre>
3142      * Output only. Service provisioning details for the entitlement.
3143      * </pre>
3144      *
3145      * <code>
3146      * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
3147      * </code>
3148      */
3149     public com.google.cloud.channel.v1.ProvisionedServiceOrBuilder
getProvisionedServiceOrBuilder()3150         getProvisionedServiceOrBuilder() {
3151       if (provisionedServiceBuilder_ != null) {
3152         return provisionedServiceBuilder_.getMessageOrBuilder();
3153       } else {
3154         return provisionedService_ == null
3155             ? com.google.cloud.channel.v1.ProvisionedService.getDefaultInstance()
3156             : provisionedService_;
3157       }
3158     }
3159     /**
3160      *
3161      *
3162      * <pre>
3163      * Output only. Service provisioning details for the entitlement.
3164      * </pre>
3165      *
3166      * <code>
3167      * .google.cloud.channel.v1.ProvisionedService provisioned_service = 16 [(.google.api.field_behavior) = OUTPUT_ONLY];
3168      * </code>
3169      */
3170     private com.google.protobuf.SingleFieldBuilderV3<
3171             com.google.cloud.channel.v1.ProvisionedService,
3172             com.google.cloud.channel.v1.ProvisionedService.Builder,
3173             com.google.cloud.channel.v1.ProvisionedServiceOrBuilder>
getProvisionedServiceFieldBuilder()3174         getProvisionedServiceFieldBuilder() {
3175       if (provisionedServiceBuilder_ == null) {
3176         provisionedServiceBuilder_ =
3177             new com.google.protobuf.SingleFieldBuilderV3<
3178                 com.google.cloud.channel.v1.ProvisionedService,
3179                 com.google.cloud.channel.v1.ProvisionedService.Builder,
3180                 com.google.cloud.channel.v1.ProvisionedServiceOrBuilder>(
3181                 getProvisionedService(), getParentForChildren(), isClean());
3182         provisionedService_ = null;
3183       }
3184       return provisionedServiceBuilder_;
3185     }
3186 
3187     private java.util.List<java.lang.Integer> suspensionReasons_ =
3188         java.util.Collections.emptyList();
3189 
ensureSuspensionReasonsIsMutable()3190     private void ensureSuspensionReasonsIsMutable() {
3191       if (!((bitField0_ & 0x00000080) != 0)) {
3192         suspensionReasons_ = new java.util.ArrayList<java.lang.Integer>(suspensionReasons_);
3193         bitField0_ |= 0x00000080;
3194       }
3195     }
3196     /**
3197      *
3198      *
3199      * <pre>
3200      * Output only. Enumerable of all current suspension reasons for an
3201      * entitlement.
3202      * </pre>
3203      *
3204      * <code>
3205      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3206      * </code>
3207      *
3208      * @return A list containing the suspensionReasons.
3209      */
3210     public java.util.List<com.google.cloud.channel.v1.Entitlement.SuspensionReason>
getSuspensionReasonsList()3211         getSuspensionReasonsList() {
3212       return new com.google.protobuf.Internal.ListAdapter<
3213           java.lang.Integer, com.google.cloud.channel.v1.Entitlement.SuspensionReason>(
3214           suspensionReasons_, suspensionReasons_converter_);
3215     }
3216     /**
3217      *
3218      *
3219      * <pre>
3220      * Output only. Enumerable of all current suspension reasons for an
3221      * entitlement.
3222      * </pre>
3223      *
3224      * <code>
3225      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3226      * </code>
3227      *
3228      * @return The count of suspensionReasons.
3229      */
getSuspensionReasonsCount()3230     public int getSuspensionReasonsCount() {
3231       return suspensionReasons_.size();
3232     }
3233     /**
3234      *
3235      *
3236      * <pre>
3237      * Output only. Enumerable of all current suspension reasons for an
3238      * entitlement.
3239      * </pre>
3240      *
3241      * <code>
3242      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3243      * </code>
3244      *
3245      * @param index The index of the element to return.
3246      * @return The suspensionReasons at the given index.
3247      */
getSuspensionReasons( int index)3248     public com.google.cloud.channel.v1.Entitlement.SuspensionReason getSuspensionReasons(
3249         int index) {
3250       return suspensionReasons_converter_.convert(suspensionReasons_.get(index));
3251     }
3252     /**
3253      *
3254      *
3255      * <pre>
3256      * Output only. Enumerable of all current suspension reasons for an
3257      * entitlement.
3258      * </pre>
3259      *
3260      * <code>
3261      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3262      * </code>
3263      *
3264      * @param index The index to set the value at.
3265      * @param value The suspensionReasons to set.
3266      * @return This builder for chaining.
3267      */
setSuspensionReasons( int index, com.google.cloud.channel.v1.Entitlement.SuspensionReason value)3268     public Builder setSuspensionReasons(
3269         int index, com.google.cloud.channel.v1.Entitlement.SuspensionReason value) {
3270       if (value == null) {
3271         throw new NullPointerException();
3272       }
3273       ensureSuspensionReasonsIsMutable();
3274       suspensionReasons_.set(index, value.getNumber());
3275       onChanged();
3276       return this;
3277     }
3278     /**
3279      *
3280      *
3281      * <pre>
3282      * Output only. Enumerable of all current suspension reasons for an
3283      * entitlement.
3284      * </pre>
3285      *
3286      * <code>
3287      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3288      * </code>
3289      *
3290      * @param value The suspensionReasons to add.
3291      * @return This builder for chaining.
3292      */
addSuspensionReasons( com.google.cloud.channel.v1.Entitlement.SuspensionReason value)3293     public Builder addSuspensionReasons(
3294         com.google.cloud.channel.v1.Entitlement.SuspensionReason value) {
3295       if (value == null) {
3296         throw new NullPointerException();
3297       }
3298       ensureSuspensionReasonsIsMutable();
3299       suspensionReasons_.add(value.getNumber());
3300       onChanged();
3301       return this;
3302     }
3303     /**
3304      *
3305      *
3306      * <pre>
3307      * Output only. Enumerable of all current suspension reasons for an
3308      * entitlement.
3309      * </pre>
3310      *
3311      * <code>
3312      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3313      * </code>
3314      *
3315      * @param values The suspensionReasons to add.
3316      * @return This builder for chaining.
3317      */
addAllSuspensionReasons( java.lang.Iterable<? extends com.google.cloud.channel.v1.Entitlement.SuspensionReason> values)3318     public Builder addAllSuspensionReasons(
3319         java.lang.Iterable<? extends com.google.cloud.channel.v1.Entitlement.SuspensionReason>
3320             values) {
3321       ensureSuspensionReasonsIsMutable();
3322       for (com.google.cloud.channel.v1.Entitlement.SuspensionReason value : values) {
3323         suspensionReasons_.add(value.getNumber());
3324       }
3325       onChanged();
3326       return this;
3327     }
3328     /**
3329      *
3330      *
3331      * <pre>
3332      * Output only. Enumerable of all current suspension reasons for an
3333      * entitlement.
3334      * </pre>
3335      *
3336      * <code>
3337      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3338      * </code>
3339      *
3340      * @return This builder for chaining.
3341      */
clearSuspensionReasons()3342     public Builder clearSuspensionReasons() {
3343       suspensionReasons_ = java.util.Collections.emptyList();
3344       bitField0_ = (bitField0_ & ~0x00000080);
3345       onChanged();
3346       return this;
3347     }
3348     /**
3349      *
3350      *
3351      * <pre>
3352      * Output only. Enumerable of all current suspension reasons for an
3353      * entitlement.
3354      * </pre>
3355      *
3356      * <code>
3357      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3358      * </code>
3359      *
3360      * @return A list containing the enum numeric values on the wire for suspensionReasons.
3361      */
getSuspensionReasonsValueList()3362     public java.util.List<java.lang.Integer> getSuspensionReasonsValueList() {
3363       return java.util.Collections.unmodifiableList(suspensionReasons_);
3364     }
3365     /**
3366      *
3367      *
3368      * <pre>
3369      * Output only. Enumerable of all current suspension reasons for an
3370      * entitlement.
3371      * </pre>
3372      *
3373      * <code>
3374      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3375      * </code>
3376      *
3377      * @param index The index of the value to return.
3378      * @return The enum numeric value on the wire of suspensionReasons at the given index.
3379      */
getSuspensionReasonsValue(int index)3380     public int getSuspensionReasonsValue(int index) {
3381       return suspensionReasons_.get(index);
3382     }
3383     /**
3384      *
3385      *
3386      * <pre>
3387      * Output only. Enumerable of all current suspension reasons for an
3388      * entitlement.
3389      * </pre>
3390      *
3391      * <code>
3392      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3393      * </code>
3394      *
3395      * @param index The index to set the value at.
3396      * @param value The enum numeric value on the wire for suspensionReasons to set.
3397      * @return This builder for chaining.
3398      */
setSuspensionReasonsValue(int index, int value)3399     public Builder setSuspensionReasonsValue(int index, int value) {
3400       ensureSuspensionReasonsIsMutable();
3401       suspensionReasons_.set(index, value);
3402       onChanged();
3403       return this;
3404     }
3405     /**
3406      *
3407      *
3408      * <pre>
3409      * Output only. Enumerable of all current suspension reasons for an
3410      * entitlement.
3411      * </pre>
3412      *
3413      * <code>
3414      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3415      * </code>
3416      *
3417      * @param value The enum numeric value on the wire for suspensionReasons to add.
3418      * @return This builder for chaining.
3419      */
addSuspensionReasonsValue(int value)3420     public Builder addSuspensionReasonsValue(int value) {
3421       ensureSuspensionReasonsIsMutable();
3422       suspensionReasons_.add(value);
3423       onChanged();
3424       return this;
3425     }
3426     /**
3427      *
3428      *
3429      * <pre>
3430      * Output only. Enumerable of all current suspension reasons for an
3431      * entitlement.
3432      * </pre>
3433      *
3434      * <code>
3435      * repeated .google.cloud.channel.v1.Entitlement.SuspensionReason suspension_reasons = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
3436      * </code>
3437      *
3438      * @param values The enum numeric values on the wire for suspensionReasons to add.
3439      * @return This builder for chaining.
3440      */
addAllSuspensionReasonsValue(java.lang.Iterable<java.lang.Integer> values)3441     public Builder addAllSuspensionReasonsValue(java.lang.Iterable<java.lang.Integer> values) {
3442       ensureSuspensionReasonsIsMutable();
3443       for (int value : values) {
3444         suspensionReasons_.add(value);
3445       }
3446       onChanged();
3447       return this;
3448     }
3449 
3450     private java.lang.Object purchaseOrderId_ = "";
3451     /**
3452      *
3453      *
3454      * <pre>
3455      * Optional. This purchase order (PO) information is for resellers to use for
3456      * their company tracking usage. If a purchaseOrderId value is given, it
3457      * appears in the API responses and shows up in the invoice. The property
3458      * accepts up to 80 plain text characters. This is only supported for Google
3459      * Workspace entitlements.
3460      * </pre>
3461      *
3462      * <code>string purchase_order_id = 19 [(.google.api.field_behavior) = OPTIONAL];</code>
3463      *
3464      * @return The purchaseOrderId.
3465      */
getPurchaseOrderId()3466     public java.lang.String getPurchaseOrderId() {
3467       java.lang.Object ref = purchaseOrderId_;
3468       if (!(ref instanceof java.lang.String)) {
3469         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3470         java.lang.String s = bs.toStringUtf8();
3471         purchaseOrderId_ = s;
3472         return s;
3473       } else {
3474         return (java.lang.String) ref;
3475       }
3476     }
3477     /**
3478      *
3479      *
3480      * <pre>
3481      * Optional. This purchase order (PO) information is for resellers to use for
3482      * their company tracking usage. If a purchaseOrderId value is given, it
3483      * appears in the API responses and shows up in the invoice. The property
3484      * accepts up to 80 plain text characters. This is only supported for Google
3485      * Workspace entitlements.
3486      * </pre>
3487      *
3488      * <code>string purchase_order_id = 19 [(.google.api.field_behavior) = OPTIONAL];</code>
3489      *
3490      * @return The bytes for purchaseOrderId.
3491      */
getPurchaseOrderIdBytes()3492     public com.google.protobuf.ByteString getPurchaseOrderIdBytes() {
3493       java.lang.Object ref = purchaseOrderId_;
3494       if (ref instanceof String) {
3495         com.google.protobuf.ByteString b =
3496             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3497         purchaseOrderId_ = b;
3498         return b;
3499       } else {
3500         return (com.google.protobuf.ByteString) ref;
3501       }
3502     }
3503     /**
3504      *
3505      *
3506      * <pre>
3507      * Optional. This purchase order (PO) information is for resellers to use for
3508      * their company tracking usage. If a purchaseOrderId value is given, it
3509      * appears in the API responses and shows up in the invoice. The property
3510      * accepts up to 80 plain text characters. This is only supported for Google
3511      * Workspace entitlements.
3512      * </pre>
3513      *
3514      * <code>string purchase_order_id = 19 [(.google.api.field_behavior) = OPTIONAL];</code>
3515      *
3516      * @param value The purchaseOrderId to set.
3517      * @return This builder for chaining.
3518      */
setPurchaseOrderId(java.lang.String value)3519     public Builder setPurchaseOrderId(java.lang.String value) {
3520       if (value == null) {
3521         throw new NullPointerException();
3522       }
3523       purchaseOrderId_ = value;
3524       bitField0_ |= 0x00000100;
3525       onChanged();
3526       return this;
3527     }
3528     /**
3529      *
3530      *
3531      * <pre>
3532      * Optional. This purchase order (PO) information is for resellers to use for
3533      * their company tracking usage. If a purchaseOrderId value is given, it
3534      * appears in the API responses and shows up in the invoice. The property
3535      * accepts up to 80 plain text characters. This is only supported for Google
3536      * Workspace entitlements.
3537      * </pre>
3538      *
3539      * <code>string purchase_order_id = 19 [(.google.api.field_behavior) = OPTIONAL];</code>
3540      *
3541      * @return This builder for chaining.
3542      */
clearPurchaseOrderId()3543     public Builder clearPurchaseOrderId() {
3544       purchaseOrderId_ = getDefaultInstance().getPurchaseOrderId();
3545       bitField0_ = (bitField0_ & ~0x00000100);
3546       onChanged();
3547       return this;
3548     }
3549     /**
3550      *
3551      *
3552      * <pre>
3553      * Optional. This purchase order (PO) information is for resellers to use for
3554      * their company tracking usage. If a purchaseOrderId value is given, it
3555      * appears in the API responses and shows up in the invoice. The property
3556      * accepts up to 80 plain text characters. This is only supported for Google
3557      * Workspace entitlements.
3558      * </pre>
3559      *
3560      * <code>string purchase_order_id = 19 [(.google.api.field_behavior) = OPTIONAL];</code>
3561      *
3562      * @param value The bytes for purchaseOrderId to set.
3563      * @return This builder for chaining.
3564      */
setPurchaseOrderIdBytes(com.google.protobuf.ByteString value)3565     public Builder setPurchaseOrderIdBytes(com.google.protobuf.ByteString value) {
3566       if (value == null) {
3567         throw new NullPointerException();
3568       }
3569       checkByteStringIsUtf8(value);
3570       purchaseOrderId_ = value;
3571       bitField0_ |= 0x00000100;
3572       onChanged();
3573       return this;
3574     }
3575 
3576     private com.google.cloud.channel.v1.TrialSettings trialSettings_;
3577     private com.google.protobuf.SingleFieldBuilderV3<
3578             com.google.cloud.channel.v1.TrialSettings,
3579             com.google.cloud.channel.v1.TrialSettings.Builder,
3580             com.google.cloud.channel.v1.TrialSettingsOrBuilder>
3581         trialSettingsBuilder_;
3582     /**
3583      *
3584      *
3585      * <pre>
3586      * Output only. Settings for trial offers.
3587      * </pre>
3588      *
3589      * <code>
3590      * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
3591      * </code>
3592      *
3593      * @return Whether the trialSettings field is set.
3594      */
hasTrialSettings()3595     public boolean hasTrialSettings() {
3596       return ((bitField0_ & 0x00000200) != 0);
3597     }
3598     /**
3599      *
3600      *
3601      * <pre>
3602      * Output only. Settings for trial offers.
3603      * </pre>
3604      *
3605      * <code>
3606      * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
3607      * </code>
3608      *
3609      * @return The trialSettings.
3610      */
getTrialSettings()3611     public com.google.cloud.channel.v1.TrialSettings getTrialSettings() {
3612       if (trialSettingsBuilder_ == null) {
3613         return trialSettings_ == null
3614             ? com.google.cloud.channel.v1.TrialSettings.getDefaultInstance()
3615             : trialSettings_;
3616       } else {
3617         return trialSettingsBuilder_.getMessage();
3618       }
3619     }
3620     /**
3621      *
3622      *
3623      * <pre>
3624      * Output only. Settings for trial offers.
3625      * </pre>
3626      *
3627      * <code>
3628      * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
3629      * </code>
3630      */
setTrialSettings(com.google.cloud.channel.v1.TrialSettings value)3631     public Builder setTrialSettings(com.google.cloud.channel.v1.TrialSettings value) {
3632       if (trialSettingsBuilder_ == null) {
3633         if (value == null) {
3634           throw new NullPointerException();
3635         }
3636         trialSettings_ = value;
3637       } else {
3638         trialSettingsBuilder_.setMessage(value);
3639       }
3640       bitField0_ |= 0x00000200;
3641       onChanged();
3642       return this;
3643     }
3644     /**
3645      *
3646      *
3647      * <pre>
3648      * Output only. Settings for trial offers.
3649      * </pre>
3650      *
3651      * <code>
3652      * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
3653      * </code>
3654      */
setTrialSettings( com.google.cloud.channel.v1.TrialSettings.Builder builderForValue)3655     public Builder setTrialSettings(
3656         com.google.cloud.channel.v1.TrialSettings.Builder builderForValue) {
3657       if (trialSettingsBuilder_ == null) {
3658         trialSettings_ = builderForValue.build();
3659       } else {
3660         trialSettingsBuilder_.setMessage(builderForValue.build());
3661       }
3662       bitField0_ |= 0x00000200;
3663       onChanged();
3664       return this;
3665     }
3666     /**
3667      *
3668      *
3669      * <pre>
3670      * Output only. Settings for trial offers.
3671      * </pre>
3672      *
3673      * <code>
3674      * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
3675      * </code>
3676      */
mergeTrialSettings(com.google.cloud.channel.v1.TrialSettings value)3677     public Builder mergeTrialSettings(com.google.cloud.channel.v1.TrialSettings value) {
3678       if (trialSettingsBuilder_ == null) {
3679         if (((bitField0_ & 0x00000200) != 0)
3680             && trialSettings_ != null
3681             && trialSettings_ != com.google.cloud.channel.v1.TrialSettings.getDefaultInstance()) {
3682           getTrialSettingsBuilder().mergeFrom(value);
3683         } else {
3684           trialSettings_ = value;
3685         }
3686       } else {
3687         trialSettingsBuilder_.mergeFrom(value);
3688       }
3689       bitField0_ |= 0x00000200;
3690       onChanged();
3691       return this;
3692     }
3693     /**
3694      *
3695      *
3696      * <pre>
3697      * Output only. Settings for trial offers.
3698      * </pre>
3699      *
3700      * <code>
3701      * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
3702      * </code>
3703      */
clearTrialSettings()3704     public Builder clearTrialSettings() {
3705       bitField0_ = (bitField0_ & ~0x00000200);
3706       trialSettings_ = null;
3707       if (trialSettingsBuilder_ != null) {
3708         trialSettingsBuilder_.dispose();
3709         trialSettingsBuilder_ = null;
3710       }
3711       onChanged();
3712       return this;
3713     }
3714     /**
3715      *
3716      *
3717      * <pre>
3718      * Output only. Settings for trial offers.
3719      * </pre>
3720      *
3721      * <code>
3722      * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
3723      * </code>
3724      */
getTrialSettingsBuilder()3725     public com.google.cloud.channel.v1.TrialSettings.Builder getTrialSettingsBuilder() {
3726       bitField0_ |= 0x00000200;
3727       onChanged();
3728       return getTrialSettingsFieldBuilder().getBuilder();
3729     }
3730     /**
3731      *
3732      *
3733      * <pre>
3734      * Output only. Settings for trial offers.
3735      * </pre>
3736      *
3737      * <code>
3738      * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
3739      * </code>
3740      */
getTrialSettingsOrBuilder()3741     public com.google.cloud.channel.v1.TrialSettingsOrBuilder getTrialSettingsOrBuilder() {
3742       if (trialSettingsBuilder_ != null) {
3743         return trialSettingsBuilder_.getMessageOrBuilder();
3744       } else {
3745         return trialSettings_ == null
3746             ? com.google.cloud.channel.v1.TrialSettings.getDefaultInstance()
3747             : trialSettings_;
3748       }
3749     }
3750     /**
3751      *
3752      *
3753      * <pre>
3754      * Output only. Settings for trial offers.
3755      * </pre>
3756      *
3757      * <code>
3758      * .google.cloud.channel.v1.TrialSettings trial_settings = 21 [(.google.api.field_behavior) = OUTPUT_ONLY];
3759      * </code>
3760      */
3761     private com.google.protobuf.SingleFieldBuilderV3<
3762             com.google.cloud.channel.v1.TrialSettings,
3763             com.google.cloud.channel.v1.TrialSettings.Builder,
3764             com.google.cloud.channel.v1.TrialSettingsOrBuilder>
getTrialSettingsFieldBuilder()3765         getTrialSettingsFieldBuilder() {
3766       if (trialSettingsBuilder_ == null) {
3767         trialSettingsBuilder_ =
3768             new com.google.protobuf.SingleFieldBuilderV3<
3769                 com.google.cloud.channel.v1.TrialSettings,
3770                 com.google.cloud.channel.v1.TrialSettings.Builder,
3771                 com.google.cloud.channel.v1.TrialSettingsOrBuilder>(
3772                 getTrialSettings(), getParentForChildren(), isClean());
3773         trialSettings_ = null;
3774       }
3775       return trialSettingsBuilder_;
3776     }
3777 
3778     private com.google.cloud.channel.v1.AssociationInfo associationInfo_;
3779     private com.google.protobuf.SingleFieldBuilderV3<
3780             com.google.cloud.channel.v1.AssociationInfo,
3781             com.google.cloud.channel.v1.AssociationInfo.Builder,
3782             com.google.cloud.channel.v1.AssociationInfoOrBuilder>
3783         associationInfoBuilder_;
3784     /**
3785      *
3786      *
3787      * <pre>
3788      * Association information to other entitlements.
3789      * </pre>
3790      *
3791      * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
3792      *
3793      * @return Whether the associationInfo field is set.
3794      */
hasAssociationInfo()3795     public boolean hasAssociationInfo() {
3796       return ((bitField0_ & 0x00000400) != 0);
3797     }
3798     /**
3799      *
3800      *
3801      * <pre>
3802      * Association information to other entitlements.
3803      * </pre>
3804      *
3805      * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
3806      *
3807      * @return The associationInfo.
3808      */
getAssociationInfo()3809     public com.google.cloud.channel.v1.AssociationInfo getAssociationInfo() {
3810       if (associationInfoBuilder_ == null) {
3811         return associationInfo_ == null
3812             ? com.google.cloud.channel.v1.AssociationInfo.getDefaultInstance()
3813             : associationInfo_;
3814       } else {
3815         return associationInfoBuilder_.getMessage();
3816       }
3817     }
3818     /**
3819      *
3820      *
3821      * <pre>
3822      * Association information to other entitlements.
3823      * </pre>
3824      *
3825      * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
3826      */
setAssociationInfo(com.google.cloud.channel.v1.AssociationInfo value)3827     public Builder setAssociationInfo(com.google.cloud.channel.v1.AssociationInfo value) {
3828       if (associationInfoBuilder_ == null) {
3829         if (value == null) {
3830           throw new NullPointerException();
3831         }
3832         associationInfo_ = value;
3833       } else {
3834         associationInfoBuilder_.setMessage(value);
3835       }
3836       bitField0_ |= 0x00000400;
3837       onChanged();
3838       return this;
3839     }
3840     /**
3841      *
3842      *
3843      * <pre>
3844      * Association information to other entitlements.
3845      * </pre>
3846      *
3847      * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
3848      */
setAssociationInfo( com.google.cloud.channel.v1.AssociationInfo.Builder builderForValue)3849     public Builder setAssociationInfo(
3850         com.google.cloud.channel.v1.AssociationInfo.Builder builderForValue) {
3851       if (associationInfoBuilder_ == null) {
3852         associationInfo_ = builderForValue.build();
3853       } else {
3854         associationInfoBuilder_.setMessage(builderForValue.build());
3855       }
3856       bitField0_ |= 0x00000400;
3857       onChanged();
3858       return this;
3859     }
3860     /**
3861      *
3862      *
3863      * <pre>
3864      * Association information to other entitlements.
3865      * </pre>
3866      *
3867      * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
3868      */
mergeAssociationInfo(com.google.cloud.channel.v1.AssociationInfo value)3869     public Builder mergeAssociationInfo(com.google.cloud.channel.v1.AssociationInfo value) {
3870       if (associationInfoBuilder_ == null) {
3871         if (((bitField0_ & 0x00000400) != 0)
3872             && associationInfo_ != null
3873             && associationInfo_
3874                 != com.google.cloud.channel.v1.AssociationInfo.getDefaultInstance()) {
3875           getAssociationInfoBuilder().mergeFrom(value);
3876         } else {
3877           associationInfo_ = value;
3878         }
3879       } else {
3880         associationInfoBuilder_.mergeFrom(value);
3881       }
3882       bitField0_ |= 0x00000400;
3883       onChanged();
3884       return this;
3885     }
3886     /**
3887      *
3888      *
3889      * <pre>
3890      * Association information to other entitlements.
3891      * </pre>
3892      *
3893      * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
3894      */
clearAssociationInfo()3895     public Builder clearAssociationInfo() {
3896       bitField0_ = (bitField0_ & ~0x00000400);
3897       associationInfo_ = null;
3898       if (associationInfoBuilder_ != null) {
3899         associationInfoBuilder_.dispose();
3900         associationInfoBuilder_ = null;
3901       }
3902       onChanged();
3903       return this;
3904     }
3905     /**
3906      *
3907      *
3908      * <pre>
3909      * Association information to other entitlements.
3910      * </pre>
3911      *
3912      * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
3913      */
getAssociationInfoBuilder()3914     public com.google.cloud.channel.v1.AssociationInfo.Builder getAssociationInfoBuilder() {
3915       bitField0_ |= 0x00000400;
3916       onChanged();
3917       return getAssociationInfoFieldBuilder().getBuilder();
3918     }
3919     /**
3920      *
3921      *
3922      * <pre>
3923      * Association information to other entitlements.
3924      * </pre>
3925      *
3926      * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
3927      */
getAssociationInfoOrBuilder()3928     public com.google.cloud.channel.v1.AssociationInfoOrBuilder getAssociationInfoOrBuilder() {
3929       if (associationInfoBuilder_ != null) {
3930         return associationInfoBuilder_.getMessageOrBuilder();
3931       } else {
3932         return associationInfo_ == null
3933             ? com.google.cloud.channel.v1.AssociationInfo.getDefaultInstance()
3934             : associationInfo_;
3935       }
3936     }
3937     /**
3938      *
3939      *
3940      * <pre>
3941      * Association information to other entitlements.
3942      * </pre>
3943      *
3944      * <code>.google.cloud.channel.v1.AssociationInfo association_info = 23;</code>
3945      */
3946     private com.google.protobuf.SingleFieldBuilderV3<
3947             com.google.cloud.channel.v1.AssociationInfo,
3948             com.google.cloud.channel.v1.AssociationInfo.Builder,
3949             com.google.cloud.channel.v1.AssociationInfoOrBuilder>
getAssociationInfoFieldBuilder()3950         getAssociationInfoFieldBuilder() {
3951       if (associationInfoBuilder_ == null) {
3952         associationInfoBuilder_ =
3953             new com.google.protobuf.SingleFieldBuilderV3<
3954                 com.google.cloud.channel.v1.AssociationInfo,
3955                 com.google.cloud.channel.v1.AssociationInfo.Builder,
3956                 com.google.cloud.channel.v1.AssociationInfoOrBuilder>(
3957                 getAssociationInfo(), getParentForChildren(), isClean());
3958         associationInfo_ = null;
3959       }
3960       return associationInfoBuilder_;
3961     }
3962 
3963     private java.util.List<com.google.cloud.channel.v1.Parameter> parameters_ =
3964         java.util.Collections.emptyList();
3965 
ensureParametersIsMutable()3966     private void ensureParametersIsMutable() {
3967       if (!((bitField0_ & 0x00000800) != 0)) {
3968         parameters_ = new java.util.ArrayList<com.google.cloud.channel.v1.Parameter>(parameters_);
3969         bitField0_ |= 0x00000800;
3970       }
3971     }
3972 
3973     private com.google.protobuf.RepeatedFieldBuilderV3<
3974             com.google.cloud.channel.v1.Parameter,
3975             com.google.cloud.channel.v1.Parameter.Builder,
3976             com.google.cloud.channel.v1.ParameterOrBuilder>
3977         parametersBuilder_;
3978 
3979     /**
3980      *
3981      *
3982      * <pre>
3983      * Extended entitlement parameters. When creating an entitlement, valid
3984      * parameter names and values are defined in the
3985      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
3986      * For Google Workspace, the following Parameters may be accepted as input:
3987      * - max_units: The maximum assignable units for a flexible offer
3988      * OR
3989      * - num_units: The total commitment for commitment-based offers
3990      * The response may additionally include the following output-only Parameters:
3991      * - assigned_units: The number of licenses assigned to users.
3992      * For GCP billing subaccounts, the following Parameter may be accepted as
3993      * input:
3994      * - display_name: The display name of the billing subaccount.
3995      * </pre>
3996      *
3997      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
3998      */
getParametersList()3999     public java.util.List<com.google.cloud.channel.v1.Parameter> getParametersList() {
4000       if (parametersBuilder_ == null) {
4001         return java.util.Collections.unmodifiableList(parameters_);
4002       } else {
4003         return parametersBuilder_.getMessageList();
4004       }
4005     }
4006     /**
4007      *
4008      *
4009      * <pre>
4010      * Extended entitlement parameters. When creating an entitlement, valid
4011      * parameter names and values are defined in the
4012      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4013      * For Google Workspace, the following Parameters may be accepted as input:
4014      * - max_units: The maximum assignable units for a flexible offer
4015      * OR
4016      * - num_units: The total commitment for commitment-based offers
4017      * The response may additionally include the following output-only Parameters:
4018      * - assigned_units: The number of licenses assigned to users.
4019      * For GCP billing subaccounts, the following Parameter may be accepted as
4020      * input:
4021      * - display_name: The display name of the billing subaccount.
4022      * </pre>
4023      *
4024      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4025      */
getParametersCount()4026     public int getParametersCount() {
4027       if (parametersBuilder_ == null) {
4028         return parameters_.size();
4029       } else {
4030         return parametersBuilder_.getCount();
4031       }
4032     }
4033     /**
4034      *
4035      *
4036      * <pre>
4037      * Extended entitlement parameters. When creating an entitlement, valid
4038      * parameter names and values are defined in the
4039      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4040      * For Google Workspace, the following Parameters may be accepted as input:
4041      * - max_units: The maximum assignable units for a flexible offer
4042      * OR
4043      * - num_units: The total commitment for commitment-based offers
4044      * The response may additionally include the following output-only Parameters:
4045      * - assigned_units: The number of licenses assigned to users.
4046      * For GCP billing subaccounts, the following Parameter may be accepted as
4047      * input:
4048      * - display_name: The display name of the billing subaccount.
4049      * </pre>
4050      *
4051      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4052      */
getParameters(int index)4053     public com.google.cloud.channel.v1.Parameter getParameters(int index) {
4054       if (parametersBuilder_ == null) {
4055         return parameters_.get(index);
4056       } else {
4057         return parametersBuilder_.getMessage(index);
4058       }
4059     }
4060     /**
4061      *
4062      *
4063      * <pre>
4064      * Extended entitlement parameters. When creating an entitlement, valid
4065      * parameter names and values are defined in the
4066      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4067      * For Google Workspace, the following Parameters may be accepted as input:
4068      * - max_units: The maximum assignable units for a flexible offer
4069      * OR
4070      * - num_units: The total commitment for commitment-based offers
4071      * The response may additionally include the following output-only Parameters:
4072      * - assigned_units: The number of licenses assigned to users.
4073      * For GCP billing subaccounts, the following Parameter may be accepted as
4074      * input:
4075      * - display_name: The display name of the billing subaccount.
4076      * </pre>
4077      *
4078      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4079      */
setParameters(int index, com.google.cloud.channel.v1.Parameter value)4080     public Builder setParameters(int index, com.google.cloud.channel.v1.Parameter value) {
4081       if (parametersBuilder_ == null) {
4082         if (value == null) {
4083           throw new NullPointerException();
4084         }
4085         ensureParametersIsMutable();
4086         parameters_.set(index, value);
4087         onChanged();
4088       } else {
4089         parametersBuilder_.setMessage(index, value);
4090       }
4091       return this;
4092     }
4093     /**
4094      *
4095      *
4096      * <pre>
4097      * Extended entitlement parameters. When creating an entitlement, valid
4098      * parameter names and values are defined in the
4099      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4100      * For Google Workspace, the following Parameters may be accepted as input:
4101      * - max_units: The maximum assignable units for a flexible offer
4102      * OR
4103      * - num_units: The total commitment for commitment-based offers
4104      * The response may additionally include the following output-only Parameters:
4105      * - assigned_units: The number of licenses assigned to users.
4106      * For GCP billing subaccounts, the following Parameter may be accepted as
4107      * input:
4108      * - display_name: The display name of the billing subaccount.
4109      * </pre>
4110      *
4111      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4112      */
setParameters( int index, com.google.cloud.channel.v1.Parameter.Builder builderForValue)4113     public Builder setParameters(
4114         int index, com.google.cloud.channel.v1.Parameter.Builder builderForValue) {
4115       if (parametersBuilder_ == null) {
4116         ensureParametersIsMutable();
4117         parameters_.set(index, builderForValue.build());
4118         onChanged();
4119       } else {
4120         parametersBuilder_.setMessage(index, builderForValue.build());
4121       }
4122       return this;
4123     }
4124     /**
4125      *
4126      *
4127      * <pre>
4128      * Extended entitlement parameters. When creating an entitlement, valid
4129      * parameter names and values are defined in the
4130      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4131      * For Google Workspace, the following Parameters may be accepted as input:
4132      * - max_units: The maximum assignable units for a flexible offer
4133      * OR
4134      * - num_units: The total commitment for commitment-based offers
4135      * The response may additionally include the following output-only Parameters:
4136      * - assigned_units: The number of licenses assigned to users.
4137      * For GCP billing subaccounts, the following Parameter may be accepted as
4138      * input:
4139      * - display_name: The display name of the billing subaccount.
4140      * </pre>
4141      *
4142      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4143      */
addParameters(com.google.cloud.channel.v1.Parameter value)4144     public Builder addParameters(com.google.cloud.channel.v1.Parameter value) {
4145       if (parametersBuilder_ == null) {
4146         if (value == null) {
4147           throw new NullPointerException();
4148         }
4149         ensureParametersIsMutable();
4150         parameters_.add(value);
4151         onChanged();
4152       } else {
4153         parametersBuilder_.addMessage(value);
4154       }
4155       return this;
4156     }
4157     /**
4158      *
4159      *
4160      * <pre>
4161      * Extended entitlement parameters. When creating an entitlement, valid
4162      * parameter names and values are defined in the
4163      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4164      * For Google Workspace, the following Parameters may be accepted as input:
4165      * - max_units: The maximum assignable units for a flexible offer
4166      * OR
4167      * - num_units: The total commitment for commitment-based offers
4168      * The response may additionally include the following output-only Parameters:
4169      * - assigned_units: The number of licenses assigned to users.
4170      * For GCP billing subaccounts, the following Parameter may be accepted as
4171      * input:
4172      * - display_name: The display name of the billing subaccount.
4173      * </pre>
4174      *
4175      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4176      */
addParameters(int index, com.google.cloud.channel.v1.Parameter value)4177     public Builder addParameters(int index, com.google.cloud.channel.v1.Parameter value) {
4178       if (parametersBuilder_ == null) {
4179         if (value == null) {
4180           throw new NullPointerException();
4181         }
4182         ensureParametersIsMutable();
4183         parameters_.add(index, value);
4184         onChanged();
4185       } else {
4186         parametersBuilder_.addMessage(index, value);
4187       }
4188       return this;
4189     }
4190     /**
4191      *
4192      *
4193      * <pre>
4194      * Extended entitlement parameters. When creating an entitlement, valid
4195      * parameter names and values are defined in the
4196      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4197      * For Google Workspace, the following Parameters may be accepted as input:
4198      * - max_units: The maximum assignable units for a flexible offer
4199      * OR
4200      * - num_units: The total commitment for commitment-based offers
4201      * The response may additionally include the following output-only Parameters:
4202      * - assigned_units: The number of licenses assigned to users.
4203      * For GCP billing subaccounts, the following Parameter may be accepted as
4204      * input:
4205      * - display_name: The display name of the billing subaccount.
4206      * </pre>
4207      *
4208      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4209      */
addParameters(com.google.cloud.channel.v1.Parameter.Builder builderForValue)4210     public Builder addParameters(com.google.cloud.channel.v1.Parameter.Builder builderForValue) {
4211       if (parametersBuilder_ == null) {
4212         ensureParametersIsMutable();
4213         parameters_.add(builderForValue.build());
4214         onChanged();
4215       } else {
4216         parametersBuilder_.addMessage(builderForValue.build());
4217       }
4218       return this;
4219     }
4220     /**
4221      *
4222      *
4223      * <pre>
4224      * Extended entitlement parameters. When creating an entitlement, valid
4225      * parameter names and values are defined in the
4226      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4227      * For Google Workspace, the following Parameters may be accepted as input:
4228      * - max_units: The maximum assignable units for a flexible offer
4229      * OR
4230      * - num_units: The total commitment for commitment-based offers
4231      * The response may additionally include the following output-only Parameters:
4232      * - assigned_units: The number of licenses assigned to users.
4233      * For GCP billing subaccounts, the following Parameter may be accepted as
4234      * input:
4235      * - display_name: The display name of the billing subaccount.
4236      * </pre>
4237      *
4238      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4239      */
addParameters( int index, com.google.cloud.channel.v1.Parameter.Builder builderForValue)4240     public Builder addParameters(
4241         int index, com.google.cloud.channel.v1.Parameter.Builder builderForValue) {
4242       if (parametersBuilder_ == null) {
4243         ensureParametersIsMutable();
4244         parameters_.add(index, builderForValue.build());
4245         onChanged();
4246       } else {
4247         parametersBuilder_.addMessage(index, builderForValue.build());
4248       }
4249       return this;
4250     }
4251     /**
4252      *
4253      *
4254      * <pre>
4255      * Extended entitlement parameters. When creating an entitlement, valid
4256      * parameter names and values are defined in the
4257      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4258      * For Google Workspace, the following Parameters may be accepted as input:
4259      * - max_units: The maximum assignable units for a flexible offer
4260      * OR
4261      * - num_units: The total commitment for commitment-based offers
4262      * The response may additionally include the following output-only Parameters:
4263      * - assigned_units: The number of licenses assigned to users.
4264      * For GCP billing subaccounts, the following Parameter may be accepted as
4265      * input:
4266      * - display_name: The display name of the billing subaccount.
4267      * </pre>
4268      *
4269      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4270      */
addAllParameters( java.lang.Iterable<? extends com.google.cloud.channel.v1.Parameter> values)4271     public Builder addAllParameters(
4272         java.lang.Iterable<? extends com.google.cloud.channel.v1.Parameter> values) {
4273       if (parametersBuilder_ == null) {
4274         ensureParametersIsMutable();
4275         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, parameters_);
4276         onChanged();
4277       } else {
4278         parametersBuilder_.addAllMessages(values);
4279       }
4280       return this;
4281     }
4282     /**
4283      *
4284      *
4285      * <pre>
4286      * Extended entitlement parameters. When creating an entitlement, valid
4287      * parameter names and values are defined in the
4288      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4289      * For Google Workspace, the following Parameters may be accepted as input:
4290      * - max_units: The maximum assignable units for a flexible offer
4291      * OR
4292      * - num_units: The total commitment for commitment-based offers
4293      * The response may additionally include the following output-only Parameters:
4294      * - assigned_units: The number of licenses assigned to users.
4295      * For GCP billing subaccounts, the following Parameter may be accepted as
4296      * input:
4297      * - display_name: The display name of the billing subaccount.
4298      * </pre>
4299      *
4300      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4301      */
clearParameters()4302     public Builder clearParameters() {
4303       if (parametersBuilder_ == null) {
4304         parameters_ = java.util.Collections.emptyList();
4305         bitField0_ = (bitField0_ & ~0x00000800);
4306         onChanged();
4307       } else {
4308         parametersBuilder_.clear();
4309       }
4310       return this;
4311     }
4312     /**
4313      *
4314      *
4315      * <pre>
4316      * Extended entitlement parameters. When creating an entitlement, valid
4317      * parameter names and values are defined in the
4318      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4319      * For Google Workspace, the following Parameters may be accepted as input:
4320      * - max_units: The maximum assignable units for a flexible offer
4321      * OR
4322      * - num_units: The total commitment for commitment-based offers
4323      * The response may additionally include the following output-only Parameters:
4324      * - assigned_units: The number of licenses assigned to users.
4325      * For GCP billing subaccounts, the following Parameter may be accepted as
4326      * input:
4327      * - display_name: The display name of the billing subaccount.
4328      * </pre>
4329      *
4330      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4331      */
removeParameters(int index)4332     public Builder removeParameters(int index) {
4333       if (parametersBuilder_ == null) {
4334         ensureParametersIsMutable();
4335         parameters_.remove(index);
4336         onChanged();
4337       } else {
4338         parametersBuilder_.remove(index);
4339       }
4340       return this;
4341     }
4342     /**
4343      *
4344      *
4345      * <pre>
4346      * Extended entitlement parameters. When creating an entitlement, valid
4347      * parameter names and values are defined in the
4348      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4349      * For Google Workspace, the following Parameters may be accepted as input:
4350      * - max_units: The maximum assignable units for a flexible offer
4351      * OR
4352      * - num_units: The total commitment for commitment-based offers
4353      * The response may additionally include the following output-only Parameters:
4354      * - assigned_units: The number of licenses assigned to users.
4355      * For GCP billing subaccounts, the following Parameter may be accepted as
4356      * input:
4357      * - display_name: The display name of the billing subaccount.
4358      * </pre>
4359      *
4360      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4361      */
getParametersBuilder(int index)4362     public com.google.cloud.channel.v1.Parameter.Builder getParametersBuilder(int index) {
4363       return getParametersFieldBuilder().getBuilder(index);
4364     }
4365     /**
4366      *
4367      *
4368      * <pre>
4369      * Extended entitlement parameters. When creating an entitlement, valid
4370      * parameter names and values are defined in the
4371      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4372      * For Google Workspace, the following Parameters may be accepted as input:
4373      * - max_units: The maximum assignable units for a flexible offer
4374      * OR
4375      * - num_units: The total commitment for commitment-based offers
4376      * The response may additionally include the following output-only Parameters:
4377      * - assigned_units: The number of licenses assigned to users.
4378      * For GCP billing subaccounts, the following Parameter may be accepted as
4379      * input:
4380      * - display_name: The display name of the billing subaccount.
4381      * </pre>
4382      *
4383      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4384      */
getParametersOrBuilder(int index)4385     public com.google.cloud.channel.v1.ParameterOrBuilder getParametersOrBuilder(int index) {
4386       if (parametersBuilder_ == null) {
4387         return parameters_.get(index);
4388       } else {
4389         return parametersBuilder_.getMessageOrBuilder(index);
4390       }
4391     }
4392     /**
4393      *
4394      *
4395      * <pre>
4396      * Extended entitlement parameters. When creating an entitlement, valid
4397      * parameter names and values are defined in the
4398      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4399      * For Google Workspace, the following Parameters may be accepted as input:
4400      * - max_units: The maximum assignable units for a flexible offer
4401      * OR
4402      * - num_units: The total commitment for commitment-based offers
4403      * The response may additionally include the following output-only Parameters:
4404      * - assigned_units: The number of licenses assigned to users.
4405      * For GCP billing subaccounts, the following Parameter may be accepted as
4406      * input:
4407      * - display_name: The display name of the billing subaccount.
4408      * </pre>
4409      *
4410      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4411      */
4412     public java.util.List<? extends com.google.cloud.channel.v1.ParameterOrBuilder>
getParametersOrBuilderList()4413         getParametersOrBuilderList() {
4414       if (parametersBuilder_ != null) {
4415         return parametersBuilder_.getMessageOrBuilderList();
4416       } else {
4417         return java.util.Collections.unmodifiableList(parameters_);
4418       }
4419     }
4420     /**
4421      *
4422      *
4423      * <pre>
4424      * Extended entitlement parameters. When creating an entitlement, valid
4425      * parameter names and values are defined in the
4426      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4427      * For Google Workspace, the following Parameters may be accepted as input:
4428      * - max_units: The maximum assignable units for a flexible offer
4429      * OR
4430      * - num_units: The total commitment for commitment-based offers
4431      * The response may additionally include the following output-only Parameters:
4432      * - assigned_units: The number of licenses assigned to users.
4433      * For GCP billing subaccounts, the following Parameter may be accepted as
4434      * input:
4435      * - display_name: The display name of the billing subaccount.
4436      * </pre>
4437      *
4438      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4439      */
addParametersBuilder()4440     public com.google.cloud.channel.v1.Parameter.Builder addParametersBuilder() {
4441       return getParametersFieldBuilder()
4442           .addBuilder(com.google.cloud.channel.v1.Parameter.getDefaultInstance());
4443     }
4444     /**
4445      *
4446      *
4447      * <pre>
4448      * Extended entitlement parameters. When creating an entitlement, valid
4449      * parameter names and values are defined in the
4450      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4451      * For Google Workspace, the following Parameters may be accepted as input:
4452      * - max_units: The maximum assignable units for a flexible offer
4453      * OR
4454      * - num_units: The total commitment for commitment-based offers
4455      * The response may additionally include the following output-only Parameters:
4456      * - assigned_units: The number of licenses assigned to users.
4457      * For GCP billing subaccounts, the following Parameter may be accepted as
4458      * input:
4459      * - display_name: The display name of the billing subaccount.
4460      * </pre>
4461      *
4462      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4463      */
addParametersBuilder(int index)4464     public com.google.cloud.channel.v1.Parameter.Builder addParametersBuilder(int index) {
4465       return getParametersFieldBuilder()
4466           .addBuilder(index, com.google.cloud.channel.v1.Parameter.getDefaultInstance());
4467     }
4468     /**
4469      *
4470      *
4471      * <pre>
4472      * Extended entitlement parameters. When creating an entitlement, valid
4473      * parameter names and values are defined in the
4474      * [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
4475      * For Google Workspace, the following Parameters may be accepted as input:
4476      * - max_units: The maximum assignable units for a flexible offer
4477      * OR
4478      * - num_units: The total commitment for commitment-based offers
4479      * The response may additionally include the following output-only Parameters:
4480      * - assigned_units: The number of licenses assigned to users.
4481      * For GCP billing subaccounts, the following Parameter may be accepted as
4482      * input:
4483      * - display_name: The display name of the billing subaccount.
4484      * </pre>
4485      *
4486      * <code>repeated .google.cloud.channel.v1.Parameter parameters = 26;</code>
4487      */
4488     public java.util.List<com.google.cloud.channel.v1.Parameter.Builder>
getParametersBuilderList()4489         getParametersBuilderList() {
4490       return getParametersFieldBuilder().getBuilderList();
4491     }
4492 
4493     private com.google.protobuf.RepeatedFieldBuilderV3<
4494             com.google.cloud.channel.v1.Parameter,
4495             com.google.cloud.channel.v1.Parameter.Builder,
4496             com.google.cloud.channel.v1.ParameterOrBuilder>
getParametersFieldBuilder()4497         getParametersFieldBuilder() {
4498       if (parametersBuilder_ == null) {
4499         parametersBuilder_ =
4500             new com.google.protobuf.RepeatedFieldBuilderV3<
4501                 com.google.cloud.channel.v1.Parameter,
4502                 com.google.cloud.channel.v1.Parameter.Builder,
4503                 com.google.cloud.channel.v1.ParameterOrBuilder>(
4504                 parameters_, ((bitField0_ & 0x00000800) != 0), getParentForChildren(), isClean());
4505         parameters_ = null;
4506       }
4507       return parametersBuilder_;
4508     }
4509 
4510     private java.lang.Object billingAccount_ = "";
4511     /**
4512      *
4513      *
4514      * <pre>
4515      * Optional. The billing account resource name that is used to pay for this
4516      * entitlement.
4517      * </pre>
4518      *
4519      * <code>string billing_account = 28 [(.google.api.field_behavior) = OPTIONAL];</code>
4520      *
4521      * @return The billingAccount.
4522      */
getBillingAccount()4523     public java.lang.String getBillingAccount() {
4524       java.lang.Object ref = billingAccount_;
4525       if (!(ref instanceof java.lang.String)) {
4526         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4527         java.lang.String s = bs.toStringUtf8();
4528         billingAccount_ = s;
4529         return s;
4530       } else {
4531         return (java.lang.String) ref;
4532       }
4533     }
4534     /**
4535      *
4536      *
4537      * <pre>
4538      * Optional. The billing account resource name that is used to pay for this
4539      * entitlement.
4540      * </pre>
4541      *
4542      * <code>string billing_account = 28 [(.google.api.field_behavior) = OPTIONAL];</code>
4543      *
4544      * @return The bytes for billingAccount.
4545      */
getBillingAccountBytes()4546     public com.google.protobuf.ByteString getBillingAccountBytes() {
4547       java.lang.Object ref = billingAccount_;
4548       if (ref instanceof String) {
4549         com.google.protobuf.ByteString b =
4550             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4551         billingAccount_ = b;
4552         return b;
4553       } else {
4554         return (com.google.protobuf.ByteString) ref;
4555       }
4556     }
4557     /**
4558      *
4559      *
4560      * <pre>
4561      * Optional. The billing account resource name that is used to pay for this
4562      * entitlement.
4563      * </pre>
4564      *
4565      * <code>string billing_account = 28 [(.google.api.field_behavior) = OPTIONAL];</code>
4566      *
4567      * @param value The billingAccount to set.
4568      * @return This builder for chaining.
4569      */
setBillingAccount(java.lang.String value)4570     public Builder setBillingAccount(java.lang.String value) {
4571       if (value == null) {
4572         throw new NullPointerException();
4573       }
4574       billingAccount_ = value;
4575       bitField0_ |= 0x00001000;
4576       onChanged();
4577       return this;
4578     }
4579     /**
4580      *
4581      *
4582      * <pre>
4583      * Optional. The billing account resource name that is used to pay for this
4584      * entitlement.
4585      * </pre>
4586      *
4587      * <code>string billing_account = 28 [(.google.api.field_behavior) = OPTIONAL];</code>
4588      *
4589      * @return This builder for chaining.
4590      */
clearBillingAccount()4591     public Builder clearBillingAccount() {
4592       billingAccount_ = getDefaultInstance().getBillingAccount();
4593       bitField0_ = (bitField0_ & ~0x00001000);
4594       onChanged();
4595       return this;
4596     }
4597     /**
4598      *
4599      *
4600      * <pre>
4601      * Optional. The billing account resource name that is used to pay for this
4602      * entitlement.
4603      * </pre>
4604      *
4605      * <code>string billing_account = 28 [(.google.api.field_behavior) = OPTIONAL];</code>
4606      *
4607      * @param value The bytes for billingAccount to set.
4608      * @return This builder for chaining.
4609      */
setBillingAccountBytes(com.google.protobuf.ByteString value)4610     public Builder setBillingAccountBytes(com.google.protobuf.ByteString value) {
4611       if (value == null) {
4612         throw new NullPointerException();
4613       }
4614       checkByteStringIsUtf8(value);
4615       billingAccount_ = value;
4616       bitField0_ |= 0x00001000;
4617       onChanged();
4618       return this;
4619     }
4620 
4621     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)4622     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
4623       return super.setUnknownFields(unknownFields);
4624     }
4625 
4626     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)4627     public final Builder mergeUnknownFields(
4628         final com.google.protobuf.UnknownFieldSet unknownFields) {
4629       return super.mergeUnknownFields(unknownFields);
4630     }
4631 
4632     // @@protoc_insertion_point(builder_scope:google.cloud.channel.v1.Entitlement)
4633   }
4634 
4635   // @@protoc_insertion_point(class_scope:google.cloud.channel.v1.Entitlement)
4636   private static final com.google.cloud.channel.v1.Entitlement DEFAULT_INSTANCE;
4637 
4638   static {
4639     DEFAULT_INSTANCE = new com.google.cloud.channel.v1.Entitlement();
4640   }
4641 
getDefaultInstance()4642   public static com.google.cloud.channel.v1.Entitlement getDefaultInstance() {
4643     return DEFAULT_INSTANCE;
4644   }
4645 
4646   private static final com.google.protobuf.Parser<Entitlement> PARSER =
4647       new com.google.protobuf.AbstractParser<Entitlement>() {
4648         @java.lang.Override
4649         public Entitlement parsePartialFrom(
4650             com.google.protobuf.CodedInputStream input,
4651             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4652             throws com.google.protobuf.InvalidProtocolBufferException {
4653           Builder builder = newBuilder();
4654           try {
4655             builder.mergeFrom(input, extensionRegistry);
4656           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4657             throw e.setUnfinishedMessage(builder.buildPartial());
4658           } catch (com.google.protobuf.UninitializedMessageException e) {
4659             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
4660           } catch (java.io.IOException e) {
4661             throw new com.google.protobuf.InvalidProtocolBufferException(e)
4662                 .setUnfinishedMessage(builder.buildPartial());
4663           }
4664           return builder.buildPartial();
4665         }
4666       };
4667 
parser()4668   public static com.google.protobuf.Parser<Entitlement> parser() {
4669     return PARSER;
4670   }
4671 
4672   @java.lang.Override
getParserForType()4673   public com.google.protobuf.Parser<Entitlement> getParserForType() {
4674     return PARSER;
4675   }
4676 
4677   @java.lang.Override
getDefaultInstanceForType()4678   public com.google.cloud.channel.v1.Entitlement getDefaultInstanceForType() {
4679     return DEFAULT_INSTANCE;
4680   }
4681 }
4682