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

org.cdk8s.ApiObjectProps Maven / Gradle / Ivy

Go to download

This is the core library of Cloud Development Kit (CDK) for Kubernetes (cdk8s). cdk8s apps synthesize into standard Kubernetes manifests which can be applied to any Kubernetes cluster.

There is a newer version: 2.69.27
Show newest version
package org.cdk8s;

/**
 * Options for defining API objects.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.88.0 (build eaabd08)", date = "2023-09-05T06:13:18.377Z")
@software.amazon.jsii.Jsii(module = org.cdk8s.$Module.class, fqn = "cdk8s.ApiObjectProps")
@software.amazon.jsii.Jsii.Proxy(ApiObjectProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface ApiObjectProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * API version.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.String getApiVersion();

    /**
     * Resource kind.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.String getKind();

    /**
     * Object metadata.
     * 

* If name is not specified, an app-unique name will be allocated by the * framework based on the path of the construct within thes construct tree. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable org.cdk8s.ApiObjectMetadata getMetadata() { return null; } /** * @return a {@link Builder} of {@link ApiObjectProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link ApiObjectProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String apiVersion; java.lang.String kind; org.cdk8s.ApiObjectMetadata metadata; /** * Sets the value of {@link ApiObjectProps#getApiVersion} * @param apiVersion API version. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder apiVersion(java.lang.String apiVersion) { this.apiVersion = apiVersion; return this; } /** * Sets the value of {@link ApiObjectProps#getKind} * @param kind Resource kind. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder kind(java.lang.String kind) { this.kind = kind; return this; } /** * Sets the value of {@link ApiObjectProps#getMetadata} * @param metadata Object metadata. * If name is not specified, an app-unique name will be allocated by the * framework based on the path of the construct within thes construct tree. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder metadata(org.cdk8s.ApiObjectMetadata metadata) { this.metadata = metadata; return this; } /** * Builds the configured instance. * @return a new instance of {@link ApiObjectProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public ApiObjectProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ApiObjectProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ApiObjectProps { private final java.lang.String apiVersion; private final java.lang.String kind; private final org.cdk8s.ApiObjectMetadata metadata; /** * 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.apiVersion = software.amazon.jsii.Kernel.get(this, "apiVersion", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.kind = software.amazon.jsii.Kernel.get(this, "kind", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.metadata = software.amazon.jsii.Kernel.get(this, "metadata", software.amazon.jsii.NativeType.forClass(org.cdk8s.ApiObjectMetadata.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.apiVersion = java.util.Objects.requireNonNull(builder.apiVersion, "apiVersion is required"); this.kind = java.util.Objects.requireNonNull(builder.kind, "kind is required"); this.metadata = builder.metadata; } @Override public final java.lang.String getApiVersion() { return this.apiVersion; } @Override public final java.lang.String getKind() { return this.kind; } @Override public final org.cdk8s.ApiObjectMetadata getMetadata() { return this.metadata; } @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("apiVersion", om.valueToTree(this.getApiVersion())); data.set("kind", om.valueToTree(this.getKind())); if (this.getMetadata() != null) { data.set("metadata", om.valueToTree(this.getMetadata())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("cdk8s.ApiObjectProps")); 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; ApiObjectProps.Jsii$Proxy that = (ApiObjectProps.Jsii$Proxy) o; if (!apiVersion.equals(that.apiVersion)) return false; if (!kind.equals(that.kind)) return false; return this.metadata != null ? this.metadata.equals(that.metadata) : that.metadata == null; } @Override public final int hashCode() { int result = this.apiVersion.hashCode(); result = 31 * result + (this.kind.hashCode()); result = 31 * result + (this.metadata != null ? this.metadata.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy