@Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("{");
        if (getTunnelInsideCidr() != null)
            sb.append("TunnelInsideCidr: ").append(getTunnelInsideCidr()).append(",");
        if (getTunnelInsideIpv6Cidr() != null)
            sb.append("TunnelInsideIpv6Cidr: ").append(getTunnelInsideIpv6Cidr()).append(",");
        if (getPreSharedKey() != null)
            sb.append("PreSharedKey: ").append("***Sensitive Data Redacted***").append(",");
        if (getPhase1LifetimeSeconds() != null)
            sb.append("Phase1LifetimeSeconds: ").append(getPhase1LifetimeSeconds()).append(",");
        if (getPhase2LifetimeSeconds() != null)
            sb.append("Phase2LifetimeSeconds: ").append(getPhase2LifetimeSeconds()).append(",");
        if (getRekeyMarginTimeSeconds() != null)
            sb.append("RekeyMarginTimeSeconds: ").append(getRekeyMarginTimeSeconds()).append(",");
        if (getRekeyFuzzPercentage() != null)
            sb.append("RekeyFuzzPercentage: ").append(getRekeyFuzzPercentage()).append(",");
        if (getReplayWindowSize() != null)
            sb.append("ReplayWindowSize: ").append(getReplayWindowSize()).append(",");
        if (getDPDTimeoutSeconds() != null)
            sb.append("DPDTimeoutSeconds: ").append(getDPDTimeoutSeconds()).append(",");
        if (getDPDTimeoutAction() != null)
            sb.append("DPDTimeoutAction: ").append(getDPDTimeoutAction()).append(",");
        if (getPhase1EncryptionAlgorithms() != null)
            sb.append("Phase1EncryptionAlgorithms: ").append(getPhase1EncryptionAlgorithms()).append(",");
        if (getPhase2EncryptionAlgorithms() != null)
            sb.append("Phase2EncryptionAlgorithms: ").append(getPhase2EncryptionAlgorithms()).append(",");
        if (getPhase1IntegrityAlgorithms() != null)
            sb.append("Phase1IntegrityAlgorithms: ").append(getPhase1IntegrityAlgorithms()).append(",");
        if (getPhase2IntegrityAlgorithms() != null)
            sb.append("Phase2IntegrityAlgorithms: ").append(getPhase2IntegrityAlgorithms()).append(",");
        if (getPhase1DHGroupNumbers() != null)
            sb.append("Phase1DHGroupNumbers: ").append(getPhase1DHGroupNumbers()).append(",");
        if (getPhase2DHGroupNumbers() != null)
            sb.append("Phase2DHGroupNumbers: ").append(getPhase2DHGroupNumbers()).append(",");
        if (getIKEVersions() != null)
            sb.append("IKEVersions: ").append(getIKEVersions()).append(",");
        if (getStartupAction() != null)
            sb.append("StartupAction: ").append(getStartupAction()).append(",");
        if (getLogOptions() != null)
            sb.append("LogOptions: ").append(getLogOptions()).append(",");
        if (getEnableTunnelLifecycleControl() != null)
            sb.append("EnableTunnelLifecycleControl: ").append(getEnableTunnelLifecycleControl());
        sb.append("}");
        return sb.toString();
    }
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.

@return A string representation of this object.

@see java.lang.Object#toString()
aws-java-sdk-ec2/src/main/java/com/amazonaws/services/ec2/model/VpnTunnelOptionsSpecification.java