io.github.cdklabs.cdkecsserviceextensions.ConnectToProps Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cdk-ecs-service-extensions Show documentation
Show all versions of cdk-ecs-service-extensions Show documentation
The CDK Construct Library that helps you build ECS services using simple extensions
package io.github.cdklabs.cdkecsserviceextensions;
/**
* (experimental) connectToProps will have all the extra parameters which are required for connecting services.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-19T00:29:44.762Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdkecsserviceextensions.$Module.class, fqn = "@aws-cdk-containers/ecs-service-extensions.ConnectToProps")
@software.amazon.jsii.Jsii.Proxy(ConnectToProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface ConnectToProps extends software.amazon.jsii.JsiiSerializable {
/**
* (experimental) localBindPort is the local port that this application should use when calling the upstream service in ECS Consul Mesh Extension Currently, this parameter will only be used in the ECSConsulMeshExtension https://github.com/aws-ia/ecs-consul-mesh-extension.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Number getLocalBindPort() {
return null;
}
/**
* @return a {@link Builder} of {@link ConnectToProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link ConnectToProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.Number localBindPort;
/**
* Sets the value of {@link ConnectToProps#getLocalBindPort}
* @param localBindPort localBindPort is the local port that this application should use when calling the upstream service in ECS Consul Mesh Extension Currently, this parameter will only be used in the ECSConsulMeshExtension https://github.com/aws-ia/ecs-consul-mesh-extension.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder localBindPort(java.lang.Number localBindPort) {
this.localBindPort = localBindPort;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link ConnectToProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public ConnectToProps build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link ConnectToProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ConnectToProps {
private final java.lang.Number localBindPort;
/**
* 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.localBindPort = software.amazon.jsii.Kernel.get(this, "localBindPort", software.amazon.jsii.NativeType.forClass(java.lang.Number.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.localBindPort = builder.localBindPort;
}
@Override
public final java.lang.Number getLocalBindPort() {
return this.localBindPort;
}
@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.getLocalBindPort() != null) {
data.set("localBindPort", om.valueToTree(this.getLocalBindPort()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk-containers/ecs-service-extensions.ConnectToProps"));
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;
ConnectToProps.Jsii$Proxy that = (ConnectToProps.Jsii$Proxy) o;
return this.localBindPort != null ? this.localBindPort.equals(that.localBindPort) : that.localBindPort == null;
}
@Override
public final int hashCode() {
int result = this.localBindPort != null ? this.localBindPort.hashCode() : 0;
return result;
}
}
}