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

com.amazonaws.services.ec2.model.VpnTunnelOptionsSpecification Maven / Gradle / Ivy

Go to download

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

There is a newer version: 1.12.778
Show newest version
/*
 * Copyright 2019-2024 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 tunnel options for a single VPN tunnel. *

* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class VpnTunnelOptionsSpecification 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 *

    *
  • *
*/ private String tunnelInsideCidr; /** *

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

*/ private String tunnelInsideIpv6Cidr; /** *

* The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and 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 *

*/ private Integer phase1LifetimeSeconds; /** *

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

*/ private Integer phase2LifetimeSeconds; /** *

* 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: 270 *

*/ private Integer rekeyMarginTimeSeconds; /** *

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

*/ private Integer rekeyFuzzPercentage; /** *

* The number of packets in an IKE replay window. *

*

* Constraints: A value between 64 and 2048. *

*

* Default: 1024 *

*/ private Integer replayWindowSize; /** *

* The number of seconds after which a DPD timeout occurs. *

*

* Constraints: A value greater than or equal to 30. *

*

* Default: 30 *

*/ private Integer dPDTimeoutSeconds; /** *

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

*/ private String dPDTimeoutAction; /** *

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

*/ private com.amazonaws.internal.SdkInternalList phase1EncryptionAlgorithms; /** *

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

*/ private com.amazonaws.internal.SdkInternalList phase2EncryptionAlgorithms; /** *

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

*/ private com.amazonaws.internal.SdkInternalList phase1IntegrityAlgorithms; /** *

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

*/ private com.amazonaws.internal.SdkInternalList phase2IntegrityAlgorithms; /** *

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

*/ private com.amazonaws.internal.SdkInternalList phase1DHGroupNumbers; /** *

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

*/ private com.amazonaws.internal.SdkInternalList phase2DHGroupNumbers; /** *

* The IKE versions that are permitted for the VPN tunnel. *

*

* Valid values: ikev1 | ikev2 *

*/ private com.amazonaws.internal.SdkInternalList iKEVersions; /** *

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

*/ private String startupAction; /** *

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

    *
  • *
* * @param tunnelInsideCidr * 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 *

    *
  • */ public void setTunnelInsideCidr(String tunnelInsideCidr) { this.tunnelInsideCidr = tunnelInsideCidr; } /** *

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

      *
    • *
    * * @return 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 *

      *
    • */ public String getTunnelInsideCidr() { return this.tunnelInsideCidr; } /** *

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

        *
      • *
      * * @param tunnelInsideCidr * 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 *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public VpnTunnelOptionsSpecification withTunnelInsideCidr(String tunnelInsideCidr) { setTunnelInsideCidr(tunnelInsideCidr); return this; } /** *

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

        * * @param 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. */ 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. *

        * * @return 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. */ 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. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public VpnTunnelOptionsSpecification withTunnelInsideIpv6Cidr(String tunnelInsideIpv6Cidr) { setTunnelInsideIpv6Cidr(tunnelInsideIpv6Cidr); return this; } /** *

        * The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and 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 * 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 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 * 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 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 * 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 VpnTunnelOptionsSpecification 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 *

        * * @param phase1LifetimeSeconds * The lifetime for phase 1 of the IKE negotiation, in seconds.

        *

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

        * * @return The lifetime for phase 1 of the IKE negotiation, in seconds.

        *

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

        * * @param phase1LifetimeSeconds * The lifetime for phase 1 of the IKE negotiation, in seconds.

        *

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

        * * @param 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 */ 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 *

        * * @return 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 */ 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 *

        * * @param 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 * @return Returns a reference to this object so that method calls can be chained together. */ public VpnTunnelOptionsSpecification 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: 270 *

        * * @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. 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: 270 */ 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: 270 *

        * * @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. 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: 270 */ 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: 270 *

        * * @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. 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: 270 * @return Returns a reference to this object so that method calls can be chained together. */ public VpnTunnelOptionsSpecification 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 *

        * * @param 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 */ 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 *

        * * @return 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 */ 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 *

        * * @param 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 * @return Returns a reference to this object so that method calls can be chained together. */ public VpnTunnelOptionsSpecification 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 *

        * * @param replayWindowSize * The number of packets in an IKE replay window.

        *

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

        * * @return The number of packets in an IKE replay window.

        *

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

        * * @param replayWindowSize * The number of packets in an IKE replay window.

        *

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

        * * @param dPDTimeoutSeconds * The number of seconds after which a DPD timeout occurs.

        *

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

        * * @return The number of seconds after which a DPD timeout occurs.

        *

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

        * * @param dPDTimeoutSeconds * The number of seconds after which a DPD timeout occurs.

        *

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

        * * @param 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 */ 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 *

        * * @return 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 */ 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 *

        * * @param 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 * @return Returns a reference to this object so that method calls can be chained together. */ public VpnTunnelOptionsSpecification 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 *

        * * @return 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.List getPhase1EncryptionAlgorithms() { if (phase1EncryptionAlgorithms == null) { phase1EncryptionAlgorithms = new com.amazonaws.internal.SdkInternalList(); } return phase1EncryptionAlgorithms; } /** *

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

        * * @param phase1EncryptionAlgorithms * 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 void setPhase1EncryptionAlgorithms(java.util.Collection phase1EncryptionAlgorithms) { if (phase1EncryptionAlgorithms == null) { this.phase1EncryptionAlgorithms = null; return; } this.phase1EncryptionAlgorithms = new com.amazonaws.internal.SdkInternalList(phase1EncryptionAlgorithms); } /** *

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

        *

        * 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 * 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 VpnTunnelOptionsSpecification withPhase1EncryptionAlgorithms(Phase1EncryptionAlgorithmsRequestListValue... phase1EncryptionAlgorithms) { if (this.phase1EncryptionAlgorithms == null) { setPhase1EncryptionAlgorithms(new com.amazonaws.internal.SdkInternalList( phase1EncryptionAlgorithms.length)); } for (Phase1EncryptionAlgorithmsRequestListValue ele : phase1EncryptionAlgorithms) { this.phase1EncryptionAlgorithms.add(ele); } 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 *

        * * @param phase1EncryptionAlgorithms * 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 VpnTunnelOptionsSpecification withPhase1EncryptionAlgorithms( java.util.Collection phase1EncryptionAlgorithms) { setPhase1EncryptionAlgorithms(phase1EncryptionAlgorithms); return this; } /** *

        * 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 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.List getPhase2EncryptionAlgorithms() { if (phase2EncryptionAlgorithms == null) { phase2EncryptionAlgorithms = new com.amazonaws.internal.SdkInternalList(); } return phase2EncryptionAlgorithms; } /** *

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

        * * @param phase2EncryptionAlgorithms * 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 void setPhase2EncryptionAlgorithms(java.util.Collection phase2EncryptionAlgorithms) { if (phase2EncryptionAlgorithms == null) { this.phase2EncryptionAlgorithms = null; return; } this.phase2EncryptionAlgorithms = new com.amazonaws.internal.SdkInternalList(phase2EncryptionAlgorithms); } /** *

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

        *

        * 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 * 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 VpnTunnelOptionsSpecification withPhase2EncryptionAlgorithms(Phase2EncryptionAlgorithmsRequestListValue... phase2EncryptionAlgorithms) { if (this.phase2EncryptionAlgorithms == null) { setPhase2EncryptionAlgorithms(new com.amazonaws.internal.SdkInternalList( phase2EncryptionAlgorithms.length)); } for (Phase2EncryptionAlgorithmsRequestListValue ele : phase2EncryptionAlgorithms) { this.phase2EncryptionAlgorithms.add(ele); } return this; } /** *

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

        * * @param phase2EncryptionAlgorithms * 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 VpnTunnelOptionsSpecification withPhase2EncryptionAlgorithms( java.util.Collection phase2EncryptionAlgorithms) { setPhase2EncryptionAlgorithms(phase2EncryptionAlgorithms); return this; } /** *

        * 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 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.List getPhase1IntegrityAlgorithms() { if (phase1IntegrityAlgorithms == null) { phase1IntegrityAlgorithms = new com.amazonaws.internal.SdkInternalList(); } return phase1IntegrityAlgorithms; } /** *

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

        * * @param phase1IntegrityAlgorithms * 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 void setPhase1IntegrityAlgorithms(java.util.Collection phase1IntegrityAlgorithms) { if (phase1IntegrityAlgorithms == null) { this.phase1IntegrityAlgorithms = null; return; } this.phase1IntegrityAlgorithms = new com.amazonaws.internal.SdkInternalList(phase1IntegrityAlgorithms); } /** *

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

        *

        * 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 * 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 VpnTunnelOptionsSpecification withPhase1IntegrityAlgorithms(Phase1IntegrityAlgorithmsRequestListValue... phase1IntegrityAlgorithms) { if (this.phase1IntegrityAlgorithms == null) { setPhase1IntegrityAlgorithms(new com.amazonaws.internal.SdkInternalList(phase1IntegrityAlgorithms.length)); } for (Phase1IntegrityAlgorithmsRequestListValue ele : phase1IntegrityAlgorithms) { this.phase1IntegrityAlgorithms.add(ele); } return this; } /** *

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

        * * @param phase1IntegrityAlgorithms * 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 VpnTunnelOptionsSpecification withPhase1IntegrityAlgorithms(java.util.Collection phase1IntegrityAlgorithms) { setPhase1IntegrityAlgorithms(phase1IntegrityAlgorithms); return this; } /** *

        * 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 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.List getPhase2IntegrityAlgorithms() { if (phase2IntegrityAlgorithms == null) { phase2IntegrityAlgorithms = new com.amazonaws.internal.SdkInternalList(); } return phase2IntegrityAlgorithms; } /** *

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

        * * @param phase2IntegrityAlgorithms * 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 void setPhase2IntegrityAlgorithms(java.util.Collection phase2IntegrityAlgorithms) { if (phase2IntegrityAlgorithms == null) { this.phase2IntegrityAlgorithms = null; return; } this.phase2IntegrityAlgorithms = new com.amazonaws.internal.SdkInternalList(phase2IntegrityAlgorithms); } /** *

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

        *

        * 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 * 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 VpnTunnelOptionsSpecification withPhase2IntegrityAlgorithms(Phase2IntegrityAlgorithmsRequestListValue... phase2IntegrityAlgorithms) { if (this.phase2IntegrityAlgorithms == null) { setPhase2IntegrityAlgorithms(new com.amazonaws.internal.SdkInternalList(phase2IntegrityAlgorithms.length)); } for (Phase2IntegrityAlgorithmsRequestListValue ele : phase2IntegrityAlgorithms) { this.phase2IntegrityAlgorithms.add(ele); } return this; } /** *

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

        * * @param phase2IntegrityAlgorithms * 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 VpnTunnelOptionsSpecification withPhase2IntegrityAlgorithms(java.util.Collection phase2IntegrityAlgorithms) { setPhase2IntegrityAlgorithms(phase2IntegrityAlgorithms); return this; } /** *

        * 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 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.List getPhase1DHGroupNumbers() { if (phase1DHGroupNumbers == null) { phase1DHGroupNumbers = new com.amazonaws.internal.SdkInternalList(); } return phase1DHGroupNumbers; } /** *

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

        * * @param phase1DHGroupNumbers * 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 void setPhase1DHGroupNumbers(java.util.Collection phase1DHGroupNumbers) { if (phase1DHGroupNumbers == null) { this.phase1DHGroupNumbers = null; return; } this.phase1DHGroupNumbers = new com.amazonaws.internal.SdkInternalList(phase1DHGroupNumbers); } /** *

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

        *

        * 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 * 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 VpnTunnelOptionsSpecification withPhase1DHGroupNumbers(Phase1DHGroupNumbersRequestListValue... phase1DHGroupNumbers) { if (this.phase1DHGroupNumbers == null) { setPhase1DHGroupNumbers(new com.amazonaws.internal.SdkInternalList(phase1DHGroupNumbers.length)); } for (Phase1DHGroupNumbersRequestListValue ele : phase1DHGroupNumbers) { this.phase1DHGroupNumbers.add(ele); } return this; } /** *

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

        * * @param phase1DHGroupNumbers * 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 VpnTunnelOptionsSpecification withPhase1DHGroupNumbers(java.util.Collection phase1DHGroupNumbers) { setPhase1DHGroupNumbers(phase1DHGroupNumbers); return this; } /** *

        * 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 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.List getPhase2DHGroupNumbers() { if (phase2DHGroupNumbers == null) { phase2DHGroupNumbers = new com.amazonaws.internal.SdkInternalList(); } return phase2DHGroupNumbers; } /** *

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

        * * @param phase2DHGroupNumbers * 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 void setPhase2DHGroupNumbers(java.util.Collection phase2DHGroupNumbers) { if (phase2DHGroupNumbers == null) { this.phase2DHGroupNumbers = null; return; } this.phase2DHGroupNumbers = new com.amazonaws.internal.SdkInternalList(phase2DHGroupNumbers); } /** *

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

        *

        * 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 * 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 VpnTunnelOptionsSpecification withPhase2DHGroupNumbers(Phase2DHGroupNumbersRequestListValue... phase2DHGroupNumbers) { if (this.phase2DHGroupNumbers == null) { setPhase2DHGroupNumbers(new com.amazonaws.internal.SdkInternalList(phase2DHGroupNumbers.length)); } for (Phase2DHGroupNumbersRequestListValue ele : phase2DHGroupNumbers) { this.phase2DHGroupNumbers.add(ele); } return this; } /** *

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

        * * @param phase2DHGroupNumbers * 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 VpnTunnelOptionsSpecification withPhase2DHGroupNumbers(java.util.Collection phase2DHGroupNumbers) { setPhase2DHGroupNumbers(phase2DHGroupNumbers); return this; } /** *

        * The IKE versions that are permitted for the VPN tunnel. *

        *

        * Valid values: ikev1 | ikev2 *

        * * @return The IKE versions that are permitted for the VPN tunnel.

        *

        * Valid values: ikev1 | ikev2 */ public java.util.List getIKEVersions() { if (iKEVersions == null) { iKEVersions = new com.amazonaws.internal.SdkInternalList(); } return iKEVersions; } /** *

        * The IKE versions that are permitted for the VPN tunnel. *

        *

        * Valid values: ikev1 | ikev2 *

        * * @param iKEVersions * The IKE versions that are permitted for the VPN tunnel.

        *

        * Valid values: ikev1 | ikev2 */ public void setIKEVersions(java.util.Collection iKEVersions) { if (iKEVersions == null) { this.iKEVersions = null; return; } this.iKEVersions = new com.amazonaws.internal.SdkInternalList(iKEVersions); } /** *

        * The IKE versions that are permitted for the VPN tunnel. *

        *

        * Valid values: ikev1 | ikev2 *

        *

        * 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 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 VpnTunnelOptionsSpecification withIKEVersions(IKEVersionsRequestListValue... iKEVersions) { if (this.iKEVersions == null) { setIKEVersions(new com.amazonaws.internal.SdkInternalList(iKEVersions.length)); } for (IKEVersionsRequestListValue ele : iKEVersions) { this.iKEVersions.add(ele); } return this; } /** *

        * The IKE versions that are permitted for the VPN tunnel. *

        *

        * Valid values: ikev1 | ikev2 *

        * * @param iKEVersions * 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 VpnTunnelOptionsSpecification withIKEVersions(java.util.Collection iKEVersions) { setIKEVersions(iKEVersions); return this; } /** *

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

        * * @param 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 */ 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 *

        * * @return 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 */ 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 *

        * * @param 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 * @return Returns a reference to this object so that method calls can be chained together. */ public VpnTunnelOptionsSpecification 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 VpnTunnelOptionsSpecification 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 VpnTunnelOptionsSpecification 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 VpnTunnelOptionsSpecification == false) return false; VpnTunnelOptionsSpecification other = (VpnTunnelOptionsSpecification) 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 VpnTunnelOptionsSpecification clone() { try { return (VpnTunnelOptionsSpecification) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy