/* * Copyright 2012-2017 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 com.amazonaws.services.directory.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** * <p> * Contains information about an AWS Directory Service directory. * </p> * * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DirectoryDescription" target="_top">AWS API * Documentation</a> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DirectoryDescription implements Serializable, Cloneable, StructuredPojo { /** * <p> * The directory identifier. * </p> */ private String directoryId; /** * <p> * The fully-qualified name of the directory. * </p> */ private String name; /** * <p> * The short name of the directory. * </p> */ private String shortName; /** * <p> * The directory size. * </p> */ private String size; /** * <p> * The alias for the directory. If no alias has been created for the directory, the alias is the directory * identifier, such as <code>d-XXXXXXXXXX</code>. * </p> */ private String alias; /** * <p> * The access URL for the directory, such as <code>http://<alias>.awsapps.com</code>. If no alias has been * created for the directory, <code><alias></code> is the directory identifier, such as * <code>d-XXXXXXXXXX</code>. * </p> */ private String accessUrl; /** * <p> * The textual description for the directory. * </p> */ private String description; /** * <p> * The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these are the * IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, these are the IP * addresses of the DNS servers or domain controllers in the on-premises directory to which the AD Connector is * connected. * </p> */ private com.amazonaws.internal.SdkInternalList<String> dnsIpAddrs; /** * <p> * The current stage of the directory. * </p> */ private String stage; /** * <p> * Specifies when the directory was created. * </p> */ private java.util.Date launchTime; /** * <p> * The date and time that the stage was last updated. * </p> */ private java.util.Date stageLastUpdatedDateTime; /** * <p> * The directory size. * </p> */ private String type; /** * <p> * A <a>DirectoryVpcSettingsDescription</a> object that contains additional information about a directory. This * member is only present if the directory is a Simple AD or Managed AD directory. * </p> */ private DirectoryVpcSettingsDescription vpcSettings; /** * <p> * A <a>DirectoryConnectSettingsDescription</a> object that contains additional information about an AD Connector * directory. This member is only present if the directory is an AD Connector directory. * </p> */ private DirectoryConnectSettingsDescription connectSettings; /** * <p> * A <a>RadiusSettings</a> object that contains information about the RADIUS server configured for this directory. * </p> */ private RadiusSettings radiusSettings; /** * <p> * The status of the RADIUS MFA server connection. * </p> */ private String radiusStatus; /** * <p> * Additional information about the directory stage. * </p> */ private String stageReason; /** * <p> * Indicates if single-sign on is enabled for the directory. For more information, see <a>EnableSso</a> and * <a>DisableSso</a>. * </p> */ private Boolean ssoEnabled; /** * <p> * The directory identifier. * </p> * * @param directoryId * The directory identifier. */ public void setDirectoryId(String directoryId) { this.directoryId = directoryId; } /** * <p> * The directory identifier. * </p> * * @return The directory identifier. */ public String getDirectoryId() { return this.directoryId; } /** * <p> * The directory identifier. * </p> * * @param directoryId * The directory identifier. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withDirectoryId(String directoryId) { setDirectoryId(directoryId); return this; } /** * <p> * The fully-qualified name of the directory. * </p> * * @param name * The fully-qualified name of the directory. */ public void setName(String name) { this.name = name; } /** * <p> * The fully-qualified name of the directory. * </p> * * @return The fully-qualified name of the directory. */ public String getName() { return this.name; } /** * <p> * The fully-qualified name of the directory. * </p> * * @param name * The fully-qualified name of the directory. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withName(String name) { setName(name); return this; } /** * <p> * The short name of the directory. * </p> * * @param shortName * The short name of the directory. */ public void setShortName(String shortName) { this.shortName = shortName; } /** * <p> * The short name of the directory. * </p> * * @return The short name of the directory. */ public String getShortName() { return this.shortName; } /** * <p> * The short name of the directory. * </p> * * @param shortName * The short name of the directory. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withShortName(String shortName) { setShortName(shortName); return this; } /** * <p> * The directory size. * </p> * * @param size * The directory size. * @see DirectorySize */ public void setSize(String size) { this.size = size; } /** * <p> * The directory size. * </p> * * @return The directory size. * @see DirectorySize */ public String getSize() { return this.size; } /** * <p> * The directory size. * </p> * * @param size * The directory size. * @return Returns a reference to this object so that method calls can be chained together. * @see DirectorySize */ public DirectoryDescription withSize(String size) { setSize(size); return this; } /** * <p> * The directory size. * </p> * * @param size * The directory size. * @see DirectorySize */ public void setSize(DirectorySize size) { this.size = size.toString(); } /** * <p> * The directory size. * </p> * * @param size * The directory size. * @return Returns a reference to this object so that method calls can be chained together. * @see DirectorySize */ public DirectoryDescription withSize(DirectorySize size) { setSize(size); return this; } /** * <p> * The alias for the directory. If no alias has been created for the directory, the alias is the directory * identifier, such as <code>d-XXXXXXXXXX</code>. * </p> * * @param alias * The alias for the directory. If no alias has been created for the directory, the alias is the directory * identifier, such as <code>d-XXXXXXXXXX</code>. */ public void setAlias(String alias) { this.alias = alias; } /** * <p> * The alias for the directory. If no alias has been created for the directory, the alias is the directory * identifier, such as <code>d-XXXXXXXXXX</code>. * </p> * * @return The alias for the directory. If no alias has been created for the directory, the alias is the directory * identifier, such as <code>d-XXXXXXXXXX</code>. */ public String getAlias() { return this.alias; } /** * <p> * The alias for the directory. If no alias has been created for the directory, the alias is the directory * identifier, such as <code>d-XXXXXXXXXX</code>. * </p> * * @param alias * The alias for the directory. If no alias has been created for the directory, the alias is the directory * identifier, such as <code>d-XXXXXXXXXX</code>. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withAlias(String alias) { setAlias(alias); return this; } /** * <p> * The access URL for the directory, such as <code>http://<alias>.awsapps.com</code>. If no alias has been * created for the directory, <code><alias></code> is the directory identifier, such as * <code>d-XXXXXXXXXX</code>. * </p> * * @param accessUrl * The access URL for the directory, such as <code>http://<alias>.awsapps.com</code>. If no alias has * been created for the directory, <code><alias></code> is the directory identifier, such as * <code>d-XXXXXXXXXX</code>. */ public void setAccessUrl(String accessUrl) { this.accessUrl = accessUrl; } /** * <p> * The access URL for the directory, such as <code>http://<alias>.awsapps.com</code>. If no alias has been * created for the directory, <code><alias></code> is the directory identifier, such as * <code>d-XXXXXXXXXX</code>. * </p> * * @return The access URL for the directory, such as <code>http://<alias>.awsapps.com</code>. If no alias has * been created for the directory, <code><alias></code> is the directory identifier, such as * <code>d-XXXXXXXXXX</code>. */ public String getAccessUrl() { return this.accessUrl; } /** * <p> * The access URL for the directory, such as <code>http://<alias>.awsapps.com</code>. If no alias has been * created for the directory, <code><alias></code> is the directory identifier, such as * <code>d-XXXXXXXXXX</code>. * </p> * * @param accessUrl * The access URL for the directory, such as <code>http://<alias>.awsapps.com</code>. If no alias has * been created for the directory, <code><alias></code> is the directory identifier, such as * <code>d-XXXXXXXXXX</code>. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withAccessUrl(String accessUrl) { setAccessUrl(accessUrl); return this; } /** * <p> * The textual description for the directory. * </p> * * @param description * The textual description for the directory. */ public void setDescription(String description) { this.description = description; } /** * <p> * The textual description for the directory. * </p> * * @return The textual description for the directory. */ public String getDescription() { return this.description; } /** * <p> * The textual description for the directory. * </p> * * @param description * The textual description for the directory. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withDescription(String description) { setDescription(description); return this; } /** * <p> * The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these are the * IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, these are the IP * addresses of the DNS servers or domain controllers in the on-premises directory to which the AD Connector is * connected. * </p> * * @return The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these * are the IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, * these are the IP addresses of the DNS servers or domain controllers in the on-premises directory to which * the AD Connector is connected. */ public java.util.List<String> getDnsIpAddrs() { if (dnsIpAddrs == null) { dnsIpAddrs = new com.amazonaws.internal.SdkInternalList<String>(); } return dnsIpAddrs; } /** * <p> * The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these are the * IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, these are the IP * addresses of the DNS servers or domain controllers in the on-premises directory to which the AD Connector is * connected. * </p> * * @param dnsIpAddrs * The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these * are the IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, * these are the IP addresses of the DNS servers or domain controllers in the on-premises directory to which * the AD Connector is connected. */ public void setDnsIpAddrs(java.util.Collection<String> dnsIpAddrs) { if (dnsIpAddrs == null) { this.dnsIpAddrs = null; return; } this.dnsIpAddrs = new com.amazonaws.internal.SdkInternalList<String>(dnsIpAddrs); } /** * <p> * The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these are the * IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, these are the IP * addresses of the DNS servers or domain controllers in the on-premises directory to which the AD Connector is * connected. * </p> * <p> * <b>NOTE:</b> This method appends the values to the existing list (if any). Use * {@link #setDnsIpAddrs(java.util.Collection)} or {@link #withDnsIpAddrs(java.util.Collection)} if you want to * override the existing values. * </p> * * @param dnsIpAddrs * The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these * are the IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, * these are the IP addresses of the DNS servers or domain controllers in the on-premises directory to which * the AD Connector is connected. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withDnsIpAddrs(String... dnsIpAddrs) { if (this.dnsIpAddrs == null) { setDnsIpAddrs(new com.amazonaws.internal.SdkInternalList<String>(dnsIpAddrs.length)); } for (String ele : dnsIpAddrs) { this.dnsIpAddrs.add(ele); } return this; } /** * <p> * The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these are the * IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, these are the IP * addresses of the DNS servers or domain controllers in the on-premises directory to which the AD Connector is * connected. * </p> * * @param dnsIpAddrs * The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these * are the IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, * these are the IP addresses of the DNS servers or domain controllers in the on-premises directory to which * the AD Connector is connected. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withDnsIpAddrs(java.util.Collection<String> dnsIpAddrs) { setDnsIpAddrs(dnsIpAddrs); return this; } /** * <p> * The current stage of the directory. * </p> * * @param stage * The current stage of the directory. * @see DirectoryStage */ public void setStage(String stage) { this.stage = stage; } /** * <p> * The current stage of the directory. * </p> * * @return The current stage of the directory. * @see DirectoryStage */ public String getStage() { return this.stage; } /** * <p> * The current stage of the directory. * </p> * * @param stage * The current stage of the directory. * @return Returns a reference to this object so that method calls can be chained together. * @see DirectoryStage */ public DirectoryDescription withStage(String stage) { setStage(stage); return this; } /** * <p> * The current stage of the directory. * </p> * * @param stage * The current stage of the directory. * @see DirectoryStage */ public void setStage(DirectoryStage stage) { this.stage = stage.toString(); } /** * <p> * The current stage of the directory. * </p> * * @param stage * The current stage of the directory. * @return Returns a reference to this object so that method calls can be chained together. * @see DirectoryStage */ public DirectoryDescription withStage(DirectoryStage stage) { setStage(stage); return this; } /** * <p> * Specifies when the directory was created. * </p> * * @param launchTime * Specifies when the directory was created. */ public void setLaunchTime(java.util.Date launchTime) { this.launchTime = launchTime; } /** * <p> * Specifies when the directory was created. * </p> * * @return Specifies when the directory was created. */ public java.util.Date getLaunchTime() { return this.launchTime; } /** * <p> * Specifies when the directory was created. * </p> * * @param launchTime * Specifies when the directory was created. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withLaunchTime(java.util.Date launchTime) { setLaunchTime(launchTime); return this; } /** * <p> * The date and time that the stage was last updated. * </p> * * @param stageLastUpdatedDateTime * The date and time that the stage was last updated. */ public void setStageLastUpdatedDateTime(java.util.Date stageLastUpdatedDateTime) { this.stageLastUpdatedDateTime = stageLastUpdatedDateTime; } /** * <p> * The date and time that the stage was last updated. * </p> * * @return The date and time that the stage was last updated. */ public java.util.Date getStageLastUpdatedDateTime() { return this.stageLastUpdatedDateTime; } /** * <p> * The date and time that the stage was last updated. * </p> * * @param stageLastUpdatedDateTime * The date and time that the stage was last updated. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withStageLastUpdatedDateTime(java.util.Date stageLastUpdatedDateTime) { setStageLastUpdatedDateTime(stageLastUpdatedDateTime); return this; } /** * <p> * The directory size. * </p> * * @param type * The directory size. * @see DirectoryType */ public void setType(String type) { this.type = type; } /** * <p> * The directory size. * </p> * * @return The directory size. * @see DirectoryType */ public String getType() { return this.type; } /** * <p> * The directory size. * </p> * * @param type * The directory size. * @return Returns a reference to this object so that method calls can be chained together. * @see DirectoryType */ public DirectoryDescription withType(String type) { setType(type); return this; } /** * <p> * The directory size. * </p> * * @param type * The directory size. * @see DirectoryType */ public void setType(DirectoryType type) { this.type = type.toString(); } /** * <p> * The directory size. * </p> * * @param type * The directory size. * @return Returns a reference to this object so that method calls can be chained together. * @see DirectoryType */ public DirectoryDescription withType(DirectoryType type) { setType(type); return this; } /** * <p> * A <a>DirectoryVpcSettingsDescription</a> object that contains additional information about a directory. This * member is only present if the directory is a Simple AD or Managed AD directory. * </p> * * @param vpcSettings * A <a>DirectoryVpcSettingsDescription</a> object that contains additional information about a directory. * This member is only present if the directory is a Simple AD or Managed AD directory. */ public void setVpcSettings(DirectoryVpcSettingsDescription vpcSettings) { this.vpcSettings = vpcSettings; } /** * <p> * A <a>DirectoryVpcSettingsDescription</a> object that contains additional information about a directory. This * member is only present if the directory is a Simple AD or Managed AD directory. * </p> * * @return A <a>DirectoryVpcSettingsDescription</a> object that contains additional information about a directory. * This member is only present if the directory is a Simple AD or Managed AD directory. */ public DirectoryVpcSettingsDescription getVpcSettings() { return this.vpcSettings; } /** * <p> * A <a>DirectoryVpcSettingsDescription</a> object that contains additional information about a directory. This * member is only present if the directory is a Simple AD or Managed AD directory. * </p> * * @param vpcSettings * A <a>DirectoryVpcSettingsDescription</a> object that contains additional information about a directory. * This member is only present if the directory is a Simple AD or Managed AD directory. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withVpcSettings(DirectoryVpcSettingsDescription vpcSettings) { setVpcSettings(vpcSettings); return this; } /** * <p> * A <a>DirectoryConnectSettingsDescription</a> object that contains additional information about an AD Connector * directory. This member is only present if the directory is an AD Connector directory. * </p> * * @param connectSettings * A <a>DirectoryConnectSettingsDescription</a> object that contains additional information about an AD * Connector directory. This member is only present if the directory is an AD Connector directory. */ public void setConnectSettings(DirectoryConnectSettingsDescription connectSettings) { this.connectSettings = connectSettings; } /** * <p> * A <a>DirectoryConnectSettingsDescription</a> object that contains additional information about an AD Connector * directory. This member is only present if the directory is an AD Connector directory. * </p> * * @return A <a>DirectoryConnectSettingsDescription</a> object that contains additional information about an AD * Connector directory. This member is only present if the directory is an AD Connector directory. */ public DirectoryConnectSettingsDescription getConnectSettings() { return this.connectSettings; } /** * <p> * A <a>DirectoryConnectSettingsDescription</a> object that contains additional information about an AD Connector * directory. This member is only present if the directory is an AD Connector directory. * </p> * * @param connectSettings * A <a>DirectoryConnectSettingsDescription</a> object that contains additional information about an AD * Connector directory. This member is only present if the directory is an AD Connector directory. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withConnectSettings(DirectoryConnectSettingsDescription connectSettings) { setConnectSettings(connectSettings); return this; } /** * <p> * A <a>RadiusSettings</a> object that contains information about the RADIUS server configured for this directory. * </p> * * @param radiusSettings * A <a>RadiusSettings</a> object that contains information about the RADIUS server configured for this * directory. */ public void setRadiusSettings(RadiusSettings radiusSettings) { this.radiusSettings = radiusSettings; } /** * <p> * A <a>RadiusSettings</a> object that contains information about the RADIUS server configured for this directory. * </p> * * @return A <a>RadiusSettings</a> object that contains information about the RADIUS server configured for this * directory. */ public RadiusSettings getRadiusSettings() { return this.radiusSettings; } /** * <p> * A <a>RadiusSettings</a> object that contains information about the RADIUS server configured for this directory. * </p> * * @param radiusSettings * A <a>RadiusSettings</a> object that contains information about the RADIUS server configured for this * directory. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withRadiusSettings(RadiusSettings radiusSettings) { setRadiusSettings(radiusSettings); return this; } /** * <p> * The status of the RADIUS MFA server connection. * </p> * * @param radiusStatus * The status of the RADIUS MFA server connection. * @see RadiusStatus */ public void setRadiusStatus(String radiusStatus) { this.radiusStatus = radiusStatus; } /** * <p> * The status of the RADIUS MFA server connection. * </p> * * @return The status of the RADIUS MFA server connection. * @see RadiusStatus */ public String getRadiusStatus() { return this.radiusStatus; } /** * <p> * The status of the RADIUS MFA server connection. * </p> * * @param radiusStatus * The status of the RADIUS MFA server connection. * @return Returns a reference to this object so that method calls can be chained together. * @see RadiusStatus */ public DirectoryDescription withRadiusStatus(String radiusStatus) { setRadiusStatus(radiusStatus); return this; } /** * <p> * The status of the RADIUS MFA server connection. * </p> * * @param radiusStatus * The status of the RADIUS MFA server connection. * @see RadiusStatus */ public void setRadiusStatus(RadiusStatus radiusStatus) { this.radiusStatus = radiusStatus.toString(); } /** * <p> * The status of the RADIUS MFA server connection. * </p> * * @param radiusStatus * The status of the RADIUS MFA server connection. * @return Returns a reference to this object so that method calls can be chained together. * @see RadiusStatus */ public DirectoryDescription withRadiusStatus(RadiusStatus radiusStatus) { setRadiusStatus(radiusStatus); return this; } /** * <p> * Additional information about the directory stage. * </p> * * @param stageReason * Additional information about the directory stage. */ public void setStageReason(String stageReason) { this.stageReason = stageReason; } /** * <p> * Additional information about the directory stage. * </p> * * @return Additional information about the directory stage. */ public String getStageReason() { return this.stageReason; } /** * <p> * Additional information about the directory stage. * </p> * * @param stageReason * Additional information about the directory stage. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withStageReason(String stageReason) { setStageReason(stageReason); return this; } /** * <p> * Indicates if single-sign on is enabled for the directory. For more information, see <a>EnableSso</a> and * <a>DisableSso</a>. * </p> * * @param ssoEnabled * Indicates if single-sign on is enabled for the directory. For more information, see <a>EnableSso</a> and * <a>DisableSso</a>. */ public void setSsoEnabled(Boolean ssoEnabled) { this.ssoEnabled = ssoEnabled; } /** * <p> * Indicates if single-sign on is enabled for the directory. For more information, see <a>EnableSso</a> and * <a>DisableSso</a>. * </p> * * @return Indicates if single-sign on is enabled for the directory. For more information, see <a>EnableSso</a> and * <a>DisableSso</a>. */ public Boolean getSsoEnabled() { return this.ssoEnabled; } /** * <p> * Indicates if single-sign on is enabled for the directory. For more information, see <a>EnableSso</a> and * <a>DisableSso</a>. * </p> * * @param ssoEnabled * Indicates if single-sign on is enabled for the directory. For more information, see <a>EnableSso</a> and * <a>DisableSso</a>. * @return Returns a reference to this object so that method calls can be chained together. */ public DirectoryDescription withSsoEnabled(Boolean ssoEnabled) { setSsoEnabled(ssoEnabled); return this; } /** * <p> * Indicates if single-sign on is enabled for the directory. For more information, see <a>EnableSso</a> and * <a>DisableSso</a>. * </p> * * @return Indicates if single-sign on is enabled for the directory. For more information, see <a>EnableSso</a> and * <a>DisableSso</a>. */ public Boolean isSsoEnabled() { return this.ssoEnabled; } /** * Returns a string representation of this object; useful for testing and debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getDirectoryId() != null) sb.append("DirectoryId: ").append(getDirectoryId()).append(","); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getShortName() != null) sb.append("ShortName: ").append(getShortName()).append(","); if (getSize() != null) sb.append("Size: ").append(getSize()).append(","); if (getAlias() != null) sb.append("Alias: ").append(getAlias()).append(","); if (getAccessUrl() != null) sb.append("AccessUrl: ").append(getAccessUrl()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getDnsIpAddrs() != null) sb.append("DnsIpAddrs: ").append(getDnsIpAddrs()).append(","); if (getStage() != null) sb.append("Stage: ").append(getStage()).append(","); if (getLaunchTime() != null) sb.append("LaunchTime: ").append(getLaunchTime()).append(","); if (getStageLastUpdatedDateTime() != null) sb.append("StageLastUpdatedDateTime: ").append(getStageLastUpdatedDateTime()).append(","); if (getType() != null) sb.append("Type: ").append(getType()).append(","); if (getVpcSettings() != null) sb.append("VpcSettings: ").append(getVpcSettings()).append(","); if (getConnectSettings() != null) sb.append("ConnectSettings: ").append(getConnectSettings()).append(","); if (getRadiusSettings() != null) sb.append("RadiusSettings: ").append(getRadiusSettings()).append(","); if (getRadiusStatus() != null) sb.append("RadiusStatus: ").append(getRadiusStatus()).append(","); if (getStageReason() != null) sb.append("StageReason: ").append(getStageReason()).append(","); if (getSsoEnabled() != null) sb.append("SsoEnabled: ").append(getSsoEnabled()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DirectoryDescription == false) return false; DirectoryDescription other = (DirectoryDescription) obj; if (other.getDirectoryId() == null ^ this.getDirectoryId() == null) return false; if (other.getDirectoryId() != null && other.getDirectoryId().equals(this.getDirectoryId()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getShortName() == null ^ this.getShortName() == null) return false; if (other.getShortName() != null && other.getShortName().equals(this.getShortName()) == false) return false; if (other.getSize() == null ^ this.getSize() == null) return false; if (other.getSize() != null && other.getSize().equals(this.getSize()) == false) return false; if (other.getAlias() == null ^ this.getAlias() == null) return false; if (other.getAlias() != null && other.getAlias().equals(this.getAlias()) == false) return false; if (other.getAccessUrl() == null ^ this.getAccessUrl() == null) return false; if (other.getAccessUrl() != null && other.getAccessUrl().equals(this.getAccessUrl()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getDnsIpAddrs() == null ^ this.getDnsIpAddrs() == null) return false; if (other.getDnsIpAddrs() != null && other.getDnsIpAddrs().equals(this.getDnsIpAddrs()) == false) return false; if (other.getStage() == null ^ this.getStage() == null) return false; if (other.getStage() != null && other.getStage().equals(this.getStage()) == false) return false; if (other.getLaunchTime() == null ^ this.getLaunchTime() == null) return false; if (other.getLaunchTime() != null && other.getLaunchTime().equals(this.getLaunchTime()) == false) return false; if (other.getStageLastUpdatedDateTime() == null ^ this.getStageLastUpdatedDateTime() == null) return false; if (other.getStageLastUpdatedDateTime() != null && other.getStageLastUpdatedDateTime().equals(this.getStageLastUpdatedDateTime()) == false) return false; if (other.getType() == null ^ this.getType() == null) return false; if (other.getType() != null && other.getType().equals(this.getType()) == false) return false; if (other.getVpcSettings() == null ^ this.getVpcSettings() == null) return false; if (other.getVpcSettings() != null && other.getVpcSettings().equals(this.getVpcSettings()) == false) return false; if (other.getConnectSettings() == null ^ this.getConnectSettings() == null) return false; if (other.getConnectSettings() != null && other.getConnectSettings().equals(this.getConnectSettings()) == false) return false; if (other.getRadiusSettings() == null ^ this.getRadiusSettings() == null) return false; if (other.getRadiusSettings() != null && other.getRadiusSettings().equals(this.getRadiusSettings()) == false) return false; if (other.getRadiusStatus() == null ^ this.getRadiusStatus() == null) return false; if (other.getRadiusStatus() != null && other.getRadiusStatus().equals(this.getRadiusStatus()) == false) return false; if (other.getStageReason() == null ^ this.getStageReason() == null) return false; if (other.getStageReason() != null && other.getStageReason().equals(this.getStageReason()) == false) return false; if (other.getSsoEnabled() == null ^ this.getSsoEnabled() == null) return false; if (other.getSsoEnabled() != null && other.getSsoEnabled().equals(this.getSsoEnabled()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDirectoryId() == null) ? 0 : getDirectoryId().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getShortName() == null) ? 0 : getShortName().hashCode()); hashCode = prime * hashCode + ((getSize() == null) ? 0 : getSize().hashCode()); hashCode = prime * hashCode + ((getAlias() == null) ? 0 : getAlias().hashCode()); hashCode = prime * hashCode + ((getAccessUrl() == null) ? 0 : getAccessUrl().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getDnsIpAddrs() == null) ? 0 : getDnsIpAddrs().hashCode()); hashCode = prime * hashCode + ((getStage() == null) ? 0 : getStage().hashCode()); hashCode = prime * hashCode + ((getLaunchTime() == null) ? 0 : getLaunchTime().hashCode()); hashCode = prime * hashCode + ((getStageLastUpdatedDateTime() == null) ? 0 : getStageLastUpdatedDateTime().hashCode()); hashCode = prime * hashCode + ((getType() == null) ? 0 : getType().hashCode()); hashCode = prime * hashCode + ((getVpcSettings() == null) ? 0 : getVpcSettings().hashCode()); hashCode = prime * hashCode + ((getConnectSettings() == null) ? 0 : getConnectSettings().hashCode()); hashCode = prime * hashCode + ((getRadiusSettings() == null) ? 0 : getRadiusSettings().hashCode()); hashCode = prime * hashCode + ((getRadiusStatus() == null) ? 0 : getRadiusStatus().hashCode()); hashCode = prime * hashCode + ((getStageReason() == null) ? 0 : getStageReason().hashCode()); hashCode = prime * hashCode + ((getSsoEnabled() == null) ? 0 : getSsoEnabled().hashCode()); return hashCode; } @Override public DirectoryDescription clone() { try { return (DirectoryDescription) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.directory.model.transform.DirectoryDescriptionMarshaller.getInstance().marshall(this, protocolMarshaller); } }