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

ca.wheatstalk.cdkecskeycloak.KeycloakContainerExtensionProps Maven / Gradle / Ivy

There is a newer version: 0.0.164
Show newest version
package ca.wheatstalk.cdkecskeycloak;

/**
 * Configuration for the Keycloak container.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.29.0 (build 41df200)", date = "2021-04-28T04:27:48.367Z")
@software.amazon.jsii.Jsii(module = ca.wheatstalk.cdkecskeycloak.$Module.class, fqn = "@wheatstalk/cdk-ecs-keycloak.KeycloakContainerExtensionProps")
@software.amazon.jsii.Jsii.Proxy(KeycloakContainerExtensionProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface KeycloakContainerExtensionProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * The number of distributed cache owners for authentication sessions.
     * 

* Default: - same as `cacheOwnersCount` */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getCacheOwnersAuthSessionsCount() { return null; } /** * The default number of distributed cache owners for each key. *

* Default: 1 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getCacheOwnersCount() { return null; } /** * A name for the container added to the task definition. *

* Default: 'keycloak' */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getContainerName() { return null; } /** * Secrets manager secret containing the RDS database credentials and connection information in JSON format. *

* Default: - none */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.secretsmanager.ISecret getDatabaseCredentials() { return null; } /** * Database name. *

* Default: 'keycloak' */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getDatabaseName() { return null; } /** * Database schema. *

* Default: - for Postgresql, the default is 'public' */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getDatabaseSchema() { return null; } /** * The database vendor. *

* Default: KeycloakDatabaseVendor.H2 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.KeycloakDatabaseVendor getDatabaseVendor() { return null; } /** * Default admin user's password. *

* This password is applied when the default admin user * is created. *

* Default: 'admin' */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getDefaultAdminPassword() { return null; } /** * Default admin user. *

* This user is created in the master realm if it doesn't exist. *

* Default: 'admin' */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getDefaultAdminUser() { return null; } /** * Keycloak container image to use. *

* Default: - use jboss/keycloak from docker hub. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ecs.ContainerImage getImage() { return null; } /** * Enable infinicache clustering. *

* Default: - true if any cache owner count is greater than 1 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Boolean getInfinicacheClustering() { return null; } /** * Log driver for the task. *

* Default: - cloudwatch with one month retention */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ecs.LogDriver getLogging() { return null; } /** * Memory limit of the keycloak task. *

* Default: 1024 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getMemoryLimitMiB() { return null; } /** * Memory reservation size for the keycloak task. *

* Default: - 80% of memoryLimitMiB */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getMemoryReservationMiB() { return null; } /** * @return a {@link Builder} of {@link KeycloakContainerExtensionProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link KeycloakContainerExtensionProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { private java.lang.Number cacheOwnersAuthSessionsCount; private java.lang.Number cacheOwnersCount; private java.lang.String containerName; private software.amazon.awscdk.services.secretsmanager.ISecret databaseCredentials; private java.lang.String databaseName; private java.lang.String databaseSchema; private ca.wheatstalk.cdkecskeycloak.KeycloakDatabaseVendor databaseVendor; private java.lang.String defaultAdminPassword; private java.lang.String defaultAdminUser; private software.amazon.awscdk.services.ecs.ContainerImage image; private java.lang.Boolean infinicacheClustering; private software.amazon.awscdk.services.ecs.LogDriver logging; private java.lang.Number memoryLimitMiB; private java.lang.Number memoryReservationMiB; /** * Sets the value of {@link KeycloakContainerExtensionProps#getCacheOwnersAuthSessionsCount} * @param cacheOwnersAuthSessionsCount The number of distributed cache owners for authentication sessions. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cacheOwnersAuthSessionsCount(java.lang.Number cacheOwnersAuthSessionsCount) { this.cacheOwnersAuthSessionsCount = cacheOwnersAuthSessionsCount; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getCacheOwnersCount} * @param cacheOwnersCount The default number of distributed cache owners for each key. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cacheOwnersCount(java.lang.Number cacheOwnersCount) { this.cacheOwnersCount = cacheOwnersCount; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getContainerName} * @param containerName A name for the container added to the task definition. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder containerName(java.lang.String containerName) { this.containerName = containerName; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getDatabaseCredentials} * @param databaseCredentials Secrets manager secret containing the RDS database credentials and connection information in JSON format. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder databaseCredentials(software.amazon.awscdk.services.secretsmanager.ISecret databaseCredentials) { this.databaseCredentials = databaseCredentials; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getDatabaseName} * @param databaseName Database name. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder databaseName(java.lang.String databaseName) { this.databaseName = databaseName; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getDatabaseSchema} * @param databaseSchema Database schema. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder databaseSchema(java.lang.String databaseSchema) { this.databaseSchema = databaseSchema; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getDatabaseVendor} * @param databaseVendor The database vendor. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder databaseVendor(ca.wheatstalk.cdkecskeycloak.KeycloakDatabaseVendor databaseVendor) { this.databaseVendor = databaseVendor; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getDefaultAdminPassword} * @param defaultAdminPassword Default admin user's password. * This password is applied when the default admin user * is created. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder defaultAdminPassword(java.lang.String defaultAdminPassword) { this.defaultAdminPassword = defaultAdminPassword; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getDefaultAdminUser} * @param defaultAdminUser Default admin user. * This user is created in the master realm if it doesn't exist. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder defaultAdminUser(java.lang.String defaultAdminUser) { this.defaultAdminUser = defaultAdminUser; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getImage} * @param image Keycloak container image to use. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder image(software.amazon.awscdk.services.ecs.ContainerImage image) { this.image = image; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getInfinicacheClustering} * @param infinicacheClustering Enable infinicache clustering. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder infinicacheClustering(java.lang.Boolean infinicacheClustering) { this.infinicacheClustering = infinicacheClustering; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getLogging} * @param logging Log driver for the task. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder logging(software.amazon.awscdk.services.ecs.LogDriver logging) { this.logging = logging; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getMemoryLimitMiB} * @param memoryLimitMiB Memory limit of the keycloak task. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder memoryLimitMiB(java.lang.Number memoryLimitMiB) { this.memoryLimitMiB = memoryLimitMiB; return this; } /** * Sets the value of {@link KeycloakContainerExtensionProps#getMemoryReservationMiB} * @param memoryReservationMiB Memory reservation size for the keycloak task. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder memoryReservationMiB(java.lang.Number memoryReservationMiB) { this.memoryReservationMiB = memoryReservationMiB; return this; } /** * Builds the configured instance. * @return a new instance of {@link KeycloakContainerExtensionProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public KeycloakContainerExtensionProps build() { return new Jsii$Proxy(cacheOwnersAuthSessionsCount, cacheOwnersCount, containerName, databaseCredentials, databaseName, databaseSchema, databaseVendor, defaultAdminPassword, defaultAdminUser, image, infinicacheClustering, logging, memoryLimitMiB, memoryReservationMiB); } } /** * An implementation for {@link KeycloakContainerExtensionProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements KeycloakContainerExtensionProps { private final java.lang.Number cacheOwnersAuthSessionsCount; private final java.lang.Number cacheOwnersCount; private final java.lang.String containerName; private final software.amazon.awscdk.services.secretsmanager.ISecret databaseCredentials; private final java.lang.String databaseName; private final java.lang.String databaseSchema; private final ca.wheatstalk.cdkecskeycloak.KeycloakDatabaseVendor databaseVendor; private final java.lang.String defaultAdminPassword; private final java.lang.String defaultAdminUser; private final software.amazon.awscdk.services.ecs.ContainerImage image; private final java.lang.Boolean infinicacheClustering; private final software.amazon.awscdk.services.ecs.LogDriver logging; private final java.lang.Number memoryLimitMiB; private final java.lang.Number memoryReservationMiB; /** * 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.cacheOwnersAuthSessionsCount = software.amazon.jsii.Kernel.get(this, "cacheOwnersAuthSessionsCount", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.cacheOwnersCount = software.amazon.jsii.Kernel.get(this, "cacheOwnersCount", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.containerName = software.amazon.jsii.Kernel.get(this, "containerName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.databaseCredentials = software.amazon.jsii.Kernel.get(this, "databaseCredentials", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.secretsmanager.ISecret.class)); this.databaseName = software.amazon.jsii.Kernel.get(this, "databaseName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.databaseSchema = software.amazon.jsii.Kernel.get(this, "databaseSchema", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.databaseVendor = software.amazon.jsii.Kernel.get(this, "databaseVendor", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.KeycloakDatabaseVendor.class)); this.defaultAdminPassword = software.amazon.jsii.Kernel.get(this, "defaultAdminPassword", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.defaultAdminUser = software.amazon.jsii.Kernel.get(this, "defaultAdminUser", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.image = software.amazon.jsii.Kernel.get(this, "image", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.ContainerImage.class)); this.infinicacheClustering = software.amazon.jsii.Kernel.get(this, "infinicacheClustering", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.logging = software.amazon.jsii.Kernel.get(this, "logging", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.LogDriver.class)); this.memoryLimitMiB = software.amazon.jsii.Kernel.get(this, "memoryLimitMiB", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.memoryReservationMiB = software.amazon.jsii.Kernel.get(this, "memoryReservationMiB", 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 java.lang.Number cacheOwnersAuthSessionsCount, final java.lang.Number cacheOwnersCount, final java.lang.String containerName, final software.amazon.awscdk.services.secretsmanager.ISecret databaseCredentials, final java.lang.String databaseName, final java.lang.String databaseSchema, final ca.wheatstalk.cdkecskeycloak.KeycloakDatabaseVendor databaseVendor, final java.lang.String defaultAdminPassword, final java.lang.String defaultAdminUser, final software.amazon.awscdk.services.ecs.ContainerImage image, final java.lang.Boolean infinicacheClustering, final software.amazon.awscdk.services.ecs.LogDriver logging, final java.lang.Number memoryLimitMiB, final java.lang.Number memoryReservationMiB) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.cacheOwnersAuthSessionsCount = cacheOwnersAuthSessionsCount; this.cacheOwnersCount = cacheOwnersCount; this.containerName = containerName; this.databaseCredentials = databaseCredentials; this.databaseName = databaseName; this.databaseSchema = databaseSchema; this.databaseVendor = databaseVendor; this.defaultAdminPassword = defaultAdminPassword; this.defaultAdminUser = defaultAdminUser; this.image = image; this.infinicacheClustering = infinicacheClustering; this.logging = logging; this.memoryLimitMiB = memoryLimitMiB; this.memoryReservationMiB = memoryReservationMiB; } @Override public final java.lang.Number getCacheOwnersAuthSessionsCount() { return this.cacheOwnersAuthSessionsCount; } @Override public final java.lang.Number getCacheOwnersCount() { return this.cacheOwnersCount; } @Override public final java.lang.String getContainerName() { return this.containerName; } @Override public final software.amazon.awscdk.services.secretsmanager.ISecret getDatabaseCredentials() { return this.databaseCredentials; } @Override public final java.lang.String getDatabaseName() { return this.databaseName; } @Override public final java.lang.String getDatabaseSchema() { return this.databaseSchema; } @Override public final ca.wheatstalk.cdkecskeycloak.KeycloakDatabaseVendor getDatabaseVendor() { return this.databaseVendor; } @Override public final java.lang.String getDefaultAdminPassword() { return this.defaultAdminPassword; } @Override public final java.lang.String getDefaultAdminUser() { return this.defaultAdminUser; } @Override public final software.amazon.awscdk.services.ecs.ContainerImage getImage() { return this.image; } @Override public final java.lang.Boolean getInfinicacheClustering() { return this.infinicacheClustering; } @Override public final software.amazon.awscdk.services.ecs.LogDriver getLogging() { return this.logging; } @Override public final java.lang.Number getMemoryLimitMiB() { return this.memoryLimitMiB; } @Override public final java.lang.Number getMemoryReservationMiB() { return this.memoryReservationMiB; } @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.getCacheOwnersAuthSessionsCount() != null) { data.set("cacheOwnersAuthSessionsCount", om.valueToTree(this.getCacheOwnersAuthSessionsCount())); } if (this.getCacheOwnersCount() != null) { data.set("cacheOwnersCount", om.valueToTree(this.getCacheOwnersCount())); } if (this.getContainerName() != null) { data.set("containerName", om.valueToTree(this.getContainerName())); } if (this.getDatabaseCredentials() != null) { data.set("databaseCredentials", om.valueToTree(this.getDatabaseCredentials())); } if (this.getDatabaseName() != null) { data.set("databaseName", om.valueToTree(this.getDatabaseName())); } if (this.getDatabaseSchema() != null) { data.set("databaseSchema", om.valueToTree(this.getDatabaseSchema())); } if (this.getDatabaseVendor() != null) { data.set("databaseVendor", om.valueToTree(this.getDatabaseVendor())); } if (this.getDefaultAdminPassword() != null) { data.set("defaultAdminPassword", om.valueToTree(this.getDefaultAdminPassword())); } if (this.getDefaultAdminUser() != null) { data.set("defaultAdminUser", om.valueToTree(this.getDefaultAdminUser())); } if (this.getImage() != null) { data.set("image", om.valueToTree(this.getImage())); } if (this.getInfinicacheClustering() != null) { data.set("infinicacheClustering", om.valueToTree(this.getInfinicacheClustering())); } if (this.getLogging() != null) { data.set("logging", om.valueToTree(this.getLogging())); } if (this.getMemoryLimitMiB() != null) { data.set("memoryLimitMiB", om.valueToTree(this.getMemoryLimitMiB())); } if (this.getMemoryReservationMiB() != null) { data.set("memoryReservationMiB", om.valueToTree(this.getMemoryReservationMiB())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@wheatstalk/cdk-ecs-keycloak.KeycloakContainerExtensionProps")); 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; KeycloakContainerExtensionProps.Jsii$Proxy that = (KeycloakContainerExtensionProps.Jsii$Proxy) o; if (this.cacheOwnersAuthSessionsCount != null ? !this.cacheOwnersAuthSessionsCount.equals(that.cacheOwnersAuthSessionsCount) : that.cacheOwnersAuthSessionsCount != null) return false; if (this.cacheOwnersCount != null ? !this.cacheOwnersCount.equals(that.cacheOwnersCount) : that.cacheOwnersCount != null) return false; if (this.containerName != null ? !this.containerName.equals(that.containerName) : that.containerName != null) return false; if (this.databaseCredentials != null ? !this.databaseCredentials.equals(that.databaseCredentials) : that.databaseCredentials != null) return false; if (this.databaseName != null ? !this.databaseName.equals(that.databaseName) : that.databaseName != null) return false; if (this.databaseSchema != null ? !this.databaseSchema.equals(that.databaseSchema) : that.databaseSchema != null) return false; if (this.databaseVendor != null ? !this.databaseVendor.equals(that.databaseVendor) : that.databaseVendor != null) return false; if (this.defaultAdminPassword != null ? !this.defaultAdminPassword.equals(that.defaultAdminPassword) : that.defaultAdminPassword != null) return false; if (this.defaultAdminUser != null ? !this.defaultAdminUser.equals(that.defaultAdminUser) : that.defaultAdminUser != null) return false; if (this.image != null ? !this.image.equals(that.image) : that.image != null) return false; if (this.infinicacheClustering != null ? !this.infinicacheClustering.equals(that.infinicacheClustering) : that.infinicacheClustering != null) return false; if (this.logging != null ? !this.logging.equals(that.logging) : that.logging != null) return false; if (this.memoryLimitMiB != null ? !this.memoryLimitMiB.equals(that.memoryLimitMiB) : that.memoryLimitMiB != null) return false; return this.memoryReservationMiB != null ? this.memoryReservationMiB.equals(that.memoryReservationMiB) : that.memoryReservationMiB == null; } @Override public final int hashCode() { int result = this.cacheOwnersAuthSessionsCount != null ? this.cacheOwnersAuthSessionsCount.hashCode() : 0; result = 31 * result + (this.cacheOwnersCount != null ? this.cacheOwnersCount.hashCode() : 0); result = 31 * result + (this.containerName != null ? this.containerName.hashCode() : 0); result = 31 * result + (this.databaseCredentials != null ? this.databaseCredentials.hashCode() : 0); result = 31 * result + (this.databaseName != null ? this.databaseName.hashCode() : 0); result = 31 * result + (this.databaseSchema != null ? this.databaseSchema.hashCode() : 0); result = 31 * result + (this.databaseVendor != null ? this.databaseVendor.hashCode() : 0); result = 31 * result + (this.defaultAdminPassword != null ? this.defaultAdminPassword.hashCode() : 0); result = 31 * result + (this.defaultAdminUser != null ? this.defaultAdminUser.hashCode() : 0); result = 31 * result + (this.image != null ? this.image.hashCode() : 0); result = 31 * result + (this.infinicacheClustering != null ? this.infinicacheClustering.hashCode() : 0); result = 31 * result + (this.logging != null ? this.logging.hashCode() : 0); result = 31 * result + (this.memoryLimitMiB != null ? this.memoryLimitMiB.hashCode() : 0); result = 31 * result + (this.memoryReservationMiB != null ? this.memoryReservationMiB.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy