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

org.cdk8s.plus31.k8s.KubeServiceProps Maven / Gradle / Ivy

package org.cdk8s.plus31.k8s;

/**
 * Service is a named abstraction of software service (for example, mysql) consisting of local port (for example 3306) that the proxy listens on, and the selector that determines which pods will answer requests sent through the proxy.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.105.0 (build 0a2adcb)", date = "2024-11-15T12:15:25.077Z")
@software.amazon.jsii.Jsii(module = org.cdk8s.plus31.$Module.class, fqn = "cdk8s-plus-31.k8s.KubeServiceProps")
@software.amazon.jsii.Jsii.Proxy(KubeServiceProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface KubeServiceProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * Standard object's metadata.
     * 

* More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable org.cdk8s.plus31.k8s.ObjectMeta getMetadata() { return null; } /** * Spec defines the behavior of a service. *

* https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable org.cdk8s.plus31.k8s.ServiceSpec getSpec() { return null; } /** * @return a {@link Builder} of {@link KubeServiceProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link KubeServiceProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { org.cdk8s.plus31.k8s.ObjectMeta metadata; org.cdk8s.plus31.k8s.ServiceSpec spec; /** * Sets the value of {@link KubeServiceProps#getMetadata} * @param metadata Standard object's metadata. * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder metadata(org.cdk8s.plus31.k8s.ObjectMeta metadata) { this.metadata = metadata; return this; } /** * Sets the value of {@link KubeServiceProps#getSpec} * @param spec Spec defines the behavior of a service. * https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder spec(org.cdk8s.plus31.k8s.ServiceSpec spec) { this.spec = spec; return this; } /** * Builds the configured instance. * @return a new instance of {@link KubeServiceProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public KubeServiceProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link KubeServiceProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements KubeServiceProps { private final org.cdk8s.plus31.k8s.ObjectMeta metadata; private final org.cdk8s.plus31.k8s.ServiceSpec spec; /** * 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.metadata = software.amazon.jsii.Kernel.get(this, "metadata", software.amazon.jsii.NativeType.forClass(org.cdk8s.plus31.k8s.ObjectMeta.class)); this.spec = software.amazon.jsii.Kernel.get(this, "spec", software.amazon.jsii.NativeType.forClass(org.cdk8s.plus31.k8s.ServiceSpec.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.metadata = builder.metadata; this.spec = builder.spec; } @Override public final org.cdk8s.plus31.k8s.ObjectMeta getMetadata() { return this.metadata; } @Override public final org.cdk8s.plus31.k8s.ServiceSpec getSpec() { return this.spec; } @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(); if (this.getMetadata() != null) { data.set("metadata", om.valueToTree(this.getMetadata())); } if (this.getSpec() != null) { data.set("spec", om.valueToTree(this.getSpec())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("cdk8s-plus-31.k8s.KubeServiceProps")); 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; KubeServiceProps.Jsii$Proxy that = (KubeServiceProps.Jsii$Proxy) o; if (this.metadata != null ? !this.metadata.equals(that.metadata) : that.metadata != null) return false; return this.spec != null ? this.spec.equals(that.spec) : that.spec == null; } @Override public final int hashCode() { int result = this.metadata != null ? this.metadata.hashCode() : 0; result = 31 * result + (this.spec != null ? this.spec.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy