ca.wheatstalk.cdkecskeycloak.KeycloakContainerExtensionProps Maven / Gradle / Ivy
Show all versions of cdk-ecs-keycloak Show documentation
package ca.wheatstalk.cdkecskeycloak;
/**
* Configuration for the Keycloak container.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.24.0 (build b722f66)", date = "2021-03-04T07:10:04.630Z")
@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;
}
}
}