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

io.github.jogold.cloudstructs.SslServerTestProps Maven / Gradle / Ivy

The newest version!
package io.github.jogold.cloudstructs;

/**
 * Properties for a SslServerTest.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.106.0 (build e852934)", date = "2024-12-26T12:04:08.066Z")
@software.amazon.jsii.Jsii(module = io.github.jogold.cloudstructs.$Module.class, fqn = "cloudstructs.SslServerTestProps")
@software.amazon.jsii.Jsii.Proxy(SslServerTestProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface SslServerTestProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * The hostname to test.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.String getHost();

    /**
     * The topic to which the results must be sent when the grade is below the minimum grade.
     * 

* Default: - a new topic is created */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.sns.ITopic getAlarmTopic() { return null; } /** * Minimum grade for the test. The grade is calculated using the worst grade of all endpoints. *

* Used to send the results to an alarm SNS topic. *

* Default: SslServerTestGrade.A_PLUS */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable io.github.jogold.cloudstructs.SslServerTestGrade getMinimumGrade() { return null; } /** * The schedule for the test. *

* Default: - every day */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.events.Schedule getSchedule() { return null; } /** * @return a {@link Builder} of {@link SslServerTestProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link SslServerTestProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String host; software.amazon.awscdk.services.sns.ITopic alarmTopic; io.github.jogold.cloudstructs.SslServerTestGrade minimumGrade; software.amazon.awscdk.services.events.Schedule schedule; /** * Sets the value of {@link SslServerTestProps#getHost} * @param host The hostname to test. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder host(java.lang.String host) { this.host = host; return this; } /** * Sets the value of {@link SslServerTestProps#getAlarmTopic} * @param alarmTopic The topic to which the results must be sent when the grade is below the minimum grade. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder alarmTopic(software.amazon.awscdk.services.sns.ITopic alarmTopic) { this.alarmTopic = alarmTopic; return this; } /** * Sets the value of {@link SslServerTestProps#getMinimumGrade} * @param minimumGrade Minimum grade for the test. The grade is calculated using the worst grade of all endpoints. * Used to send the results to an alarm SNS topic. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder minimumGrade(io.github.jogold.cloudstructs.SslServerTestGrade minimumGrade) { this.minimumGrade = minimumGrade; return this; } /** * Sets the value of {@link SslServerTestProps#getSchedule} * @param schedule The schedule for the test. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder schedule(software.amazon.awscdk.services.events.Schedule schedule) { this.schedule = schedule; return this; } /** * Builds the configured instance. * @return a new instance of {@link SslServerTestProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public SslServerTestProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link SslServerTestProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SslServerTestProps { private final java.lang.String host; private final software.amazon.awscdk.services.sns.ITopic alarmTopic; private final io.github.jogold.cloudstructs.SslServerTestGrade minimumGrade; private final software.amazon.awscdk.services.events.Schedule schedule; /** * 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.host = software.amazon.jsii.Kernel.get(this, "host", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.alarmTopic = software.amazon.jsii.Kernel.get(this, "alarmTopic", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.sns.ITopic.class)); this.minimumGrade = software.amazon.jsii.Kernel.get(this, "minimumGrade", software.amazon.jsii.NativeType.forClass(io.github.jogold.cloudstructs.SslServerTestGrade.class)); this.schedule = software.amazon.jsii.Kernel.get(this, "schedule", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.events.Schedule.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.host = java.util.Objects.requireNonNull(builder.host, "host is required"); this.alarmTopic = builder.alarmTopic; this.minimumGrade = builder.minimumGrade; this.schedule = builder.schedule; } @Override public final java.lang.String getHost() { return this.host; } @Override public final software.amazon.awscdk.services.sns.ITopic getAlarmTopic() { return this.alarmTopic; } @Override public final io.github.jogold.cloudstructs.SslServerTestGrade getMinimumGrade() { return this.minimumGrade; } @Override public final software.amazon.awscdk.services.events.Schedule getSchedule() { return this.schedule; } @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("host", om.valueToTree(this.getHost())); if (this.getAlarmTopic() != null) { data.set("alarmTopic", om.valueToTree(this.getAlarmTopic())); } if (this.getMinimumGrade() != null) { data.set("minimumGrade", om.valueToTree(this.getMinimumGrade())); } if (this.getSchedule() != null) { data.set("schedule", om.valueToTree(this.getSchedule())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("cloudstructs.SslServerTestProps")); 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; SslServerTestProps.Jsii$Proxy that = (SslServerTestProps.Jsii$Proxy) o; if (!host.equals(that.host)) return false; if (this.alarmTopic != null ? !this.alarmTopic.equals(that.alarmTopic) : that.alarmTopic != null) return false; if (this.minimumGrade != null ? !this.minimumGrade.equals(that.minimumGrade) : that.minimumGrade != null) return false; return this.schedule != null ? this.schedule.equals(that.schedule) : that.schedule == null; } @Override public final int hashCode() { int result = this.host.hashCode(); result = 31 * result + (this.alarmTopic != null ? this.alarmTopic.hashCode() : 0); result = 31 * result + (this.minimumGrade != null ? this.minimumGrade.hashCode() : 0); result = 31 * result + (this.schedule != null ? this.schedule.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy