/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

The metadata of the Lightweight Directory Access Protocol (LDAP) server used * to authenticate and authorize connections to the broker. This is an optional * failover server.

See Also:

AWS * API Reference

*/ class AwsAmazonMqBrokerLdapServerMetadataDetails { public: AWS_SECURITYHUB_API AwsAmazonMqBrokerLdapServerMetadataDetails(); AWS_SECURITYHUB_API AwsAmazonMqBrokerLdapServerMetadataDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsAmazonMqBrokerLdapServerMetadataDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies the location of the LDAP server, such as Amazon Web Services * Directory Service for Microsoft Active Directory.

*/ inline const Aws::Vector& GetHosts() const{ return m_hosts; } /** *

Specifies the location of the LDAP server, such as Amazon Web Services * Directory Service for Microsoft Active Directory.

*/ inline bool HostsHasBeenSet() const { return m_hostsHasBeenSet; } /** *

Specifies the location of the LDAP server, such as Amazon Web Services * Directory Service for Microsoft Active Directory.

*/ inline void SetHosts(const Aws::Vector& value) { m_hostsHasBeenSet = true; m_hosts = value; } /** *

Specifies the location of the LDAP server, such as Amazon Web Services * Directory Service for Microsoft Active Directory.

*/ inline void SetHosts(Aws::Vector&& value) { m_hostsHasBeenSet = true; m_hosts = std::move(value); } /** *

Specifies the location of the LDAP server, such as Amazon Web Services * Directory Service for Microsoft Active Directory.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithHosts(const Aws::Vector& value) { SetHosts(value); return *this;} /** *

Specifies the location of the LDAP server, such as Amazon Web Services * Directory Service for Microsoft Active Directory.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithHosts(Aws::Vector&& value) { SetHosts(std::move(value)); return *this;} /** *

Specifies the location of the LDAP server, such as Amazon Web Services * Directory Service for Microsoft Active Directory.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& AddHosts(const Aws::String& value) { m_hostsHasBeenSet = true; m_hosts.push_back(value); return *this; } /** *

Specifies the location of the LDAP server, such as Amazon Web Services * Directory Service for Microsoft Active Directory.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& AddHosts(Aws::String&& value) { m_hostsHasBeenSet = true; m_hosts.push_back(std::move(value)); return *this; } /** *

Specifies the location of the LDAP server, such as Amazon Web Services * Directory Service for Microsoft Active Directory.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& AddHosts(const char* value) { m_hostsHasBeenSet = true; m_hosts.push_back(value); return *this; } /** *

The distinguished name of the node in the directory information tree (DIT) * to search for roles or groups.

*/ inline const Aws::String& GetRoleBase() const{ return m_roleBase; } /** *

The distinguished name of the node in the directory information tree (DIT) * to search for roles or groups.

*/ inline bool RoleBaseHasBeenSet() const { return m_roleBaseHasBeenSet; } /** *

The distinguished name of the node in the directory information tree (DIT) * to search for roles or groups.

*/ inline void SetRoleBase(const Aws::String& value) { m_roleBaseHasBeenSet = true; m_roleBase = value; } /** *

The distinguished name of the node in the directory information tree (DIT) * to search for roles or groups.

*/ inline void SetRoleBase(Aws::String&& value) { m_roleBaseHasBeenSet = true; m_roleBase = std::move(value); } /** *

The distinguished name of the node in the directory information tree (DIT) * to search for roles or groups.

*/ inline void SetRoleBase(const char* value) { m_roleBaseHasBeenSet = true; m_roleBase.assign(value); } /** *

The distinguished name of the node in the directory information tree (DIT) * to search for roles or groups.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithRoleBase(const Aws::String& value) { SetRoleBase(value); return *this;} /** *

The distinguished name of the node in the directory information tree (DIT) * to search for roles or groups.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithRoleBase(Aws::String&& value) { SetRoleBase(std::move(value)); return *this;} /** *

The distinguished name of the node in the directory information tree (DIT) * to search for roles or groups.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithRoleBase(const char* value) { SetRoleBase(value); return *this;} /** *

The group name attribute in a role entry whose value is the name of that * role.

*/ inline const Aws::String& GetRoleName() const{ return m_roleName; } /** *

The group name attribute in a role entry whose value is the name of that * role.

*/ inline bool RoleNameHasBeenSet() const { return m_roleNameHasBeenSet; } /** *

The group name attribute in a role entry whose value is the name of that * role.

*/ inline void SetRoleName(const Aws::String& value) { m_roleNameHasBeenSet = true; m_roleName = value; } /** *

The group name attribute in a role entry whose value is the name of that * role.

*/ inline void SetRoleName(Aws::String&& value) { m_roleNameHasBeenSet = true; m_roleName = std::move(value); } /** *

The group name attribute in a role entry whose value is the name of that * role.

*/ inline void SetRoleName(const char* value) { m_roleNameHasBeenSet = true; m_roleName.assign(value); } /** *

The group name attribute in a role entry whose value is the name of that * role.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithRoleName(const Aws::String& value) { SetRoleName(value); return *this;} /** *

The group name attribute in a role entry whose value is the name of that * role.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithRoleName(Aws::String&& value) { SetRoleName(std::move(value)); return *this;} /** *

The group name attribute in a role entry whose value is the name of that * role.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithRoleName(const char* value) { SetRoleName(value); return *this;} /** *

The LDAP search filter used to find roles within the roleBase. *

*/ inline const Aws::String& GetRoleSearchMatching() const{ return m_roleSearchMatching; } /** *

The LDAP search filter used to find roles within the roleBase. *

*/ inline bool RoleSearchMatchingHasBeenSet() const { return m_roleSearchMatchingHasBeenSet; } /** *

The LDAP search filter used to find roles within the roleBase. *

*/ inline void SetRoleSearchMatching(const Aws::String& value) { m_roleSearchMatchingHasBeenSet = true; m_roleSearchMatching = value; } /** *

The LDAP search filter used to find roles within the roleBase. *

*/ inline void SetRoleSearchMatching(Aws::String&& value) { m_roleSearchMatchingHasBeenSet = true; m_roleSearchMatching = std::move(value); } /** *

The LDAP search filter used to find roles within the roleBase. *

*/ inline void SetRoleSearchMatching(const char* value) { m_roleSearchMatchingHasBeenSet = true; m_roleSearchMatching.assign(value); } /** *

The LDAP search filter used to find roles within the roleBase. *

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithRoleSearchMatching(const Aws::String& value) { SetRoleSearchMatching(value); return *this;} /** *

The LDAP search filter used to find roles within the roleBase. *

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithRoleSearchMatching(Aws::String&& value) { SetRoleSearchMatching(std::move(value)); return *this;} /** *

The LDAP search filter used to find roles within the roleBase. *

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithRoleSearchMatching(const char* value) { SetRoleSearchMatching(value); return *this;} /** *

The directory search scope for the role. If set to true, the * scope is to search the entire subtree.

*/ inline bool GetRoleSearchSubtree() const{ return m_roleSearchSubtree; } /** *

The directory search scope for the role. If set to true, the * scope is to search the entire subtree.

*/ inline bool RoleSearchSubtreeHasBeenSet() const { return m_roleSearchSubtreeHasBeenSet; } /** *

The directory search scope for the role. If set to true, the * scope is to search the entire subtree.

*/ inline void SetRoleSearchSubtree(bool value) { m_roleSearchSubtreeHasBeenSet = true; m_roleSearchSubtree = value; } /** *

The directory search scope for the role. If set to true, the * scope is to search the entire subtree.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithRoleSearchSubtree(bool value) { SetRoleSearchSubtree(value); return *this;} /** *

A username for the service account, which is an account in your LDAP server * that has access to initiate a connection.

*/ inline const Aws::String& GetServiceAccountUsername() const{ return m_serviceAccountUsername; } /** *

A username for the service account, which is an account in your LDAP server * that has access to initiate a connection.

*/ inline bool ServiceAccountUsernameHasBeenSet() const { return m_serviceAccountUsernameHasBeenSet; } /** *

A username for the service account, which is an account in your LDAP server * that has access to initiate a connection.

*/ inline void SetServiceAccountUsername(const Aws::String& value) { m_serviceAccountUsernameHasBeenSet = true; m_serviceAccountUsername = value; } /** *

A username for the service account, which is an account in your LDAP server * that has access to initiate a connection.

*/ inline void SetServiceAccountUsername(Aws::String&& value) { m_serviceAccountUsernameHasBeenSet = true; m_serviceAccountUsername = std::move(value); } /** *

A username for the service account, which is an account in your LDAP server * that has access to initiate a connection.

*/ inline void SetServiceAccountUsername(const char* value) { m_serviceAccountUsernameHasBeenSet = true; m_serviceAccountUsername.assign(value); } /** *

A username for the service account, which is an account in your LDAP server * that has access to initiate a connection.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithServiceAccountUsername(const Aws::String& value) { SetServiceAccountUsername(value); return *this;} /** *

A username for the service account, which is an account in your LDAP server * that has access to initiate a connection.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithServiceAccountUsername(Aws::String&& value) { SetServiceAccountUsername(std::move(value)); return *this;} /** *

A username for the service account, which is an account in your LDAP server * that has access to initiate a connection.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithServiceAccountUsername(const char* value) { SetServiceAccountUsername(value); return *this;} /** *

Selects a particular subtree of the directory information tree (DIT) to * search for user entries.

*/ inline const Aws::String& GetUserBase() const{ return m_userBase; } /** *

Selects a particular subtree of the directory information tree (DIT) to * search for user entries.

*/ inline bool UserBaseHasBeenSet() const { return m_userBaseHasBeenSet; } /** *

Selects a particular subtree of the directory information tree (DIT) to * search for user entries.

*/ inline void SetUserBase(const Aws::String& value) { m_userBaseHasBeenSet = true; m_userBase = value; } /** *

Selects a particular subtree of the directory information tree (DIT) to * search for user entries.

*/ inline void SetUserBase(Aws::String&& value) { m_userBaseHasBeenSet = true; m_userBase = std::move(value); } /** *

Selects a particular subtree of the directory information tree (DIT) to * search for user entries.

*/ inline void SetUserBase(const char* value) { m_userBaseHasBeenSet = true; m_userBase.assign(value); } /** *

Selects a particular subtree of the directory information tree (DIT) to * search for user entries.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithUserBase(const Aws::String& value) { SetUserBase(value); return *this;} /** *

Selects a particular subtree of the directory information tree (DIT) to * search for user entries.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithUserBase(Aws::String&& value) { SetUserBase(std::move(value)); return *this;} /** *

Selects a particular subtree of the directory information tree (DIT) to * search for user entries.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithUserBase(const char* value) { SetUserBase(value); return *this;} /** *

The name of the LDAP attribute in the user's directory entry for the user's * group membership.

*/ inline const Aws::String& GetUserRoleName() const{ return m_userRoleName; } /** *

The name of the LDAP attribute in the user's directory entry for the user's * group membership.

*/ inline bool UserRoleNameHasBeenSet() const { return m_userRoleNameHasBeenSet; } /** *

The name of the LDAP attribute in the user's directory entry for the user's * group membership.

*/ inline void SetUserRoleName(const Aws::String& value) { m_userRoleNameHasBeenSet = true; m_userRoleName = value; } /** *

The name of the LDAP attribute in the user's directory entry for the user's * group membership.

*/ inline void SetUserRoleName(Aws::String&& value) { m_userRoleNameHasBeenSet = true; m_userRoleName = std::move(value); } /** *

The name of the LDAP attribute in the user's directory entry for the user's * group membership.

*/ inline void SetUserRoleName(const char* value) { m_userRoleNameHasBeenSet = true; m_userRoleName.assign(value); } /** *

The name of the LDAP attribute in the user's directory entry for the user's * group membership.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithUserRoleName(const Aws::String& value) { SetUserRoleName(value); return *this;} /** *

The name of the LDAP attribute in the user's directory entry for the user's * group membership.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithUserRoleName(Aws::String&& value) { SetUserRoleName(std::move(value)); return *this;} /** *

The name of the LDAP attribute in the user's directory entry for the user's * group membership.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithUserRoleName(const char* value) { SetUserRoleName(value); return *this;} /** *

The LDAP search filter used to find users within the userBase. *

*/ inline const Aws::String& GetUserSearchMatching() const{ return m_userSearchMatching; } /** *

The LDAP search filter used to find users within the userBase. *

*/ inline bool UserSearchMatchingHasBeenSet() const { return m_userSearchMatchingHasBeenSet; } /** *

The LDAP search filter used to find users within the userBase. *

*/ inline void SetUserSearchMatching(const Aws::String& value) { m_userSearchMatchingHasBeenSet = true; m_userSearchMatching = value; } /** *

The LDAP search filter used to find users within the userBase. *

*/ inline void SetUserSearchMatching(Aws::String&& value) { m_userSearchMatchingHasBeenSet = true; m_userSearchMatching = std::move(value); } /** *

The LDAP search filter used to find users within the userBase. *

*/ inline void SetUserSearchMatching(const char* value) { m_userSearchMatchingHasBeenSet = true; m_userSearchMatching.assign(value); } /** *

The LDAP search filter used to find users within the userBase. *

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithUserSearchMatching(const Aws::String& value) { SetUserSearchMatching(value); return *this;} /** *

The LDAP search filter used to find users within the userBase. *

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithUserSearchMatching(Aws::String&& value) { SetUserSearchMatching(std::move(value)); return *this;} /** *

The LDAP search filter used to find users within the userBase. *

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithUserSearchMatching(const char* value) { SetUserSearchMatching(value); return *this;} /** *

The directory search scope for the user. If set to true, the scope is to * search the entire subtree.

*/ inline bool GetUserSearchSubtree() const{ return m_userSearchSubtree; } /** *

The directory search scope for the user. If set to true, the scope is to * search the entire subtree.

*/ inline bool UserSearchSubtreeHasBeenSet() const { return m_userSearchSubtreeHasBeenSet; } /** *

The directory search scope for the user. If set to true, the scope is to * search the entire subtree.

*/ inline void SetUserSearchSubtree(bool value) { m_userSearchSubtreeHasBeenSet = true; m_userSearchSubtree = value; } /** *

The directory search scope for the user. If set to true, the scope is to * search the entire subtree.

*/ inline AwsAmazonMqBrokerLdapServerMetadataDetails& WithUserSearchSubtree(bool value) { SetUserSearchSubtree(value); return *this;} private: Aws::Vector m_hosts; bool m_hostsHasBeenSet = false; Aws::String m_roleBase; bool m_roleBaseHasBeenSet = false; Aws::String m_roleName; bool m_roleNameHasBeenSet = false; Aws::String m_roleSearchMatching; bool m_roleSearchMatchingHasBeenSet = false; bool m_roleSearchSubtree; bool m_roleSearchSubtreeHasBeenSet = false; Aws::String m_serviceAccountUsername; bool m_serviceAccountUsernameHasBeenSet = false; Aws::String m_userBase; bool m_userBaseHasBeenSet = false; Aws::String m_userRoleName; bool m_userRoleNameHasBeenSet = false; Aws::String m_userSearchMatching; bool m_userSearchMatchingHasBeenSet = false; bool m_userSearchSubtree; bool m_userSearchSubtreeHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws