
org.cdk8s.plus31.Topology Maven / Gradle / Ivy
package org.cdk8s.plus31;
/**
* Available topology domains.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.105.0 (build 0a2adcb)", date = "2024-11-15T12:15:24.905Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = org.cdk8s.plus31.$Module.class, fqn = "cdk8s-plus-31.Topology")
public class Topology extends software.amazon.jsii.JsiiObject {
protected Topology(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected Topology(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
static {
HOSTNAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(org.cdk8s.plus31.Topology.class, "HOSTNAME", software.amazon.jsii.NativeType.forClass(org.cdk8s.plus31.Topology.class));
REGION = software.amazon.jsii.JsiiObject.jsiiStaticGet(org.cdk8s.plus31.Topology.class, "REGION", software.amazon.jsii.NativeType.forClass(org.cdk8s.plus31.Topology.class));
ZONE = software.amazon.jsii.JsiiObject.jsiiStaticGet(org.cdk8s.plus31.Topology.class, "ZONE", software.amazon.jsii.NativeType.forClass(org.cdk8s.plus31.Topology.class));
}
/**
* Custom key for the node label that the system uses to denote the topology domain.
*
* @param key This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static @org.jetbrains.annotations.NotNull org.cdk8s.plus31.Topology custom(final @org.jetbrains.annotations.NotNull java.lang.String key) {
return software.amazon.jsii.JsiiObject.jsiiStaticCall(org.cdk8s.plus31.Topology.class, "custom", software.amazon.jsii.NativeType.forClass(org.cdk8s.plus31.Topology.class), new Object[] { java.util.Objects.requireNonNull(key, "key is required") });
}
/**
* A hostname represents a single node in the cluster.
*
* @see https://kubernetes.io/docs/reference/labels-annotations-taints/#kubernetesiohostname
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final static org.cdk8s.plus31.Topology HOSTNAME;
/**
* A region represents a larger domain, made up of one or more zones.
*
* It is uncommon
* for Kubernetes clusters to span multiple regions. While the exact definition of a
* zone or region is left to infrastructure implementations, common properties of a region
* include higher network latency between them than within them, non-zero cost for network
* traffic between them, and failure independence from other zones or regions.
*
* For example, nodes within a region might share power infrastructure (e.g. a UPS or generator), but
* nodes in different regions typically would not.
*
* @see https://kubernetes.io/docs/reference/labels-annotations-taints/#topologykubernetesioregion
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final static org.cdk8s.plus31.Topology REGION;
/**
* A zone represents a logical failure domain.
*
* It is common for Kubernetes clusters to
* span multiple zones for increased availability. While the exact definition of a zone is
* left to infrastructure implementations, common properties of a zone include very low
* network latency within a zone, no-cost network traffic within a zone, and failure
* independence from other zones. For example, nodes within a zone might share a network
* switch, but nodes in different zones should not.
*
* @see https://kubernetes.io/docs/reference/labels-annotations-taints/#topologykubernetesiozone
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final static org.cdk8s.plus31.Topology ZONE;
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getKey() {
return software.amazon.jsii.Kernel.get(this, "key", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
}