ca.wheatstalk.cdkecskeycloak.KeycloakClusterProps Maven / Gradle / Ivy
Show all versions of cdk-ecs-keycloak Show documentation
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 extends software.amazon.awscdk.services.ecs.CfnCluster.CapacityProviderStrategyItemProperty> 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 extends software.amazon.awscdk.services.ecs.CfnCluster.CapacityProviderStrategyItemProperty> 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;
}
}
}