[][src]Struct rusoto_ec2::VpnTunnelOptionsSpecification

pub struct VpnTunnelOptionsSpecification {
    pub dpd_timeout_action: Option<String>,
    pub dpd_timeout_seconds: Option<i64>,
    pub ike_versions: Option<Vec<IKEVersionsRequestListValue>>,
    pub phase_1dh_group_numbers: Option<Vec<Phase1DHGroupNumbersRequestListValue>>,
    pub phase_1_encryption_algorithms: Option<Vec<Phase1EncryptionAlgorithmsRequestListValue>>,
    pub phase_1_integrity_algorithms: Option<Vec<Phase1IntegrityAlgorithmsRequestListValue>>,
    pub phase_1_lifetime_seconds: Option<i64>,
    pub phase_2dh_group_numbers: Option<Vec<Phase2DHGroupNumbersRequestListValue>>,
    pub phase_2_encryption_algorithms: Option<Vec<Phase2EncryptionAlgorithmsRequestListValue>>,
    pub phase_2_integrity_algorithms: Option<Vec<Phase2IntegrityAlgorithmsRequestListValue>>,
    pub phase_2_lifetime_seconds: Option<i64>,
    pub pre_shared_key: Option<String>,
    pub rekey_fuzz_percentage: Option<i64>,
    pub rekey_margin_time_seconds: Option<i64>,
    pub replay_window_size: Option<i64>,
    pub startup_action: Option<String>,
    pub tunnel_inside_cidr: Option<String>,
    pub tunnel_inside_ipv_6_cidr: Option<String>,
}

The tunnel options for a single VPN tunnel.

Fields

dpd_timeout_action: Option<String>

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

dpd_timeout_seconds: Option<i64>

The number of seconds after which a DPD timeout occurs.

Constraints: A value between 0 and 30.

Default: 30

ike_versions: Option<Vec<IKEVersionsRequestListValue>>

The IKE versions that are permitted for the VPN tunnel.

Valid values: ikev1 | ikev2

phase_1dh_group_numbers: Option<Vec<Phase1DHGroupNumbersRequestListValue>>

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

phase_1_encryption_algorithms: Option<Vec<Phase1EncryptionAlgorithmsRequestListValue>>

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

phase_1_integrity_algorithms: Option<Vec<Phase1IntegrityAlgorithmsRequestListValue>>

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

phase_1_lifetime_seconds: Option<i64>

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

Constraints: A value between 900 and 28,800.

Default: 28800

phase_2dh_group_numbers: Option<Vec<Phase2DHGroupNumbersRequestListValue>>

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

phase_2_encryption_algorithms: Option<Vec<Phase2EncryptionAlgorithmsRequestListValue>>

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

phase_2_integrity_algorithms: Option<Vec<Phase2IntegrityAlgorithmsRequestListValue>>

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

phase_2_lifetime_seconds: Option<i64>

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

pre_shared_key: Option<String>

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

rekey_fuzz_percentage: Option<i64>

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

rekey_margin_time_seconds: Option<i64>

The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS 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

replay_window_size: Option<i64>

The number of packets in an IKE replay window.

Constraints: A value between 64 and 2048.

Default: 1024

startup_action: Option<String>

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 AWS to initiate the IKE negotiation.

Valid Values: add | start

Default: add

tunnel_inside_cidr: Option<String>

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

tunnel_inside_ipv_6_cidr: Option<String>

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.

Trait Implementations

impl Clone for VpnTunnelOptionsSpecification[src]

impl Debug for VpnTunnelOptionsSpecification[src]

impl Default for VpnTunnelOptionsSpecification[src]

impl PartialEq<VpnTunnelOptionsSpecification> for VpnTunnelOptionsSpecification[src]

impl StructuralPartialEq for VpnTunnelOptionsSpecification[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.