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

io.github.cdklabs.cdk.amazonmq.ActiveMqLdapAuthorization Maven / Gradle / Ivy

package io.github.cdklabs.cdk.amazonmq;

/**
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.102.0 (build e354887)", date = "2024-08-08T22:30:31.771Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdk.amazonmq.$Module.class, fqn = "@cdklabs/cdk-amazonmq.ActiveMqLdapAuthorization")
@software.amazon.jsii.Jsii.Proxy(ActiveMqLdapAuthorization.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface ActiveMqLdapAuthorization extends software.amazon.jsii.JsiiSerializable {

    /**
     * (experimental) Sets the location of the LDAP server such as AWS Directory Service for Microsoft Active Directory.
     * 

* Optional failover server. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.util.List getHosts(); /** * (experimental) The distinguished name of the node in the directory information tree (DIT) to search for roles or groups. *

* For example, ou=group, ou=corp, dc=corp, dc=example, dc=com. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.String getRoleBase(); /** * (experimental) The LDAP search filter used to find roles within the roleBase. *

* The distinguished name of the user matched by userSearchMatching is substituted into the {0} placeholder in the search filter. The client's username is substituted into the {1} placeholder. For example, if you set this option to (member=uid={1}) for the user janedoe, the search filter becomes (member=uid=janedoe) after string substitution. It matches all role entries that have a member attribute equal to uid=janedoe under the subtree selected by the RoleBases. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.String getRoleSearchMatching(); /** * (experimental) Service account password. *

* A service account is an account in your LDAP server that has access to initiate a connection. For example, cn=admin,dc=corp, dc=example, dc=com. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull software.amazon.awscdk.SecretValue getServiceAccountPassword(); /** * (experimental) Service account username. *

* A service account is an account in your LDAP server that has access to initiate a connection. For example, cn=admin, ou=corp, dc=corp, dc=example, dc=com. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull software.amazon.awscdk.SecretValue getServiceAccountUsername(); /** * (experimental) Select a particular subtree of the directory information tree (DIT) to search for user entries. *

* The subtree is specified by a DN, which specifies the base node of the subtree. For example, by setting this option to ou=Users,ou=corp, dc=corp, dc=example, dc=com, the search for user entries is restricted to the subtree beneath ou=Users,ou=corp, dc=corp, dc=example, dc=com. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.String getUserBase(); /** * (experimental) The name of the LDAP attribute in the user's directory entry for the user's group membership. *

* In some cases, user roles may be identified by the value of an attribute in the user's directory entry. The UserRoleName option allows you to provide the name of this attribute. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.String getUserRoleName(); /** * (experimental) The LDAP search filter used to find users within the userBase. *

* The client's username is substituted into the {0} placeholder in the search filter. For example, if this option is set to (uid={0}) and the received username is janedoe, the search filter becomes (uid=janedoe) after string substitution. It will result in matching an entry like uid=janedoe, ou=Users, ou=corp, dc=corp, dc=example, dc=com. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.String getUserSearchMatching(); /** * (experimental) The group name attribute in a role entry whose value is the name of that role. *

* For example, you can specify cn for a group entry's common name. If authentication succeeds, then the user is assigned the the value of the cn attribute for each role entry that they are a member of. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getRoleName() { return null; } /** * (experimental) The directory search scope for the role. *

* If set to true, scope is to search the entire subtree. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Boolean getRoleSearchSubtree() { return null; } /** * (experimental) The directory search scope for the user. *

* If set to true, scope is to search the entire subtree. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Boolean getUserSearchSubtree() { return null; } /** * @return a {@link Builder} of {@link ActiveMqLdapAuthorization} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) static Builder builder() { return new Builder(); } /** * A builder for {@link ActiveMqLdapAuthorization} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder implements software.amazon.jsii.Builder { java.util.List hosts; java.lang.String roleBase; java.lang.String roleSearchMatching; software.amazon.awscdk.SecretValue serviceAccountPassword; software.amazon.awscdk.SecretValue serviceAccountUsername; java.lang.String userBase; java.lang.String userRoleName; java.lang.String userSearchMatching; java.lang.String roleName; java.lang.Boolean roleSearchSubtree; java.lang.Boolean userSearchSubtree; /** * Sets the value of {@link ActiveMqLdapAuthorization#getHosts} * @param hosts Sets the location of the LDAP server such as AWS Directory Service for Microsoft Active Directory. This parameter is required. * Optional failover server. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder hosts(java.util.List hosts) { this.hosts = hosts; return this; } /** * Sets the value of {@link ActiveMqLdapAuthorization#getRoleBase} * @param roleBase The distinguished name of the node in the directory information tree (DIT) to search for roles or groups. This parameter is required. * For example, ou=group, ou=corp, dc=corp, dc=example, dc=com. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder roleBase(java.lang.String roleBase) { this.roleBase = roleBase; return this; } /** * Sets the value of {@link ActiveMqLdapAuthorization#getRoleSearchMatching} * @param roleSearchMatching The LDAP search filter used to find roles within the roleBase. This parameter is required. * The distinguished name of the user matched by userSearchMatching is substituted into the {0} placeholder in the search filter. The client's username is substituted into the {1} placeholder. For example, if you set this option to (member=uid={1}) for the user janedoe, the search filter becomes (member=uid=janedoe) after string substitution. It matches all role entries that have a member attribute equal to uid=janedoe under the subtree selected by the RoleBases. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder roleSearchMatching(java.lang.String roleSearchMatching) { this.roleSearchMatching = roleSearchMatching; return this; } /** * Sets the value of {@link ActiveMqLdapAuthorization#getServiceAccountPassword} * @param serviceAccountPassword Service account password. This parameter is required. * A service account is an account in your LDAP server that has access to initiate a connection. For example, cn=admin,dc=corp, dc=example, dc=com. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder serviceAccountPassword(software.amazon.awscdk.SecretValue serviceAccountPassword) { this.serviceAccountPassword = serviceAccountPassword; return this; } /** * Sets the value of {@link ActiveMqLdapAuthorization#getServiceAccountUsername} * @param serviceAccountUsername Service account username. This parameter is required. * A service account is an account in your LDAP server that has access to initiate a connection. For example, cn=admin, ou=corp, dc=corp, dc=example, dc=com. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder serviceAccountUsername(software.amazon.awscdk.SecretValue serviceAccountUsername) { this.serviceAccountUsername = serviceAccountUsername; return this; } /** * Sets the value of {@link ActiveMqLdapAuthorization#getUserBase} * @param userBase Select a particular subtree of the directory information tree (DIT) to search for user entries. This parameter is required. * The subtree is specified by a DN, which specifies the base node of the subtree. For example, by setting this option to ou=Users,ou=corp, dc=corp, dc=example, dc=com, the search for user entries is restricted to the subtree beneath ou=Users,ou=corp, dc=corp, dc=example, dc=com. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder userBase(java.lang.String userBase) { this.userBase = userBase; return this; } /** * Sets the value of {@link ActiveMqLdapAuthorization#getUserRoleName} * @param userRoleName The name of the LDAP attribute in the user's directory entry for the user's group membership. This parameter is required. * In some cases, user roles may be identified by the value of an attribute in the user's directory entry. The UserRoleName option allows you to provide the name of this attribute. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder userRoleName(java.lang.String userRoleName) { this.userRoleName = userRoleName; return this; } /** * Sets the value of {@link ActiveMqLdapAuthorization#getUserSearchMatching} * @param userSearchMatching The LDAP search filter used to find users within the userBase. This parameter is required. * The client's username is substituted into the {0} placeholder in the search filter. For example, if this option is set to (uid={0}) and the received username is janedoe, the search filter becomes (uid=janedoe) after string substitution. It will result in matching an entry like uid=janedoe, ou=Users, ou=corp, dc=corp, dc=example, dc=com. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder userSearchMatching(java.lang.String userSearchMatching) { this.userSearchMatching = userSearchMatching; return this; } /** * Sets the value of {@link ActiveMqLdapAuthorization#getRoleName} * @param roleName The group name attribute in a role entry whose value is the name of that role. * For example, you can specify cn for a group entry's common name. If authentication succeeds, then the user is assigned the the value of the cn attribute for each role entry that they are a member of. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder roleName(java.lang.String roleName) { this.roleName = roleName; return this; } /** * Sets the value of {@link ActiveMqLdapAuthorization#getRoleSearchSubtree} * @param roleSearchSubtree The directory search scope for the role. * If set to true, scope is to search the entire subtree. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder roleSearchSubtree(java.lang.Boolean roleSearchSubtree) { this.roleSearchSubtree = roleSearchSubtree; return this; } /** * Sets the value of {@link ActiveMqLdapAuthorization#getUserSearchSubtree} * @param userSearchSubtree The directory search scope for the user. * If set to true, scope is to search the entire subtree. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder userSearchSubtree(java.lang.Boolean userSearchSubtree) { this.userSearchSubtree = userSearchSubtree; return this; } /** * Builds the configured instance. * @return a new instance of {@link ActiveMqLdapAuthorization} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public ActiveMqLdapAuthorization build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ActiveMqLdapAuthorization} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ActiveMqLdapAuthorization { private final java.util.List hosts; private final java.lang.String roleBase; private final java.lang.String roleSearchMatching; private final software.amazon.awscdk.SecretValue serviceAccountPassword; private final software.amazon.awscdk.SecretValue serviceAccountUsername; private final java.lang.String userBase; private final java.lang.String userRoleName; private final java.lang.String userSearchMatching; private final java.lang.String roleName; private final java.lang.Boolean roleSearchSubtree; private final java.lang.Boolean userSearchSubtree; /** * 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.hosts = software.amazon.jsii.Kernel.get(this, "hosts", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.roleBase = software.amazon.jsii.Kernel.get(this, "roleBase", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.roleSearchMatching = software.amazon.jsii.Kernel.get(this, "roleSearchMatching", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.serviceAccountPassword = software.amazon.jsii.Kernel.get(this, "serviceAccountPassword", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.SecretValue.class)); this.serviceAccountUsername = software.amazon.jsii.Kernel.get(this, "serviceAccountUsername", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.SecretValue.class)); this.userBase = software.amazon.jsii.Kernel.get(this, "userBase", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.userRoleName = software.amazon.jsii.Kernel.get(this, "userRoleName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.userSearchMatching = software.amazon.jsii.Kernel.get(this, "userSearchMatching", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.roleName = software.amazon.jsii.Kernel.get(this, "roleName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.roleSearchSubtree = software.amazon.jsii.Kernel.get(this, "roleSearchSubtree", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.userSearchSubtree = software.amazon.jsii.Kernel.get(this, "userSearchSubtree", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.hosts = java.util.Objects.requireNonNull(builder.hosts, "hosts is required"); this.roleBase = java.util.Objects.requireNonNull(builder.roleBase, "roleBase is required"); this.roleSearchMatching = java.util.Objects.requireNonNull(builder.roleSearchMatching, "roleSearchMatching is required"); this.serviceAccountPassword = java.util.Objects.requireNonNull(builder.serviceAccountPassword, "serviceAccountPassword is required"); this.serviceAccountUsername = java.util.Objects.requireNonNull(builder.serviceAccountUsername, "serviceAccountUsername is required"); this.userBase = java.util.Objects.requireNonNull(builder.userBase, "userBase is required"); this.userRoleName = java.util.Objects.requireNonNull(builder.userRoleName, "userRoleName is required"); this.userSearchMatching = java.util.Objects.requireNonNull(builder.userSearchMatching, "userSearchMatching is required"); this.roleName = builder.roleName; this.roleSearchSubtree = builder.roleSearchSubtree; this.userSearchSubtree = builder.userSearchSubtree; } @Override public final java.util.List getHosts() { return this.hosts; } @Override public final java.lang.String getRoleBase() { return this.roleBase; } @Override public final java.lang.String getRoleSearchMatching() { return this.roleSearchMatching; } @Override public final software.amazon.awscdk.SecretValue getServiceAccountPassword() { return this.serviceAccountPassword; } @Override public final software.amazon.awscdk.SecretValue getServiceAccountUsername() { return this.serviceAccountUsername; } @Override public final java.lang.String getUserBase() { return this.userBase; } @Override public final java.lang.String getUserRoleName() { return this.userRoleName; } @Override public final java.lang.String getUserSearchMatching() { return this.userSearchMatching; } @Override public final java.lang.String getRoleName() { return this.roleName; } @Override public final java.lang.Boolean getRoleSearchSubtree() { return this.roleSearchSubtree; } @Override public final java.lang.Boolean getUserSearchSubtree() { return this.userSearchSubtree; } @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("hosts", om.valueToTree(this.getHosts())); data.set("roleBase", om.valueToTree(this.getRoleBase())); data.set("roleSearchMatching", om.valueToTree(this.getRoleSearchMatching())); data.set("serviceAccountPassword", om.valueToTree(this.getServiceAccountPassword())); data.set("serviceAccountUsername", om.valueToTree(this.getServiceAccountUsername())); data.set("userBase", om.valueToTree(this.getUserBase())); data.set("userRoleName", om.valueToTree(this.getUserRoleName())); data.set("userSearchMatching", om.valueToTree(this.getUserSearchMatching())); if (this.getRoleName() != null) { data.set("roleName", om.valueToTree(this.getRoleName())); } if (this.getRoleSearchSubtree() != null) { data.set("roleSearchSubtree", om.valueToTree(this.getRoleSearchSubtree())); } if (this.getUserSearchSubtree() != null) { data.set("userSearchSubtree", om.valueToTree(this.getUserSearchSubtree())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@cdklabs/cdk-amazonmq.ActiveMqLdapAuthorization")); 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; ActiveMqLdapAuthorization.Jsii$Proxy that = (ActiveMqLdapAuthorization.Jsii$Proxy) o; if (!hosts.equals(that.hosts)) return false; if (!roleBase.equals(that.roleBase)) return false; if (!roleSearchMatching.equals(that.roleSearchMatching)) return false; if (!serviceAccountPassword.equals(that.serviceAccountPassword)) return false; if (!serviceAccountUsername.equals(that.serviceAccountUsername)) return false; if (!userBase.equals(that.userBase)) return false; if (!userRoleName.equals(that.userRoleName)) return false; if (!userSearchMatching.equals(that.userSearchMatching)) return false; if (this.roleName != null ? !this.roleName.equals(that.roleName) : that.roleName != null) return false; if (this.roleSearchSubtree != null ? !this.roleSearchSubtree.equals(that.roleSearchSubtree) : that.roleSearchSubtree != null) return false; return this.userSearchSubtree != null ? this.userSearchSubtree.equals(that.userSearchSubtree) : that.userSearchSubtree == null; } @Override public final int hashCode() { int result = this.hosts.hashCode(); result = 31 * result + (this.roleBase.hashCode()); result = 31 * result + (this.roleSearchMatching.hashCode()); result = 31 * result + (this.serviceAccountPassword.hashCode()); result = 31 * result + (this.serviceAccountUsername.hashCode()); result = 31 * result + (this.userBase.hashCode()); result = 31 * result + (this.userRoleName.hashCode()); result = 31 * result + (this.userSearchMatching.hashCode()); result = 31 * result + (this.roleName != null ? this.roleName.hashCode() : 0); result = 31 * result + (this.roleSearchSubtree != null ? this.roleSearchSubtree.hashCode() : 0); result = 31 * result + (this.userSearchSubtree != null ? this.userSearchSubtree.hashCode() : 0); return result; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy