001// Generated by the protocol buffer compiler.  DO NOT EDIT!
002// source: hapi/release/release.proto
003
004package hapi.release;
005
006public final class ReleaseOuterClass {
007  private ReleaseOuterClass() {}
008  public static void registerAllExtensions(
009      com.google.protobuf.ExtensionRegistryLite registry) {
010  }
011
012  public static void registerAllExtensions(
013      com.google.protobuf.ExtensionRegistry registry) {
014    registerAllExtensions(
015        (com.google.protobuf.ExtensionRegistryLite) registry);
016  }
017  public interface ReleaseOrBuilder extends
018      // @@protoc_insertion_point(interface_extends:hapi.release.Release)
019      com.google.protobuf.MessageOrBuilder {
020
021    /**
022     * <pre>
023     * Name is the name of the release
024     * </pre>
025     *
026     * <code>string name = 1;</code>
027     */
028    java.lang.String getName();
029    /**
030     * <pre>
031     * Name is the name of the release
032     * </pre>
033     *
034     * <code>string name = 1;</code>
035     */
036    com.google.protobuf.ByteString
037        getNameBytes();
038
039    /**
040     * <pre>
041     * Info provides information about a release
042     * </pre>
043     *
044     * <code>.hapi.release.Info info = 2;</code>
045     */
046    boolean hasInfo();
047    /**
048     * <pre>
049     * Info provides information about a release
050     * </pre>
051     *
052     * <code>.hapi.release.Info info = 2;</code>
053     */
054    hapi.release.InfoOuterClass.Info getInfo();
055    /**
056     * <pre>
057     * Info provides information about a release
058     * </pre>
059     *
060     * <code>.hapi.release.Info info = 2;</code>
061     */
062    hapi.release.InfoOuterClass.InfoOrBuilder getInfoOrBuilder();
063
064    /**
065     * <pre>
066     * Chart is the chart that was released.
067     * </pre>
068     *
069     * <code>.hapi.chart.Chart chart = 3;</code>
070     */
071    boolean hasChart();
072    /**
073     * <pre>
074     * Chart is the chart that was released.
075     * </pre>
076     *
077     * <code>.hapi.chart.Chart chart = 3;</code>
078     */
079    hapi.chart.ChartOuterClass.Chart getChart();
080    /**
081     * <pre>
082     * Chart is the chart that was released.
083     * </pre>
084     *
085     * <code>.hapi.chart.Chart chart = 3;</code>
086     */
087    hapi.chart.ChartOuterClass.ChartOrBuilder getChartOrBuilder();
088
089    /**
090     * <pre>
091     * Config is the set of extra Values added to the chart.
092     * These values override the default values inside of the chart.
093     * </pre>
094     *
095     * <code>.hapi.chart.Config config = 4;</code>
096     */
097    boolean hasConfig();
098    /**
099     * <pre>
100     * Config is the set of extra Values added to the chart.
101     * These values override the default values inside of the chart.
102     * </pre>
103     *
104     * <code>.hapi.chart.Config config = 4;</code>
105     */
106    hapi.chart.ConfigOuterClass.Config getConfig();
107    /**
108     * <pre>
109     * Config is the set of extra Values added to the chart.
110     * These values override the default values inside of the chart.
111     * </pre>
112     *
113     * <code>.hapi.chart.Config config = 4;</code>
114     */
115    hapi.chart.ConfigOuterClass.ConfigOrBuilder getConfigOrBuilder();
116
117    /**
118     * <pre>
119     * Manifest is the string representation of the rendered template.
120     * </pre>
121     *
122     * <code>string manifest = 5;</code>
123     */
124    java.lang.String getManifest();
125    /**
126     * <pre>
127     * Manifest is the string representation of the rendered template.
128     * </pre>
129     *
130     * <code>string manifest = 5;</code>
131     */
132    com.google.protobuf.ByteString
133        getManifestBytes();
134
135    /**
136     * <pre>
137     * Hooks are all of the hooks declared for this release.
138     * </pre>
139     *
140     * <code>repeated .hapi.release.Hook hooks = 6;</code>
141     */
142    java.util.List<hapi.release.HookOuterClass.Hook> 
143        getHooksList();
144    /**
145     * <pre>
146     * Hooks are all of the hooks declared for this release.
147     * </pre>
148     *
149     * <code>repeated .hapi.release.Hook hooks = 6;</code>
150     */
151    hapi.release.HookOuterClass.Hook getHooks(int index);
152    /**
153     * <pre>
154     * Hooks are all of the hooks declared for this release.
155     * </pre>
156     *
157     * <code>repeated .hapi.release.Hook hooks = 6;</code>
158     */
159    int getHooksCount();
160    /**
161     * <pre>
162     * Hooks are all of the hooks declared for this release.
163     * </pre>
164     *
165     * <code>repeated .hapi.release.Hook hooks = 6;</code>
166     */
167    java.util.List<? extends hapi.release.HookOuterClass.HookOrBuilder> 
168        getHooksOrBuilderList();
169    /**
170     * <pre>
171     * Hooks are all of the hooks declared for this release.
172     * </pre>
173     *
174     * <code>repeated .hapi.release.Hook hooks = 6;</code>
175     */
176    hapi.release.HookOuterClass.HookOrBuilder getHooksOrBuilder(
177        int index);
178
179    /**
180     * <pre>
181     * Version is an int32 which represents the version of the release.
182     * </pre>
183     *
184     * <code>int32 version = 7;</code>
185     */
186    int getVersion();
187
188    /**
189     * <pre>
190     * Namespace is the kubernetes namespace of the release.
191     * </pre>
192     *
193     * <code>string namespace = 8;</code>
194     */
195    java.lang.String getNamespace();
196    /**
197     * <pre>
198     * Namespace is the kubernetes namespace of the release.
199     * </pre>
200     *
201     * <code>string namespace = 8;</code>
202     */
203    com.google.protobuf.ByteString
204        getNamespaceBytes();
205  }
206  /**
207   * <pre>
208   * Release describes a deployment of a chart, together with the chart
209   * and the variables used to deploy that chart.
210   * </pre>
211   *
212   * Protobuf type {@code hapi.release.Release}
213   */
214  public  static final class Release extends
215      com.google.protobuf.GeneratedMessageV3 implements
216      // @@protoc_insertion_point(message_implements:hapi.release.Release)
217      ReleaseOrBuilder {
218  private static final long serialVersionUID = 0L;
219    // Use Release.newBuilder() to construct.
220    private Release(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
221      super(builder);
222    }
223    private Release() {
224      name_ = "";
225      manifest_ = "";
226      hooks_ = java.util.Collections.emptyList();
227      version_ = 0;
228      namespace_ = "";
229    }
230
231    @java.lang.Override
232    public final com.google.protobuf.UnknownFieldSet
233    getUnknownFields() {
234      return this.unknownFields;
235    }
236    private Release(
237        com.google.protobuf.CodedInputStream input,
238        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
239        throws com.google.protobuf.InvalidProtocolBufferException {
240      this();
241      if (extensionRegistry == null) {
242        throw new java.lang.NullPointerException();
243      }
244      int mutable_bitField0_ = 0;
245      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
246          com.google.protobuf.UnknownFieldSet.newBuilder();
247      try {
248        boolean done = false;
249        while (!done) {
250          int tag = input.readTag();
251          switch (tag) {
252            case 0:
253              done = true;
254              break;
255            default: {
256              if (!parseUnknownFieldProto3(
257                  input, unknownFields, extensionRegistry, tag)) {
258                done = true;
259              }
260              break;
261            }
262            case 10: {
263              java.lang.String s = input.readStringRequireUtf8();
264
265              name_ = s;
266              break;
267            }
268            case 18: {
269              hapi.release.InfoOuterClass.Info.Builder subBuilder = null;
270              if (info_ != null) {
271                subBuilder = info_.toBuilder();
272              }
273              info_ = input.readMessage(hapi.release.InfoOuterClass.Info.parser(), extensionRegistry);
274              if (subBuilder != null) {
275                subBuilder.mergeFrom(info_);
276                info_ = subBuilder.buildPartial();
277              }
278
279              break;
280            }
281            case 26: {
282              hapi.chart.ChartOuterClass.Chart.Builder subBuilder = null;
283              if (chart_ != null) {
284                subBuilder = chart_.toBuilder();
285              }
286              chart_ = input.readMessage(hapi.chart.ChartOuterClass.Chart.parser(), extensionRegistry);
287              if (subBuilder != null) {
288                subBuilder.mergeFrom(chart_);
289                chart_ = subBuilder.buildPartial();
290              }
291
292              break;
293            }
294            case 34: {
295              hapi.chart.ConfigOuterClass.Config.Builder subBuilder = null;
296              if (config_ != null) {
297                subBuilder = config_.toBuilder();
298              }
299              config_ = input.readMessage(hapi.chart.ConfigOuterClass.Config.parser(), extensionRegistry);
300              if (subBuilder != null) {
301                subBuilder.mergeFrom(config_);
302                config_ = subBuilder.buildPartial();
303              }
304
305              break;
306            }
307            case 42: {
308              java.lang.String s = input.readStringRequireUtf8();
309
310              manifest_ = s;
311              break;
312            }
313            case 50: {
314              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
315                hooks_ = new java.util.ArrayList<hapi.release.HookOuterClass.Hook>();
316                mutable_bitField0_ |= 0x00000020;
317              }
318              hooks_.add(
319                  input.readMessage(hapi.release.HookOuterClass.Hook.parser(), extensionRegistry));
320              break;
321            }
322            case 56: {
323
324              version_ = input.readInt32();
325              break;
326            }
327            case 66: {
328              java.lang.String s = input.readStringRequireUtf8();
329
330              namespace_ = s;
331              break;
332            }
333          }
334        }
335      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
336        throw e.setUnfinishedMessage(this);
337      } catch (java.io.IOException e) {
338        throw new com.google.protobuf.InvalidProtocolBufferException(
339            e).setUnfinishedMessage(this);
340      } finally {
341        if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
342          hooks_ = java.util.Collections.unmodifiableList(hooks_);
343        }
344        this.unknownFields = unknownFields.build();
345        makeExtensionsImmutable();
346      }
347    }
348    public static final com.google.protobuf.Descriptors.Descriptor
349        getDescriptor() {
350      return hapi.release.ReleaseOuterClass.internal_static_hapi_release_Release_descriptor;
351    }
352
353    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
354        internalGetFieldAccessorTable() {
355      return hapi.release.ReleaseOuterClass.internal_static_hapi_release_Release_fieldAccessorTable
356          .ensureFieldAccessorsInitialized(
357              hapi.release.ReleaseOuterClass.Release.class, hapi.release.ReleaseOuterClass.Release.Builder.class);
358    }
359
360    private int bitField0_;
361    public static final int NAME_FIELD_NUMBER = 1;
362    private volatile java.lang.Object name_;
363    /**
364     * <pre>
365     * Name is the name of the release
366     * </pre>
367     *
368     * <code>string name = 1;</code>
369     */
370    public java.lang.String getName() {
371      java.lang.Object ref = name_;
372      if (ref instanceof java.lang.String) {
373        return (java.lang.String) ref;
374      } else {
375        com.google.protobuf.ByteString bs = 
376            (com.google.protobuf.ByteString) ref;
377        java.lang.String s = bs.toStringUtf8();
378        name_ = s;
379        return s;
380      }
381    }
382    /**
383     * <pre>
384     * Name is the name of the release
385     * </pre>
386     *
387     * <code>string name = 1;</code>
388     */
389    public com.google.protobuf.ByteString
390        getNameBytes() {
391      java.lang.Object ref = name_;
392      if (ref instanceof java.lang.String) {
393        com.google.protobuf.ByteString b = 
394            com.google.protobuf.ByteString.copyFromUtf8(
395                (java.lang.String) ref);
396        name_ = b;
397        return b;
398      } else {
399        return (com.google.protobuf.ByteString) ref;
400      }
401    }
402
403    public static final int INFO_FIELD_NUMBER = 2;
404    private hapi.release.InfoOuterClass.Info info_;
405    /**
406     * <pre>
407     * Info provides information about a release
408     * </pre>
409     *
410     * <code>.hapi.release.Info info = 2;</code>
411     */
412    public boolean hasInfo() {
413      return info_ != null;
414    }
415    /**
416     * <pre>
417     * Info provides information about a release
418     * </pre>
419     *
420     * <code>.hapi.release.Info info = 2;</code>
421     */
422    public hapi.release.InfoOuterClass.Info getInfo() {
423      return info_ == null ? hapi.release.InfoOuterClass.Info.getDefaultInstance() : info_;
424    }
425    /**
426     * <pre>
427     * Info provides information about a release
428     * </pre>
429     *
430     * <code>.hapi.release.Info info = 2;</code>
431     */
432    public hapi.release.InfoOuterClass.InfoOrBuilder getInfoOrBuilder() {
433      return getInfo();
434    }
435
436    public static final int CHART_FIELD_NUMBER = 3;
437    private hapi.chart.ChartOuterClass.Chart chart_;
438    /**
439     * <pre>
440     * Chart is the chart that was released.
441     * </pre>
442     *
443     * <code>.hapi.chart.Chart chart = 3;</code>
444     */
445    public boolean hasChart() {
446      return chart_ != null;
447    }
448    /**
449     * <pre>
450     * Chart is the chart that was released.
451     * </pre>
452     *
453     * <code>.hapi.chart.Chart chart = 3;</code>
454     */
455    public hapi.chart.ChartOuterClass.Chart getChart() {
456      return chart_ == null ? hapi.chart.ChartOuterClass.Chart.getDefaultInstance() : chart_;
457    }
458    /**
459     * <pre>
460     * Chart is the chart that was released.
461     * </pre>
462     *
463     * <code>.hapi.chart.Chart chart = 3;</code>
464     */
465    public hapi.chart.ChartOuterClass.ChartOrBuilder getChartOrBuilder() {
466      return getChart();
467    }
468
469    public static final int CONFIG_FIELD_NUMBER = 4;
470    private hapi.chart.ConfigOuterClass.Config config_;
471    /**
472     * <pre>
473     * Config is the set of extra Values added to the chart.
474     * These values override the default values inside of the chart.
475     * </pre>
476     *
477     * <code>.hapi.chart.Config config = 4;</code>
478     */
479    public boolean hasConfig() {
480      return config_ != null;
481    }
482    /**
483     * <pre>
484     * Config is the set of extra Values added to the chart.
485     * These values override the default values inside of the chart.
486     * </pre>
487     *
488     * <code>.hapi.chart.Config config = 4;</code>
489     */
490    public hapi.chart.ConfigOuterClass.Config getConfig() {
491      return config_ == null ? hapi.chart.ConfigOuterClass.Config.getDefaultInstance() : config_;
492    }
493    /**
494     * <pre>
495     * Config is the set of extra Values added to the chart.
496     * These values override the default values inside of the chart.
497     * </pre>
498     *
499     * <code>.hapi.chart.Config config = 4;</code>
500     */
501    public hapi.chart.ConfigOuterClass.ConfigOrBuilder getConfigOrBuilder() {
502      return getConfig();
503    }
504
505    public static final int MANIFEST_FIELD_NUMBER = 5;
506    private volatile java.lang.Object manifest_;
507    /**
508     * <pre>
509     * Manifest is the string representation of the rendered template.
510     * </pre>
511     *
512     * <code>string manifest = 5;</code>
513     */
514    public java.lang.String getManifest() {
515      java.lang.Object ref = manifest_;
516      if (ref instanceof java.lang.String) {
517        return (java.lang.String) ref;
518      } else {
519        com.google.protobuf.ByteString bs = 
520            (com.google.protobuf.ByteString) ref;
521        java.lang.String s = bs.toStringUtf8();
522        manifest_ = s;
523        return s;
524      }
525    }
526    /**
527     * <pre>
528     * Manifest is the string representation of the rendered template.
529     * </pre>
530     *
531     * <code>string manifest = 5;</code>
532     */
533    public com.google.protobuf.ByteString
534        getManifestBytes() {
535      java.lang.Object ref = manifest_;
536      if (ref instanceof java.lang.String) {
537        com.google.protobuf.ByteString b = 
538            com.google.protobuf.ByteString.copyFromUtf8(
539                (java.lang.String) ref);
540        manifest_ = b;
541        return b;
542      } else {
543        return (com.google.protobuf.ByteString) ref;
544      }
545    }
546
547    public static final int HOOKS_FIELD_NUMBER = 6;
548    private java.util.List<hapi.release.HookOuterClass.Hook> hooks_;
549    /**
550     * <pre>
551     * Hooks are all of the hooks declared for this release.
552     * </pre>
553     *
554     * <code>repeated .hapi.release.Hook hooks = 6;</code>
555     */
556    public java.util.List<hapi.release.HookOuterClass.Hook> getHooksList() {
557      return hooks_;
558    }
559    /**
560     * <pre>
561     * Hooks are all of the hooks declared for this release.
562     * </pre>
563     *
564     * <code>repeated .hapi.release.Hook hooks = 6;</code>
565     */
566    public java.util.List<? extends hapi.release.HookOuterClass.HookOrBuilder> 
567        getHooksOrBuilderList() {
568      return hooks_;
569    }
570    /**
571     * <pre>
572     * Hooks are all of the hooks declared for this release.
573     * </pre>
574     *
575     * <code>repeated .hapi.release.Hook hooks = 6;</code>
576     */
577    public int getHooksCount() {
578      return hooks_.size();
579    }
580    /**
581     * <pre>
582     * Hooks are all of the hooks declared for this release.
583     * </pre>
584     *
585     * <code>repeated .hapi.release.Hook hooks = 6;</code>
586     */
587    public hapi.release.HookOuterClass.Hook getHooks(int index) {
588      return hooks_.get(index);
589    }
590    /**
591     * <pre>
592     * Hooks are all of the hooks declared for this release.
593     * </pre>
594     *
595     * <code>repeated .hapi.release.Hook hooks = 6;</code>
596     */
597    public hapi.release.HookOuterClass.HookOrBuilder getHooksOrBuilder(
598        int index) {
599      return hooks_.get(index);
600    }
601
602    public static final int VERSION_FIELD_NUMBER = 7;
603    private int version_;
604    /**
605     * <pre>
606     * Version is an int32 which represents the version of the release.
607     * </pre>
608     *
609     * <code>int32 version = 7;</code>
610     */
611    public int getVersion() {
612      return version_;
613    }
614
615    public static final int NAMESPACE_FIELD_NUMBER = 8;
616    private volatile java.lang.Object namespace_;
617    /**
618     * <pre>
619     * Namespace is the kubernetes namespace of the release.
620     * </pre>
621     *
622     * <code>string namespace = 8;</code>
623     */
624    public java.lang.String getNamespace() {
625      java.lang.Object ref = namespace_;
626      if (ref instanceof java.lang.String) {
627        return (java.lang.String) ref;
628      } else {
629        com.google.protobuf.ByteString bs = 
630            (com.google.protobuf.ByteString) ref;
631        java.lang.String s = bs.toStringUtf8();
632        namespace_ = s;
633        return s;
634      }
635    }
636    /**
637     * <pre>
638     * Namespace is the kubernetes namespace of the release.
639     * </pre>
640     *
641     * <code>string namespace = 8;</code>
642     */
643    public com.google.protobuf.ByteString
644        getNamespaceBytes() {
645      java.lang.Object ref = namespace_;
646      if (ref instanceof java.lang.String) {
647        com.google.protobuf.ByteString b = 
648            com.google.protobuf.ByteString.copyFromUtf8(
649                (java.lang.String) ref);
650        namespace_ = b;
651        return b;
652      } else {
653        return (com.google.protobuf.ByteString) ref;
654      }
655    }
656
657    private byte memoizedIsInitialized = -1;
658    public final boolean isInitialized() {
659      byte isInitialized = memoizedIsInitialized;
660      if (isInitialized == 1) return true;
661      if (isInitialized == 0) return false;
662
663      memoizedIsInitialized = 1;
664      return true;
665    }
666
667    public void writeTo(com.google.protobuf.CodedOutputStream output)
668                        throws java.io.IOException {
669      if (!getNameBytes().isEmpty()) {
670        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
671      }
672      if (info_ != null) {
673        output.writeMessage(2, getInfo());
674      }
675      if (chart_ != null) {
676        output.writeMessage(3, getChart());
677      }
678      if (config_ != null) {
679        output.writeMessage(4, getConfig());
680      }
681      if (!getManifestBytes().isEmpty()) {
682        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, manifest_);
683      }
684      for (int i = 0; i < hooks_.size(); i++) {
685        output.writeMessage(6, hooks_.get(i));
686      }
687      if (version_ != 0) {
688        output.writeInt32(7, version_);
689      }
690      if (!getNamespaceBytes().isEmpty()) {
691        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, namespace_);
692      }
693      unknownFields.writeTo(output);
694    }
695
696    public int getSerializedSize() {
697      int size = memoizedSize;
698      if (size != -1) return size;
699
700      size = 0;
701      if (!getNameBytes().isEmpty()) {
702        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
703      }
704      if (info_ != null) {
705        size += com.google.protobuf.CodedOutputStream
706          .computeMessageSize(2, getInfo());
707      }
708      if (chart_ != null) {
709        size += com.google.protobuf.CodedOutputStream
710          .computeMessageSize(3, getChart());
711      }
712      if (config_ != null) {
713        size += com.google.protobuf.CodedOutputStream
714          .computeMessageSize(4, getConfig());
715      }
716      if (!getManifestBytes().isEmpty()) {
717        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, manifest_);
718      }
719      for (int i = 0; i < hooks_.size(); i++) {
720        size += com.google.protobuf.CodedOutputStream
721          .computeMessageSize(6, hooks_.get(i));
722      }
723      if (version_ != 0) {
724        size += com.google.protobuf.CodedOutputStream
725          .computeInt32Size(7, version_);
726      }
727      if (!getNamespaceBytes().isEmpty()) {
728        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, namespace_);
729      }
730      size += unknownFields.getSerializedSize();
731      memoizedSize = size;
732      return size;
733    }
734
735    @java.lang.Override
736    public boolean equals(final java.lang.Object obj) {
737      if (obj == this) {
738       return true;
739      }
740      if (!(obj instanceof hapi.release.ReleaseOuterClass.Release)) {
741        return super.equals(obj);
742      }
743      hapi.release.ReleaseOuterClass.Release other = (hapi.release.ReleaseOuterClass.Release) obj;
744
745      boolean result = true;
746      result = result && getName()
747          .equals(other.getName());
748      result = result && (hasInfo() == other.hasInfo());
749      if (hasInfo()) {
750        result = result && getInfo()
751            .equals(other.getInfo());
752      }
753      result = result && (hasChart() == other.hasChart());
754      if (hasChart()) {
755        result = result && getChart()
756            .equals(other.getChart());
757      }
758      result = result && (hasConfig() == other.hasConfig());
759      if (hasConfig()) {
760        result = result && getConfig()
761            .equals(other.getConfig());
762      }
763      result = result && getManifest()
764          .equals(other.getManifest());
765      result = result && getHooksList()
766          .equals(other.getHooksList());
767      result = result && (getVersion()
768          == other.getVersion());
769      result = result && getNamespace()
770          .equals(other.getNamespace());
771      result = result && unknownFields.equals(other.unknownFields);
772      return result;
773    }
774
775    @java.lang.Override
776    public int hashCode() {
777      if (memoizedHashCode != 0) {
778        return memoizedHashCode;
779      }
780      int hash = 41;
781      hash = (19 * hash) + getDescriptor().hashCode();
782      hash = (37 * hash) + NAME_FIELD_NUMBER;
783      hash = (53 * hash) + getName().hashCode();
784      if (hasInfo()) {
785        hash = (37 * hash) + INFO_FIELD_NUMBER;
786        hash = (53 * hash) + getInfo().hashCode();
787      }
788      if (hasChart()) {
789        hash = (37 * hash) + CHART_FIELD_NUMBER;
790        hash = (53 * hash) + getChart().hashCode();
791      }
792      if (hasConfig()) {
793        hash = (37 * hash) + CONFIG_FIELD_NUMBER;
794        hash = (53 * hash) + getConfig().hashCode();
795      }
796      hash = (37 * hash) + MANIFEST_FIELD_NUMBER;
797      hash = (53 * hash) + getManifest().hashCode();
798      if (getHooksCount() > 0) {
799        hash = (37 * hash) + HOOKS_FIELD_NUMBER;
800        hash = (53 * hash) + getHooksList().hashCode();
801      }
802      hash = (37 * hash) + VERSION_FIELD_NUMBER;
803      hash = (53 * hash) + getVersion();
804      hash = (37 * hash) + NAMESPACE_FIELD_NUMBER;
805      hash = (53 * hash) + getNamespace().hashCode();
806      hash = (29 * hash) + unknownFields.hashCode();
807      memoizedHashCode = hash;
808      return hash;
809    }
810
811    public static hapi.release.ReleaseOuterClass.Release parseFrom(
812        java.nio.ByteBuffer data)
813        throws com.google.protobuf.InvalidProtocolBufferException {
814      return PARSER.parseFrom(data);
815    }
816    public static hapi.release.ReleaseOuterClass.Release parseFrom(
817        java.nio.ByteBuffer data,
818        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
819        throws com.google.protobuf.InvalidProtocolBufferException {
820      return PARSER.parseFrom(data, extensionRegistry);
821    }
822    public static hapi.release.ReleaseOuterClass.Release parseFrom(
823        com.google.protobuf.ByteString data)
824        throws com.google.protobuf.InvalidProtocolBufferException {
825      return PARSER.parseFrom(data);
826    }
827    public static hapi.release.ReleaseOuterClass.Release parseFrom(
828        com.google.protobuf.ByteString data,
829        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
830        throws com.google.protobuf.InvalidProtocolBufferException {
831      return PARSER.parseFrom(data, extensionRegistry);
832    }
833    public static hapi.release.ReleaseOuterClass.Release parseFrom(byte[] data)
834        throws com.google.protobuf.InvalidProtocolBufferException {
835      return PARSER.parseFrom(data);
836    }
837    public static hapi.release.ReleaseOuterClass.Release parseFrom(
838        byte[] data,
839        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
840        throws com.google.protobuf.InvalidProtocolBufferException {
841      return PARSER.parseFrom(data, extensionRegistry);
842    }
843    public static hapi.release.ReleaseOuterClass.Release parseFrom(java.io.InputStream input)
844        throws java.io.IOException {
845      return com.google.protobuf.GeneratedMessageV3
846          .parseWithIOException(PARSER, input);
847    }
848    public static hapi.release.ReleaseOuterClass.Release parseFrom(
849        java.io.InputStream input,
850        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
851        throws java.io.IOException {
852      return com.google.protobuf.GeneratedMessageV3
853          .parseWithIOException(PARSER, input, extensionRegistry);
854    }
855    public static hapi.release.ReleaseOuterClass.Release parseDelimitedFrom(java.io.InputStream input)
856        throws java.io.IOException {
857      return com.google.protobuf.GeneratedMessageV3
858          .parseDelimitedWithIOException(PARSER, input);
859    }
860    public static hapi.release.ReleaseOuterClass.Release parseDelimitedFrom(
861        java.io.InputStream input,
862        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
863        throws java.io.IOException {
864      return com.google.protobuf.GeneratedMessageV3
865          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
866    }
867    public static hapi.release.ReleaseOuterClass.Release parseFrom(
868        com.google.protobuf.CodedInputStream input)
869        throws java.io.IOException {
870      return com.google.protobuf.GeneratedMessageV3
871          .parseWithIOException(PARSER, input);
872    }
873    public static hapi.release.ReleaseOuterClass.Release parseFrom(
874        com.google.protobuf.CodedInputStream input,
875        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
876        throws java.io.IOException {
877      return com.google.protobuf.GeneratedMessageV3
878          .parseWithIOException(PARSER, input, extensionRegistry);
879    }
880
881    public Builder newBuilderForType() { return newBuilder(); }
882    public static Builder newBuilder() {
883      return DEFAULT_INSTANCE.toBuilder();
884    }
885    public static Builder newBuilder(hapi.release.ReleaseOuterClass.Release prototype) {
886      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
887    }
888    public Builder toBuilder() {
889      return this == DEFAULT_INSTANCE
890          ? new Builder() : new Builder().mergeFrom(this);
891    }
892
893    @java.lang.Override
894    protected Builder newBuilderForType(
895        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
896      Builder builder = new Builder(parent);
897      return builder;
898    }
899    /**
900     * <pre>
901     * Release describes a deployment of a chart, together with the chart
902     * and the variables used to deploy that chart.
903     * </pre>
904     *
905     * Protobuf type {@code hapi.release.Release}
906     */
907    public static final class Builder extends
908        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
909        // @@protoc_insertion_point(builder_implements:hapi.release.Release)
910        hapi.release.ReleaseOuterClass.ReleaseOrBuilder {
911      public static final com.google.protobuf.Descriptors.Descriptor
912          getDescriptor() {
913        return hapi.release.ReleaseOuterClass.internal_static_hapi_release_Release_descriptor;
914      }
915
916      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
917          internalGetFieldAccessorTable() {
918        return hapi.release.ReleaseOuterClass.internal_static_hapi_release_Release_fieldAccessorTable
919            .ensureFieldAccessorsInitialized(
920                hapi.release.ReleaseOuterClass.Release.class, hapi.release.ReleaseOuterClass.Release.Builder.class);
921      }
922
923      // Construct using hapi.release.ReleaseOuterClass.Release.newBuilder()
924      private Builder() {
925        maybeForceBuilderInitialization();
926      }
927
928      private Builder(
929          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
930        super(parent);
931        maybeForceBuilderInitialization();
932      }
933      private void maybeForceBuilderInitialization() {
934        if (com.google.protobuf.GeneratedMessageV3
935                .alwaysUseFieldBuilders) {
936          getHooksFieldBuilder();
937        }
938      }
939      public Builder clear() {
940        super.clear();
941        name_ = "";
942
943        if (infoBuilder_ == null) {
944          info_ = null;
945        } else {
946          info_ = null;
947          infoBuilder_ = null;
948        }
949        if (chartBuilder_ == null) {
950          chart_ = null;
951        } else {
952          chart_ = null;
953          chartBuilder_ = null;
954        }
955        if (configBuilder_ == null) {
956          config_ = null;
957        } else {
958          config_ = null;
959          configBuilder_ = null;
960        }
961        manifest_ = "";
962
963        if (hooksBuilder_ == null) {
964          hooks_ = java.util.Collections.emptyList();
965          bitField0_ = (bitField0_ & ~0x00000020);
966        } else {
967          hooksBuilder_.clear();
968        }
969        version_ = 0;
970
971        namespace_ = "";
972
973        return this;
974      }
975
976      public com.google.protobuf.Descriptors.Descriptor
977          getDescriptorForType() {
978        return hapi.release.ReleaseOuterClass.internal_static_hapi_release_Release_descriptor;
979      }
980
981      public hapi.release.ReleaseOuterClass.Release getDefaultInstanceForType() {
982        return hapi.release.ReleaseOuterClass.Release.getDefaultInstance();
983      }
984
985      public hapi.release.ReleaseOuterClass.Release build() {
986        hapi.release.ReleaseOuterClass.Release result = buildPartial();
987        if (!result.isInitialized()) {
988          throw newUninitializedMessageException(result);
989        }
990        return result;
991      }
992
993      public hapi.release.ReleaseOuterClass.Release buildPartial() {
994        hapi.release.ReleaseOuterClass.Release result = new hapi.release.ReleaseOuterClass.Release(this);
995        int from_bitField0_ = bitField0_;
996        int to_bitField0_ = 0;
997        result.name_ = name_;
998        if (infoBuilder_ == null) {
999          result.info_ = info_;
1000        } else {
1001          result.info_ = infoBuilder_.build();
1002        }
1003        if (chartBuilder_ == null) {
1004          result.chart_ = chart_;
1005        } else {
1006          result.chart_ = chartBuilder_.build();
1007        }
1008        if (configBuilder_ == null) {
1009          result.config_ = config_;
1010        } else {
1011          result.config_ = configBuilder_.build();
1012        }
1013        result.manifest_ = manifest_;
1014        if (hooksBuilder_ == null) {
1015          if (((bitField0_ & 0x00000020) == 0x00000020)) {
1016            hooks_ = java.util.Collections.unmodifiableList(hooks_);
1017            bitField0_ = (bitField0_ & ~0x00000020);
1018          }
1019          result.hooks_ = hooks_;
1020        } else {
1021          result.hooks_ = hooksBuilder_.build();
1022        }
1023        result.version_ = version_;
1024        result.namespace_ = namespace_;
1025        result.bitField0_ = to_bitField0_;
1026        onBuilt();
1027        return result;
1028      }
1029
1030      public Builder clone() {
1031        return (Builder) super.clone();
1032      }
1033      public Builder setField(
1034          com.google.protobuf.Descriptors.FieldDescriptor field,
1035          java.lang.Object value) {
1036        return (Builder) super.setField(field, value);
1037      }
1038      public Builder clearField(
1039          com.google.protobuf.Descriptors.FieldDescriptor field) {
1040        return (Builder) super.clearField(field);
1041      }
1042      public Builder clearOneof(
1043          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1044        return (Builder) super.clearOneof(oneof);
1045      }
1046      public Builder setRepeatedField(
1047          com.google.protobuf.Descriptors.FieldDescriptor field,
1048          int index, java.lang.Object value) {
1049        return (Builder) super.setRepeatedField(field, index, value);
1050      }
1051      public Builder addRepeatedField(
1052          com.google.protobuf.Descriptors.FieldDescriptor field,
1053          java.lang.Object value) {
1054        return (Builder) super.addRepeatedField(field, value);
1055      }
1056      public Builder mergeFrom(com.google.protobuf.Message other) {
1057        if (other instanceof hapi.release.ReleaseOuterClass.Release) {
1058          return mergeFrom((hapi.release.ReleaseOuterClass.Release)other);
1059        } else {
1060          super.mergeFrom(other);
1061          return this;
1062        }
1063      }
1064
1065      public Builder mergeFrom(hapi.release.ReleaseOuterClass.Release other) {
1066        if (other == hapi.release.ReleaseOuterClass.Release.getDefaultInstance()) return this;
1067        if (!other.getName().isEmpty()) {
1068          name_ = other.name_;
1069          onChanged();
1070        }
1071        if (other.hasInfo()) {
1072          mergeInfo(other.getInfo());
1073        }
1074        if (other.hasChart()) {
1075          mergeChart(other.getChart());
1076        }
1077        if (other.hasConfig()) {
1078          mergeConfig(other.getConfig());
1079        }
1080        if (!other.getManifest().isEmpty()) {
1081          manifest_ = other.manifest_;
1082          onChanged();
1083        }
1084        if (hooksBuilder_ == null) {
1085          if (!other.hooks_.isEmpty()) {
1086            if (hooks_.isEmpty()) {
1087              hooks_ = other.hooks_;
1088              bitField0_ = (bitField0_ & ~0x00000020);
1089            } else {
1090              ensureHooksIsMutable();
1091              hooks_.addAll(other.hooks_);
1092            }
1093            onChanged();
1094          }
1095        } else {
1096          if (!other.hooks_.isEmpty()) {
1097            if (hooksBuilder_.isEmpty()) {
1098              hooksBuilder_.dispose();
1099              hooksBuilder_ = null;
1100              hooks_ = other.hooks_;
1101              bitField0_ = (bitField0_ & ~0x00000020);
1102              hooksBuilder_ = 
1103                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
1104                   getHooksFieldBuilder() : null;
1105            } else {
1106              hooksBuilder_.addAllMessages(other.hooks_);
1107            }
1108          }
1109        }
1110        if (other.getVersion() != 0) {
1111          setVersion(other.getVersion());
1112        }
1113        if (!other.getNamespace().isEmpty()) {
1114          namespace_ = other.namespace_;
1115          onChanged();
1116        }
1117        this.mergeUnknownFields(other.unknownFields);
1118        onChanged();
1119        return this;
1120      }
1121
1122      public final boolean isInitialized() {
1123        return true;
1124      }
1125
1126      public Builder mergeFrom(
1127          com.google.protobuf.CodedInputStream input,
1128          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1129          throws java.io.IOException {
1130        hapi.release.ReleaseOuterClass.Release parsedMessage = null;
1131        try {
1132          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1133        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1134          parsedMessage = (hapi.release.ReleaseOuterClass.Release) e.getUnfinishedMessage();
1135          throw e.unwrapIOException();
1136        } finally {
1137          if (parsedMessage != null) {
1138            mergeFrom(parsedMessage);
1139          }
1140        }
1141        return this;
1142      }
1143      private int bitField0_;
1144
1145      private java.lang.Object name_ = "";
1146      /**
1147       * <pre>
1148       * Name is the name of the release
1149       * </pre>
1150       *
1151       * <code>string name = 1;</code>
1152       */
1153      public java.lang.String getName() {
1154        java.lang.Object ref = name_;
1155        if (!(ref instanceof java.lang.String)) {
1156          com.google.protobuf.ByteString bs =
1157              (com.google.protobuf.ByteString) ref;
1158          java.lang.String s = bs.toStringUtf8();
1159          name_ = s;
1160          return s;
1161        } else {
1162          return (java.lang.String) ref;
1163        }
1164      }
1165      /**
1166       * <pre>
1167       * Name is the name of the release
1168       * </pre>
1169       *
1170       * <code>string name = 1;</code>
1171       */
1172      public com.google.protobuf.ByteString
1173          getNameBytes() {
1174        java.lang.Object ref = name_;
1175        if (ref instanceof String) {
1176          com.google.protobuf.ByteString b = 
1177              com.google.protobuf.ByteString.copyFromUtf8(
1178                  (java.lang.String) ref);
1179          name_ = b;
1180          return b;
1181        } else {
1182          return (com.google.protobuf.ByteString) ref;
1183        }
1184      }
1185      /**
1186       * <pre>
1187       * Name is the name of the release
1188       * </pre>
1189       *
1190       * <code>string name = 1;</code>
1191       */
1192      public Builder setName(
1193          java.lang.String value) {
1194        if (value == null) {
1195    throw new NullPointerException();
1196  }
1197  
1198        name_ = value;
1199        onChanged();
1200        return this;
1201      }
1202      /**
1203       * <pre>
1204       * Name is the name of the release
1205       * </pre>
1206       *
1207       * <code>string name = 1;</code>
1208       */
1209      public Builder clearName() {
1210        
1211        name_ = getDefaultInstance().getName();
1212        onChanged();
1213        return this;
1214      }
1215      /**
1216       * <pre>
1217       * Name is the name of the release
1218       * </pre>
1219       *
1220       * <code>string name = 1;</code>
1221       */
1222      public Builder setNameBytes(
1223          com.google.protobuf.ByteString value) {
1224        if (value == null) {
1225    throw new NullPointerException();
1226  }
1227  checkByteStringIsUtf8(value);
1228        
1229        name_ = value;
1230        onChanged();
1231        return this;
1232      }
1233
1234      private hapi.release.InfoOuterClass.Info info_ = null;
1235      private com.google.protobuf.SingleFieldBuilderV3<
1236          hapi.release.InfoOuterClass.Info, hapi.release.InfoOuterClass.Info.Builder, hapi.release.InfoOuterClass.InfoOrBuilder> infoBuilder_;
1237      /**
1238       * <pre>
1239       * Info provides information about a release
1240       * </pre>
1241       *
1242       * <code>.hapi.release.Info info = 2;</code>
1243       */
1244      public boolean hasInfo() {
1245        return infoBuilder_ != null || info_ != null;
1246      }
1247      /**
1248       * <pre>
1249       * Info provides information about a release
1250       * </pre>
1251       *
1252       * <code>.hapi.release.Info info = 2;</code>
1253       */
1254      public hapi.release.InfoOuterClass.Info getInfo() {
1255        if (infoBuilder_ == null) {
1256          return info_ == null ? hapi.release.InfoOuterClass.Info.getDefaultInstance() : info_;
1257        } else {
1258          return infoBuilder_.getMessage();
1259        }
1260      }
1261      /**
1262       * <pre>
1263       * Info provides information about a release
1264       * </pre>
1265       *
1266       * <code>.hapi.release.Info info = 2;</code>
1267       */
1268      public Builder setInfo(hapi.release.InfoOuterClass.Info value) {
1269        if (infoBuilder_ == null) {
1270          if (value == null) {
1271            throw new NullPointerException();
1272          }
1273          info_ = value;
1274          onChanged();
1275        } else {
1276          infoBuilder_.setMessage(value);
1277        }
1278
1279        return this;
1280      }
1281      /**
1282       * <pre>
1283       * Info provides information about a release
1284       * </pre>
1285       *
1286       * <code>.hapi.release.Info info = 2;</code>
1287       */
1288      public Builder setInfo(
1289          hapi.release.InfoOuterClass.Info.Builder builderForValue) {
1290        if (infoBuilder_ == null) {
1291          info_ = builderForValue.build();
1292          onChanged();
1293        } else {
1294          infoBuilder_.setMessage(builderForValue.build());
1295        }
1296
1297        return this;
1298      }
1299      /**
1300       * <pre>
1301       * Info provides information about a release
1302       * </pre>
1303       *
1304       * <code>.hapi.release.Info info = 2;</code>
1305       */
1306      public Builder mergeInfo(hapi.release.InfoOuterClass.Info value) {
1307        if (infoBuilder_ == null) {
1308          if (info_ != null) {
1309            info_ =
1310              hapi.release.InfoOuterClass.Info.newBuilder(info_).mergeFrom(value).buildPartial();
1311          } else {
1312            info_ = value;
1313          }
1314          onChanged();
1315        } else {
1316          infoBuilder_.mergeFrom(value);
1317        }
1318
1319        return this;
1320      }
1321      /**
1322       * <pre>
1323       * Info provides information about a release
1324       * </pre>
1325       *
1326       * <code>.hapi.release.Info info = 2;</code>
1327       */
1328      public Builder clearInfo() {
1329        if (infoBuilder_ == null) {
1330          info_ = null;
1331          onChanged();
1332        } else {
1333          info_ = null;
1334          infoBuilder_ = null;
1335        }
1336
1337        return this;
1338      }
1339      /**
1340       * <pre>
1341       * Info provides information about a release
1342       * </pre>
1343       *
1344       * <code>.hapi.release.Info info = 2;</code>
1345       */
1346      public hapi.release.InfoOuterClass.Info.Builder getInfoBuilder() {
1347        
1348        onChanged();
1349        return getInfoFieldBuilder().getBuilder();
1350      }
1351      /**
1352       * <pre>
1353       * Info provides information about a release
1354       * </pre>
1355       *
1356       * <code>.hapi.release.Info info = 2;</code>
1357       */
1358      public hapi.release.InfoOuterClass.InfoOrBuilder getInfoOrBuilder() {
1359        if (infoBuilder_ != null) {
1360          return infoBuilder_.getMessageOrBuilder();
1361        } else {
1362          return info_ == null ?
1363              hapi.release.InfoOuterClass.Info.getDefaultInstance() : info_;
1364        }
1365      }
1366      /**
1367       * <pre>
1368       * Info provides information about a release
1369       * </pre>
1370       *
1371       * <code>.hapi.release.Info info = 2;</code>
1372       */
1373      private com.google.protobuf.SingleFieldBuilderV3<
1374          hapi.release.InfoOuterClass.Info, hapi.release.InfoOuterClass.Info.Builder, hapi.release.InfoOuterClass.InfoOrBuilder> 
1375          getInfoFieldBuilder() {
1376        if (infoBuilder_ == null) {
1377          infoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
1378              hapi.release.InfoOuterClass.Info, hapi.release.InfoOuterClass.Info.Builder, hapi.release.InfoOuterClass.InfoOrBuilder>(
1379                  getInfo(),
1380                  getParentForChildren(),
1381                  isClean());
1382          info_ = null;
1383        }
1384        return infoBuilder_;
1385      }
1386
1387      private hapi.chart.ChartOuterClass.Chart chart_ = null;
1388      private com.google.protobuf.SingleFieldBuilderV3<
1389          hapi.chart.ChartOuterClass.Chart, hapi.chart.ChartOuterClass.Chart.Builder, hapi.chart.ChartOuterClass.ChartOrBuilder> chartBuilder_;
1390      /**
1391       * <pre>
1392       * Chart is the chart that was released.
1393       * </pre>
1394       *
1395       * <code>.hapi.chart.Chart chart = 3;</code>
1396       */
1397      public boolean hasChart() {
1398        return chartBuilder_ != null || chart_ != null;
1399      }
1400      /**
1401       * <pre>
1402       * Chart is the chart that was released.
1403       * </pre>
1404       *
1405       * <code>.hapi.chart.Chart chart = 3;</code>
1406       */
1407      public hapi.chart.ChartOuterClass.Chart getChart() {
1408        if (chartBuilder_ == null) {
1409          return chart_ == null ? hapi.chart.ChartOuterClass.Chart.getDefaultInstance() : chart_;
1410        } else {
1411          return chartBuilder_.getMessage();
1412        }
1413      }
1414      /**
1415       * <pre>
1416       * Chart is the chart that was released.
1417       * </pre>
1418       *
1419       * <code>.hapi.chart.Chart chart = 3;</code>
1420       */
1421      public Builder setChart(hapi.chart.ChartOuterClass.Chart value) {
1422        if (chartBuilder_ == null) {
1423          if (value == null) {
1424            throw new NullPointerException();
1425          }
1426          chart_ = value;
1427          onChanged();
1428        } else {
1429          chartBuilder_.setMessage(value);
1430        }
1431
1432        return this;
1433      }
1434      /**
1435       * <pre>
1436       * Chart is the chart that was released.
1437       * </pre>
1438       *
1439       * <code>.hapi.chart.Chart chart = 3;</code>
1440       */
1441      public Builder setChart(
1442          hapi.chart.ChartOuterClass.Chart.Builder builderForValue) {
1443        if (chartBuilder_ == null) {
1444          chart_ = builderForValue.build();
1445          onChanged();
1446        } else {
1447          chartBuilder_.setMessage(builderForValue.build());
1448        }
1449
1450        return this;
1451      }
1452      /**
1453       * <pre>
1454       * Chart is the chart that was released.
1455       * </pre>
1456       *
1457       * <code>.hapi.chart.Chart chart = 3;</code>
1458       */
1459      public Builder mergeChart(hapi.chart.ChartOuterClass.Chart value) {
1460        if (chartBuilder_ == null) {
1461          if (chart_ != null) {
1462            chart_ =
1463              hapi.chart.ChartOuterClass.Chart.newBuilder(chart_).mergeFrom(value).buildPartial();
1464          } else {
1465            chart_ = value;
1466          }
1467          onChanged();
1468        } else {
1469          chartBuilder_.mergeFrom(value);
1470        }
1471
1472        return this;
1473      }
1474      /**
1475       * <pre>
1476       * Chart is the chart that was released.
1477       * </pre>
1478       *
1479       * <code>.hapi.chart.Chart chart = 3;</code>
1480       */
1481      public Builder clearChart() {
1482        if (chartBuilder_ == null) {
1483          chart_ = null;
1484          onChanged();
1485        } else {
1486          chart_ = null;
1487          chartBuilder_ = null;
1488        }
1489
1490        return this;
1491      }
1492      /**
1493       * <pre>
1494       * Chart is the chart that was released.
1495       * </pre>
1496       *
1497       * <code>.hapi.chart.Chart chart = 3;</code>
1498       */
1499      public hapi.chart.ChartOuterClass.Chart.Builder getChartBuilder() {
1500        
1501        onChanged();
1502        return getChartFieldBuilder().getBuilder();
1503      }
1504      /**
1505       * <pre>
1506       * Chart is the chart that was released.
1507       * </pre>
1508       *
1509       * <code>.hapi.chart.Chart chart = 3;</code>
1510       */
1511      public hapi.chart.ChartOuterClass.ChartOrBuilder getChartOrBuilder() {
1512        if (chartBuilder_ != null) {
1513          return chartBuilder_.getMessageOrBuilder();
1514        } else {
1515          return chart_ == null ?
1516              hapi.chart.ChartOuterClass.Chart.getDefaultInstance() : chart_;
1517        }
1518      }
1519      /**
1520       * <pre>
1521       * Chart is the chart that was released.
1522       * </pre>
1523       *
1524       * <code>.hapi.chart.Chart chart = 3;</code>
1525       */
1526      private com.google.protobuf.SingleFieldBuilderV3<
1527          hapi.chart.ChartOuterClass.Chart, hapi.chart.ChartOuterClass.Chart.Builder, hapi.chart.ChartOuterClass.ChartOrBuilder> 
1528          getChartFieldBuilder() {
1529        if (chartBuilder_ == null) {
1530          chartBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
1531              hapi.chart.ChartOuterClass.Chart, hapi.chart.ChartOuterClass.Chart.Builder, hapi.chart.ChartOuterClass.ChartOrBuilder>(
1532                  getChart(),
1533                  getParentForChildren(),
1534                  isClean());
1535          chart_ = null;
1536        }
1537        return chartBuilder_;
1538      }
1539
1540      private hapi.chart.ConfigOuterClass.Config config_ = null;
1541      private com.google.protobuf.SingleFieldBuilderV3<
1542          hapi.chart.ConfigOuterClass.Config, hapi.chart.ConfigOuterClass.Config.Builder, hapi.chart.ConfigOuterClass.ConfigOrBuilder> configBuilder_;
1543      /**
1544       * <pre>
1545       * Config is the set of extra Values added to the chart.
1546       * These values override the default values inside of the chart.
1547       * </pre>
1548       *
1549       * <code>.hapi.chart.Config config = 4;</code>
1550       */
1551      public boolean hasConfig() {
1552        return configBuilder_ != null || config_ != null;
1553      }
1554      /**
1555       * <pre>
1556       * Config is the set of extra Values added to the chart.
1557       * These values override the default values inside of the chart.
1558       * </pre>
1559       *
1560       * <code>.hapi.chart.Config config = 4;</code>
1561       */
1562      public hapi.chart.ConfigOuterClass.Config getConfig() {
1563        if (configBuilder_ == null) {
1564          return config_ == null ? hapi.chart.ConfigOuterClass.Config.getDefaultInstance() : config_;
1565        } else {
1566          return configBuilder_.getMessage();
1567        }
1568      }
1569      /**
1570       * <pre>
1571       * Config is the set of extra Values added to the chart.
1572       * These values override the default values inside of the chart.
1573       * </pre>
1574       *
1575       * <code>.hapi.chart.Config config = 4;</code>
1576       */
1577      public Builder setConfig(hapi.chart.ConfigOuterClass.Config value) {
1578        if (configBuilder_ == null) {
1579          if (value == null) {
1580            throw new NullPointerException();
1581          }
1582          config_ = value;
1583          onChanged();
1584        } else {
1585          configBuilder_.setMessage(value);
1586        }
1587
1588        return this;
1589      }
1590      /**
1591       * <pre>
1592       * Config is the set of extra Values added to the chart.
1593       * These values override the default values inside of the chart.
1594       * </pre>
1595       *
1596       * <code>.hapi.chart.Config config = 4;</code>
1597       */
1598      public Builder setConfig(
1599          hapi.chart.ConfigOuterClass.Config.Builder builderForValue) {
1600        if (configBuilder_ == null) {
1601          config_ = builderForValue.build();
1602          onChanged();
1603        } else {
1604          configBuilder_.setMessage(builderForValue.build());
1605        }
1606
1607        return this;
1608      }
1609      /**
1610       * <pre>
1611       * Config is the set of extra Values added to the chart.
1612       * These values override the default values inside of the chart.
1613       * </pre>
1614       *
1615       * <code>.hapi.chart.Config config = 4;</code>
1616       */
1617      public Builder mergeConfig(hapi.chart.ConfigOuterClass.Config value) {
1618        if (configBuilder_ == null) {
1619          if (config_ != null) {
1620            config_ =
1621              hapi.chart.ConfigOuterClass.Config.newBuilder(config_).mergeFrom(value).buildPartial();
1622          } else {
1623            config_ = value;
1624          }
1625          onChanged();
1626        } else {
1627          configBuilder_.mergeFrom(value);
1628        }
1629
1630        return this;
1631      }
1632      /**
1633       * <pre>
1634       * Config is the set of extra Values added to the chart.
1635       * These values override the default values inside of the chart.
1636       * </pre>
1637       *
1638       * <code>.hapi.chart.Config config = 4;</code>
1639       */
1640      public Builder clearConfig() {
1641        if (configBuilder_ == null) {
1642          config_ = null;
1643          onChanged();
1644        } else {
1645          config_ = null;
1646          configBuilder_ = null;
1647        }
1648
1649        return this;
1650      }
1651      /**
1652       * <pre>
1653       * Config is the set of extra Values added to the chart.
1654       * These values override the default values inside of the chart.
1655       * </pre>
1656       *
1657       * <code>.hapi.chart.Config config = 4;</code>
1658       */
1659      public hapi.chart.ConfigOuterClass.Config.Builder getConfigBuilder() {
1660        
1661        onChanged();
1662        return getConfigFieldBuilder().getBuilder();
1663      }
1664      /**
1665       * <pre>
1666       * Config is the set of extra Values added to the chart.
1667       * These values override the default values inside of the chart.
1668       * </pre>
1669       *
1670       * <code>.hapi.chart.Config config = 4;</code>
1671       */
1672      public hapi.chart.ConfigOuterClass.ConfigOrBuilder getConfigOrBuilder() {
1673        if (configBuilder_ != null) {
1674          return configBuilder_.getMessageOrBuilder();
1675        } else {
1676          return config_ == null ?
1677              hapi.chart.ConfigOuterClass.Config.getDefaultInstance() : config_;
1678        }
1679      }
1680      /**
1681       * <pre>
1682       * Config is the set of extra Values added to the chart.
1683       * These values override the default values inside of the chart.
1684       * </pre>
1685       *
1686       * <code>.hapi.chart.Config config = 4;</code>
1687       */
1688      private com.google.protobuf.SingleFieldBuilderV3<
1689          hapi.chart.ConfigOuterClass.Config, hapi.chart.ConfigOuterClass.Config.Builder, hapi.chart.ConfigOuterClass.ConfigOrBuilder> 
1690          getConfigFieldBuilder() {
1691        if (configBuilder_ == null) {
1692          configBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
1693              hapi.chart.ConfigOuterClass.Config, hapi.chart.ConfigOuterClass.Config.Builder, hapi.chart.ConfigOuterClass.ConfigOrBuilder>(
1694                  getConfig(),
1695                  getParentForChildren(),
1696                  isClean());
1697          config_ = null;
1698        }
1699        return configBuilder_;
1700      }
1701
1702      private java.lang.Object manifest_ = "";
1703      /**
1704       * <pre>
1705       * Manifest is the string representation of the rendered template.
1706       * </pre>
1707       *
1708       * <code>string manifest = 5;</code>
1709       */
1710      public java.lang.String getManifest() {
1711        java.lang.Object ref = manifest_;
1712        if (!(ref instanceof java.lang.String)) {
1713          com.google.protobuf.ByteString bs =
1714              (com.google.protobuf.ByteString) ref;
1715          java.lang.String s = bs.toStringUtf8();
1716          manifest_ = s;
1717          return s;
1718        } else {
1719          return (java.lang.String) ref;
1720        }
1721      }
1722      /**
1723       * <pre>
1724       * Manifest is the string representation of the rendered template.
1725       * </pre>
1726       *
1727       * <code>string manifest = 5;</code>
1728       */
1729      public com.google.protobuf.ByteString
1730          getManifestBytes() {
1731        java.lang.Object ref = manifest_;
1732        if (ref instanceof String) {
1733          com.google.protobuf.ByteString b = 
1734              com.google.protobuf.ByteString.copyFromUtf8(
1735                  (java.lang.String) ref);
1736          manifest_ = b;
1737          return b;
1738        } else {
1739          return (com.google.protobuf.ByteString) ref;
1740        }
1741      }
1742      /**
1743       * <pre>
1744       * Manifest is the string representation of the rendered template.
1745       * </pre>
1746       *
1747       * <code>string manifest = 5;</code>
1748       */
1749      public Builder setManifest(
1750          java.lang.String value) {
1751        if (value == null) {
1752    throw new NullPointerException();
1753  }
1754  
1755        manifest_ = value;
1756        onChanged();
1757        return this;
1758      }
1759      /**
1760       * <pre>
1761       * Manifest is the string representation of the rendered template.
1762       * </pre>
1763       *
1764       * <code>string manifest = 5;</code>
1765       */
1766      public Builder clearManifest() {
1767        
1768        manifest_ = getDefaultInstance().getManifest();
1769        onChanged();
1770        return this;
1771      }
1772      /**
1773       * <pre>
1774       * Manifest is the string representation of the rendered template.
1775       * </pre>
1776       *
1777       * <code>string manifest = 5;</code>
1778       */
1779      public Builder setManifestBytes(
1780          com.google.protobuf.ByteString value) {
1781        if (value == null) {
1782    throw new NullPointerException();
1783  }
1784  checkByteStringIsUtf8(value);
1785        
1786        manifest_ = value;
1787        onChanged();
1788        return this;
1789      }
1790
1791      private java.util.List<hapi.release.HookOuterClass.Hook> hooks_ =
1792        java.util.Collections.emptyList();
1793      private void ensureHooksIsMutable() {
1794        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
1795          hooks_ = new java.util.ArrayList<hapi.release.HookOuterClass.Hook>(hooks_);
1796          bitField0_ |= 0x00000020;
1797         }
1798      }
1799
1800      private com.google.protobuf.RepeatedFieldBuilderV3<
1801          hapi.release.HookOuterClass.Hook, hapi.release.HookOuterClass.Hook.Builder, hapi.release.HookOuterClass.HookOrBuilder> hooksBuilder_;
1802
1803      /**
1804       * <pre>
1805       * Hooks are all of the hooks declared for this release.
1806       * </pre>
1807       *
1808       * <code>repeated .hapi.release.Hook hooks = 6;</code>
1809       */
1810      public java.util.List<hapi.release.HookOuterClass.Hook> getHooksList() {
1811        if (hooksBuilder_ == null) {
1812          return java.util.Collections.unmodifiableList(hooks_);
1813        } else {
1814          return hooksBuilder_.getMessageList();
1815        }
1816      }
1817      /**
1818       * <pre>
1819       * Hooks are all of the hooks declared for this release.
1820       * </pre>
1821       *
1822       * <code>repeated .hapi.release.Hook hooks = 6;</code>
1823       */
1824      public int getHooksCount() {
1825        if (hooksBuilder_ == null) {
1826          return hooks_.size();
1827        } else {
1828          return hooksBuilder_.getCount();
1829        }
1830      }
1831      /**
1832       * <pre>
1833       * Hooks are all of the hooks declared for this release.
1834       * </pre>
1835       *
1836       * <code>repeated .hapi.release.Hook hooks = 6;</code>
1837       */
1838      public hapi.release.HookOuterClass.Hook getHooks(int index) {
1839        if (hooksBuilder_ == null) {
1840          return hooks_.get(index);
1841        } else {
1842          return hooksBuilder_.getMessage(index);
1843        }
1844      }
1845      /**
1846       * <pre>
1847       * Hooks are all of the hooks declared for this release.
1848       * </pre>
1849       *
1850       * <code>repeated .hapi.release.Hook hooks = 6;</code>
1851       */
1852      public Builder setHooks(
1853          int index, hapi.release.HookOuterClass.Hook value) {
1854        if (hooksBuilder_ == null) {
1855          if (value == null) {
1856            throw new NullPointerException();
1857          }
1858          ensureHooksIsMutable();
1859          hooks_.set(index, value);
1860          onChanged();
1861        } else {
1862          hooksBuilder_.setMessage(index, value);
1863        }
1864        return this;
1865      }
1866      /**
1867       * <pre>
1868       * Hooks are all of the hooks declared for this release.
1869       * </pre>
1870       *
1871       * <code>repeated .hapi.release.Hook hooks = 6;</code>
1872       */
1873      public Builder setHooks(
1874          int index, hapi.release.HookOuterClass.Hook.Builder builderForValue) {
1875        if (hooksBuilder_ == null) {
1876          ensureHooksIsMutable();
1877          hooks_.set(index, builderForValue.build());
1878          onChanged();
1879        } else {
1880          hooksBuilder_.setMessage(index, builderForValue.build());
1881        }
1882        return this;
1883      }
1884      /**
1885       * <pre>
1886       * Hooks are all of the hooks declared for this release.
1887       * </pre>
1888       *
1889       * <code>repeated .hapi.release.Hook hooks = 6;</code>
1890       */
1891      public Builder addHooks(hapi.release.HookOuterClass.Hook value) {
1892        if (hooksBuilder_ == null) {
1893          if (value == null) {
1894            throw new NullPointerException();
1895          }
1896          ensureHooksIsMutable();
1897          hooks_.add(value);
1898          onChanged();
1899        } else {
1900          hooksBuilder_.addMessage(value);
1901        }
1902        return this;
1903      }
1904      /**
1905       * <pre>
1906       * Hooks are all of the hooks declared for this release.
1907       * </pre>
1908       *
1909       * <code>repeated .hapi.release.Hook hooks = 6;</code>
1910       */
1911      public Builder addHooks(
1912          int index, hapi.release.HookOuterClass.Hook value) {
1913        if (hooksBuilder_ == null) {
1914          if (value == null) {
1915            throw new NullPointerException();
1916          }
1917          ensureHooksIsMutable();
1918          hooks_.add(index, value);
1919          onChanged();
1920        } else {
1921          hooksBuilder_.addMessage(index, value);
1922        }
1923        return this;
1924      }
1925      /**
1926       * <pre>
1927       * Hooks are all of the hooks declared for this release.
1928       * </pre>
1929       *
1930       * <code>repeated .hapi.release.Hook hooks = 6;</code>
1931       */
1932      public Builder addHooks(
1933          hapi.release.HookOuterClass.Hook.Builder builderForValue) {
1934        if (hooksBuilder_ == null) {
1935          ensureHooksIsMutable();
1936          hooks_.add(builderForValue.build());
1937          onChanged();
1938        } else {
1939          hooksBuilder_.addMessage(builderForValue.build());
1940        }
1941        return this;
1942      }
1943      /**
1944       * <pre>
1945       * Hooks are all of the hooks declared for this release.
1946       * </pre>
1947       *
1948       * <code>repeated .hapi.release.Hook hooks = 6;</code>
1949       */
1950      public Builder addHooks(
1951          int index, hapi.release.HookOuterClass.Hook.Builder builderForValue) {
1952        if (hooksBuilder_ == null) {
1953          ensureHooksIsMutable();
1954          hooks_.add(index, builderForValue.build());
1955          onChanged();
1956        } else {
1957          hooksBuilder_.addMessage(index, builderForValue.build());
1958        }
1959        return this;
1960      }
1961      /**
1962       * <pre>
1963       * Hooks are all of the hooks declared for this release.
1964       * </pre>
1965       *
1966       * <code>repeated .hapi.release.Hook hooks = 6;</code>
1967       */
1968      public Builder addAllHooks(
1969          java.lang.Iterable<? extends hapi.release.HookOuterClass.Hook> values) {
1970        if (hooksBuilder_ == null) {
1971          ensureHooksIsMutable();
1972          com.google.protobuf.AbstractMessageLite.Builder.addAll(
1973              values, hooks_);
1974          onChanged();
1975        } else {
1976          hooksBuilder_.addAllMessages(values);
1977        }
1978        return this;
1979      }
1980      /**
1981       * <pre>
1982       * Hooks are all of the hooks declared for this release.
1983       * </pre>
1984       *
1985       * <code>repeated .hapi.release.Hook hooks = 6;</code>
1986       */
1987      public Builder clearHooks() {
1988        if (hooksBuilder_ == null) {
1989          hooks_ = java.util.Collections.emptyList();
1990          bitField0_ = (bitField0_ & ~0x00000020);
1991          onChanged();
1992        } else {
1993          hooksBuilder_.clear();
1994        }
1995        return this;
1996      }
1997      /**
1998       * <pre>
1999       * Hooks are all of the hooks declared for this release.
2000       * </pre>
2001       *
2002       * <code>repeated .hapi.release.Hook hooks = 6;</code>
2003       */
2004      public Builder removeHooks(int index) {
2005        if (hooksBuilder_ == null) {
2006          ensureHooksIsMutable();
2007          hooks_.remove(index);
2008          onChanged();
2009        } else {
2010          hooksBuilder_.remove(index);
2011        }
2012        return this;
2013      }
2014      /**
2015       * <pre>
2016       * Hooks are all of the hooks declared for this release.
2017       * </pre>
2018       *
2019       * <code>repeated .hapi.release.Hook hooks = 6;</code>
2020       */
2021      public hapi.release.HookOuterClass.Hook.Builder getHooksBuilder(
2022          int index) {
2023        return getHooksFieldBuilder().getBuilder(index);
2024      }
2025      /**
2026       * <pre>
2027       * Hooks are all of the hooks declared for this release.
2028       * </pre>
2029       *
2030       * <code>repeated .hapi.release.Hook hooks = 6;</code>
2031       */
2032      public hapi.release.HookOuterClass.HookOrBuilder getHooksOrBuilder(
2033          int index) {
2034        if (hooksBuilder_ == null) {
2035          return hooks_.get(index);  } else {
2036          return hooksBuilder_.getMessageOrBuilder(index);
2037        }
2038      }
2039      /**
2040       * <pre>
2041       * Hooks are all of the hooks declared for this release.
2042       * </pre>
2043       *
2044       * <code>repeated .hapi.release.Hook hooks = 6;</code>
2045       */
2046      public java.util.List<? extends hapi.release.HookOuterClass.HookOrBuilder> 
2047           getHooksOrBuilderList() {
2048        if (hooksBuilder_ != null) {
2049          return hooksBuilder_.getMessageOrBuilderList();
2050        } else {
2051          return java.util.Collections.unmodifiableList(hooks_);
2052        }
2053      }
2054      /**
2055       * <pre>
2056       * Hooks are all of the hooks declared for this release.
2057       * </pre>
2058       *
2059       * <code>repeated .hapi.release.Hook hooks = 6;</code>
2060       */
2061      public hapi.release.HookOuterClass.Hook.Builder addHooksBuilder() {
2062        return getHooksFieldBuilder().addBuilder(
2063            hapi.release.HookOuterClass.Hook.getDefaultInstance());
2064      }
2065      /**
2066       * <pre>
2067       * Hooks are all of the hooks declared for this release.
2068       * </pre>
2069       *
2070       * <code>repeated .hapi.release.Hook hooks = 6;</code>
2071       */
2072      public hapi.release.HookOuterClass.Hook.Builder addHooksBuilder(
2073          int index) {
2074        return getHooksFieldBuilder().addBuilder(
2075            index, hapi.release.HookOuterClass.Hook.getDefaultInstance());
2076      }
2077      /**
2078       * <pre>
2079       * Hooks are all of the hooks declared for this release.
2080       * </pre>
2081       *
2082       * <code>repeated .hapi.release.Hook hooks = 6;</code>
2083       */
2084      public java.util.List<hapi.release.HookOuterClass.Hook.Builder> 
2085           getHooksBuilderList() {
2086        return getHooksFieldBuilder().getBuilderList();
2087      }
2088      private com.google.protobuf.RepeatedFieldBuilderV3<
2089          hapi.release.HookOuterClass.Hook, hapi.release.HookOuterClass.Hook.Builder, hapi.release.HookOuterClass.HookOrBuilder> 
2090          getHooksFieldBuilder() {
2091        if (hooksBuilder_ == null) {
2092          hooksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
2093              hapi.release.HookOuterClass.Hook, hapi.release.HookOuterClass.Hook.Builder, hapi.release.HookOuterClass.HookOrBuilder>(
2094                  hooks_,
2095                  ((bitField0_ & 0x00000020) == 0x00000020),
2096                  getParentForChildren(),
2097                  isClean());
2098          hooks_ = null;
2099        }
2100        return hooksBuilder_;
2101      }
2102
2103      private int version_ ;
2104      /**
2105       * <pre>
2106       * Version is an int32 which represents the version of the release.
2107       * </pre>
2108       *
2109       * <code>int32 version = 7;</code>
2110       */
2111      public int getVersion() {
2112        return version_;
2113      }
2114      /**
2115       * <pre>
2116       * Version is an int32 which represents the version of the release.
2117       * </pre>
2118       *
2119       * <code>int32 version = 7;</code>
2120       */
2121      public Builder setVersion(int value) {
2122        
2123        version_ = value;
2124        onChanged();
2125        return this;
2126      }
2127      /**
2128       * <pre>
2129       * Version is an int32 which represents the version of the release.
2130       * </pre>
2131       *
2132       * <code>int32 version = 7;</code>
2133       */
2134      public Builder clearVersion() {
2135        
2136        version_ = 0;
2137        onChanged();
2138        return this;
2139      }
2140
2141      private java.lang.Object namespace_ = "";
2142      /**
2143       * <pre>
2144       * Namespace is the kubernetes namespace of the release.
2145       * </pre>
2146       *
2147       * <code>string namespace = 8;</code>
2148       */
2149      public java.lang.String getNamespace() {
2150        java.lang.Object ref = namespace_;
2151        if (!(ref instanceof java.lang.String)) {
2152          com.google.protobuf.ByteString bs =
2153              (com.google.protobuf.ByteString) ref;
2154          java.lang.String s = bs.toStringUtf8();
2155          namespace_ = s;
2156          return s;
2157        } else {
2158          return (java.lang.String) ref;
2159        }
2160      }
2161      /**
2162       * <pre>
2163       * Namespace is the kubernetes namespace of the release.
2164       * </pre>
2165       *
2166       * <code>string namespace = 8;</code>
2167       */
2168      public com.google.protobuf.ByteString
2169          getNamespaceBytes() {
2170        java.lang.Object ref = namespace_;
2171        if (ref instanceof String) {
2172          com.google.protobuf.ByteString b = 
2173              com.google.protobuf.ByteString.copyFromUtf8(
2174                  (java.lang.String) ref);
2175          namespace_ = b;
2176          return b;
2177        } else {
2178          return (com.google.protobuf.ByteString) ref;
2179        }
2180      }
2181      /**
2182       * <pre>
2183       * Namespace is the kubernetes namespace of the release.
2184       * </pre>
2185       *
2186       * <code>string namespace = 8;</code>
2187       */
2188      public Builder setNamespace(
2189          java.lang.String value) {
2190        if (value == null) {
2191    throw new NullPointerException();
2192  }
2193  
2194        namespace_ = value;
2195        onChanged();
2196        return this;
2197      }
2198      /**
2199       * <pre>
2200       * Namespace is the kubernetes namespace of the release.
2201       * </pre>
2202       *
2203       * <code>string namespace = 8;</code>
2204       */
2205      public Builder clearNamespace() {
2206        
2207        namespace_ = getDefaultInstance().getNamespace();
2208        onChanged();
2209        return this;
2210      }
2211      /**
2212       * <pre>
2213       * Namespace is the kubernetes namespace of the release.
2214       * </pre>
2215       *
2216       * <code>string namespace = 8;</code>
2217       */
2218      public Builder setNamespaceBytes(
2219          com.google.protobuf.ByteString value) {
2220        if (value == null) {
2221    throw new NullPointerException();
2222  }
2223  checkByteStringIsUtf8(value);
2224        
2225        namespace_ = value;
2226        onChanged();
2227        return this;
2228      }
2229      public final Builder setUnknownFields(
2230          final com.google.protobuf.UnknownFieldSet unknownFields) {
2231        return super.setUnknownFieldsProto3(unknownFields);
2232      }
2233
2234      public final Builder mergeUnknownFields(
2235          final com.google.protobuf.UnknownFieldSet unknownFields) {
2236        return super.mergeUnknownFields(unknownFields);
2237      }
2238
2239
2240      // @@protoc_insertion_point(builder_scope:hapi.release.Release)
2241    }
2242
2243    // @@protoc_insertion_point(class_scope:hapi.release.Release)
2244    private static final hapi.release.ReleaseOuterClass.Release DEFAULT_INSTANCE;
2245    static {
2246      DEFAULT_INSTANCE = new hapi.release.ReleaseOuterClass.Release();
2247    }
2248
2249    public static hapi.release.ReleaseOuterClass.Release getDefaultInstance() {
2250      return DEFAULT_INSTANCE;
2251    }
2252
2253    private static final com.google.protobuf.Parser<Release>
2254        PARSER = new com.google.protobuf.AbstractParser<Release>() {
2255      public Release parsePartialFrom(
2256          com.google.protobuf.CodedInputStream input,
2257          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2258          throws com.google.protobuf.InvalidProtocolBufferException {
2259        return new Release(input, extensionRegistry);
2260      }
2261    };
2262
2263    public static com.google.protobuf.Parser<Release> parser() {
2264      return PARSER;
2265    }
2266
2267    @java.lang.Override
2268    public com.google.protobuf.Parser<Release> getParserForType() {
2269      return PARSER;
2270    }
2271
2272    public hapi.release.ReleaseOuterClass.Release getDefaultInstanceForType() {
2273      return DEFAULT_INSTANCE;
2274    }
2275
2276  }
2277
2278  private static final com.google.protobuf.Descriptors.Descriptor
2279    internal_static_hapi_release_Release_descriptor;
2280  private static final 
2281    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
2282      internal_static_hapi_release_Release_fieldAccessorTable;
2283
2284  public static com.google.protobuf.Descriptors.FileDescriptor
2285      getDescriptor() {
2286    return descriptor;
2287  }
2288  private static  com.google.protobuf.Descriptors.FileDescriptor
2289      descriptor;
2290  static {
2291    java.lang.String[] descriptorData = {
2292      "\n\032hapi/release/release.proto\022\014hapi.relea" +
2293      "se\032\027hapi/release/hook.proto\032\027hapi/releas" +
2294      "e/info.proto\032\027hapi/chart/config.proto\032\026h" +
2295      "api/chart/chart.proto\"\330\001\n\007Release\022\014\n\004nam" +
2296      "e\030\001 \001(\t\022 \n\004info\030\002 \001(\0132\022.hapi.release.Inf" +
2297      "o\022 \n\005chart\030\003 \001(\0132\021.hapi.chart.Chart\022\"\n\006c" +
2298      "onfig\030\004 \001(\0132\022.hapi.chart.Config\022\020\n\010manif" +
2299      "est\030\005 \001(\t\022!\n\005hooks\030\006 \003(\0132\022.hapi.release." +
2300      "Hook\022\017\n\007version\030\007 \001(\005\022\021\n\tnamespace\030\010 \001(\t" +
2301      "B\tZ\007releaseb\006proto3"
2302    };
2303    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
2304        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
2305          public com.google.protobuf.ExtensionRegistry assignDescriptors(
2306              com.google.protobuf.Descriptors.FileDescriptor root) {
2307            descriptor = root;
2308            return null;
2309          }
2310        };
2311    com.google.protobuf.Descriptors.FileDescriptor
2312      .internalBuildGeneratedFileFrom(descriptorData,
2313        new com.google.protobuf.Descriptors.FileDescriptor[] {
2314          hapi.release.HookOuterClass.getDescriptor(),
2315          hapi.release.InfoOuterClass.getDescriptor(),
2316          hapi.chart.ConfigOuterClass.getDescriptor(),
2317          hapi.chart.ChartOuterClass.getDescriptor(),
2318        }, assigner);
2319    internal_static_hapi_release_Release_descriptor =
2320      getDescriptor().getMessageTypes().get(0);
2321    internal_static_hapi_release_Release_fieldAccessorTable = new
2322      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
2323        internal_static_hapi_release_Release_descriptor,
2324        new java.lang.String[] { "Name", "Info", "Chart", "Config", "Manifest", "Hooks", "Version", "Namespace", });
2325    hapi.release.HookOuterClass.getDescriptor();
2326    hapi.release.InfoOuterClass.getDescriptor();
2327    hapi.chart.ConfigOuterClass.getDescriptor();
2328    hapi.chart.ChartOuterClass.getDescriptor();
2329  }
2330
2331  // @@protoc_insertion_point(outer_class_scope)
2332}