/* * 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.ec2.model; import java.io.Serializable; import javax.annotation.Generated; /** *
* The Amazon Web Services Site-to-Site VPN tunnel options to modify. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ModifyVpnTunnelOptionsSpecification implements Serializable, Cloneable { /** ** The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN * connections that use the same virtual private gateway. *
*
* Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are
* reserved and cannot be used:
*
* 169.254.0.0/30
*
* 169.254.1.0/30
*
* 169.254.2.0/30
*
* 169.254.3.0/30
*
* 169.254.4.0/30
*
* 169.254.5.0/30
*
* 169.254.169.252/30
*
* The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN * connections that use the same transit gateway. *
*
* Constraints: A size /126 CIDR block from the local fd00::/8
range.
*
* The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer * gateway. *
** Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 * and 64 characters in length and cannot start with zero (0). *
*/ private String preSharedKey; /** ** The lifetime for phase 1 of the IKE negotiation, in seconds. *
** Constraints: A value between 900 and 28,800. *
*
* Default: 28800
*
* The lifetime for phase 2 of the IKE negotiation, in seconds. *
*
* Constraints: A value between 900 and 3,600. The value must be less than the value for
* Phase1LifetimeSeconds
.
*
* Default: 3600
*
* 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. The exact time of the rekey is randomly selected based on the value for
* RekeyFuzzPercentage
.
*
* Constraints: A value between 60 and half of Phase2LifetimeSeconds
.
*
* Default: 540
*
* The percentage of the rekey window (determined by RekeyMarginTimeSeconds
) during which the rekey
* time is randomly selected.
*
* Constraints: A value between 0 and 100. *
*
* Default: 100
*
* The number of packets in an IKE replay window. *
** Constraints: A value between 64 and 2048. *
*
* Default: 1024
*
* The number of seconds after which a DPD timeout occurs. *
** Constraints: A value greater than or equal to 30. *
*
* Default: 30
*
* The action to take after DPD timeout occurs. Specify restart
to restart the IKE initiation. Specify
* clear
to end the IKE session.
*
* Valid Values: clear
| none
| restart
*
* Default: clear
*
* One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. *
*
* Valid values: AES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
*
* One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. *
*
* Valid values: AES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
*
* One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. *
*
* Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
*
* One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. *
*
* Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
*
* One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. *
*
* Valid values: 2
| 14
| 15
| 16
| 17
|
* 18
| 19
| 20
| 21
| 22
| 23
|
* 24
*
* One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. *
*
* Valid values: 2
| 5
| 14
| 15
| 16
|
* 17
| 18
| 19
| 20
| 21
| 22
|
* 23
| 24
*
* The IKE versions that are permitted for the VPN tunnel. *
*
* Valid values: ikev1
| ikev2
*
* The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway
* device must initiate the IKE negotiation and bring up the tunnel. Specify start
for Amazon Web
* Services to initiate the IKE negotiation.
*
* Valid Values: add
| start
*
* Default: add
*
* Options for logging VPN tunnel activity. *
*/ private VpnTunnelLogOptionsSpecification logOptions; /** ** Turn on or off tunnel endpoint lifecycle control feature. *
*/ private Boolean enableTunnelLifecycleControl; /** ** The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN * connections that use the same virtual private gateway. *
*
* Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are
* reserved and cannot be used:
*
* 169.254.0.0/30
*
* 169.254.1.0/30
*
* 169.254.2.0/30
*
* 169.254.3.0/30
*
* 169.254.4.0/30
*
* 169.254.5.0/30
*
* 169.254.169.252/30
*
* Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks
* are reserved and cannot be used:
*
* 169.254.0.0/30
*
* 169.254.1.0/30
*
* 169.254.2.0/30
*
* 169.254.3.0/30
*
* 169.254.4.0/30
*
* 169.254.5.0/30
*
* 169.254.169.252/30
*
* The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN * connections that use the same virtual private gateway. *
*
* Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are
* reserved and cannot be used:
*
* 169.254.0.0/30
*
* 169.254.1.0/30
*
* 169.254.2.0/30
*
* 169.254.3.0/30
*
* 169.254.4.0/30
*
* 169.254.5.0/30
*
* 169.254.169.252/30
*
* Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks
* are reserved and cannot be used:
*
* 169.254.0.0/30
*
* 169.254.1.0/30
*
* 169.254.2.0/30
*
* 169.254.3.0/30
*
* 169.254.4.0/30
*
* 169.254.5.0/30
*
* 169.254.169.252/30
*
* The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN * connections that use the same virtual private gateway. *
*
* Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are
* reserved and cannot be used:
*
* 169.254.0.0/30
*
* 169.254.1.0/30
*
* 169.254.2.0/30
*
* 169.254.3.0/30
*
* 169.254.4.0/30
*
* 169.254.5.0/30
*
* 169.254.169.252/30
*
* Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks
* are reserved and cannot be used:
*
* 169.254.0.0/30
*
* 169.254.1.0/30
*
* 169.254.2.0/30
*
* 169.254.3.0/30
*
* 169.254.4.0/30
*
* 169.254.5.0/30
*
* 169.254.169.252/30
*
* The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN * connections that use the same transit gateway. *
*
* Constraints: A size /126 CIDR block from the local fd00::/8
range.
*
* Constraints: A size /126 CIDR block from the local fd00::/8
range.
*/
public void setTunnelInsideIpv6Cidr(String tunnelInsideIpv6Cidr) {
this.tunnelInsideIpv6Cidr = tunnelInsideIpv6Cidr;
}
/**
*
* The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN * connections that use the same transit gateway. *
*
* Constraints: A size /126 CIDR block from the local fd00::/8
range.
*
* Constraints: A size /126 CIDR block from the local fd00::/8
range.
*/
public String getTunnelInsideIpv6Cidr() {
return this.tunnelInsideIpv6Cidr;
}
/**
*
* The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN * connections that use the same transit gateway. *
*
* Constraints: A size /126 CIDR block from the local fd00::/8
range.
*
* Constraints: A size /126 CIDR block from the local fd00::/8
range.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withTunnelInsideIpv6Cidr(String tunnelInsideIpv6Cidr) {
setTunnelInsideIpv6Cidr(tunnelInsideIpv6Cidr);
return this;
}
/**
*
* The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer * gateway. *
** Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 * and 64 characters in length and cannot start with zero (0). *
* * @param preSharedKey * The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the * customer gateway. ** Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be * between 8 and 64 characters in length and cannot start with zero (0). */ public void setPreSharedKey(String preSharedKey) { this.preSharedKey = preSharedKey; } /** *
* The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer * gateway. *
** Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 * and 64 characters in length and cannot start with zero (0). *
* * @return The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the * customer gateway. ** Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be * between 8 and 64 characters in length and cannot start with zero (0). */ public String getPreSharedKey() { return this.preSharedKey; } /** *
* The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer * gateway. *
** Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 * and 64 characters in length and cannot start with zero (0). *
* * @param preSharedKey * The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the * customer gateway. ** Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be * between 8 and 64 characters in length and cannot start with zero (0). * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyVpnTunnelOptionsSpecification withPreSharedKey(String preSharedKey) { setPreSharedKey(preSharedKey); return this; } /** *
* The lifetime for phase 1 of the IKE negotiation, in seconds. *
** Constraints: A value between 900 and 28,800. *
*
* Default: 28800
*
* Constraints: A value between 900 and 28,800. *
*
* Default: 28800
*/
public void setPhase1LifetimeSeconds(Integer phase1LifetimeSeconds) {
this.phase1LifetimeSeconds = phase1LifetimeSeconds;
}
/**
*
* The lifetime for phase 1 of the IKE negotiation, in seconds. *
** Constraints: A value between 900 and 28,800. *
*
* Default: 28800
*
* Constraints: A value between 900 and 28,800. *
*
* Default: 28800
*/
public Integer getPhase1LifetimeSeconds() {
return this.phase1LifetimeSeconds;
}
/**
*
* The lifetime for phase 1 of the IKE negotiation, in seconds. *
** Constraints: A value between 900 and 28,800. *
*
* Default: 28800
*
* Constraints: A value between 900 and 28,800. *
*
* Default: 28800
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase1LifetimeSeconds(Integer phase1LifetimeSeconds) {
setPhase1LifetimeSeconds(phase1LifetimeSeconds);
return this;
}
/**
*
* The lifetime for phase 2 of the IKE negotiation, in seconds. *
*
* Constraints: A value between 900 and 3,600. The value must be less than the value for
* Phase1LifetimeSeconds
.
*
* Default: 3600
*
* Constraints: A value between 900 and 3,600. The value must be less than the value for
* Phase1LifetimeSeconds
.
*
* Default: 3600
*/
public void setPhase2LifetimeSeconds(Integer phase2LifetimeSeconds) {
this.phase2LifetimeSeconds = phase2LifetimeSeconds;
}
/**
*
* The lifetime for phase 2 of the IKE negotiation, in seconds. *
*
* Constraints: A value between 900 and 3,600. The value must be less than the value for
* Phase1LifetimeSeconds
.
*
* Default: 3600
*
* Constraints: A value between 900 and 3,600. The value must be less than the value for
* Phase1LifetimeSeconds
.
*
* Default: 3600
*/
public Integer getPhase2LifetimeSeconds() {
return this.phase2LifetimeSeconds;
}
/**
*
* The lifetime for phase 2 of the IKE negotiation, in seconds. *
*
* Constraints: A value between 900 and 3,600. The value must be less than the value for
* Phase1LifetimeSeconds
.
*
* Default: 3600
*
* Constraints: A value between 900 and 3,600. The value must be less than the value for
* Phase1LifetimeSeconds
.
*
* Default: 3600
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase2LifetimeSeconds(Integer phase2LifetimeSeconds) {
setPhase2LifetimeSeconds(phase2LifetimeSeconds);
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. The exact time of the rekey is randomly selected based on the value for
* RekeyFuzzPercentage
.
*
* Constraints: A value between 60 and half of Phase2LifetimeSeconds
.
*
* Default: 540
*
RekeyFuzzPercentage
.
*
* Constraints: A value between 60 and half of Phase2LifetimeSeconds
.
*
* Default: 540
*/
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. The exact time of the rekey is randomly selected based on the value for
* RekeyFuzzPercentage
.
*
* Constraints: A value between 60 and half of Phase2LifetimeSeconds
.
*
* Default: 540
*
RekeyFuzzPercentage
.
*
* Constraints: A value between 60 and half of Phase2LifetimeSeconds
.
*
* Default: 540
*/
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. The exact time of the rekey is randomly selected based on the value for
* RekeyFuzzPercentage
.
*
* Constraints: A value between 60 and half of Phase2LifetimeSeconds
.
*
* Default: 540
*
RekeyFuzzPercentage
.
*
* Constraints: A value between 60 and half of Phase2LifetimeSeconds
.
*
* Default: 540
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withRekeyMarginTimeSeconds(Integer rekeyMarginTimeSeconds) {
setRekeyMarginTimeSeconds(rekeyMarginTimeSeconds);
return this;
}
/**
*
* The percentage of the rekey window (determined by RekeyMarginTimeSeconds
) during which the rekey
* time is randomly selected.
*
* Constraints: A value between 0 and 100. *
*
* Default: 100
*
RekeyMarginTimeSeconds
) during which the
* rekey time is randomly selected.
* * Constraints: A value between 0 and 100. *
*
* Default: 100
*/
public void setRekeyFuzzPercentage(Integer rekeyFuzzPercentage) {
this.rekeyFuzzPercentage = rekeyFuzzPercentage;
}
/**
*
* The percentage of the rekey window (determined by RekeyMarginTimeSeconds
) during which the rekey
* time is randomly selected.
*
* Constraints: A value between 0 and 100. *
*
* Default: 100
*
RekeyMarginTimeSeconds
) during which the
* rekey time is randomly selected.
* * Constraints: A value between 0 and 100. *
*
* Default: 100
*/
public Integer getRekeyFuzzPercentage() {
return this.rekeyFuzzPercentage;
}
/**
*
* The percentage of the rekey window (determined by RekeyMarginTimeSeconds
) during which the rekey
* time is randomly selected.
*
* Constraints: A value between 0 and 100. *
*
* Default: 100
*
RekeyMarginTimeSeconds
) during which the
* rekey time is randomly selected.
* * Constraints: A value between 0 and 100. *
*
* Default: 100
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withRekeyFuzzPercentage(Integer rekeyFuzzPercentage) {
setRekeyFuzzPercentage(rekeyFuzzPercentage);
return this;
}
/**
*
* The number of packets in an IKE replay window. *
** Constraints: A value between 64 and 2048. *
*
* Default: 1024
*
* Constraints: A value between 64 and 2048. *
*
* Default: 1024
*/
public void setReplayWindowSize(Integer replayWindowSize) {
this.replayWindowSize = replayWindowSize;
}
/**
*
* The number of packets in an IKE replay window. *
** Constraints: A value between 64 and 2048. *
*
* Default: 1024
*
* Constraints: A value between 64 and 2048. *
*
* Default: 1024
*/
public Integer getReplayWindowSize() {
return this.replayWindowSize;
}
/**
*
* The number of packets in an IKE replay window. *
** Constraints: A value between 64 and 2048. *
*
* Default: 1024
*
* Constraints: A value between 64 and 2048. *
*
* Default: 1024
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withReplayWindowSize(Integer replayWindowSize) {
setReplayWindowSize(replayWindowSize);
return this;
}
/**
*
* The number of seconds after which a DPD timeout occurs. *
** Constraints: A value greater than or equal to 30. *
*
* Default: 30
*
* Constraints: A value greater than or equal to 30. *
*
* Default: 30
*/
public void setDPDTimeoutSeconds(Integer dPDTimeoutSeconds) {
this.dPDTimeoutSeconds = dPDTimeoutSeconds;
}
/**
*
* The number of seconds after which a DPD timeout occurs. *
** Constraints: A value greater than or equal to 30. *
*
* Default: 30
*
* Constraints: A value greater than or equal to 30. *
*
* Default: 30
*/
public Integer getDPDTimeoutSeconds() {
return this.dPDTimeoutSeconds;
}
/**
*
* The number of seconds after which a DPD timeout occurs. *
** Constraints: A value greater than or equal to 30. *
*
* Default: 30
*
* Constraints: A value greater than or equal to 30. *
*
* Default: 30
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withDPDTimeoutSeconds(Integer dPDTimeoutSeconds) {
setDPDTimeoutSeconds(dPDTimeoutSeconds);
return this;
}
/**
*
* The action to take after DPD timeout occurs. Specify restart
to restart the IKE initiation. Specify
* clear
to end the IKE session.
*
* Valid Values: clear
| none
| restart
*
* Default: clear
*
restart
to restart the IKE initiation.
* Specify clear
to end the IKE session.
*
* Valid Values: clear
| none
| restart
*
* Default: clear
*/
public void setDPDTimeoutAction(String dPDTimeoutAction) {
this.dPDTimeoutAction = dPDTimeoutAction;
}
/**
*
* The action to take after DPD timeout occurs. Specify restart
to restart the IKE initiation. Specify
* clear
to end the IKE session.
*
* Valid Values: clear
| none
| restart
*
* Default: clear
*
restart
to restart the IKE initiation.
* Specify clear
to end the IKE session.
*
* Valid Values: clear
| none
| restart
*
* Default: clear
*/
public String getDPDTimeoutAction() {
return this.dPDTimeoutAction;
}
/**
*
* The action to take after DPD timeout occurs. Specify restart
to restart the IKE initiation. Specify
* clear
to end the IKE session.
*
* Valid Values: clear
| none
| restart
*
* Default: clear
*
restart
to restart the IKE initiation.
* Specify clear
to end the IKE session.
*
* Valid Values: clear
| none
| restart
*
* Default: clear
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withDPDTimeoutAction(String dPDTimeoutAction) {
setDPDTimeoutAction(dPDTimeoutAction);
return this;
}
/**
*
* One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. *
*
* Valid values: AES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
*
* Valid values:
* One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
*
* Valid values: AES128
| AES256
| AES128-GCM-16
|
* AES256-GCM-16
*/
public java.util.ListAES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
*
* Valid values:
* One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
*
* Valid values:
* 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.
* AES128
| AES256
| AES128-GCM-16
|
* AES256-GCM-16
*/
public void setPhase1EncryptionAlgorithms(java.util.CollectionAES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
*
* Valid values:
* One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
*
* Valid values: AES128
| AES256
| AES128-GCM-16
|
* AES256-GCM-16
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase1EncryptionAlgorithms(Phase1EncryptionAlgorithmsRequestListValue... phase1EncryptionAlgorithms) {
if (this.phase1EncryptionAlgorithms == null) {
setPhase1EncryptionAlgorithms(new com.amazonaws.internal.SdkInternalListAES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
*
* Valid values:
* One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values: AES128
| AES256
| AES128-GCM-16
|
* AES256-GCM-16
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase1EncryptionAlgorithms(
java.util.CollectionAES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
*
* Valid values:
* One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values: AES128
| AES256
| AES128-GCM-16
|
* AES256-GCM-16
*/
public java.util.ListAES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
*
* Valid values:
* One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values:
* 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.
* AES128
| AES256
| AES128-GCM-16
|
* AES256-GCM-16
*/
public void setPhase2EncryptionAlgorithms(java.util.CollectionAES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
*
* Valid values:
* One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values: AES128
| AES256
| AES128-GCM-16
|
* AES256-GCM-16
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase2EncryptionAlgorithms(Phase2EncryptionAlgorithmsRequestListValue... phase2EncryptionAlgorithms) {
if (this.phase2EncryptionAlgorithms == null) {
setPhase2EncryptionAlgorithms(new com.amazonaws.internal.SdkInternalListAES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
*
* Valid values:
* One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
*
* Valid values: AES128
| AES256
| AES128-GCM-16
|
* AES256-GCM-16
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase2EncryptionAlgorithms(
java.util.CollectionSHA1
| SHA2-256
| SHA2-384
| SHA2-512
*
* Valid values:
* One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
*
* Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
*/
public java.util.ListSHA1
| SHA2-256
| SHA2-384
| SHA2-512
*
* Valid values:
* One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
*
* Valid values:
* 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.
* SHA1
| SHA2-256
| SHA2-384
| SHA2-512
*/
public void setPhase1IntegrityAlgorithms(java.util.CollectionSHA1
| SHA2-256
| SHA2-384
| SHA2-512
*
* Valid values:
* One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
*
* Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase1IntegrityAlgorithms(Phase1IntegrityAlgorithmsRequestListValue... phase1IntegrityAlgorithms) {
if (this.phase1IntegrityAlgorithms == null) {
setPhase1IntegrityAlgorithms(new com.amazonaws.internal.SdkInternalListSHA1
| SHA2-256
| SHA2-384
| SHA2-512
*
* Valid values:
* One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase1IntegrityAlgorithms(
java.util.CollectionSHA1
| SHA2-256
| SHA2-384
| SHA2-512
*
* Valid values:
* One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
*/
public java.util.ListSHA1
| SHA2-256
| SHA2-384
| SHA2-512
*
* Valid values:
* One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values:
* 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.
* SHA1
| SHA2-256
| SHA2-384
| SHA2-512
*/
public void setPhase2IntegrityAlgorithms(java.util.CollectionSHA1
| SHA2-256
| SHA2-384
| SHA2-512
*
* Valid values:
* One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase2IntegrityAlgorithms(Phase2IntegrityAlgorithmsRequestListValue... phase2IntegrityAlgorithms) {
if (this.phase2IntegrityAlgorithms == null) {
setPhase2IntegrityAlgorithms(new com.amazonaws.internal.SdkInternalListSHA1
| SHA2-256
| SHA2-384
| SHA2-512
*
* Valid values:
* One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
*
* Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase2IntegrityAlgorithms(
java.util.Collection2
| 14
| 15
| 16
| 17
|
* 18
| 19
| 20
| 21
| 22
| 23
|
* 24
*
* Valid values:
* One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
*
* Valid values: 2
| 14
| 15
| 16
| 17
|
* 18
| 19
| 20
| 21
| 22
| 23
* | 24
*/
public java.util.List2
| 14
| 15
| 16
| 17
|
* 18
| 19
| 20
| 21
| 22
| 23
|
* 24
*
* Valid values:
* One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
*
* Valid values:
* 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.
* 2
| 14
| 15
| 16
| 17
|
* 18
| 19
| 20
| 21
| 22
| 23
* | 24
*/
public void setPhase1DHGroupNumbers(java.util.Collection2
| 14
| 15
| 16
| 17
|
* 18
| 19
| 20
| 21
| 22
| 23
|
* 24
*
* Valid values:
* One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
*
* Valid values: 2
| 14
| 15
| 16
| 17
|
* 18
| 19
| 20
| 21
| 22
| 23
* | 24
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase1DHGroupNumbers(Phase1DHGroupNumbersRequestListValue... phase1DHGroupNumbers) {
if (this.phase1DHGroupNumbers == null) {
setPhase1DHGroupNumbers(new com.amazonaws.internal.SdkInternalList2
| 14
| 15
| 16
| 17
|
* 18
| 19
| 20
| 21
| 22
| 23
|
* 24
*
* Valid values:
* One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values: 2
| 14
| 15
| 16
| 17
|
* 18
| 19
| 20
| 21
| 22
| 23
* | 24
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase1DHGroupNumbers(java.util.Collection2
| 5
| 14
| 15
| 16
|
* 17
| 18
| 19
| 20
| 21
| 22
|
* 23
| 24
*
* Valid values:
* One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values: 2
| 5
| 14
| 15
| 16
|
* 17
| 18
| 19
| 20
| 21
| 22
* | 23
| 24
*/
public java.util.List2
| 5
| 14
| 15
| 16
|
* 17
| 18
| 19
| 20
| 21
| 22
|
* 23
| 24
*
* Valid values:
* One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values:
* 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.
* 2
| 5
| 14
| 15
| 16
|
* 17
| 18
| 19
| 20
| 21
| 22
* | 23
| 24
*/
public void setPhase2DHGroupNumbers(java.util.Collection2
| 5
| 14
| 15
| 16
|
* 17
| 18
| 19
| 20
| 21
| 22
|
* 23
| 24
*
* Valid values:
* One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
*
* Valid values: 2
| 5
| 14
| 15
| 16
|
* 17
| 18
| 19
| 20
| 21
| 22
* | 23
| 24
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase2DHGroupNumbers(Phase2DHGroupNumbersRequestListValue... phase2DHGroupNumbers) {
if (this.phase2DHGroupNumbers == null) {
setPhase2DHGroupNumbers(new com.amazonaws.internal.SdkInternalList2
| 5
| 14
| 15
| 16
|
* 17
| 18
| 19
| 20
| 21
| 22
|
* 23
| 24
*
* Valid values:
* The IKE versions that are permitted for the VPN tunnel.
*
* Valid values: 2
| 5
| 14
| 15
| 16
|
* 17
| 18
| 19
| 20
| 21
| 22
* | 23
| 24
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withPhase2DHGroupNumbers(java.util.Collectionikev1
| ikev2
*
* Valid values:
* The IKE versions that are permitted for the VPN tunnel.
*
* Valid values: ikev1
| ikev2
*/
public java.util.Listikev1
| ikev2
*
* Valid values:
* The IKE versions that are permitted for the VPN tunnel.
*
* Valid values:
* 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.
* ikev1
| ikev2
*/
public void setIKEVersions(java.util.Collectionikev1
| ikev2
*
* Valid values:
* The IKE versions that are permitted for the VPN tunnel.
*
* Valid values: ikev1
| ikev2
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withIKEVersions(IKEVersionsRequestListValue... iKEVersions) {
if (this.iKEVersions == null) {
setIKEVersions(new com.amazonaws.internal.SdkInternalListikev1
| ikev2
*
* Valid values:
* The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway
* device must initiate the IKE negotiation and bring up the tunnel. Specify
* Valid Values:
* Default: ikev1
| ikev2
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withIKEVersions(java.util.Collectionstart
for Amazon Web
* Services to initiate the IKE negotiation.
* add
| start
* add
* start
for
* Amazon Web Services to initiate the IKE negotiation.
* Valid Values: add
| start
*
* Default: add
*/
public void setStartupAction(String startupAction) {
this.startupAction = startupAction;
}
/**
*
* The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway
* device must initiate the IKE negotiation and bring up the tunnel. Specify start
for Amazon Web
* Services to initiate the IKE negotiation.
*
* Valid Values: add
| start
*
* Default: add
*
start
for
* Amazon Web Services to initiate the IKE negotiation.
*
* Valid Values: add
| start
*
* Default: add
*/
public String getStartupAction() {
return this.startupAction;
}
/**
*
* The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway
* device must initiate the IKE negotiation and bring up the tunnel. Specify start
for Amazon Web
* Services to initiate the IKE negotiation.
*
* Valid Values: add
| start
*
* Default: add
*
start
for
* Amazon Web Services to initiate the IKE negotiation.
*
* Valid Values: add
| start
*
* Default: add
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyVpnTunnelOptionsSpecification withStartupAction(String startupAction) {
setStartupAction(startupAction);
return this;
}
/**
*
* Options for logging VPN tunnel activity. *
* * @param logOptions * Options for logging VPN tunnel activity. */ public void setLogOptions(VpnTunnelLogOptionsSpecification logOptions) { this.logOptions = logOptions; } /** ** Options for logging VPN tunnel activity. *
* * @return Options for logging VPN tunnel activity. */ public VpnTunnelLogOptionsSpecification getLogOptions() { return this.logOptions; } /** ** Options for logging VPN tunnel activity. *
* * @param logOptions * Options for logging VPN tunnel activity. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyVpnTunnelOptionsSpecification withLogOptions(VpnTunnelLogOptionsSpecification logOptions) { setLogOptions(logOptions); return this; } /** ** Turn on or off tunnel endpoint lifecycle control feature. *
* * @param enableTunnelLifecycleControl * Turn on or off tunnel endpoint lifecycle control feature. */ public void setEnableTunnelLifecycleControl(Boolean enableTunnelLifecycleControl) { this.enableTunnelLifecycleControl = enableTunnelLifecycleControl; } /** ** Turn on or off tunnel endpoint lifecycle control feature. *
* * @return Turn on or off tunnel endpoint lifecycle control feature. */ public Boolean getEnableTunnelLifecycleControl() { return this.enableTunnelLifecycleControl; } /** ** Turn on or off tunnel endpoint lifecycle control feature. *
* * @param enableTunnelLifecycleControl * Turn on or off tunnel endpoint lifecycle control feature. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyVpnTunnelOptionsSpecification withEnableTunnelLifecycleControl(Boolean enableTunnelLifecycleControl) { setEnableTunnelLifecycleControl(enableTunnelLifecycleControl); return this; } /** ** Turn on or off tunnel endpoint lifecycle control feature. *
* * @return Turn on or off tunnel endpoint lifecycle control feature. */ public Boolean isEnableTunnelLifecycleControl() { return this.enableTunnelLifecycleControl; } /** * 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 (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(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ModifyVpnTunnelOptionsSpecification == false) return false; ModifyVpnTunnelOptionsSpecification other = (ModifyVpnTunnelOptionsSpecification) obj; if (other.getTunnelInsideCidr() == null ^ this.getTunnelInsideCidr() == null) return false; if (other.getTunnelInsideCidr() != null && other.getTunnelInsideCidr().equals(this.getTunnelInsideCidr()) == false) return false; if (other.getTunnelInsideIpv6Cidr() == null ^ this.getTunnelInsideIpv6Cidr() == null) return false; if (other.getTunnelInsideIpv6Cidr() != null && other.getTunnelInsideIpv6Cidr().equals(this.getTunnelInsideIpv6Cidr()) == 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.getPhase1LifetimeSeconds() == null ^ this.getPhase1LifetimeSeconds() == null) return false; if (other.getPhase1LifetimeSeconds() != null && other.getPhase1LifetimeSeconds().equals(this.getPhase1LifetimeSeconds()) == 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.getRekeyMarginTimeSeconds() == null ^ this.getRekeyMarginTimeSeconds() == null) return false; if (other.getRekeyMarginTimeSeconds() != null && other.getRekeyMarginTimeSeconds().equals(this.getRekeyMarginTimeSeconds()) == 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.getReplayWindowSize() == null ^ this.getReplayWindowSize() == null) return false; if (other.getReplayWindowSize() != null && other.getReplayWindowSize().equals(this.getReplayWindowSize()) == false) return false; if (other.getDPDTimeoutSeconds() == null ^ this.getDPDTimeoutSeconds() == null) return false; if (other.getDPDTimeoutSeconds() != null && other.getDPDTimeoutSeconds().equals(this.getDPDTimeoutSeconds()) == false) return false; if (other.getDPDTimeoutAction() == null ^ this.getDPDTimeoutAction() == null) return false; if (other.getDPDTimeoutAction() != null && other.getDPDTimeoutAction().equals(this.getDPDTimeoutAction()) == 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.getPhase2EncryptionAlgorithms() == null ^ this.getPhase2EncryptionAlgorithms() == null) return false; if (other.getPhase2EncryptionAlgorithms() != null && other.getPhase2EncryptionAlgorithms().equals(this.getPhase2EncryptionAlgorithms()) == 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.getPhase2IntegrityAlgorithms() == null ^ this.getPhase2IntegrityAlgorithms() == null) return false; if (other.getPhase2IntegrityAlgorithms() != null && other.getPhase2IntegrityAlgorithms().equals(this.getPhase2IntegrityAlgorithms()) == 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.getPhase2DHGroupNumbers() == null ^ this.getPhase2DHGroupNumbers() == null) return false; if (other.getPhase2DHGroupNumbers() != null && other.getPhase2DHGroupNumbers().equals(this.getPhase2DHGroupNumbers()) == 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.getStartupAction() == null ^ this.getStartupAction() == null) return false; if (other.getStartupAction() != null && other.getStartupAction().equals(this.getStartupAction()) == false) return false; if (other.getLogOptions() == null ^ this.getLogOptions() == null) return false; if (other.getLogOptions() != null && other.getLogOptions().equals(this.getLogOptions()) == false) return false; if (other.getEnableTunnelLifecycleControl() == null ^ this.getEnableTunnelLifecycleControl() == null) return false; if (other.getEnableTunnelLifecycleControl() != null && other.getEnableTunnelLifecycleControl().equals(this.getEnableTunnelLifecycleControl()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getTunnelInsideCidr() == null) ? 0 : getTunnelInsideCidr().hashCode()); hashCode = prime * hashCode + ((getTunnelInsideIpv6Cidr() == null) ? 0 : getTunnelInsideIpv6Cidr().hashCode()); hashCode = prime * hashCode + ((getPreSharedKey() == null) ? 0 : getPreSharedKey().hashCode()); hashCode = prime * hashCode + ((getPhase1LifetimeSeconds() == null) ? 0 : getPhase1LifetimeSeconds().hashCode()); hashCode = prime * hashCode + ((getPhase2LifetimeSeconds() == null) ? 0 : getPhase2LifetimeSeconds().hashCode()); hashCode = prime * hashCode + ((getRekeyMarginTimeSeconds() == null) ? 0 : getRekeyMarginTimeSeconds().hashCode()); hashCode = prime * hashCode + ((getRekeyFuzzPercentage() == null) ? 0 : getRekeyFuzzPercentage().hashCode()); hashCode = prime * hashCode + ((getReplayWindowSize() == null) ? 0 : getReplayWindowSize().hashCode()); hashCode = prime * hashCode + ((getDPDTimeoutSeconds() == null) ? 0 : getDPDTimeoutSeconds().hashCode()); hashCode = prime * hashCode + ((getDPDTimeoutAction() == null) ? 0 : getDPDTimeoutAction().hashCode()); hashCode = prime * hashCode + ((getPhase1EncryptionAlgorithms() == null) ? 0 : getPhase1EncryptionAlgorithms().hashCode()); hashCode = prime * hashCode + ((getPhase2EncryptionAlgorithms() == null) ? 0 : getPhase2EncryptionAlgorithms().hashCode()); hashCode = prime * hashCode + ((getPhase1IntegrityAlgorithms() == null) ? 0 : getPhase1IntegrityAlgorithms().hashCode()); hashCode = prime * hashCode + ((getPhase2IntegrityAlgorithms() == null) ? 0 : getPhase2IntegrityAlgorithms().hashCode()); hashCode = prime * hashCode + ((getPhase1DHGroupNumbers() == null) ? 0 : getPhase1DHGroupNumbers().hashCode()); hashCode = prime * hashCode + ((getPhase2DHGroupNumbers() == null) ? 0 : getPhase2DHGroupNumbers().hashCode()); hashCode = prime * hashCode + ((getIKEVersions() == null) ? 0 : getIKEVersions().hashCode()); hashCode = prime * hashCode + ((getStartupAction() == null) ? 0 : getStartupAction().hashCode()); hashCode = prime * hashCode + ((getLogOptions() == null) ? 0 : getLogOptions().hashCode()); hashCode = prime * hashCode + ((getEnableTunnelLifecycleControl() == null) ? 0 : getEnableTunnelLifecycleControl().hashCode()); return hashCode; } @Override public ModifyVpnTunnelOptionsSpecification clone() { try { return (ModifyVpnTunnelOptionsSpecification) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }