/* * Copyright 2018-2023 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.securityhub.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* The VPN tunnel options. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AwsEc2VpnConnectionOptionsTunnelOptionsDetails implements Serializable, Cloneable, StructuredPojo { /** ** The number of seconds after which a Dead Peer Detection (DPD) timeout occurs. *
*/ private Integer dpdTimeoutSeconds; /** ** The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel. *
*/ private java.util.List* The external IP address of the VPN tunnel. *
*/ private String outsideIpAddress; /** ** The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations. *
*/ private java.util.List* The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations. *
*/ private java.util.List* The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations. *
*/ private java.util.List* The lifetime for phase 1 of the IKE negotiation, in seconds. *
*/ private Integer phase1LifetimeSeconds; /** ** The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations. *
*/ private java.util.List* The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations. *
*/ private java.util.List* The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations. *
*/ private java.util.List* The lifetime for phase 2 of the IKE negotiation, in seconds. *
*/ private Integer phase2LifetimeSeconds; /** ** The preshared key to establish initial authentication between the virtual private gateway and the customer * gateway. *
*/ private String preSharedKey; /** *
* The percentage of the rekey window, which is determined by RekeyMarginTimeSeconds
during which the
* rekey time is randomly selected.
*
* The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services side of * the VPN connection performs an IKE rekey. *
*/ private Integer rekeyMarginTimeSeconds; /** ** The number of packets in an IKE replay window. *
*/ private Integer replayWindowSize; /** ** The range of inside IPv4 addresses for the tunnel. *
*/ private String tunnelInsideCidr; /** ** The number of seconds after which a Dead Peer Detection (DPD) timeout occurs. *
* * @param dpdTimeoutSeconds * The number of seconds after which a Dead Peer Detection (DPD) timeout occurs. */ public void setDpdTimeoutSeconds(Integer dpdTimeoutSeconds) { this.dpdTimeoutSeconds = dpdTimeoutSeconds; } /** ** The number of seconds after which a Dead Peer Detection (DPD) timeout occurs. *
* * @return The number of seconds after which a Dead Peer Detection (DPD) timeout occurs. */ public Integer getDpdTimeoutSeconds() { return this.dpdTimeoutSeconds; } /** ** The number of seconds after which a Dead Peer Detection (DPD) timeout occurs. *
* * @param dpdTimeoutSeconds * The number of seconds after which a Dead Peer Detection (DPD) timeout occurs. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withDpdTimeoutSeconds(Integer dpdTimeoutSeconds) { setDpdTimeoutSeconds(dpdTimeoutSeconds); return this; } /** ** The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel. *
* * @return The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel. */ public java.util.List* The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel. *
* * @param ikeVersions * The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel. */ public void setIkeVersions(java.util.Collection* The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setIkeVersions(java.util.Collection)} or {@link #withIkeVersions(java.util.Collection)} if you want to * override the existing values. *
* * @param ikeVersions * The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withIkeVersions(String... ikeVersions) { if (this.ikeVersions == null) { setIkeVersions(new java.util.ArrayList* The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel. *
* * @param ikeVersions * The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withIkeVersions(java.util.Collection* The external IP address of the VPN tunnel. *
* * @param outsideIpAddress * The external IP address of the VPN tunnel. */ public void setOutsideIpAddress(String outsideIpAddress) { this.outsideIpAddress = outsideIpAddress; } /** ** The external IP address of the VPN tunnel. *
* * @return The external IP address of the VPN tunnel. */ public String getOutsideIpAddress() { return this.outsideIpAddress; } /** ** The external IP address of the VPN tunnel. *
* * @param outsideIpAddress * The external IP address of the VPN tunnel. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withOutsideIpAddress(String outsideIpAddress) { setOutsideIpAddress(outsideIpAddress); return this; } /** ** The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations. *
* * @return The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations. */ public java.util.List* The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations. *
* * @param phase1DhGroupNumbers * The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations. */ public void setPhase1DhGroupNumbers(java.util.Collection* The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setPhase1DhGroupNumbers(java.util.Collection)} or {@link #withPhase1DhGroupNumbers(java.util.Collection)} * if you want to override the existing values. *
* * @param phase1DhGroupNumbers * The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase1DhGroupNumbers(Integer... phase1DhGroupNumbers) { if (this.phase1DhGroupNumbers == null) { setPhase1DhGroupNumbers(new java.util.ArrayList* The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations. *
* * @param phase1DhGroupNumbers * The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase1DhGroupNumbers(java.util.Collection* The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations. *
* * @return The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations. */ public java.util.List* The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations. *
* * @param phase1EncryptionAlgorithms * The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations. */ public void setPhase1EncryptionAlgorithms(java.util.Collection* The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setPhase1EncryptionAlgorithms(java.util.Collection)} or * {@link #withPhase1EncryptionAlgorithms(java.util.Collection)} if you want to override the existing values. *
* * @param phase1EncryptionAlgorithms * The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase1EncryptionAlgorithms(String... phase1EncryptionAlgorithms) { if (this.phase1EncryptionAlgorithms == null) { setPhase1EncryptionAlgorithms(new java.util.ArrayList* The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations. *
* * @param phase1EncryptionAlgorithms * The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase1EncryptionAlgorithms(java.util.Collection* The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations. *
* * @return The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations. */ public java.util.List* The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations. *
* * @param phase1IntegrityAlgorithms * The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations. */ public void setPhase1IntegrityAlgorithms(java.util.Collection* The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setPhase1IntegrityAlgorithms(java.util.Collection)} or * {@link #withPhase1IntegrityAlgorithms(java.util.Collection)} if you want to override the existing values. *
* * @param phase1IntegrityAlgorithms * The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase1IntegrityAlgorithms(String... phase1IntegrityAlgorithms) { if (this.phase1IntegrityAlgorithms == null) { setPhase1IntegrityAlgorithms(new java.util.ArrayList* The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations. *
* * @param phase1IntegrityAlgorithms * The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase1IntegrityAlgorithms(java.util.Collection* The lifetime for phase 1 of the IKE negotiation, in seconds. *
* * @param phase1LifetimeSeconds * The lifetime for phase 1 of the IKE negotiation, in seconds. */ public void setPhase1LifetimeSeconds(Integer phase1LifetimeSeconds) { this.phase1LifetimeSeconds = phase1LifetimeSeconds; } /** ** The lifetime for phase 1 of the IKE negotiation, in seconds. *
* * @return The lifetime for phase 1 of the IKE negotiation, in seconds. */ public Integer getPhase1LifetimeSeconds() { return this.phase1LifetimeSeconds; } /** ** The lifetime for phase 1 of the IKE negotiation, in seconds. *
* * @param phase1LifetimeSeconds * The lifetime for phase 1 of the IKE negotiation, in seconds. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase1LifetimeSeconds(Integer phase1LifetimeSeconds) { setPhase1LifetimeSeconds(phase1LifetimeSeconds); return this; } /** ** The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations. *
* * @return The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations. */ public java.util.List* The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations. *
* * @param phase2DhGroupNumbers * The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations. */ public void setPhase2DhGroupNumbers(java.util.Collection* The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setPhase2DhGroupNumbers(java.util.Collection)} or {@link #withPhase2DhGroupNumbers(java.util.Collection)} * if you want to override the existing values. *
* * @param phase2DhGroupNumbers * The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase2DhGroupNumbers(Integer... phase2DhGroupNumbers) { if (this.phase2DhGroupNumbers == null) { setPhase2DhGroupNumbers(new java.util.ArrayList* The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations. *
* * @param phase2DhGroupNumbers * The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase2DhGroupNumbers(java.util.Collection* The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations. *
* * @return The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations. */ public java.util.List* The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations. *
* * @param phase2EncryptionAlgorithms * The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations. */ public void setPhase2EncryptionAlgorithms(java.util.Collection* The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setPhase2EncryptionAlgorithms(java.util.Collection)} or * {@link #withPhase2EncryptionAlgorithms(java.util.Collection)} if you want to override the existing values. *
* * @param phase2EncryptionAlgorithms * The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase2EncryptionAlgorithms(String... phase2EncryptionAlgorithms) { if (this.phase2EncryptionAlgorithms == null) { setPhase2EncryptionAlgorithms(new java.util.ArrayList* The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations. *
* * @param phase2EncryptionAlgorithms * The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase2EncryptionAlgorithms(java.util.Collection* The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations. *
* * @return The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations. */ public java.util.List* The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations. *
* * @param phase2IntegrityAlgorithms * The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations. */ public void setPhase2IntegrityAlgorithms(java.util.Collection* The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setPhase2IntegrityAlgorithms(java.util.Collection)} or * {@link #withPhase2IntegrityAlgorithms(java.util.Collection)} if you want to override the existing values. *
* * @param phase2IntegrityAlgorithms * The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase2IntegrityAlgorithms(String... phase2IntegrityAlgorithms) { if (this.phase2IntegrityAlgorithms == null) { setPhase2IntegrityAlgorithms(new java.util.ArrayList* The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations. *
* * @param phase2IntegrityAlgorithms * The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase2IntegrityAlgorithms(java.util.Collection* The lifetime for phase 2 of the IKE negotiation, in seconds. *
* * @param phase2LifetimeSeconds * The lifetime for phase 2 of the IKE negotiation, in seconds. */ public void setPhase2LifetimeSeconds(Integer phase2LifetimeSeconds) { this.phase2LifetimeSeconds = phase2LifetimeSeconds; } /** ** The lifetime for phase 2 of the IKE negotiation, in seconds. *
* * @return The lifetime for phase 2 of the IKE negotiation, in seconds. */ public Integer getPhase2LifetimeSeconds() { return this.phase2LifetimeSeconds; } /** ** The lifetime for phase 2 of the IKE negotiation, in seconds. *
* * @param phase2LifetimeSeconds * The lifetime for phase 2 of the IKE negotiation, in seconds. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPhase2LifetimeSeconds(Integer phase2LifetimeSeconds) { setPhase2LifetimeSeconds(phase2LifetimeSeconds); return this; } /** ** The preshared key to establish initial authentication between the virtual private gateway and the customer * gateway. *
* * @param preSharedKey * The preshared key to establish initial authentication between the virtual private gateway and the customer * gateway. */ public void setPreSharedKey(String preSharedKey) { this.preSharedKey = preSharedKey; } /** ** The preshared key to establish initial authentication between the virtual private gateway and the customer * gateway. *
* * @return The preshared key to establish initial authentication between the virtual private gateway and the * customer gateway. */ public String getPreSharedKey() { return this.preSharedKey; } /** ** The preshared key to establish initial authentication between the virtual private gateway and the customer * gateway. *
* * @param preSharedKey * The preshared key to establish initial authentication between the virtual private gateway and the customer * gateway. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withPreSharedKey(String preSharedKey) { setPreSharedKey(preSharedKey); return this; } /** *
* The percentage of the rekey window, which is determined by RekeyMarginTimeSeconds
during which the
* rekey time is randomly selected.
*
RekeyMarginTimeSeconds
during
* which the rekey time is randomly selected.
*/
public void setRekeyFuzzPercentage(Integer rekeyFuzzPercentage) {
this.rekeyFuzzPercentage = rekeyFuzzPercentage;
}
/**
*
* The percentage of the rekey window, which is determined by RekeyMarginTimeSeconds
during which the
* rekey time is randomly selected.
*
RekeyMarginTimeSeconds
during
* which the rekey time is randomly selected.
*/
public Integer getRekeyFuzzPercentage() {
return this.rekeyFuzzPercentage;
}
/**
*
* The percentage of the rekey window, which is determined by RekeyMarginTimeSeconds
during which the
* rekey time is randomly selected.
*
RekeyMarginTimeSeconds
during
* which the rekey time is randomly selected.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withRekeyFuzzPercentage(Integer rekeyFuzzPercentage) {
setRekeyFuzzPercentage(rekeyFuzzPercentage);
return this;
}
/**
* * The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services side of * the VPN connection performs an IKE rekey. *
* * @param rekeyMarginTimeSeconds * The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services * side of the VPN connection performs an IKE rekey. */ public void setRekeyMarginTimeSeconds(Integer rekeyMarginTimeSeconds) { this.rekeyMarginTimeSeconds = rekeyMarginTimeSeconds; } /** ** The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services side of * the VPN connection performs an IKE rekey. *
* * @return The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services * side of the VPN connection performs an IKE rekey. */ public Integer getRekeyMarginTimeSeconds() { return this.rekeyMarginTimeSeconds; } /** ** The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services side of * the VPN connection performs an IKE rekey. *
* * @param rekeyMarginTimeSeconds * The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services * side of the VPN connection performs an IKE rekey. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withRekeyMarginTimeSeconds(Integer rekeyMarginTimeSeconds) { setRekeyMarginTimeSeconds(rekeyMarginTimeSeconds); return this; } /** ** The number of packets in an IKE replay window. *
* * @param replayWindowSize * The number of packets in an IKE replay window. */ public void setReplayWindowSize(Integer replayWindowSize) { this.replayWindowSize = replayWindowSize; } /** ** The number of packets in an IKE replay window. *
* * @return The number of packets in an IKE replay window. */ public Integer getReplayWindowSize() { return this.replayWindowSize; } /** ** The number of packets in an IKE replay window. *
* * @param replayWindowSize * The number of packets in an IKE replay window. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withReplayWindowSize(Integer replayWindowSize) { setReplayWindowSize(replayWindowSize); return this; } /** ** The range of inside IPv4 addresses for the tunnel. *
* * @param tunnelInsideCidr * The range of inside IPv4 addresses for the tunnel. */ public void setTunnelInsideCidr(String tunnelInsideCidr) { this.tunnelInsideCidr = tunnelInsideCidr; } /** ** The range of inside IPv4 addresses for the tunnel. *
* * @return The range of inside IPv4 addresses for the tunnel. */ public String getTunnelInsideCidr() { return this.tunnelInsideCidr; } /** ** The range of inside IPv4 addresses for the tunnel. *
* * @param tunnelInsideCidr * The range of inside IPv4 addresses for the tunnel. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsEc2VpnConnectionOptionsTunnelOptionsDetails withTunnelInsideCidr(String tunnelInsideCidr) { setTunnelInsideCidr(tunnelInsideCidr); return this; } /** * 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() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getDpdTimeoutSeconds() != null) sb.append("DpdTimeoutSeconds: ").append(getDpdTimeoutSeconds()).append(","); if (getIkeVersions() != null) sb.append("IkeVersions: ").append(getIkeVersions()).append(","); if (getOutsideIpAddress() != null) sb.append("OutsideIpAddress: ").append(getOutsideIpAddress()).append(","); if (getPhase1DhGroupNumbers() != null) sb.append("Phase1DhGroupNumbers: ").append(getPhase1DhGroupNumbers()).append(","); if (getPhase1EncryptionAlgorithms() != null) sb.append("Phase1EncryptionAlgorithms: ").append(getPhase1EncryptionAlgorithms()).append(","); if (getPhase1IntegrityAlgorithms() != null) sb.append("Phase1IntegrityAlgorithms: ").append(getPhase1IntegrityAlgorithms()).append(","); if (getPhase1LifetimeSeconds() != null) sb.append("Phase1LifetimeSeconds: ").append(getPhase1LifetimeSeconds()).append(","); if (getPhase2DhGroupNumbers() != null) sb.append("Phase2DhGroupNumbers: ").append(getPhase2DhGroupNumbers()).append(","); if (getPhase2EncryptionAlgorithms() != null) sb.append("Phase2EncryptionAlgorithms: ").append(getPhase2EncryptionAlgorithms()).append(","); if (getPhase2IntegrityAlgorithms() != null) sb.append("Phase2IntegrityAlgorithms: ").append(getPhase2IntegrityAlgorithms()).append(","); if (getPhase2LifetimeSeconds() != null) sb.append("Phase2LifetimeSeconds: ").append(getPhase2LifetimeSeconds()).append(","); if (getPreSharedKey() != null) sb.append("PreSharedKey: ").append(getPreSharedKey()).append(","); if (getRekeyFuzzPercentage() != null) sb.append("RekeyFuzzPercentage: ").append(getRekeyFuzzPercentage()).append(","); if (getRekeyMarginTimeSeconds() != null) sb.append("RekeyMarginTimeSeconds: ").append(getRekeyMarginTimeSeconds()).append(","); if (getReplayWindowSize() != null) sb.append("ReplayWindowSize: ").append(getReplayWindowSize()).append(","); if (getTunnelInsideCidr() != null) sb.append("TunnelInsideCidr: ").append(getTunnelInsideCidr()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof AwsEc2VpnConnectionOptionsTunnelOptionsDetails == false) return false; AwsEc2VpnConnectionOptionsTunnelOptionsDetails other = (AwsEc2VpnConnectionOptionsTunnelOptionsDetails) obj; if (other.getDpdTimeoutSeconds() == null ^ this.getDpdTimeoutSeconds() == null) return false; if (other.getDpdTimeoutSeconds() != null && other.getDpdTimeoutSeconds().equals(this.getDpdTimeoutSeconds()) == false) return false; if (other.getIkeVersions() == null ^ this.getIkeVersions() == null) return false; if (other.getIkeVersions() != null && other.getIkeVersions().equals(this.getIkeVersions()) == false) return false; if (other.getOutsideIpAddress() == null ^ this.getOutsideIpAddress() == null) return false; if (other.getOutsideIpAddress() != null && other.getOutsideIpAddress().equals(this.getOutsideIpAddress()) == false) return false; if (other.getPhase1DhGroupNumbers() == null ^ this.getPhase1DhGroupNumbers() == null) return false; if (other.getPhase1DhGroupNumbers() != null && other.getPhase1DhGroupNumbers().equals(this.getPhase1DhGroupNumbers()) == false) return false; if (other.getPhase1EncryptionAlgorithms() == null ^ this.getPhase1EncryptionAlgorithms() == null) return false; if (other.getPhase1EncryptionAlgorithms() != null && other.getPhase1EncryptionAlgorithms().equals(this.getPhase1EncryptionAlgorithms()) == false) return false; if (other.getPhase1IntegrityAlgorithms() == null ^ this.getPhase1IntegrityAlgorithms() == null) return false; if (other.getPhase1IntegrityAlgorithms() != null && other.getPhase1IntegrityAlgorithms().equals(this.getPhase1IntegrityAlgorithms()) == false) return false; if (other.getPhase1LifetimeSeconds() == null ^ this.getPhase1LifetimeSeconds() == null) return false; if (other.getPhase1LifetimeSeconds() != null && other.getPhase1LifetimeSeconds().equals(this.getPhase1LifetimeSeconds()) == false) return false; if (other.getPhase2DhGroupNumbers() == null ^ this.getPhase2DhGroupNumbers() == null) return false; if (other.getPhase2DhGroupNumbers() != null && other.getPhase2DhGroupNumbers().equals(this.getPhase2DhGroupNumbers()) == false) return false; if (other.getPhase2EncryptionAlgorithms() == null ^ this.getPhase2EncryptionAlgorithms() == null) return false; if (other.getPhase2EncryptionAlgorithms() != null && other.getPhase2EncryptionAlgorithms().equals(this.getPhase2EncryptionAlgorithms()) == false) return false; if (other.getPhase2IntegrityAlgorithms() == null ^ this.getPhase2IntegrityAlgorithms() == null) return false; if (other.getPhase2IntegrityAlgorithms() != null && other.getPhase2IntegrityAlgorithms().equals(this.getPhase2IntegrityAlgorithms()) == false) return false; if (other.getPhase2LifetimeSeconds() == null ^ this.getPhase2LifetimeSeconds() == null) return false; if (other.getPhase2LifetimeSeconds() != null && other.getPhase2LifetimeSeconds().equals(this.getPhase2LifetimeSeconds()) == false) return false; if (other.getPreSharedKey() == null ^ this.getPreSharedKey() == null) return false; if (other.getPreSharedKey() != null && other.getPreSharedKey().equals(this.getPreSharedKey()) == false) return false; if (other.getRekeyFuzzPercentage() == null ^ this.getRekeyFuzzPercentage() == null) return false; if (other.getRekeyFuzzPercentage() != null && other.getRekeyFuzzPercentage().equals(this.getRekeyFuzzPercentage()) == false) return false; if (other.getRekeyMarginTimeSeconds() == null ^ this.getRekeyMarginTimeSeconds() == null) return false; if (other.getRekeyMarginTimeSeconds() != null && other.getRekeyMarginTimeSeconds().equals(this.getRekeyMarginTimeSeconds()) == false) return false; if (other.getReplayWindowSize() == null ^ this.getReplayWindowSize() == null) return false; if (other.getReplayWindowSize() != null && other.getReplayWindowSize().equals(this.getReplayWindowSize()) == false) return false; if (other.getTunnelInsideCidr() == null ^ this.getTunnelInsideCidr() == null) return false; if (other.getTunnelInsideCidr() != null && other.getTunnelInsideCidr().equals(this.getTunnelInsideCidr()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDpdTimeoutSeconds() == null) ? 0 : getDpdTimeoutSeconds().hashCode()); hashCode = prime * hashCode + ((getIkeVersions() == null) ? 0 : getIkeVersions().hashCode()); hashCode = prime * hashCode + ((getOutsideIpAddress() == null) ? 0 : getOutsideIpAddress().hashCode()); hashCode = prime * hashCode + ((getPhase1DhGroupNumbers() == null) ? 0 : getPhase1DhGroupNumbers().hashCode()); hashCode = prime * hashCode + ((getPhase1EncryptionAlgorithms() == null) ? 0 : getPhase1EncryptionAlgorithms().hashCode()); hashCode = prime * hashCode + ((getPhase1IntegrityAlgorithms() == null) ? 0 : getPhase1IntegrityAlgorithms().hashCode()); hashCode = prime * hashCode + ((getPhase1LifetimeSeconds() == null) ? 0 : getPhase1LifetimeSeconds().hashCode()); hashCode = prime * hashCode + ((getPhase2DhGroupNumbers() == null) ? 0 : getPhase2DhGroupNumbers().hashCode()); hashCode = prime * hashCode + ((getPhase2EncryptionAlgorithms() == null) ? 0 : getPhase2EncryptionAlgorithms().hashCode()); hashCode = prime * hashCode + ((getPhase2IntegrityAlgorithms() == null) ? 0 : getPhase2IntegrityAlgorithms().hashCode()); hashCode = prime * hashCode + ((getPhase2LifetimeSeconds() == null) ? 0 : getPhase2LifetimeSeconds().hashCode()); hashCode = prime * hashCode + ((getPreSharedKey() == null) ? 0 : getPreSharedKey().hashCode()); hashCode = prime * hashCode + ((getRekeyFuzzPercentage() == null) ? 0 : getRekeyFuzzPercentage().hashCode()); hashCode = prime * hashCode + ((getRekeyMarginTimeSeconds() == null) ? 0 : getRekeyMarginTimeSeconds().hashCode()); hashCode = prime * hashCode + ((getReplayWindowSize() == null) ? 0 : getReplayWindowSize().hashCode()); hashCode = prime * hashCode + ((getTunnelInsideCidr() == null) ? 0 : getTunnelInsideCidr().hashCode()); return hashCode; } @Override public AwsEc2VpnConnectionOptionsTunnelOptionsDetails clone() { try { return (AwsEc2VpnConnectionOptionsTunnelOptionsDetails) 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.securityhub.model.transform.AwsEc2VpnConnectionOptionsTunnelOptionsDetailsMarshaller.getInstance().marshall(this, protocolMarshaller); } }