/*
 * Kubernetes
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1.18.2
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package it.reply.orchestrator.dto.kubernetes.fluxcd;

import java.util.Objects;
import com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;

/**
 * V1HelmReleaseSpecChart
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-16T10:28:05.581Z[Etc/UTC]")
public class V1HelmReleaseSpecChart {
  public static final String SERIALIZED_NAME_CHART_PULL_SECRET = "chartPullSecret";
  @SerializedName(SERIALIZED_NAME_CHART_PULL_SECRET)
  private V1HelmReleaseSpecChartChartPullSecret chartPullSecret;

  public static final String SERIALIZED_NAME_GIT = "git";
  @SerializedName(SERIALIZED_NAME_GIT)
  private String git;

  public static final String SERIALIZED_NAME_NAME = "name";
  @SerializedName(SERIALIZED_NAME_NAME)
  private String name;

  public static final String SERIALIZED_NAME_PATH = "path";
  @SerializedName(SERIALIZED_NAME_PATH)
  private String path;

  public static final String SERIALIZED_NAME_REF = "ref";
  @SerializedName(SERIALIZED_NAME_REF)
  private String ref;

  public static final String SERIALIZED_NAME_REPOSITORY = "repository";
  @SerializedName(SERIALIZED_NAME_REPOSITORY)
  private String repository;

  public static final String SERIALIZED_NAME_SECRET_REF = "secretRef";
  @SerializedName(SERIALIZED_NAME_SECRET_REF)
  private V1HelmReleaseSpecChartSecretRef secretRef;

  public static final String SERIALIZED_NAME_SKIP_DEP_UPDATE = "skipDepUpdate";
  @SerializedName(SERIALIZED_NAME_SKIP_DEP_UPDATE)
  private Boolean skipDepUpdate;

  public static final String SERIALIZED_NAME_VERSION = "version";
  @SerializedName(SERIALIZED_NAME_VERSION)
  private String version;


  public V1HelmReleaseSpecChart chartPullSecret(V1HelmReleaseSpecChartChartPullSecret chartPullSecret) {
    
    this.chartPullSecret = chartPullSecret;
    return this;
  }

   /**
   * Get chartPullSecret
   * @return chartPullSecret
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public V1HelmReleaseSpecChartChartPullSecret getChartPullSecret() {
    return chartPullSecret;
  }


  public void setChartPullSecret(V1HelmReleaseSpecChartChartPullSecret chartPullSecret) {
    this.chartPullSecret = chartPullSecret;
  }


  public V1HelmReleaseSpecChart git(String git) {
    
    this.git = git;
    return this;
  }

   /**
   * Git URL is the URL of the Git repository, e.g. &#x60;git@github.com:org/repo&#x60;, &#x60;http://github.com/org/repo&#x60;, or &#x60;ssh://git@example.com:2222/org/repo.git&#x60;.
   * @return git
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "Git URL is the URL of the Git repository, e.g. `git@github.com:org/repo`, `http://github.com/org/repo`, or `ssh://git@example.com:2222/org/repo.git`.")

  public String getGit() {
    return git;
  }


  public void setGit(String git) {
    this.git = git;
  }


  public V1HelmReleaseSpecChart name(String name) {
    
    this.name = name;
    return this;
  }

   /**
   * Name is the name of the Helm chart _without_ an alias, e.g. redis (for &#x60;helm upgrade [flags] stable/redis&#x60;).
   * @return name
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "Name is the name of the Helm chart _without_ an alias, e.g. redis (for `helm upgrade [flags] stable/redis`).")

  public String getName() {
    return name;
  }


  public void setName(String name) {
    this.name = name;
  }


  public V1HelmReleaseSpecChart path(String path) {
    
    this.path = path;
    return this;
  }

   /**
   * Path is the path to the chart relative to the repository root.
   * @return path
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "Path is the path to the chart relative to the repository root.")

  public String getPath() {
    return path;
  }


  public void setPath(String path) {
    this.path = path;
  }


  public V1HelmReleaseSpecChart ref(String ref) {
    
    this.ref = ref;
    return this;
  }

   /**
   * Ref is the Git branch (or other reference) to use. Defaults to &#39;master&#39;, or the configured default Git ref.
   * @return ref
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "Ref is the Git branch (or other reference) to use. Defaults to 'master', or the configured default Git ref.")

  public String getRef() {
    return ref;
  }


  public void setRef(String ref) {
    this.ref = ref;
  }


  public V1HelmReleaseSpecChart repository(String repository) {
    
    this.repository = repository;
    return this;
  }

   /**
   * RepoURL is the URL of the Helm repository, e.g. &#x60;https://kubernetes-charts.storage.googleapis.com&#x60; or &#x60;https://charts.example.com&#x60;.
   * @return repository
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "RepoURL is the URL of the Helm repository, e.g. `https://kubernetes-charts.storage.googleapis.com` or `https://charts.example.com`.")

  public String getRepository() {
    return repository;
  }


  public void setRepository(String repository) {
    this.repository = repository;
  }


  public V1HelmReleaseSpecChart secretRef(V1HelmReleaseSpecChartSecretRef secretRef) {
    
    this.secretRef = secretRef;
    return this;
  }

   /**
   * Get secretRef
   * @return secretRef
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "")

  public V1HelmReleaseSpecChartSecretRef getSecretRef() {
    return secretRef;
  }


  public void setSecretRef(V1HelmReleaseSpecChartSecretRef secretRef) {
    this.secretRef = secretRef;
  }


  public V1HelmReleaseSpecChart skipDepUpdate(Boolean skipDepUpdate) {
    
    this.skipDepUpdate = skipDepUpdate;
    return this;
  }

   /**
   * SkipDepUpdate will tell the operator to skip running &#39;helm dep update&#39; before installing or upgrading the chart, the chart dependencies _must_ be present for this to succeed.
   * @return skipDepUpdate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "SkipDepUpdate will tell the operator to skip running 'helm dep update' before installing or upgrading the chart, the chart dependencies _must_ be present for this to succeed.")

  public Boolean getSkipDepUpdate() {
    return skipDepUpdate;
  }


  public void setSkipDepUpdate(Boolean skipDepUpdate) {
    this.skipDepUpdate = skipDepUpdate;
  }


  public V1HelmReleaseSpecChart version(String version) {
    
    this.version = version;
    return this;
  }

   /**
   * Version is the targeted Helm chart version, e.g. 7.0.1.
   * @return version
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "Version is the targeted Helm chart version, e.g. 7.0.1.")

  public String getVersion() {
    return version;
  }


  public void setVersion(String version) {
    this.version = version;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    V1HelmReleaseSpecChart v1HelmReleaseSpecChart = (V1HelmReleaseSpecChart) o;
    return Objects.equals(this.chartPullSecret, v1HelmReleaseSpecChart.chartPullSecret) &&
        Objects.equals(this.git, v1HelmReleaseSpecChart.git) &&
        Objects.equals(this.name, v1HelmReleaseSpecChart.name) &&
        Objects.equals(this.path, v1HelmReleaseSpecChart.path) &&
        Objects.equals(this.ref, v1HelmReleaseSpecChart.ref) &&
        Objects.equals(this.repository, v1HelmReleaseSpecChart.repository) &&
        Objects.equals(this.secretRef, v1HelmReleaseSpecChart.secretRef) &&
        Objects.equals(this.skipDepUpdate, v1HelmReleaseSpecChart.skipDepUpdate) &&
        Objects.equals(this.version, v1HelmReleaseSpecChart.version);
  }

  @Override
  public int hashCode() {
    return Objects.hash(chartPullSecret, git, name, path, ref, repository, secretRef, skipDepUpdate, version);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class V1HelmReleaseSpecChart {\n");
    sb.append("    chartPullSecret: ").append(toIndentedString(chartPullSecret)).append("\n");
    sb.append("    git: ").append(toIndentedString(git)).append("\n");
    sb.append("    name: ").append(toIndentedString(name)).append("\n");
    sb.append("    path: ").append(toIndentedString(path)).append("\n");
    sb.append("    ref: ").append(toIndentedString(ref)).append("\n");
    sb.append("    repository: ").append(toIndentedString(repository)).append("\n");
    sb.append("    secretRef: ").append(toIndentedString(secretRef)).append("\n");
    sb.append("    skipDepUpdate: ").append(toIndentedString(skipDepUpdate)).append("\n");
    sb.append("    version: ").append(toIndentedString(version)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

}

