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

tech.condense.cdkconstructs.EntrypointProps Maven / Gradle / Ivy

There is a newer version: 0.5.2
Show newest version
package tech.condense.cdkconstructs;

/**
 * (experimental) Properties for the Entrypoint construct.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-11T12:29:44.535Z")
@software.amazon.jsii.Jsii(module = tech.condense.cdkconstructs.$Module.class, fqn = "@condensetech/cdk-constructs.EntrypointProps")
@software.amazon.jsii.Jsii.Proxy(EntrypointProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface EntrypointProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * (experimental) The domain name to which the entrypoint is associated.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.String getDomainName();

    /**
     * (experimental) The networking configuration for the entrypoint.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull tech.condense.cdkconstructs.INetworking getNetworking();

    /**
     * (deprecated) Certificate properties for the entrypoint.
     * 

* Default: - A new certificate is created through ACM, bound to domainName, *.domainName. *

* @deprecated Use certificates instead. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated default @org.jetbrains.annotations.Nullable tech.condense.cdkconstructs.EntrypointCertificateProps getCertificate() { return null; } /** * (experimental) Certificate properties for the entrypoint. *

* Default: - A new certificate is created through ACM, bound to domainName, *.domainName. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getCertificates() { return null; } /** * (experimental) The name of the entrypoint. *

* This value is used as the name of the underlying Application Load Balancer (ALB) * and as the prefix for the name of the associated security group. *

* Default: - No name is specified. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getEntrypointName() { return null; } /** * (deprecated) The name of the security group for the entrypoint. *

* Default: `${entrypointName}-sg` *

* @deprecated Use securityGroupName instead. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated default @org.jetbrains.annotations.Nullable java.lang.String getEntrypointSecurityGroupName() { return null; } /** * (experimental) The Route 53 hosted zone attributes for the domain name. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.route53.HostedZoneAttributes getHostedZoneProps() { return null; } /** * (experimental) The S3 bucket to store the logs of the ALB. *

* Setting this will enable the access logs for the ALB. *

* Default: - Logging is disabled. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.s3.IBucket getLogsBucket() { return null; } /** * (experimental) Customize the priority allocator for the entrypoint. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable tech.condense.cdkconstructs.ApplicationListenerPriorityAllocatorConfig getPriorityAllocator() { return null; } /** * (experimental) The name of the security group for the entrypoint. *

* Default: `${entrypointName}-sg` if `entrypointName` is specified, otherwise no name is specified. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getSecurityGroupName() { return null; } /** * @return a {@link Builder} of {@link EntrypointProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) static Builder builder() { return new Builder(); } /** * A builder for {@link EntrypointProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String domainName; tech.condense.cdkconstructs.INetworking networking; tech.condense.cdkconstructs.EntrypointCertificateProps certificate; java.util.List certificates; java.lang.String entrypointName; java.lang.String entrypointSecurityGroupName; software.amazon.awscdk.services.route53.HostedZoneAttributes hostedZoneProps; software.amazon.awscdk.services.s3.IBucket logsBucket; tech.condense.cdkconstructs.ApplicationListenerPriorityAllocatorConfig priorityAllocator; java.lang.String securityGroupName; /** * Sets the value of {@link EntrypointProps#getDomainName} * @param domainName The domain name to which the entrypoint is associated. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder domainName(java.lang.String domainName) { this.domainName = domainName; return this; } /** * Sets the value of {@link EntrypointProps#getNetworking} * @param networking The networking configuration for the entrypoint. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder networking(tech.condense.cdkconstructs.INetworking networking) { this.networking = networking; return this; } /** * Sets the value of {@link EntrypointProps#getCertificate} * @param certificate Certificate properties for the entrypoint. * @return {@code this} * @deprecated Use `certificates` instead. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder certificate(tech.condense.cdkconstructs.EntrypointCertificateProps certificate) { this.certificate = certificate; return this; } /** * Sets the value of {@link EntrypointProps#getCertificates} * @param certificates Certificate properties for the entrypoint. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder certificates(java.util.List certificates) { this.certificates = (java.util.List)certificates; return this; } /** * Sets the value of {@link EntrypointProps#getEntrypointName} * @param entrypointName The name of the entrypoint. * This value is used as the name of the underlying Application Load Balancer (ALB) * and as the prefix for the name of the associated security group. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder entrypointName(java.lang.String entrypointName) { this.entrypointName = entrypointName; return this; } /** * Sets the value of {@link EntrypointProps#getEntrypointSecurityGroupName} * @param entrypointSecurityGroupName The name of the security group for the entrypoint. * @return {@code this} * @deprecated Use `securityGroupName` instead. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder entrypointSecurityGroupName(java.lang.String entrypointSecurityGroupName) { this.entrypointSecurityGroupName = entrypointSecurityGroupName; return this; } /** * Sets the value of {@link EntrypointProps#getHostedZoneProps} * @param hostedZoneProps The Route 53 hosted zone attributes for the domain name. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder hostedZoneProps(software.amazon.awscdk.services.route53.HostedZoneAttributes hostedZoneProps) { this.hostedZoneProps = hostedZoneProps; return this; } /** * Sets the value of {@link EntrypointProps#getLogsBucket} * @param logsBucket The S3 bucket to store the logs of the ALB. * Setting this will enable the access logs for the ALB. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder logsBucket(software.amazon.awscdk.services.s3.IBucket logsBucket) { this.logsBucket = logsBucket; return this; } /** * Sets the value of {@link EntrypointProps#getPriorityAllocator} * @param priorityAllocator Customize the priority allocator for the entrypoint. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder priorityAllocator(tech.condense.cdkconstructs.ApplicationListenerPriorityAllocatorConfig priorityAllocator) { this.priorityAllocator = priorityAllocator; return this; } /** * Sets the value of {@link EntrypointProps#getSecurityGroupName} * @param securityGroupName The name of the security group for the entrypoint. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder securityGroupName(java.lang.String securityGroupName) { this.securityGroupName = securityGroupName; return this; } /** * Builds the configured instance. * @return a new instance of {@link EntrypointProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public EntrypointProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link EntrypointProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements EntrypointProps { private final java.lang.String domainName; private final tech.condense.cdkconstructs.INetworking networking; private final tech.condense.cdkconstructs.EntrypointCertificateProps certificate; private final java.util.List certificates; private final java.lang.String entrypointName; private final java.lang.String entrypointSecurityGroupName; private final software.amazon.awscdk.services.route53.HostedZoneAttributes hostedZoneProps; private final software.amazon.awscdk.services.s3.IBucket logsBucket; private final tech.condense.cdkconstructs.ApplicationListenerPriorityAllocatorConfig priorityAllocator; private final java.lang.String securityGroupName; /** * 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.domainName = software.amazon.jsii.Kernel.get(this, "domainName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.networking = software.amazon.jsii.Kernel.get(this, "networking", software.amazon.jsii.NativeType.forClass(tech.condense.cdkconstructs.INetworking.class)); this.certificate = software.amazon.jsii.Kernel.get(this, "certificate", software.amazon.jsii.NativeType.forClass(tech.condense.cdkconstructs.EntrypointCertificateProps.class)); this.certificates = software.amazon.jsii.Kernel.get(this, "certificates", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(tech.condense.cdkconstructs.EntrypointCertificateProps.class))); this.entrypointName = software.amazon.jsii.Kernel.get(this, "entrypointName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.entrypointSecurityGroupName = software.amazon.jsii.Kernel.get(this, "entrypointSecurityGroupName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.hostedZoneProps = software.amazon.jsii.Kernel.get(this, "hostedZoneProps", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.route53.HostedZoneAttributes.class)); this.logsBucket = software.amazon.jsii.Kernel.get(this, "logsBucket", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.s3.IBucket.class)); this.priorityAllocator = software.amazon.jsii.Kernel.get(this, "priorityAllocator", software.amazon.jsii.NativeType.forClass(tech.condense.cdkconstructs.ApplicationListenerPriorityAllocatorConfig.class)); this.securityGroupName = software.amazon.jsii.Kernel.get(this, "securityGroupName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.domainName = java.util.Objects.requireNonNull(builder.domainName, "domainName is required"); this.networking = java.util.Objects.requireNonNull(builder.networking, "networking is required"); this.certificate = builder.certificate; this.certificates = (java.util.List)builder.certificates; this.entrypointName = builder.entrypointName; this.entrypointSecurityGroupName = builder.entrypointSecurityGroupName; this.hostedZoneProps = builder.hostedZoneProps; this.logsBucket = builder.logsBucket; this.priorityAllocator = builder.priorityAllocator; this.securityGroupName = builder.securityGroupName; } @Override public final java.lang.String getDomainName() { return this.domainName; } @Override public final tech.condense.cdkconstructs.INetworking getNetworking() { return this.networking; } @Override public final tech.condense.cdkconstructs.EntrypointCertificateProps getCertificate() { return this.certificate; } @Override public final java.util.List getCertificates() { return this.certificates; } @Override public final java.lang.String getEntrypointName() { return this.entrypointName; } @Override public final java.lang.String getEntrypointSecurityGroupName() { return this.entrypointSecurityGroupName; } @Override public final software.amazon.awscdk.services.route53.HostedZoneAttributes getHostedZoneProps() { return this.hostedZoneProps; } @Override public final software.amazon.awscdk.services.s3.IBucket getLogsBucket() { return this.logsBucket; } @Override public final tech.condense.cdkconstructs.ApplicationListenerPriorityAllocatorConfig getPriorityAllocator() { return this.priorityAllocator; } @Override public final java.lang.String getSecurityGroupName() { return this.securityGroupName; } @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("domainName", om.valueToTree(this.getDomainName())); data.set("networking", om.valueToTree(this.getNetworking())); if (this.getCertificate() != null) { data.set("certificate", om.valueToTree(this.getCertificate())); } if (this.getCertificates() != null) { data.set("certificates", om.valueToTree(this.getCertificates())); } if (this.getEntrypointName() != null) { data.set("entrypointName", om.valueToTree(this.getEntrypointName())); } if (this.getEntrypointSecurityGroupName() != null) { data.set("entrypointSecurityGroupName", om.valueToTree(this.getEntrypointSecurityGroupName())); } if (this.getHostedZoneProps() != null) { data.set("hostedZoneProps", om.valueToTree(this.getHostedZoneProps())); } if (this.getLogsBucket() != null) { data.set("logsBucket", om.valueToTree(this.getLogsBucket())); } if (this.getPriorityAllocator() != null) { data.set("priorityAllocator", om.valueToTree(this.getPriorityAllocator())); } if (this.getSecurityGroupName() != null) { data.set("securityGroupName", om.valueToTree(this.getSecurityGroupName())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@condensetech/cdk-constructs.EntrypointProps")); 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; EntrypointProps.Jsii$Proxy that = (EntrypointProps.Jsii$Proxy) o; if (!domainName.equals(that.domainName)) return false; if (!networking.equals(that.networking)) return false; if (this.certificate != null ? !this.certificate.equals(that.certificate) : that.certificate != null) return false; if (this.certificates != null ? !this.certificates.equals(that.certificates) : that.certificates != null) return false; if (this.entrypointName != null ? !this.entrypointName.equals(that.entrypointName) : that.entrypointName != null) return false; if (this.entrypointSecurityGroupName != null ? !this.entrypointSecurityGroupName.equals(that.entrypointSecurityGroupName) : that.entrypointSecurityGroupName != null) return false; if (this.hostedZoneProps != null ? !this.hostedZoneProps.equals(that.hostedZoneProps) : that.hostedZoneProps != null) return false; if (this.logsBucket != null ? !this.logsBucket.equals(that.logsBucket) : that.logsBucket != null) return false; if (this.priorityAllocator != null ? !this.priorityAllocator.equals(that.priorityAllocator) : that.priorityAllocator != null) return false; return this.securityGroupName != null ? this.securityGroupName.equals(that.securityGroupName) : that.securityGroupName == null; } @Override public final int hashCode() { int result = this.domainName.hashCode(); result = 31 * result + (this.networking.hashCode()); result = 31 * result + (this.certificate != null ? this.certificate.hashCode() : 0); result = 31 * result + (this.certificates != null ? this.certificates.hashCode() : 0); result = 31 * result + (this.entrypointName != null ? this.entrypointName.hashCode() : 0); result = 31 * result + (this.entrypointSecurityGroupName != null ? this.entrypointSecurityGroupName.hashCode() : 0); result = 31 * result + (this.hostedZoneProps != null ? this.hostedZoneProps.hashCode() : 0); result = 31 * result + (this.logsBucket != null ? this.logsBucket.hashCode() : 0); result = 31 * result + (this.priorityAllocator != null ? this.priorityAllocator.hashCode() : 0); result = 31 * result + (this.securityGroupName != null ? this.securityGroupName.hashCode() : 0); return result; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy