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

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

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

/**
 * Props for `KeycloakCluster`.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.24.0 (build b722f66)", date = "2021-03-04T07:10:04.624Z")
@software.amazon.jsii.Jsii(module = ca.wheatstalk.cdkecskeycloak.$Module.class, fqn = "@wheatstalk/cdk-ecs-keycloak.KeycloakClusterProps")
@software.amazon.jsii.Jsii.Proxy(KeycloakClusterProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface KeycloakClusterProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * (deprecated) Add the service's WildFly admin console port to a load balancer.
     * 

* You will * probably need to use your own Dockerfile to add access to this console. *

* Default: - not exposed *

* @deprecated use `adminConsolePortPublisher` instead */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider getAdminConsoleListenerProvider() { return null; } /** * Add the service's WildFly admin console port to a load balancer. *

* You will * probably need to use your own Dockerfile to add access to this console. *

* Default: - not exposed */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.IPortPublisher getAdminConsolePortPublisher() { return null; } /** * (experimental) Add capacity provider strategy by CDK escape hatch. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getCapacityProviderStrategy() { return null; } /** * Enable/disable the deployment circuit breaker. *

* Default: true */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Boolean getCircuitBreaker() { return null; } /** * CloudMap namespace to use for service discovery. *

* Default: - creates one named 'keycloak-service-discovery' */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.ICloudMapNamespaceInfoProvider getCloudMapNamespaceProvider() { return null; } /** * Fargate task cpu spec. *

* Default: 1024 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getCpu() { return null; } /** * Database server. *

* Default: - creates a new one */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.IDatabaseInfoProvider getDatabaseProvider() { return null; } /** * How many keycloak cluster members to spin up. *

* Default: 1 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getDesiredCount() { return null; } /** * Provide an ECS cluster. *

* Default: - a cluster is automatically created. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.IClusterInfoProvider getEcsClusterProvider() { return null; } /** * Initial grace period for Keycloak to spin up. *

* Default: 10 minutes */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.core.Duration getHealthCheckGracePeriod() { return null; } /** * Publish the service's HTTP port. *

* Default: - a new load balancer is automatically created unless `httpsPort` is given. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.IPortPublisher getHttpPortPublisher() { return null; } /** * (deprecated) Add the service's https port to a load balancer. *

* When provided, the * http port is no longer exposed by an http load balancer by default. *

* Default: - not exposed *

* @deprecated - use `httpsPortPublisher` instead */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider getHttpsListenerProvider() { return null; } /** * Publish the service's HTTPS port. *

* When provided, the http port is no * longer exposed by default *

* Default: - not published */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.IPortPublisher getHttpsPortPublisher() { return null; } /** * Keycloak configuration options. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.KeycloakContainerExtensionProps getKeycloak() { return null; } /** * (deprecated) Add the service's http port to a load balancer. *

* Default: - a new load balancer is automatically created unless `httpsListenerProvider` is given. *

* @deprecated use `httpPortPublisher` instead */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider getListenerProvider() { return null; } /** * The maximum percentage of healthy tasks during deployments. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getMaxHealthyPercent() { return null; } /** * Fargate task memory spec. *

* Default: 2048 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getMemoryLimitMiB() { return null; } /** * The minimum percentage of healthy tasks during deployments. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Number getMinHealthyPercent() { return null; } /** * VPC to use. *

* Default: - creates one */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable ca.wheatstalk.cdkecskeycloak.IVpcInfoProvider getVpcProvider() { return null; } /** * Assign public IPs to the Fargate tasks. *

* Note: Useful if you don't have a NAT gateway and only public subnets. *

* Default: false */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Boolean getVpcTaskAssignPublicIp() { return null; } /** * Where to place the instances within the VPC. *

* Note: Useful when the VPC has no private subnets. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.SubnetSelection getVpcTaskSubnets() { return null; } /** * @return a {@link Builder} of {@link KeycloakClusterProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link KeycloakClusterProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { private ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider adminConsoleListenerProvider; private ca.wheatstalk.cdkecskeycloak.IPortPublisher adminConsolePortPublisher; private java.util.List capacityProviderStrategy; private java.lang.Boolean circuitBreaker; private ca.wheatstalk.cdkecskeycloak.ICloudMapNamespaceInfoProvider cloudMapNamespaceProvider; private java.lang.Number cpu; private ca.wheatstalk.cdkecskeycloak.IDatabaseInfoProvider databaseProvider; private java.lang.Number desiredCount; private ca.wheatstalk.cdkecskeycloak.IClusterInfoProvider ecsClusterProvider; private software.amazon.awscdk.core.Duration healthCheckGracePeriod; private ca.wheatstalk.cdkecskeycloak.IPortPublisher httpPortPublisher; private ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider httpsListenerProvider; private ca.wheatstalk.cdkecskeycloak.IPortPublisher httpsPortPublisher; private ca.wheatstalk.cdkecskeycloak.KeycloakContainerExtensionProps keycloak; private ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider listenerProvider; private java.lang.Number maxHealthyPercent; private java.lang.Number memoryLimitMiB; private java.lang.Number minHealthyPercent; private ca.wheatstalk.cdkecskeycloak.IVpcInfoProvider vpcProvider; private java.lang.Boolean vpcTaskAssignPublicIp; private software.amazon.awscdk.services.ec2.SubnetSelection vpcTaskSubnets; /** * Sets the value of {@link KeycloakClusterProps#getAdminConsoleListenerProvider} * @param adminConsoleListenerProvider Add the service's WildFly admin console port to a load balancer. * You will * probably need to use your own Dockerfile to add access to this console. * @return {@code this} * @deprecated use `adminConsolePortPublisher` instead */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder adminConsoleListenerProvider(ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider adminConsoleListenerProvider) { this.adminConsoleListenerProvider = adminConsoleListenerProvider; return this; } /** * Sets the value of {@link KeycloakClusterProps#getAdminConsolePortPublisher} * @param adminConsolePortPublisher Add the service's WildFly admin console port to a load balancer. * You will * probably need to use your own Dockerfile to add access to this console. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder adminConsolePortPublisher(ca.wheatstalk.cdkecskeycloak.IPortPublisher adminConsolePortPublisher) { this.adminConsolePortPublisher = adminConsolePortPublisher; return this; } /** * Sets the value of {@link KeycloakClusterProps#getCapacityProviderStrategy} * @param capacityProviderStrategy Add capacity provider strategy by CDK escape hatch. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder capacityProviderStrategy(java.util.List capacityProviderStrategy) { this.capacityProviderStrategy = (java.util.List)capacityProviderStrategy; return this; } /** * Sets the value of {@link KeycloakClusterProps#getCircuitBreaker} * @param circuitBreaker Enable/disable the deployment circuit breaker. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder circuitBreaker(java.lang.Boolean circuitBreaker) { this.circuitBreaker = circuitBreaker; return this; } /** * Sets the value of {@link KeycloakClusterProps#getCloudMapNamespaceProvider} * @param cloudMapNamespaceProvider CloudMap namespace to use for service discovery. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cloudMapNamespaceProvider(ca.wheatstalk.cdkecskeycloak.ICloudMapNamespaceInfoProvider cloudMapNamespaceProvider) { this.cloudMapNamespaceProvider = cloudMapNamespaceProvider; return this; } /** * Sets the value of {@link KeycloakClusterProps#getCpu} * @param cpu Fargate task cpu spec. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cpu(java.lang.Number cpu) { this.cpu = cpu; return this; } /** * Sets the value of {@link KeycloakClusterProps#getDatabaseProvider} * @param databaseProvider Database server. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder databaseProvider(ca.wheatstalk.cdkecskeycloak.IDatabaseInfoProvider databaseProvider) { this.databaseProvider = databaseProvider; return this; } /** * Sets the value of {@link KeycloakClusterProps#getDesiredCount} * @param desiredCount How many keycloak cluster members to spin up. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder desiredCount(java.lang.Number desiredCount) { this.desiredCount = desiredCount; return this; } /** * Sets the value of {@link KeycloakClusterProps#getEcsClusterProvider} * @param ecsClusterProvider Provide an ECS cluster. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder ecsClusterProvider(ca.wheatstalk.cdkecskeycloak.IClusterInfoProvider ecsClusterProvider) { this.ecsClusterProvider = ecsClusterProvider; return this; } /** * Sets the value of {@link KeycloakClusterProps#getHealthCheckGracePeriod} * @param healthCheckGracePeriod Initial grace period for Keycloak to spin up. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder healthCheckGracePeriod(software.amazon.awscdk.core.Duration healthCheckGracePeriod) { this.healthCheckGracePeriod = healthCheckGracePeriod; return this; } /** * Sets the value of {@link KeycloakClusterProps#getHttpPortPublisher} * @param httpPortPublisher Publish the service's HTTP port. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder httpPortPublisher(ca.wheatstalk.cdkecskeycloak.IPortPublisher httpPortPublisher) { this.httpPortPublisher = httpPortPublisher; return this; } /** * Sets the value of {@link KeycloakClusterProps#getHttpsListenerProvider} * @param httpsListenerProvider Add the service's https port to a load balancer. * When provided, the * http port is no longer exposed by an http load balancer by default. * @return {@code this} * @deprecated - use `httpsPortPublisher` instead */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder httpsListenerProvider(ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider httpsListenerProvider) { this.httpsListenerProvider = httpsListenerProvider; return this; } /** * Sets the value of {@link KeycloakClusterProps#getHttpsPortPublisher} * @param httpsPortPublisher Publish the service's HTTPS port. * When provided, the http port is no * longer exposed by default * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder httpsPortPublisher(ca.wheatstalk.cdkecskeycloak.IPortPublisher httpsPortPublisher) { this.httpsPortPublisher = httpsPortPublisher; return this; } /** * Sets the value of {@link KeycloakClusterProps#getKeycloak} * @param keycloak Keycloak configuration options. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder keycloak(ca.wheatstalk.cdkecskeycloak.KeycloakContainerExtensionProps keycloak) { this.keycloak = keycloak; return this; } /** * Sets the value of {@link KeycloakClusterProps#getListenerProvider} * @param listenerProvider Add the service's http port to a load balancer. * @return {@code this} * @deprecated use `httpPortPublisher` instead */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder listenerProvider(ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider listenerProvider) { this.listenerProvider = listenerProvider; return this; } /** * Sets the value of {@link KeycloakClusterProps#getMaxHealthyPercent} * @param maxHealthyPercent The maximum percentage of healthy tasks during deployments. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder maxHealthyPercent(java.lang.Number maxHealthyPercent) { this.maxHealthyPercent = maxHealthyPercent; return this; } /** * Sets the value of {@link KeycloakClusterProps#getMemoryLimitMiB} * @param memoryLimitMiB Fargate task memory spec. * @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 KeycloakClusterProps#getMinHealthyPercent} * @param minHealthyPercent The minimum percentage of healthy tasks during deployments. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder minHealthyPercent(java.lang.Number minHealthyPercent) { this.minHealthyPercent = minHealthyPercent; return this; } /** * Sets the value of {@link KeycloakClusterProps#getVpcProvider} * @param vpcProvider VPC to use. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder vpcProvider(ca.wheatstalk.cdkecskeycloak.IVpcInfoProvider vpcProvider) { this.vpcProvider = vpcProvider; return this; } /** * Sets the value of {@link KeycloakClusterProps#getVpcTaskAssignPublicIp} * @param vpcTaskAssignPublicIp Assign public IPs to the Fargate tasks. * Note: Useful if you don't have a NAT gateway and only public subnets. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder vpcTaskAssignPublicIp(java.lang.Boolean vpcTaskAssignPublicIp) { this.vpcTaskAssignPublicIp = vpcTaskAssignPublicIp; return this; } /** * Sets the value of {@link KeycloakClusterProps#getVpcTaskSubnets} * @param vpcTaskSubnets Where to place the instances within the VPC. * Note: Useful when the VPC has no private subnets. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder vpcTaskSubnets(software.amazon.awscdk.services.ec2.SubnetSelection vpcTaskSubnets) { this.vpcTaskSubnets = vpcTaskSubnets; return this; } /** * Builds the configured instance. * @return a new instance of {@link KeycloakClusterProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public KeycloakClusterProps build() { return new Jsii$Proxy(adminConsoleListenerProvider, adminConsolePortPublisher, capacityProviderStrategy, circuitBreaker, cloudMapNamespaceProvider, cpu, databaseProvider, desiredCount, ecsClusterProvider, healthCheckGracePeriod, httpPortPublisher, httpsListenerProvider, httpsPortPublisher, keycloak, listenerProvider, maxHealthyPercent, memoryLimitMiB, minHealthyPercent, vpcProvider, vpcTaskAssignPublicIp, vpcTaskSubnets); } } /** * An implementation for {@link KeycloakClusterProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements KeycloakClusterProps { private final ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider adminConsoleListenerProvider; private final ca.wheatstalk.cdkecskeycloak.IPortPublisher adminConsolePortPublisher; private final java.util.List capacityProviderStrategy; private final java.lang.Boolean circuitBreaker; private final ca.wheatstalk.cdkecskeycloak.ICloudMapNamespaceInfoProvider cloudMapNamespaceProvider; private final java.lang.Number cpu; private final ca.wheatstalk.cdkecskeycloak.IDatabaseInfoProvider databaseProvider; private final java.lang.Number desiredCount; private final ca.wheatstalk.cdkecskeycloak.IClusterInfoProvider ecsClusterProvider; private final software.amazon.awscdk.core.Duration healthCheckGracePeriod; private final ca.wheatstalk.cdkecskeycloak.IPortPublisher httpPortPublisher; private final ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider httpsListenerProvider; private final ca.wheatstalk.cdkecskeycloak.IPortPublisher httpsPortPublisher; private final ca.wheatstalk.cdkecskeycloak.KeycloakContainerExtensionProps keycloak; private final ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider listenerProvider; private final java.lang.Number maxHealthyPercent; private final java.lang.Number memoryLimitMiB; private final java.lang.Number minHealthyPercent; private final ca.wheatstalk.cdkecskeycloak.IVpcInfoProvider vpcProvider; private final java.lang.Boolean vpcTaskAssignPublicIp; private final software.amazon.awscdk.services.ec2.SubnetSelection vpcTaskSubnets; /** * 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.adminConsoleListenerProvider = software.amazon.jsii.Kernel.get(this, "adminConsoleListenerProvider", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider.class)); this.adminConsolePortPublisher = software.amazon.jsii.Kernel.get(this, "adminConsolePortPublisher", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.IPortPublisher.class)); this.capacityProviderStrategy = software.amazon.jsii.Kernel.get(this, "capacityProviderStrategy", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.CfnCluster.CapacityProviderStrategyItemProperty.class))); this.circuitBreaker = software.amazon.jsii.Kernel.get(this, "circuitBreaker", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.cloudMapNamespaceProvider = software.amazon.jsii.Kernel.get(this, "cloudMapNamespaceProvider", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.ICloudMapNamespaceInfoProvider.class)); this.cpu = software.amazon.jsii.Kernel.get(this, "cpu", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.databaseProvider = software.amazon.jsii.Kernel.get(this, "databaseProvider", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.IDatabaseInfoProvider.class)); this.desiredCount = software.amazon.jsii.Kernel.get(this, "desiredCount", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.ecsClusterProvider = software.amazon.jsii.Kernel.get(this, "ecsClusterProvider", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.IClusterInfoProvider.class)); this.healthCheckGracePeriod = software.amazon.jsii.Kernel.get(this, "healthCheckGracePeriod", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.Duration.class)); this.httpPortPublisher = software.amazon.jsii.Kernel.get(this, "httpPortPublisher", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.IPortPublisher.class)); this.httpsListenerProvider = software.amazon.jsii.Kernel.get(this, "httpsListenerProvider", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider.class)); this.httpsPortPublisher = software.amazon.jsii.Kernel.get(this, "httpsPortPublisher", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.IPortPublisher.class)); this.keycloak = software.amazon.jsii.Kernel.get(this, "keycloak", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.KeycloakContainerExtensionProps.class)); this.listenerProvider = software.amazon.jsii.Kernel.get(this, "listenerProvider", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider.class)); this.maxHealthyPercent = software.amazon.jsii.Kernel.get(this, "maxHealthyPercent", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.memoryLimitMiB = software.amazon.jsii.Kernel.get(this, "memoryLimitMiB", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.minHealthyPercent = software.amazon.jsii.Kernel.get(this, "minHealthyPercent", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.vpcProvider = software.amazon.jsii.Kernel.get(this, "vpcProvider", software.amazon.jsii.NativeType.forClass(ca.wheatstalk.cdkecskeycloak.IVpcInfoProvider.class)); this.vpcTaskAssignPublicIp = software.amazon.jsii.Kernel.get(this, "vpcTaskAssignPublicIp", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.vpcTaskSubnets = software.amazon.jsii.Kernel.get(this, "vpcTaskSubnets", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.SubnetSelection.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider adminConsoleListenerProvider, final ca.wheatstalk.cdkecskeycloak.IPortPublisher adminConsolePortPublisher, final java.util.List capacityProviderStrategy, final java.lang.Boolean circuitBreaker, final ca.wheatstalk.cdkecskeycloak.ICloudMapNamespaceInfoProvider cloudMapNamespaceProvider, final java.lang.Number cpu, final ca.wheatstalk.cdkecskeycloak.IDatabaseInfoProvider databaseProvider, final java.lang.Number desiredCount, final ca.wheatstalk.cdkecskeycloak.IClusterInfoProvider ecsClusterProvider, final software.amazon.awscdk.core.Duration healthCheckGracePeriod, final ca.wheatstalk.cdkecskeycloak.IPortPublisher httpPortPublisher, final ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider httpsListenerProvider, final ca.wheatstalk.cdkecskeycloak.IPortPublisher httpsPortPublisher, final ca.wheatstalk.cdkecskeycloak.KeycloakContainerExtensionProps keycloak, final ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider listenerProvider, final java.lang.Number maxHealthyPercent, final java.lang.Number memoryLimitMiB, final java.lang.Number minHealthyPercent, final ca.wheatstalk.cdkecskeycloak.IVpcInfoProvider vpcProvider, final java.lang.Boolean vpcTaskAssignPublicIp, final software.amazon.awscdk.services.ec2.SubnetSelection vpcTaskSubnets) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.adminConsoleListenerProvider = adminConsoleListenerProvider; this.adminConsolePortPublisher = adminConsolePortPublisher; this.capacityProviderStrategy = (java.util.List)capacityProviderStrategy; this.circuitBreaker = circuitBreaker; this.cloudMapNamespaceProvider = cloudMapNamespaceProvider; this.cpu = cpu; this.databaseProvider = databaseProvider; this.desiredCount = desiredCount; this.ecsClusterProvider = ecsClusterProvider; this.healthCheckGracePeriod = healthCheckGracePeriod; this.httpPortPublisher = httpPortPublisher; this.httpsListenerProvider = httpsListenerProvider; this.httpsPortPublisher = httpsPortPublisher; this.keycloak = keycloak; this.listenerProvider = listenerProvider; this.maxHealthyPercent = maxHealthyPercent; this.memoryLimitMiB = memoryLimitMiB; this.minHealthyPercent = minHealthyPercent; this.vpcProvider = vpcProvider; this.vpcTaskAssignPublicIp = vpcTaskAssignPublicIp; this.vpcTaskSubnets = vpcTaskSubnets; } @Override public final ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider getAdminConsoleListenerProvider() { return this.adminConsoleListenerProvider; } @Override public final ca.wheatstalk.cdkecskeycloak.IPortPublisher getAdminConsolePortPublisher() { return this.adminConsolePortPublisher; } @Override public final java.util.List getCapacityProviderStrategy() { return this.capacityProviderStrategy; } @Override public final java.lang.Boolean getCircuitBreaker() { return this.circuitBreaker; } @Override public final ca.wheatstalk.cdkecskeycloak.ICloudMapNamespaceInfoProvider getCloudMapNamespaceProvider() { return this.cloudMapNamespaceProvider; } @Override public final java.lang.Number getCpu() { return this.cpu; } @Override public final ca.wheatstalk.cdkecskeycloak.IDatabaseInfoProvider getDatabaseProvider() { return this.databaseProvider; } @Override public final java.lang.Number getDesiredCount() { return this.desiredCount; } @Override public final ca.wheatstalk.cdkecskeycloak.IClusterInfoProvider getEcsClusterProvider() { return this.ecsClusterProvider; } @Override public final software.amazon.awscdk.core.Duration getHealthCheckGracePeriod() { return this.healthCheckGracePeriod; } @Override public final ca.wheatstalk.cdkecskeycloak.IPortPublisher getHttpPortPublisher() { return this.httpPortPublisher; } @Override public final ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider getHttpsListenerProvider() { return this.httpsListenerProvider; } @Override public final ca.wheatstalk.cdkecskeycloak.IPortPublisher getHttpsPortPublisher() { return this.httpsPortPublisher; } @Override public final ca.wheatstalk.cdkecskeycloak.KeycloakContainerExtensionProps getKeycloak() { return this.keycloak; } @Override public final ca.wheatstalk.cdkecskeycloak.IListenerInfoProvider getListenerProvider() { return this.listenerProvider; } @Override public final java.lang.Number getMaxHealthyPercent() { return this.maxHealthyPercent; } @Override public final java.lang.Number getMemoryLimitMiB() { return this.memoryLimitMiB; } @Override public final java.lang.Number getMinHealthyPercent() { return this.minHealthyPercent; } @Override public final ca.wheatstalk.cdkecskeycloak.IVpcInfoProvider getVpcProvider() { return this.vpcProvider; } @Override public final java.lang.Boolean getVpcTaskAssignPublicIp() { return this.vpcTaskAssignPublicIp; } @Override public final software.amazon.awscdk.services.ec2.SubnetSelection getVpcTaskSubnets() { return this.vpcTaskSubnets; } @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.getAdminConsoleListenerProvider() != null) { data.set("adminConsoleListenerProvider", om.valueToTree(this.getAdminConsoleListenerProvider())); } if (this.getAdminConsolePortPublisher() != null) { data.set("adminConsolePortPublisher", om.valueToTree(this.getAdminConsolePortPublisher())); } if (this.getCapacityProviderStrategy() != null) { data.set("capacityProviderStrategy", om.valueToTree(this.getCapacityProviderStrategy())); } if (this.getCircuitBreaker() != null) { data.set("circuitBreaker", om.valueToTree(this.getCircuitBreaker())); } if (this.getCloudMapNamespaceProvider() != null) { data.set("cloudMapNamespaceProvider", om.valueToTree(this.getCloudMapNamespaceProvider())); } if (this.getCpu() != null) { data.set("cpu", om.valueToTree(this.getCpu())); } if (this.getDatabaseProvider() != null) { data.set("databaseProvider", om.valueToTree(this.getDatabaseProvider())); } if (this.getDesiredCount() != null) { data.set("desiredCount", om.valueToTree(this.getDesiredCount())); } if (this.getEcsClusterProvider() != null) { data.set("ecsClusterProvider", om.valueToTree(this.getEcsClusterProvider())); } if (this.getHealthCheckGracePeriod() != null) { data.set("healthCheckGracePeriod", om.valueToTree(this.getHealthCheckGracePeriod())); } if (this.getHttpPortPublisher() != null) { data.set("httpPortPublisher", om.valueToTree(this.getHttpPortPublisher())); } if (this.getHttpsListenerProvider() != null) { data.set("httpsListenerProvider", om.valueToTree(this.getHttpsListenerProvider())); } if (this.getHttpsPortPublisher() != null) { data.set("httpsPortPublisher", om.valueToTree(this.getHttpsPortPublisher())); } if (this.getKeycloak() != null) { data.set("keycloak", om.valueToTree(this.getKeycloak())); } if (this.getListenerProvider() != null) { data.set("listenerProvider", om.valueToTree(this.getListenerProvider())); } if (this.getMaxHealthyPercent() != null) { data.set("maxHealthyPercent", om.valueToTree(this.getMaxHealthyPercent())); } if (this.getMemoryLimitMiB() != null) { data.set("memoryLimitMiB", om.valueToTree(this.getMemoryLimitMiB())); } if (this.getMinHealthyPercent() != null) { data.set("minHealthyPercent", om.valueToTree(this.getMinHealthyPercent())); } if (this.getVpcProvider() != null) { data.set("vpcProvider", om.valueToTree(this.getVpcProvider())); } if (this.getVpcTaskAssignPublicIp() != null) { data.set("vpcTaskAssignPublicIp", om.valueToTree(this.getVpcTaskAssignPublicIp())); } if (this.getVpcTaskSubnets() != null) { data.set("vpcTaskSubnets", om.valueToTree(this.getVpcTaskSubnets())); } 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.KeycloakClusterProps")); 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; KeycloakClusterProps.Jsii$Proxy that = (KeycloakClusterProps.Jsii$Proxy) o; if (this.adminConsoleListenerProvider != null ? !this.adminConsoleListenerProvider.equals(that.adminConsoleListenerProvider) : that.adminConsoleListenerProvider != null) return false; if (this.adminConsolePortPublisher != null ? !this.adminConsolePortPublisher.equals(that.adminConsolePortPublisher) : that.adminConsolePortPublisher != null) return false; if (this.capacityProviderStrategy != null ? !this.capacityProviderStrategy.equals(that.capacityProviderStrategy) : that.capacityProviderStrategy != null) return false; if (this.circuitBreaker != null ? !this.circuitBreaker.equals(that.circuitBreaker) : that.circuitBreaker != null) return false; if (this.cloudMapNamespaceProvider != null ? !this.cloudMapNamespaceProvider.equals(that.cloudMapNamespaceProvider) : that.cloudMapNamespaceProvider != null) return false; if (this.cpu != null ? !this.cpu.equals(that.cpu) : that.cpu != null) return false; if (this.databaseProvider != null ? !this.databaseProvider.equals(that.databaseProvider) : that.databaseProvider != null) return false; if (this.desiredCount != null ? !this.desiredCount.equals(that.desiredCount) : that.desiredCount != null) return false; if (this.ecsClusterProvider != null ? !this.ecsClusterProvider.equals(that.ecsClusterProvider) : that.ecsClusterProvider != null) return false; if (this.healthCheckGracePeriod != null ? !this.healthCheckGracePeriod.equals(that.healthCheckGracePeriod) : that.healthCheckGracePeriod != null) return false; if (this.httpPortPublisher != null ? !this.httpPortPublisher.equals(that.httpPortPublisher) : that.httpPortPublisher != null) return false; if (this.httpsListenerProvider != null ? !this.httpsListenerProvider.equals(that.httpsListenerProvider) : that.httpsListenerProvider != null) return false; if (this.httpsPortPublisher != null ? !this.httpsPortPublisher.equals(that.httpsPortPublisher) : that.httpsPortPublisher != null) return false; if (this.keycloak != null ? !this.keycloak.equals(that.keycloak) : that.keycloak != null) return false; if (this.listenerProvider != null ? !this.listenerProvider.equals(that.listenerProvider) : that.listenerProvider != null) return false; if (this.maxHealthyPercent != null ? !this.maxHealthyPercent.equals(that.maxHealthyPercent) : that.maxHealthyPercent != null) return false; if (this.memoryLimitMiB != null ? !this.memoryLimitMiB.equals(that.memoryLimitMiB) : that.memoryLimitMiB != null) return false; if (this.minHealthyPercent != null ? !this.minHealthyPercent.equals(that.minHealthyPercent) : that.minHealthyPercent != null) return false; if (this.vpcProvider != null ? !this.vpcProvider.equals(that.vpcProvider) : that.vpcProvider != null) return false; if (this.vpcTaskAssignPublicIp != null ? !this.vpcTaskAssignPublicIp.equals(that.vpcTaskAssignPublicIp) : that.vpcTaskAssignPublicIp != null) return false; return this.vpcTaskSubnets != null ? this.vpcTaskSubnets.equals(that.vpcTaskSubnets) : that.vpcTaskSubnets == null; } @Override public final int hashCode() { int result = this.adminConsoleListenerProvider != null ? this.adminConsoleListenerProvider.hashCode() : 0; result = 31 * result + (this.adminConsolePortPublisher != null ? this.adminConsolePortPublisher.hashCode() : 0); result = 31 * result + (this.capacityProviderStrategy != null ? this.capacityProviderStrategy.hashCode() : 0); result = 31 * result + (this.circuitBreaker != null ? this.circuitBreaker.hashCode() : 0); result = 31 * result + (this.cloudMapNamespaceProvider != null ? this.cloudMapNamespaceProvider.hashCode() : 0); result = 31 * result + (this.cpu != null ? this.cpu.hashCode() : 0); result = 31 * result + (this.databaseProvider != null ? this.databaseProvider.hashCode() : 0); result = 31 * result + (this.desiredCount != null ? this.desiredCount.hashCode() : 0); result = 31 * result + (this.ecsClusterProvider != null ? this.ecsClusterProvider.hashCode() : 0); result = 31 * result + (this.healthCheckGracePeriod != null ? this.healthCheckGracePeriod.hashCode() : 0); result = 31 * result + (this.httpPortPublisher != null ? this.httpPortPublisher.hashCode() : 0); result = 31 * result + (this.httpsListenerProvider != null ? this.httpsListenerProvider.hashCode() : 0); result = 31 * result + (this.httpsPortPublisher != null ? this.httpsPortPublisher.hashCode() : 0); result = 31 * result + (this.keycloak != null ? this.keycloak.hashCode() : 0); result = 31 * result + (this.listenerProvider != null ? this.listenerProvider.hashCode() : 0); result = 31 * result + (this.maxHealthyPercent != null ? this.maxHealthyPercent.hashCode() : 0); result = 31 * result + (this.memoryLimitMiB != null ? this.memoryLimitMiB.hashCode() : 0); result = 31 * result + (this.minHealthyPercent != null ? this.minHealthyPercent.hashCode() : 0); result = 31 * result + (this.vpcProvider != null ? this.vpcProvider.hashCode() : 0); result = 31 * result + (this.vpcTaskAssignPublicIp != null ? this.vpcTaskAssignPublicIp.hashCode() : 0); result = 31 * result + (this.vpcTaskSubnets != null ? this.vpcTaskSubnets.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy