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

software.amazon.awssdk.services.emr.model.KerberosAttributes Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon EMR module holds the client classes that are used for communicating with Amazon Elastic MapReduce Service

There is a newer version: 2.28.3
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.emr.model;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* 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. *

*/ @Generated("software.amazon.awssdk:codegen") public final class KerberosAttributes implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField REALM_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Realm") .getter(getter(KerberosAttributes::realm)).setter(setter(Builder::realm)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Realm").build()).build(); private static final SdkField KDC_ADMIN_PASSWORD_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("KdcAdminPassword").getter(getter(KerberosAttributes::kdcAdminPassword)) .setter(setter(Builder::kdcAdminPassword)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KdcAdminPassword").build()).build(); private static final SdkField CROSS_REALM_TRUST_PRINCIPAL_PASSWORD_FIELD = SdkField . builder(MarshallingType.STRING) .memberName("CrossRealmTrustPrincipalPassword") .getter(getter(KerberosAttributes::crossRealmTrustPrincipalPassword)) .setter(setter(Builder::crossRealmTrustPrincipalPassword)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CrossRealmTrustPrincipalPassword") .build()).build(); private static final SdkField AD_DOMAIN_JOIN_USER_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("ADDomainJoinUser").getter(getter(KerberosAttributes::adDomainJoinUser)) .setter(setter(Builder::adDomainJoinUser)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ADDomainJoinUser").build()).build(); private static final SdkField AD_DOMAIN_JOIN_PASSWORD_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("ADDomainJoinPassword").getter(getter(KerberosAttributes::adDomainJoinPassword)) .setter(setter(Builder::adDomainJoinPassword)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ADDomainJoinPassword").build()) .build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(REALM_FIELD, KDC_ADMIN_PASSWORD_FIELD, CROSS_REALM_TRUST_PRINCIPAL_PASSWORD_FIELD, AD_DOMAIN_JOIN_USER_FIELD, AD_DOMAIN_JOIN_PASSWORD_FIELD)); private static final long serialVersionUID = 1L; private final String realm; private final String kdcAdminPassword; private final String crossRealmTrustPrincipalPassword; private final String adDomainJoinUser; private final String adDomainJoinPassword; private KerberosAttributes(BuilderImpl builder) { this.realm = builder.realm; this.kdcAdminPassword = builder.kdcAdminPassword; this.crossRealmTrustPrincipalPassword = builder.crossRealmTrustPrincipalPassword; this.adDomainJoinUser = builder.adDomainJoinUser; this.adDomainJoinPassword = builder.adDomainJoinPassword; } /** *

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

* * @return The name of the Kerberos realm to which all nodes in a cluster belong. For example, * EC2.INTERNAL. */ public final String realm() { return realm; } /** *

* 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. *

* * @return 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. */ public final String kdcAdminPassword() { return kdcAdminPassword; } /** *

* 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. *

* * @return 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. */ public final String crossRealmTrustPrincipalPassword() { return crossRealmTrustPrincipalPassword; } /** *

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

* * @return Required only when establishing a cross-realm trust with an Active Directory domain. A user with * sufficient privileges to join resources to the domain. */ public final String adDomainJoinUser() { return adDomainJoinUser; } /** *

* The Active Directory password for ADDomainJoinUser. *

* * @return The Active Directory password for ADDomainJoinUser. */ public final String adDomainJoinPassword() { return adDomainJoinPassword; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(realm()); hashCode = 31 * hashCode + Objects.hashCode(kdcAdminPassword()); hashCode = 31 * hashCode + Objects.hashCode(crossRealmTrustPrincipalPassword()); hashCode = 31 * hashCode + Objects.hashCode(adDomainJoinUser()); hashCode = 31 * hashCode + Objects.hashCode(adDomainJoinPassword()); return hashCode; } @Override public final boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof KerberosAttributes)) { return false; } KerberosAttributes other = (KerberosAttributes) obj; return Objects.equals(realm(), other.realm()) && Objects.equals(kdcAdminPassword(), other.kdcAdminPassword()) && Objects.equals(crossRealmTrustPrincipalPassword(), other.crossRealmTrustPrincipalPassword()) && Objects.equals(adDomainJoinUser(), other.adDomainJoinUser()) && Objects.equals(adDomainJoinPassword(), other.adDomainJoinPassword()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("KerberosAttributes").add("Realm", realm()).add("KdcAdminPassword", kdcAdminPassword()) .add("CrossRealmTrustPrincipalPassword", crossRealmTrustPrincipalPassword()) .add("ADDomainJoinUser", adDomainJoinUser()).add("ADDomainJoinPassword", adDomainJoinPassword()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "Realm": return Optional.ofNullable(clazz.cast(realm())); case "KdcAdminPassword": return Optional.ofNullable(clazz.cast(kdcAdminPassword())); case "CrossRealmTrustPrincipalPassword": return Optional.ofNullable(clazz.cast(crossRealmTrustPrincipalPassword())); case "ADDomainJoinUser": return Optional.ofNullable(clazz.cast(adDomainJoinUser())); case "ADDomainJoinPassword": return Optional.ofNullable(clazz.cast(adDomainJoinPassword())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((KerberosAttributes) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

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

* * @param realm * The name of the Kerberos realm to which all nodes in a cluster belong. For example, * EC2.INTERNAL. * @return Returns a reference to this object so that method calls can be chained together. */ Builder realm(String realm); /** *

* 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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ Builder kdcAdminPassword(String kdcAdminPassword); /** *

* 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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ Builder crossRealmTrustPrincipalPassword(String crossRealmTrustPrincipalPassword); /** *

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

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ Builder adDomainJoinUser(String adDomainJoinUser); /** *

* The Active Directory password for ADDomainJoinUser. *

* * @param adDomainJoinPassword * The Active Directory password for ADDomainJoinUser. * @return Returns a reference to this object so that method calls can be chained together. */ Builder adDomainJoinPassword(String adDomainJoinPassword); } static final class BuilderImpl implements Builder { private String realm; private String kdcAdminPassword; private String crossRealmTrustPrincipalPassword; private String adDomainJoinUser; private String adDomainJoinPassword; private BuilderImpl() { } private BuilderImpl(KerberosAttributes model) { realm(model.realm); kdcAdminPassword(model.kdcAdminPassword); crossRealmTrustPrincipalPassword(model.crossRealmTrustPrincipalPassword); adDomainJoinUser(model.adDomainJoinUser); adDomainJoinPassword(model.adDomainJoinPassword); } public final String getRealm() { return realm; } public final void setRealm(String realm) { this.realm = realm; } @Override public final Builder realm(String realm) { this.realm = realm; return this; } public final String getKdcAdminPassword() { return kdcAdminPassword; } public final void setKdcAdminPassword(String kdcAdminPassword) { this.kdcAdminPassword = kdcAdminPassword; } @Override public final Builder kdcAdminPassword(String kdcAdminPassword) { this.kdcAdminPassword = kdcAdminPassword; return this; } public final String getCrossRealmTrustPrincipalPassword() { return crossRealmTrustPrincipalPassword; } public final void setCrossRealmTrustPrincipalPassword(String crossRealmTrustPrincipalPassword) { this.crossRealmTrustPrincipalPassword = crossRealmTrustPrincipalPassword; } @Override public final Builder crossRealmTrustPrincipalPassword(String crossRealmTrustPrincipalPassword) { this.crossRealmTrustPrincipalPassword = crossRealmTrustPrincipalPassword; return this; } public final String getAdDomainJoinUser() { return adDomainJoinUser; } public final void setAdDomainJoinUser(String adDomainJoinUser) { this.adDomainJoinUser = adDomainJoinUser; } @Override public final Builder adDomainJoinUser(String adDomainJoinUser) { this.adDomainJoinUser = adDomainJoinUser; return this; } public final String getAdDomainJoinPassword() { return adDomainJoinPassword; } public final void setAdDomainJoinPassword(String adDomainJoinPassword) { this.adDomainJoinPassword = adDomainJoinPassword; } @Override public final Builder adDomainJoinPassword(String adDomainJoinPassword) { this.adDomainJoinPassword = adDomainJoinPassword; return this; } @Override public KerberosAttributes build() { return new KerberosAttributes(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy