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

org.mongodb.awscdk.resources.mongodbatlas.DatabaseUserProps Maven / Gradle / Ivy

There is a newer version: 3.9.0
Show newest version
package org.mongodb.awscdk.resources.mongodbatlas;

/**
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-07-30T09:54:29.016Z")
@software.amazon.jsii.Jsii(module = org.mongodb.awscdk.resources.mongodbatlas.$Module.class, fqn = "awscdk-resources-mongodbatlas.DatabaseUserProps")
@software.amazon.jsii.Jsii.Proxy(DatabaseUserProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface DatabaseUserProps extends software.amazon.jsii.JsiiSerializable {

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    default @org.jetbrains.annotations.Nullable org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsAwsiamType getAwsiamType() {
        return null;
    }

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

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    default @org.jetbrains.annotations.Nullable java.lang.String getDeleteAfterDate() {
        return null;
    }

    /**
     * Default: admin
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    default @org.jetbrains.annotations.Nullable java.util.List getLabels() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    default @org.jetbrains.annotations.Nullable org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsLdapAuthType getLdapAuthType() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    default @org.jetbrains.annotations.Nullable java.lang.String getPassword() {
        return null;
    }

    /**
     * Default: cdk-pwd
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    default @org.jetbrains.annotations.Nullable java.lang.String getProjectId() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    default @org.jetbrains.annotations.Nullable java.util.List getRoles() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    default @org.jetbrains.annotations.Nullable java.util.List getScopes() {
        return null;
    }

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

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    default @org.jetbrains.annotations.Nullable org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsX509Type getX509Type() {
        return null;
    }

    /**
     * @return a {@link Builder} of {@link DatabaseUserProps}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    static Builder builder() {
        return new Builder();
    }
    /**
     * A builder for {@link DatabaseUserProps}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public static final class Builder implements software.amazon.jsii.Builder {
        org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsAwsiamType awsiamType;
        java.lang.String databaseName;
        java.lang.String deleteAfterDate;
        java.util.List labels;
        org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsLdapAuthType ldapAuthType;
        java.lang.String password;
        java.lang.String projectId;
        java.util.List roles;
        java.util.List scopes;
        java.lang.String username;
        org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsX509Type x509Type;

        /**
         * Sets the value of {@link DatabaseUserProps#getAwsiamType}
         * @param awsiamType the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder awsiamType(org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsAwsiamType awsiamType) {
            this.awsiamType = awsiamType;
            return this;
        }

        /**
         * Sets the value of {@link DatabaseUserProps#getDatabaseName}
         * @param databaseName the value to be set.
         * @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 DatabaseUserProps#getDeleteAfterDate}
         * @param deleteAfterDate the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder deleteAfterDate(java.lang.String deleteAfterDate) {
            this.deleteAfterDate = deleteAfterDate;
            return this;
        }

        /**
         * Sets the value of {@link DatabaseUserProps#getLabels}
         * @param labels the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @SuppressWarnings("unchecked")
        public Builder labels(java.util.List labels) {
            this.labels = (java.util.List)labels;
            return this;
        }

        /**
         * Sets the value of {@link DatabaseUserProps#getLdapAuthType}
         * @param ldapAuthType the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder ldapAuthType(org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsLdapAuthType ldapAuthType) {
            this.ldapAuthType = ldapAuthType;
            return this;
        }

        /**
         * Sets the value of {@link DatabaseUserProps#getPassword}
         * @param password the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder password(java.lang.String password) {
            this.password = password;
            return this;
        }

        /**
         * Sets the value of {@link DatabaseUserProps#getProjectId}
         * @param projectId the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder projectId(java.lang.String projectId) {
            this.projectId = projectId;
            return this;
        }

        /**
         * Sets the value of {@link DatabaseUserProps#getRoles}
         * @param roles the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @SuppressWarnings("unchecked")
        public Builder roles(java.util.List roles) {
            this.roles = (java.util.List)roles;
            return this;
        }

        /**
         * Sets the value of {@link DatabaseUserProps#getScopes}
         * @param scopes the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @SuppressWarnings("unchecked")
        public Builder scopes(java.util.List scopes) {
            this.scopes = (java.util.List)scopes;
            return this;
        }

        /**
         * Sets the value of {@link DatabaseUserProps#getUsername}
         * @param username the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder username(java.lang.String username) {
            this.username = username;
            return this;
        }

        /**
         * Sets the value of {@link DatabaseUserProps#getX509Type}
         * @param x509Type the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder x509Type(org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsX509Type x509Type) {
            this.x509Type = x509Type;
            return this;
        }

        /**
         * Builds the configured instance.
         * @return a new instance of {@link DatabaseUserProps}
         * @throws NullPointerException if any required attribute was not provided
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @Override
        public DatabaseUserProps build() {
            return new Jsii$Proxy(this);
        }
    }

    /**
     * An implementation for {@link DatabaseUserProps}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @software.amazon.jsii.Internal
    final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DatabaseUserProps {
        private final org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsAwsiamType awsiamType;
        private final java.lang.String databaseName;
        private final java.lang.String deleteAfterDate;
        private final java.util.List labels;
        private final org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsLdapAuthType ldapAuthType;
        private final java.lang.String password;
        private final java.lang.String projectId;
        private final java.util.List roles;
        private final java.util.List scopes;
        private final java.lang.String username;
        private final org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsX509Type x509Type;

        /**
         * 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.awsiamType = software.amazon.jsii.Kernel.get(this, "awsiamType", software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsAwsiamType.class));
            this.databaseName = software.amazon.jsii.Kernel.get(this, "databaseName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.deleteAfterDate = software.amazon.jsii.Kernel.get(this, "deleteAfterDate", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.labels = software.amazon.jsii.Kernel.get(this, "labels", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.LabelDefinition.class)));
            this.ldapAuthType = software.amazon.jsii.Kernel.get(this, "ldapAuthType", software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsLdapAuthType.class));
            this.password = software.amazon.jsii.Kernel.get(this, "password", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.projectId = software.amazon.jsii.Kernel.get(this, "projectId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.roles = software.amazon.jsii.Kernel.get(this, "roles", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.RoleDefinition.class)));
            this.scopes = software.amazon.jsii.Kernel.get(this, "scopes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.ScopeDefinition.class)));
            this.username = software.amazon.jsii.Kernel.get(this, "username", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.x509Type = software.amazon.jsii.Kernel.get(this, "x509Type", software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsX509Type.class));
        }

        /**
         * Constructor that initializes the object based on literal property values passed by the {@link Builder}.
         */
        @SuppressWarnings("unchecked")
        protected Jsii$Proxy(final Builder builder) {
            super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
            this.awsiamType = builder.awsiamType;
            this.databaseName = builder.databaseName;
            this.deleteAfterDate = builder.deleteAfterDate;
            this.labels = (java.util.List)builder.labels;
            this.ldapAuthType = builder.ldapAuthType;
            this.password = builder.password;
            this.projectId = builder.projectId;
            this.roles = (java.util.List)builder.roles;
            this.scopes = (java.util.List)builder.scopes;
            this.username = builder.username;
            this.x509Type = builder.x509Type;
        }

        @Override
        public final org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsAwsiamType getAwsiamType() {
            return this.awsiamType;
        }

        @Override
        public final java.lang.String getDatabaseName() {
            return this.databaseName;
        }

        @Override
        public final java.lang.String getDeleteAfterDate() {
            return this.deleteAfterDate;
        }

        @Override
        public final java.util.List getLabels() {
            return this.labels;
        }

        @Override
        public final org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsLdapAuthType getLdapAuthType() {
            return this.ldapAuthType;
        }

        @Override
        public final java.lang.String getPassword() {
            return this.password;
        }

        @Override
        public final java.lang.String getProjectId() {
            return this.projectId;
        }

        @Override
        public final java.util.List getRoles() {
            return this.roles;
        }

        @Override
        public final java.util.List getScopes() {
            return this.scopes;
        }

        @Override
        public final java.lang.String getUsername() {
            return this.username;
        }

        @Override
        public final org.mongodb.awscdk.resources.mongodbatlas.CfnDatabaseUserPropsX509Type getX509Type() {
            return this.x509Type;
        }

        @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.getAwsiamType() != null) {
                data.set("awsiamType", om.valueToTree(this.getAwsiamType()));
            }
            if (this.getDatabaseName() != null) {
                data.set("databaseName", om.valueToTree(this.getDatabaseName()));
            }
            if (this.getDeleteAfterDate() != null) {
                data.set("deleteAfterDate", om.valueToTree(this.getDeleteAfterDate()));
            }
            if (this.getLabels() != null) {
                data.set("labels", om.valueToTree(this.getLabels()));
            }
            if (this.getLdapAuthType() != null) {
                data.set("ldapAuthType", om.valueToTree(this.getLdapAuthType()));
            }
            if (this.getPassword() != null) {
                data.set("password", om.valueToTree(this.getPassword()));
            }
            if (this.getProjectId() != null) {
                data.set("projectId", om.valueToTree(this.getProjectId()));
            }
            if (this.getRoles() != null) {
                data.set("roles", om.valueToTree(this.getRoles()));
            }
            if (this.getScopes() != null) {
                data.set("scopes", om.valueToTree(this.getScopes()));
            }
            if (this.getUsername() != null) {
                data.set("username", om.valueToTree(this.getUsername()));
            }
            if (this.getX509Type() != null) {
                data.set("x509Type", om.valueToTree(this.getX509Type()));
            }

            final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
            struct.set("fqn", om.valueToTree("awscdk-resources-mongodbatlas.DatabaseUserProps"));
            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;

            DatabaseUserProps.Jsii$Proxy that = (DatabaseUserProps.Jsii$Proxy) o;

            if (this.awsiamType != null ? !this.awsiamType.equals(that.awsiamType) : that.awsiamType != null) return false;
            if (this.databaseName != null ? !this.databaseName.equals(that.databaseName) : that.databaseName != null) return false;
            if (this.deleteAfterDate != null ? !this.deleteAfterDate.equals(that.deleteAfterDate) : that.deleteAfterDate != null) return false;
            if (this.labels != null ? !this.labels.equals(that.labels) : that.labels != null) return false;
            if (this.ldapAuthType != null ? !this.ldapAuthType.equals(that.ldapAuthType) : that.ldapAuthType != null) return false;
            if (this.password != null ? !this.password.equals(that.password) : that.password != null) return false;
            if (this.projectId != null ? !this.projectId.equals(that.projectId) : that.projectId != null) return false;
            if (this.roles != null ? !this.roles.equals(that.roles) : that.roles != null) return false;
            if (this.scopes != null ? !this.scopes.equals(that.scopes) : that.scopes != null) return false;
            if (this.username != null ? !this.username.equals(that.username) : that.username != null) return false;
            return this.x509Type != null ? this.x509Type.equals(that.x509Type) : that.x509Type == null;
        }

        @Override
        public final int hashCode() {
            int result = this.awsiamType != null ? this.awsiamType.hashCode() : 0;
            result = 31 * result + (this.databaseName != null ? this.databaseName.hashCode() : 0);
            result = 31 * result + (this.deleteAfterDate != null ? this.deleteAfterDate.hashCode() : 0);
            result = 31 * result + (this.labels != null ? this.labels.hashCode() : 0);
            result = 31 * result + (this.ldapAuthType != null ? this.ldapAuthType.hashCode() : 0);
            result = 31 * result + (this.password != null ? this.password.hashCode() : 0);
            result = 31 * result + (this.projectId != null ? this.projectId.hashCode() : 0);
            result = 31 * result + (this.roles != null ? this.roles.hashCode() : 0);
            result = 31 * result + (this.scopes != null ? this.scopes.hashCode() : 0);
            result = 31 * result + (this.username != null ? this.username.hashCode() : 0);
            result = 31 * result + (this.x509Type != null ? this.x509Type.hashCode() : 0);
            return result;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy