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

An Active Directory Domain membership record associated with the DB instance * or cluster.

See Also:

AWS * API Reference

*/ class DomainMembership { public: AWS_RDS_API DomainMembership(); AWS_RDS_API DomainMembership(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_RDS_API DomainMembership& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_RDS_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_RDS_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The identifier of the Active Directory Domain.

*/ inline const Aws::String& GetDomain() const{ return m_domain; } /** *

The identifier of the Active Directory Domain.

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

The identifier of the Active Directory Domain.

*/ inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

The identifier of the Active Directory Domain.

*/ inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

The identifier of the Active Directory Domain.

*/ inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } /** *

The identifier of the Active Directory Domain.

*/ inline DomainMembership& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *

The identifier of the Active Directory Domain.

*/ inline DomainMembership& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *

The identifier of the Active Directory Domain.

*/ inline DomainMembership& WithDomain(const char* value) { SetDomain(value); return *this;} /** *

The status of the Active Directory Domain membership for the DB instance or * cluster. Values include joined, pending-join, * failed, and so on.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the Active Directory Domain membership for the DB instance or * cluster. Values include joined, pending-join, * failed, and so on.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the Active Directory Domain membership for the DB instance or * cluster. Values include joined, pending-join, * failed, and so on.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the Active Directory Domain membership for the DB instance or * cluster. Values include joined, pending-join, * failed, and so on.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the Active Directory Domain membership for the DB instance or * cluster. Values include joined, pending-join, * failed, and so on.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of the Active Directory Domain membership for the DB instance or * cluster. Values include joined, pending-join, * failed, and so on.

*/ inline DomainMembership& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the Active Directory Domain membership for the DB instance or * cluster. Values include joined, pending-join, * failed, and so on.

*/ inline DomainMembership& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the Active Directory Domain membership for the DB instance or * cluster. Values include joined, pending-join, * failed, and so on.

*/ inline DomainMembership& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The fully qualified domain name (FQDN) of the Active Directory Domain.

*/ inline const Aws::String& GetFQDN() const{ return m_fQDN; } /** *

The fully qualified domain name (FQDN) of the Active Directory Domain.

*/ inline bool FQDNHasBeenSet() const { return m_fQDNHasBeenSet; } /** *

The fully qualified domain name (FQDN) of the Active Directory Domain.

*/ inline void SetFQDN(const Aws::String& value) { m_fQDNHasBeenSet = true; m_fQDN = value; } /** *

The fully qualified domain name (FQDN) of the Active Directory Domain.

*/ inline void SetFQDN(Aws::String&& value) { m_fQDNHasBeenSet = true; m_fQDN = std::move(value); } /** *

The fully qualified domain name (FQDN) of the Active Directory Domain.

*/ inline void SetFQDN(const char* value) { m_fQDNHasBeenSet = true; m_fQDN.assign(value); } /** *

The fully qualified domain name (FQDN) of the Active Directory Domain.

*/ inline DomainMembership& WithFQDN(const Aws::String& value) { SetFQDN(value); return *this;} /** *

The fully qualified domain name (FQDN) of the Active Directory Domain.

*/ inline DomainMembership& WithFQDN(Aws::String&& value) { SetFQDN(std::move(value)); return *this;} /** *

The fully qualified domain name (FQDN) of the Active Directory Domain.

*/ inline DomainMembership& WithFQDN(const char* value) { SetFQDN(value); return *this;} /** *

The name of the IAM role used when making API calls to the Directory * Service.

*/ inline const Aws::String& GetIAMRoleName() const{ return m_iAMRoleName; } /** *

The name of the IAM role used when making API calls to the Directory * Service.

*/ inline bool IAMRoleNameHasBeenSet() const { return m_iAMRoleNameHasBeenSet; } /** *

The name of the IAM role used when making API calls to the Directory * Service.

*/ inline void SetIAMRoleName(const Aws::String& value) { m_iAMRoleNameHasBeenSet = true; m_iAMRoleName = value; } /** *

The name of the IAM role used when making API calls to the Directory * Service.

*/ inline void SetIAMRoleName(Aws::String&& value) { m_iAMRoleNameHasBeenSet = true; m_iAMRoleName = std::move(value); } /** *

The name of the IAM role used when making API calls to the Directory * Service.

*/ inline void SetIAMRoleName(const char* value) { m_iAMRoleNameHasBeenSet = true; m_iAMRoleName.assign(value); } /** *

The name of the IAM role used when making API calls to the Directory * Service.

*/ inline DomainMembership& WithIAMRoleName(const Aws::String& value) { SetIAMRoleName(value); return *this;} /** *

The name of the IAM role used when making API calls to the Directory * Service.

*/ inline DomainMembership& WithIAMRoleName(Aws::String&& value) { SetIAMRoleName(std::move(value)); return *this;} /** *

The name of the IAM role used when making API calls to the Directory * Service.

*/ inline DomainMembership& WithIAMRoleName(const char* value) { SetIAMRoleName(value); return *this;} /** *

The Active Directory organizational unit for the DB instance or cluster.

*/ inline const Aws::String& GetOU() const{ return m_oU; } /** *

The Active Directory organizational unit for the DB instance or cluster.

*/ inline bool OUHasBeenSet() const { return m_oUHasBeenSet; } /** *

The Active Directory organizational unit for the DB instance or cluster.

*/ inline void SetOU(const Aws::String& value) { m_oUHasBeenSet = true; m_oU = value; } /** *

The Active Directory organizational unit for the DB instance or cluster.

*/ inline void SetOU(Aws::String&& value) { m_oUHasBeenSet = true; m_oU = std::move(value); } /** *

The Active Directory organizational unit for the DB instance or cluster.

*/ inline void SetOU(const char* value) { m_oUHasBeenSet = true; m_oU.assign(value); } /** *

The Active Directory organizational unit for the DB instance or cluster.

*/ inline DomainMembership& WithOU(const Aws::String& value) { SetOU(value); return *this;} /** *

The Active Directory organizational unit for the DB instance or cluster.

*/ inline DomainMembership& WithOU(Aws::String&& value) { SetOU(std::move(value)); return *this;} /** *

The Active Directory organizational unit for the DB instance or cluster.

*/ inline DomainMembership& WithOU(const char* value) { SetOU(value); return *this;} /** *

The ARN for the Secrets Manager secret with the credentials for the user * that's a member of the domain.

*/ inline const Aws::String& GetAuthSecretArn() const{ return m_authSecretArn; } /** *

The ARN for the Secrets Manager secret with the credentials for the user * that's a member of the domain.

*/ inline bool AuthSecretArnHasBeenSet() const { return m_authSecretArnHasBeenSet; } /** *

The ARN for the Secrets Manager secret with the credentials for the user * that's a member of the domain.

*/ inline void SetAuthSecretArn(const Aws::String& value) { m_authSecretArnHasBeenSet = true; m_authSecretArn = value; } /** *

The ARN for the Secrets Manager secret with the credentials for the user * that's a member of the domain.

*/ inline void SetAuthSecretArn(Aws::String&& value) { m_authSecretArnHasBeenSet = true; m_authSecretArn = std::move(value); } /** *

The ARN for the Secrets Manager secret with the credentials for the user * that's a member of the domain.

*/ inline void SetAuthSecretArn(const char* value) { m_authSecretArnHasBeenSet = true; m_authSecretArn.assign(value); } /** *

The ARN for the Secrets Manager secret with the credentials for the user * that's a member of the domain.

*/ inline DomainMembership& WithAuthSecretArn(const Aws::String& value) { SetAuthSecretArn(value); return *this;} /** *

The ARN for the Secrets Manager secret with the credentials for the user * that's a member of the domain.

*/ inline DomainMembership& WithAuthSecretArn(Aws::String&& value) { SetAuthSecretArn(std::move(value)); return *this;} /** *

The ARN for the Secrets Manager secret with the credentials for the user * that's a member of the domain.

*/ inline DomainMembership& WithAuthSecretArn(const char* value) { SetAuthSecretArn(value); return *this;} /** *

The IPv4 DNS IP addresses of the primary and secondary Active Directory * domain controllers.

*/ inline const Aws::Vector& GetDnsIps() const{ return m_dnsIps; } /** *

The IPv4 DNS IP addresses of the primary and secondary Active Directory * domain controllers.

*/ inline bool DnsIpsHasBeenSet() const { return m_dnsIpsHasBeenSet; } /** *

The IPv4 DNS IP addresses of the primary and secondary Active Directory * domain controllers.

*/ inline void SetDnsIps(const Aws::Vector& value) { m_dnsIpsHasBeenSet = true; m_dnsIps = value; } /** *

The IPv4 DNS IP addresses of the primary and secondary Active Directory * domain controllers.

*/ inline void SetDnsIps(Aws::Vector&& value) { m_dnsIpsHasBeenSet = true; m_dnsIps = std::move(value); } /** *

The IPv4 DNS IP addresses of the primary and secondary Active Directory * domain controllers.

*/ inline DomainMembership& WithDnsIps(const Aws::Vector& value) { SetDnsIps(value); return *this;} /** *

The IPv4 DNS IP addresses of the primary and secondary Active Directory * domain controllers.

*/ inline DomainMembership& WithDnsIps(Aws::Vector&& value) { SetDnsIps(std::move(value)); return *this;} /** *

The IPv4 DNS IP addresses of the primary and secondary Active Directory * domain controllers.

*/ inline DomainMembership& AddDnsIps(const Aws::String& value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(value); return *this; } /** *

The IPv4 DNS IP addresses of the primary and secondary Active Directory * domain controllers.

*/ inline DomainMembership& AddDnsIps(Aws::String&& value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(std::move(value)); return *this; } /** *

The IPv4 DNS IP addresses of the primary and secondary Active Directory * domain controllers.

*/ inline DomainMembership& AddDnsIps(const char* value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(value); return *this; } private: Aws::String m_domain; bool m_domainHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_fQDN; bool m_fQDNHasBeenSet = false; Aws::String m_iAMRoleName; bool m_iAMRoleNameHasBeenSet = false; Aws::String m_oU; bool m_oUHasBeenSet = false; Aws::String m_authSecretArn; bool m_authSecretArnHasBeenSet = false; Aws::Vector m_dnsIps; bool m_dnsIpsHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws