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

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

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

/**
 * Requests a verification of an LDAP configuration over TLS for an Atlas project.
 * 

* Pass the requestId in the response object to the Verify |ldap| Configuration endpoint to get the status of a verification request. Atlas retains only the most recent request for each project. */ @javax.annotation.Generated(value = "jsii-pacmak/1.101.0 (build b95fe5d)", date = "2024-07-30T09:54:28.939Z") @software.amazon.jsii.Jsii(module = org.mongodb.awscdk.resources.mongodbatlas.$Module.class, fqn = "awscdk-resources-mongodbatlas.CfnLdapVerifyProps") @software.amazon.jsii.Jsii.Proxy(CfnLdapVerifyProps.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public interface CfnLdapVerifyProps extends software.amazon.jsii.JsiiSerializable { /** * Password that MongoDB Cloud uses to authenticate the bindUsername. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getBindPassword(); /** * Full Distinguished Name (DN) of the Lightweight Directory Access Protocol (LDAP) user that MongoDB Cloud uses to connect to the LDAP host. *

* LDAP distinguished names must be formatted according to RFC 2253. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getBindUsername(); /** * Human-readable label that identifies the hostname or Internet Protocol (IP) address of the Lightweight Directory Access Protocol (LDAP) host. *

* This host must have access to the internet or have a Virtual Private Cloud (VPC) peering connection to your cluster. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getHostName(); /** * Port to which the Lightweight Directory Access Protocol (LDAP) host listens for client connections. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.Number getPort(); /** * Unique 24-hexadecimal digit string that identifies your project. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getProjectId(); /** * Lightweight Directory Access Protocol (LDAP) query template that MongoDB Cloud runs to obtain the LDAP groups associated with the authenticated user. *

* MongoDB Cloud uses this parameter only for user authorization. Use the {USER} placeholder in the Uniform Resource Locator (URL) to substitute the authenticated username. The query relates to the host specified with the hostname. Format this query according to RFC 4515 and RFC 4516. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getAuthzQueryTemplate() { return null; } /** * Certificate Authority (CA) certificate that MongoDB Cloud uses to verify the identity of the Lightweight Directory Access Protocol (LDAP) host. *

* MongoDB Cloud allows self-signed certificates. To delete an assigned value, pass an empty string: "caCertificate": "" */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getCaCertificate() { return null; } /** * Profile used to provide credentials information, (a secret with the cfn/atlas/profile/{Profile}, is required), if not provided default is used. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getProfile() { return null; } /** * List of validation messages related to the verification of the provided LDAP over TLS configuration details. *

* The array contains a document for each test that Atlas runs. Atlas stops running tests after the first failure. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getValidations() { return null; } /** * @return a {@link Builder} of {@link CfnLdapVerifyProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link CfnLdapVerifyProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String bindPassword; java.lang.String bindUsername; java.lang.String hostName; java.lang.Number port; java.lang.String projectId; java.lang.String authzQueryTemplate; java.lang.String caCertificate; java.lang.String profile; java.util.List validations; /** * Sets the value of {@link CfnLdapVerifyProps#getBindPassword} * @param bindPassword Password that MongoDB Cloud uses to authenticate the bindUsername. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder bindPassword(java.lang.String bindPassword) { this.bindPassword = bindPassword; return this; } /** * Sets the value of {@link CfnLdapVerifyProps#getBindUsername} * @param bindUsername Full Distinguished Name (DN) of the Lightweight Directory Access Protocol (LDAP) user that MongoDB Cloud uses to connect to the LDAP host. This parameter is required. * LDAP distinguished names must be formatted according to RFC 2253. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder bindUsername(java.lang.String bindUsername) { this.bindUsername = bindUsername; return this; } /** * Sets the value of {@link CfnLdapVerifyProps#getHostName} * @param hostName Human-readable label that identifies the hostname or Internet Protocol (IP) address of the Lightweight Directory Access Protocol (LDAP) host. This parameter is required. * This host must have access to the internet or have a Virtual Private Cloud (VPC) peering connection to your cluster. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder hostName(java.lang.String hostName) { this.hostName = hostName; return this; } /** * Sets the value of {@link CfnLdapVerifyProps#getPort} * @param port Port to which the Lightweight Directory Access Protocol (LDAP) host listens for client connections. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder port(java.lang.Number port) { this.port = port; return this; } /** * Sets the value of {@link CfnLdapVerifyProps#getProjectId} * @param projectId Unique 24-hexadecimal digit string that identifies your project. This parameter is required. * @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 CfnLdapVerifyProps#getAuthzQueryTemplate} * @param authzQueryTemplate Lightweight Directory Access Protocol (LDAP) query template that MongoDB Cloud runs to obtain the LDAP groups associated with the authenticated user. * MongoDB Cloud uses this parameter only for user authorization. Use the {USER} placeholder in the Uniform Resource Locator (URL) to substitute the authenticated username. The query relates to the host specified with the hostname. Format this query according to RFC 4515 and RFC 4516. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder authzQueryTemplate(java.lang.String authzQueryTemplate) { this.authzQueryTemplate = authzQueryTemplate; return this; } /** * Sets the value of {@link CfnLdapVerifyProps#getCaCertificate} * @param caCertificate Certificate Authority (CA) certificate that MongoDB Cloud uses to verify the identity of the Lightweight Directory Access Protocol (LDAP) host. * MongoDB Cloud allows self-signed certificates. To delete an assigned value, pass an empty string: "caCertificate": "" * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder caCertificate(java.lang.String caCertificate) { this.caCertificate = caCertificate; return this; } /** * Sets the value of {@link CfnLdapVerifyProps#getProfile} * @param profile Profile used to provide credentials information, (a secret with the cfn/atlas/profile/{Profile}, is required), if not provided default is used. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder profile(java.lang.String profile) { this.profile = profile; return this; } /** * Sets the value of {@link CfnLdapVerifyProps#getValidations} * @param validations List of validation messages related to the verification of the provided LDAP over TLS configuration details. * The array contains a document for each test that Atlas runs. Atlas stops running tests after the first failure. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder validations(java.util.List validations) { this.validations = (java.util.List)validations; return this; } /** * Builds the configured instance. * @return a new instance of {@link CfnLdapVerifyProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public CfnLdapVerifyProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link CfnLdapVerifyProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnLdapVerifyProps { private final java.lang.String bindPassword; private final java.lang.String bindUsername; private final java.lang.String hostName; private final java.lang.Number port; private final java.lang.String projectId; private final java.lang.String authzQueryTemplate; private final java.lang.String caCertificate; private final java.lang.String profile; private final java.util.List validations; /** * 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.bindPassword = software.amazon.jsii.Kernel.get(this, "bindPassword", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.bindUsername = software.amazon.jsii.Kernel.get(this, "bindUsername", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.hostName = software.amazon.jsii.Kernel.get(this, "hostName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.port = software.amazon.jsii.Kernel.get(this, "port", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.projectId = software.amazon.jsii.Kernel.get(this, "projectId", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.authzQueryTemplate = software.amazon.jsii.Kernel.get(this, "authzQueryTemplate", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.caCertificate = software.amazon.jsii.Kernel.get(this, "caCertificate", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.profile = software.amazon.jsii.Kernel.get(this, "profile", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.validations = software.amazon.jsii.Kernel.get(this, "validations", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.Validation.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.bindPassword = java.util.Objects.requireNonNull(builder.bindPassword, "bindPassword is required"); this.bindUsername = java.util.Objects.requireNonNull(builder.bindUsername, "bindUsername is required"); this.hostName = java.util.Objects.requireNonNull(builder.hostName, "hostName is required"); this.port = java.util.Objects.requireNonNull(builder.port, "port is required"); this.projectId = java.util.Objects.requireNonNull(builder.projectId, "projectId is required"); this.authzQueryTemplate = builder.authzQueryTemplate; this.caCertificate = builder.caCertificate; this.profile = builder.profile; this.validations = (java.util.List)builder.validations; } @Override public final java.lang.String getBindPassword() { return this.bindPassword; } @Override public final java.lang.String getBindUsername() { return this.bindUsername; } @Override public final java.lang.String getHostName() { return this.hostName; } @Override public final java.lang.Number getPort() { return this.port; } @Override public final java.lang.String getProjectId() { return this.projectId; } @Override public final java.lang.String getAuthzQueryTemplate() { return this.authzQueryTemplate; } @Override public final java.lang.String getCaCertificate() { return this.caCertificate; } @Override public final java.lang.String getProfile() { return this.profile; } @Override public final java.util.List getValidations() { return this.validations; } @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(); data.set("bindPassword", om.valueToTree(this.getBindPassword())); data.set("bindUsername", om.valueToTree(this.getBindUsername())); data.set("hostName", om.valueToTree(this.getHostName())); data.set("port", om.valueToTree(this.getPort())); data.set("projectId", om.valueToTree(this.getProjectId())); if (this.getAuthzQueryTemplate() != null) { data.set("authzQueryTemplate", om.valueToTree(this.getAuthzQueryTemplate())); } if (this.getCaCertificate() != null) { data.set("caCertificate", om.valueToTree(this.getCaCertificate())); } if (this.getProfile() != null) { data.set("profile", om.valueToTree(this.getProfile())); } if (this.getValidations() != null) { data.set("validations", om.valueToTree(this.getValidations())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("awscdk-resources-mongodbatlas.CfnLdapVerifyProps")); 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; CfnLdapVerifyProps.Jsii$Proxy that = (CfnLdapVerifyProps.Jsii$Proxy) o; if (!bindPassword.equals(that.bindPassword)) return false; if (!bindUsername.equals(that.bindUsername)) return false; if (!hostName.equals(that.hostName)) return false; if (!port.equals(that.port)) return false; if (!projectId.equals(that.projectId)) return false; if (this.authzQueryTemplate != null ? !this.authzQueryTemplate.equals(that.authzQueryTemplate) : that.authzQueryTemplate != null) return false; if (this.caCertificate != null ? !this.caCertificate.equals(that.caCertificate) : that.caCertificate != null) return false; if (this.profile != null ? !this.profile.equals(that.profile) : that.profile != null) return false; return this.validations != null ? this.validations.equals(that.validations) : that.validations == null; } @Override public final int hashCode() { int result = this.bindPassword.hashCode(); result = 31 * result + (this.bindUsername.hashCode()); result = 31 * result + (this.hostName.hashCode()); result = 31 * result + (this.port.hashCode()); result = 31 * result + (this.projectId.hashCode()); result = 31 * result + (this.authzQueryTemplate != null ? this.authzQueryTemplate.hashCode() : 0); result = 31 * result + (this.caCertificate != null ? this.caCertificate.hashCode() : 0); result = 31 * result + (this.profile != null ? this.profile.hashCode() : 0); result = 31 * result + (this.validations != null ? this.validations.hashCode() : 0); return result; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy