All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.cdk8s.plus23.k8s.GitRepoVolumeSource Maven / Gradle / Ivy

package org.cdk8s.plus23.k8s;

/**
 * Represents a volume that is populated with the contents of a git repository.
 * 

* Git repo volumes do not support ownership management. Git repo volumes support SELinux relabeling. *

* DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container. */ @javax.annotation.Generated(value = "jsii-pacmak/1.75.0 (build 63bb957)", date = "2023-02-21T09:46:03.793Z") @software.amazon.jsii.Jsii(module = org.cdk8s.plus23.$Module.class, fqn = "cdk8s-plus-23.k8s.GitRepoVolumeSource") @software.amazon.jsii.Jsii.Proxy(GitRepoVolumeSource.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public interface GitRepoVolumeSource extends software.amazon.jsii.JsiiSerializable { /** * Repository URL. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getRepository(); /** * Target directory name. *

* Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getDirectory() { return null; } /** * Commit hash for the specified revision. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getRevision() { return null; } /** * @return a {@link Builder} of {@link GitRepoVolumeSource} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link GitRepoVolumeSource} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String repository; java.lang.String directory; java.lang.String revision; /** * Sets the value of {@link GitRepoVolumeSource#getRepository} * @param repository Repository URL. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder repository(java.lang.String repository) { this.repository = repository; return this; } /** * Sets the value of {@link GitRepoVolumeSource#getDirectory} * @param directory Target directory name. * Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder directory(java.lang.String directory) { this.directory = directory; return this; } /** * Sets the value of {@link GitRepoVolumeSource#getRevision} * @param revision Commit hash for the specified revision. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder revision(java.lang.String revision) { this.revision = revision; return this; } /** * Builds the configured instance. * @return a new instance of {@link GitRepoVolumeSource} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public GitRepoVolumeSource build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link GitRepoVolumeSource} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements GitRepoVolumeSource { private final java.lang.String repository; private final java.lang.String directory; private final java.lang.String revision; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.repository = software.amazon.jsii.Kernel.get(this, "repository", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.directory = software.amazon.jsii.Kernel.get(this, "directory", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.revision = software.amazon.jsii.Kernel.get(this, "revision", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.repository = java.util.Objects.requireNonNull(builder.repository, "repository is required"); this.directory = builder.directory; this.revision = builder.revision; } @Override public final java.lang.String getRepository() { return this.repository; } @Override public final java.lang.String getDirectory() { return this.directory; } @Override public final java.lang.String getRevision() { return this.revision; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("repository", om.valueToTree(this.getRepository())); if (this.getDirectory() != null) { data.set("directory", om.valueToTree(this.getDirectory())); } if (this.getRevision() != null) { data.set("revision", om.valueToTree(this.getRevision())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("cdk8s-plus-23.k8s.GitRepoVolumeSource")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; GitRepoVolumeSource.Jsii$Proxy that = (GitRepoVolumeSource.Jsii$Proxy) o; if (!repository.equals(that.repository)) return false; if (this.directory != null ? !this.directory.equals(that.directory) : that.directory != null) return false; return this.revision != null ? this.revision.equals(that.revision) : that.revision == null; } @Override public final int hashCode() { int result = this.repository.hashCode(); result = 31 * result + (this.directory != null ? this.directory.hashCode() : 0); result = 31 * result + (this.revision != null ? this.revision.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy