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

Attributes for Kerberos configuration when Kerberos authentication is enabled * using a security configuration. For more information see Use * Kerberos Authentication in the Amazon EMR Management * Guide.

See Also:

AWS * API Reference

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

The name of the Kerberos realm to which all nodes in a cluster belong. For * example, EC2.INTERNAL.

*/ inline const Aws::String& GetRealm() const{ return m_realm; } /** *

The name of the Kerberos realm to which all nodes in a cluster belong. For * example, EC2.INTERNAL.

*/ inline bool RealmHasBeenSet() const { return m_realmHasBeenSet; } /** *

The name of the Kerberos realm to which all nodes in a cluster belong. For * example, EC2.INTERNAL.

*/ inline void SetRealm(const Aws::String& value) { m_realmHasBeenSet = true; m_realm = value; } /** *

The name of the Kerberos realm to which all nodes in a cluster belong. For * example, EC2.INTERNAL.

*/ inline void SetRealm(Aws::String&& value) { m_realmHasBeenSet = true; m_realm = std::move(value); } /** *

The name of the Kerberos realm to which all nodes in a cluster belong. For * example, EC2.INTERNAL.

*/ inline void SetRealm(const char* value) { m_realmHasBeenSet = true; m_realm.assign(value); } /** *

The name of the Kerberos realm to which all nodes in a cluster belong. For * example, EC2.INTERNAL.

*/ inline KerberosAttributes& WithRealm(const Aws::String& value) { SetRealm(value); return *this;} /** *

The name of the Kerberos realm to which all nodes in a cluster belong. For * example, EC2.INTERNAL.

*/ inline KerberosAttributes& WithRealm(Aws::String&& value) { SetRealm(std::move(value)); return *this;} /** *

The name of the Kerberos realm to which all nodes in a cluster belong. For * example, EC2.INTERNAL.

*/ inline KerberosAttributes& WithRealm(const char* value) { SetRealm(value); return *this;} /** *

The password used within the cluster for the kadmin service on the * cluster-dedicated KDC, which maintains Kerberos principals, password policies, * and keytabs for the cluster.

*/ inline const Aws::String& GetKdcAdminPassword() const{ return m_kdcAdminPassword; } /** *

The password used within the cluster for the kadmin service on the * cluster-dedicated KDC, which maintains Kerberos principals, password policies, * and keytabs for the cluster.

*/ inline bool KdcAdminPasswordHasBeenSet() const { return m_kdcAdminPasswordHasBeenSet; } /** *

The password used within the cluster for the kadmin service on the * cluster-dedicated KDC, which maintains Kerberos principals, password policies, * and keytabs for the cluster.

*/ inline void SetKdcAdminPassword(const Aws::String& value) { m_kdcAdminPasswordHasBeenSet = true; m_kdcAdminPassword = value; } /** *

The password used within the cluster for the kadmin service on the * cluster-dedicated KDC, which maintains Kerberos principals, password policies, * and keytabs for the cluster.

*/ inline void SetKdcAdminPassword(Aws::String&& value) { m_kdcAdminPasswordHasBeenSet = true; m_kdcAdminPassword = std::move(value); } /** *

The password used within the cluster for the kadmin service on the * cluster-dedicated KDC, which maintains Kerberos principals, password policies, * and keytabs for the cluster.

*/ inline void SetKdcAdminPassword(const char* value) { m_kdcAdminPasswordHasBeenSet = true; m_kdcAdminPassword.assign(value); } /** *

The password used within the cluster for the kadmin service on the * cluster-dedicated KDC, which maintains Kerberos principals, password policies, * and keytabs for the cluster.

*/ inline KerberosAttributes& WithKdcAdminPassword(const Aws::String& value) { SetKdcAdminPassword(value); return *this;} /** *

The password used within the cluster for the kadmin service on the * cluster-dedicated KDC, which maintains Kerberos principals, password policies, * and keytabs for the cluster.

*/ inline KerberosAttributes& WithKdcAdminPassword(Aws::String&& value) { SetKdcAdminPassword(std::move(value)); return *this;} /** *

The password used within the cluster for the kadmin service on the * cluster-dedicated KDC, which maintains Kerberos principals, password policies, * and keytabs for the cluster.

*/ inline KerberosAttributes& WithKdcAdminPassword(const char* value) { SetKdcAdminPassword(value); return *this;} /** *

Required only when establishing a cross-realm trust with a KDC in a different * realm. The cross-realm principal password, which must be identical across * realms.

*/ inline const Aws::String& GetCrossRealmTrustPrincipalPassword() const{ return m_crossRealmTrustPrincipalPassword; } /** *

Required only when establishing a cross-realm trust with a KDC in a different * realm. The cross-realm principal password, which must be identical across * realms.

*/ inline bool CrossRealmTrustPrincipalPasswordHasBeenSet() const { return m_crossRealmTrustPrincipalPasswordHasBeenSet; } /** *

Required only when establishing a cross-realm trust with a KDC in a different * realm. The cross-realm principal password, which must be identical across * realms.

*/ inline void SetCrossRealmTrustPrincipalPassword(const Aws::String& value) { m_crossRealmTrustPrincipalPasswordHasBeenSet = true; m_crossRealmTrustPrincipalPassword = value; } /** *

Required only when establishing a cross-realm trust with a KDC in a different * realm. The cross-realm principal password, which must be identical across * realms.

*/ inline void SetCrossRealmTrustPrincipalPassword(Aws::String&& value) { m_crossRealmTrustPrincipalPasswordHasBeenSet = true; m_crossRealmTrustPrincipalPassword = std::move(value); } /** *

Required only when establishing a cross-realm trust with a KDC in a different * realm. The cross-realm principal password, which must be identical across * realms.

*/ inline void SetCrossRealmTrustPrincipalPassword(const char* value) { m_crossRealmTrustPrincipalPasswordHasBeenSet = true; m_crossRealmTrustPrincipalPassword.assign(value); } /** *

Required only when establishing a cross-realm trust with a KDC in a different * realm. The cross-realm principal password, which must be identical across * realms.

*/ inline KerberosAttributes& WithCrossRealmTrustPrincipalPassword(const Aws::String& value) { SetCrossRealmTrustPrincipalPassword(value); return *this;} /** *

Required only when establishing a cross-realm trust with a KDC in a different * realm. The cross-realm principal password, which must be identical across * realms.

*/ inline KerberosAttributes& WithCrossRealmTrustPrincipalPassword(Aws::String&& value) { SetCrossRealmTrustPrincipalPassword(std::move(value)); return *this;} /** *

Required only when establishing a cross-realm trust with a KDC in a different * realm. The cross-realm principal password, which must be identical across * realms.

*/ inline KerberosAttributes& WithCrossRealmTrustPrincipalPassword(const char* value) { SetCrossRealmTrustPrincipalPassword(value); return *this;} /** *

Required only when establishing a cross-realm trust with an Active Directory * domain. A user with sufficient privileges to join resources to the domain.

*/ inline const Aws::String& GetADDomainJoinUser() const{ return m_aDDomainJoinUser; } /** *

Required only when establishing a cross-realm trust with an Active Directory * domain. A user with sufficient privileges to join resources to the domain.

*/ inline bool ADDomainJoinUserHasBeenSet() const { return m_aDDomainJoinUserHasBeenSet; } /** *

Required only when establishing a cross-realm trust with an Active Directory * domain. A user with sufficient privileges to join resources to the domain.

*/ inline void SetADDomainJoinUser(const Aws::String& value) { m_aDDomainJoinUserHasBeenSet = true; m_aDDomainJoinUser = value; } /** *

Required only when establishing a cross-realm trust with an Active Directory * domain. A user with sufficient privileges to join resources to the domain.

*/ inline void SetADDomainJoinUser(Aws::String&& value) { m_aDDomainJoinUserHasBeenSet = true; m_aDDomainJoinUser = std::move(value); } /** *

Required only when establishing a cross-realm trust with an Active Directory * domain. A user with sufficient privileges to join resources to the domain.

*/ inline void SetADDomainJoinUser(const char* value) { m_aDDomainJoinUserHasBeenSet = true; m_aDDomainJoinUser.assign(value); } /** *

Required only when establishing a cross-realm trust with an Active Directory * domain. A user with sufficient privileges to join resources to the domain.

*/ inline KerberosAttributes& WithADDomainJoinUser(const Aws::String& value) { SetADDomainJoinUser(value); return *this;} /** *

Required only when establishing a cross-realm trust with an Active Directory * domain. A user with sufficient privileges to join resources to the domain.

*/ inline KerberosAttributes& WithADDomainJoinUser(Aws::String&& value) { SetADDomainJoinUser(std::move(value)); return *this;} /** *

Required only when establishing a cross-realm trust with an Active Directory * domain. A user with sufficient privileges to join resources to the domain.

*/ inline KerberosAttributes& WithADDomainJoinUser(const char* value) { SetADDomainJoinUser(value); return *this;} /** *

The Active Directory password for ADDomainJoinUser.

*/ inline const Aws::String& GetADDomainJoinPassword() const{ return m_aDDomainJoinPassword; } /** *

The Active Directory password for ADDomainJoinUser.

*/ inline bool ADDomainJoinPasswordHasBeenSet() const { return m_aDDomainJoinPasswordHasBeenSet; } /** *

The Active Directory password for ADDomainJoinUser.

*/ inline void SetADDomainJoinPassword(const Aws::String& value) { m_aDDomainJoinPasswordHasBeenSet = true; m_aDDomainJoinPassword = value; } /** *

The Active Directory password for ADDomainJoinUser.

*/ inline void SetADDomainJoinPassword(Aws::String&& value) { m_aDDomainJoinPasswordHasBeenSet = true; m_aDDomainJoinPassword = std::move(value); } /** *

The Active Directory password for ADDomainJoinUser.

*/ inline void SetADDomainJoinPassword(const char* value) { m_aDDomainJoinPasswordHasBeenSet = true; m_aDDomainJoinPassword.assign(value); } /** *

The Active Directory password for ADDomainJoinUser.

*/ inline KerberosAttributes& WithADDomainJoinPassword(const Aws::String& value) { SetADDomainJoinPassword(value); return *this;} /** *

The Active Directory password for ADDomainJoinUser.

*/ inline KerberosAttributes& WithADDomainJoinPassword(Aws::String&& value) { SetADDomainJoinPassword(std::move(value)); return *this;} /** *

The Active Directory password for ADDomainJoinUser.

*/ inline KerberosAttributes& WithADDomainJoinPassword(const char* value) { SetADDomainJoinPassword(value); return *this;} private: Aws::String m_realm; bool m_realmHasBeenSet = false; Aws::String m_kdcAdminPassword; bool m_kdcAdminPasswordHasBeenSet = false; Aws::String m_crossRealmTrustPrincipalPassword; bool m_crossRealmTrustPrincipalPasswordHasBeenSet = false; Aws::String m_aDDomainJoinUser; bool m_aDDomainJoinUserHasBeenSet = false; Aws::String m_aDDomainJoinPassword; bool m_aDDomainJoinPasswordHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws