#[non_exhaustive]
pub struct TunnelOption { /* private fields */ }
Expand description

The VPN tunnel options.

Implementations§

The external IP address of the VPN tunnel.

The range of inside IPv4 addresses for the tunnel.

The range of inside IPv6 addresses for the tunnel.

The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer gateway.

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

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

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 percentage of the rekey window determined by RekeyMarginTimeSeconds during which the rekey time is randomly selected.

The number of packets in an IKE replay window.

The number of seconds after which a DPD timeout occurs.

The action to take after a DPD timeout occurs.

The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.

The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.

The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.

The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations.

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations.

The IKE versions that are permitted for the VPN tunnel.

The action to take when the establishing the VPN tunnels for a VPN connection.

Options for logging VPN tunnel activity.

Creates a new builder-style object to manufacture TunnelOption.

Examples found in repository?
src/xml_deser.rs (line 64545)
64541
64542
64543
64544
64545
64546
64547
64548
64549
64550
64551
64552
64553
64554
64555
64556
64557
64558
64559
64560
64561
64562
64563
64564
64565
64566
64567
64568
64569
64570
64571
64572
64573
64574
64575
64576
64577
64578
64579
64580
64581
64582
64583
64584
64585
64586
64587
64588
64589
64590
64591
64592
64593
64594
64595
64596
64597
64598
64599
64600
64601
64602
64603
64604
64605
64606
64607
64608
64609
64610
64611
64612
64613
64614
64615
64616
64617
64618
64619
64620
64621
64622
64623
64624
64625
64626
64627
64628
64629
64630
64631
64632
64633
64634
64635
64636
64637
64638
64639
64640
64641
64642
64643
64644
64645
64646
64647
64648
64649
64650
64651
64652
64653
64654
64655
64656
64657
64658
64659
64660
64661
64662
64663
64664
64665
64666
64667
64668
64669
64670
64671
64672
64673
64674
64675
64676
64677
64678
64679
64680
64681
64682
64683
64684
64685
64686
64687
64688
64689
64690
64691
64692
64693
64694
64695
64696
64697
64698
64699
64700
64701
64702
64703
64704
64705
64706
64707
64708
64709
64710
64711
64712
64713
64714
64715
64716
64717
64718
64719
64720
64721
64722
64723
64724
64725
64726
64727
64728
64729
64730
64731
64732
64733
64734
64735
64736
64737
64738
64739
64740
64741
64742
64743
64744
64745
64746
64747
64748
64749
64750
64751
64752
64753
64754
64755
64756
64757
64758
64759
64760
64761
64762
64763
64764
64765
64766
64767
64768
64769
64770
64771
64772
64773
64774
64775
64776
64777
64778
64779
64780
64781
64782
64783
64784
64785
64786
64787
64788
64789
64790
64791
64792
64793
64794
64795
64796
64797
64798
64799
64800
pub fn deser_structure_crate_model_tunnel_option(
    decoder: &mut aws_smithy_xml::decode::ScopedDecoder,
) -> Result<crate::model::TunnelOption, aws_smithy_xml::decode::XmlDecodeError> {
    #[allow(unused_mut)]
    let mut builder = crate::model::TunnelOption::builder();
    while let Some(mut tag) = decoder.next_tag() {
        match tag.start_el() {
            s if s.matches("outsideIpAddress") /* OutsideIpAddress com.amazonaws.ec2#TunnelOption$OutsideIpAddress */ =>  {
                let var_3176 =
                    Some(
                        Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
                            aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            .into()
                        )
                        ?
                    )
                ;
                builder = builder.set_outside_ip_address(var_3176);
            }
            ,
            s if s.matches("tunnelInsideCidr") /* TunnelInsideCidr com.amazonaws.ec2#TunnelOption$TunnelInsideCidr */ =>  {
                let var_3177 =
                    Some(
                        Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
                            aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            .into()
                        )
                        ?
                    )
                ;
                builder = builder.set_tunnel_inside_cidr(var_3177);
            }
            ,
            s if s.matches("tunnelInsideIpv6Cidr") /* TunnelInsideIpv6Cidr com.amazonaws.ec2#TunnelOption$TunnelInsideIpv6Cidr */ =>  {
                let var_3178 =
                    Some(
                        Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
                            aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            .into()
                        )
                        ?
                    )
                ;
                builder = builder.set_tunnel_inside_ipv6_cidr(var_3178);
            }
            ,
            s if s.matches("preSharedKey") /* PreSharedKey com.amazonaws.ec2#TunnelOption$PreSharedKey */ =>  {
                let var_3179 =
                    Some(
                        Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
                            aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            .into()
                        )
                        ?
                    )
                ;
                builder = builder.set_pre_shared_key(var_3179);
            }
            ,
            s if s.matches("phase1LifetimeSeconds") /* Phase1LifetimeSeconds com.amazonaws.ec2#TunnelOption$Phase1LifetimeSeconds */ =>  {
                let var_3180 =
                    Some(
                         {
                            <i32 as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
                                aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            )
                            .map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_phase1_lifetime_seconds(var_3180);
            }
            ,
            s if s.matches("phase2LifetimeSeconds") /* Phase2LifetimeSeconds com.amazonaws.ec2#TunnelOption$Phase2LifetimeSeconds */ =>  {
                let var_3181 =
                    Some(
                         {
                            <i32 as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
                                aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            )
                            .map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_phase2_lifetime_seconds(var_3181);
            }
            ,
            s if s.matches("rekeyMarginTimeSeconds") /* RekeyMarginTimeSeconds com.amazonaws.ec2#TunnelOption$RekeyMarginTimeSeconds */ =>  {
                let var_3182 =
                    Some(
                         {
                            <i32 as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
                                aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            )
                            .map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_rekey_margin_time_seconds(var_3182);
            }
            ,
            s if s.matches("rekeyFuzzPercentage") /* RekeyFuzzPercentage com.amazonaws.ec2#TunnelOption$RekeyFuzzPercentage */ =>  {
                let var_3183 =
                    Some(
                         {
                            <i32 as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
                                aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            )
                            .map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_rekey_fuzz_percentage(var_3183);
            }
            ,
            s if s.matches("replayWindowSize") /* ReplayWindowSize com.amazonaws.ec2#TunnelOption$ReplayWindowSize */ =>  {
                let var_3184 =
                    Some(
                         {
                            <i32 as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
                                aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            )
                            .map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_replay_window_size(var_3184);
            }
            ,
            s if s.matches("dpdTimeoutSeconds") /* DpdTimeoutSeconds com.amazonaws.ec2#TunnelOption$DpdTimeoutSeconds */ =>  {
                let var_3185 =
                    Some(
                         {
                            <i32 as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
                                aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            )
                            .map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.ec2#Integer`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_dpd_timeout_seconds(var_3185);
            }
            ,
            s if s.matches("dpdTimeoutAction") /* DpdTimeoutAction com.amazonaws.ec2#TunnelOption$DpdTimeoutAction */ =>  {
                let var_3186 =
                    Some(
                        Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
                            aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            .into()
                        )
                        ?
                    )
                ;
                builder = builder.set_dpd_timeout_action(var_3186);
            }
            ,
            s if s.matches("phase1EncryptionAlgorithmSet") /* Phase1EncryptionAlgorithms com.amazonaws.ec2#TunnelOption$Phase1EncryptionAlgorithms */ =>  {
                let var_3187 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_ec2_phase1_encryption_algorithms_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_phase1_encryption_algorithms(var_3187);
            }
            ,
            s if s.matches("phase2EncryptionAlgorithmSet") /* Phase2EncryptionAlgorithms com.amazonaws.ec2#TunnelOption$Phase2EncryptionAlgorithms */ =>  {
                let var_3188 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_ec2_phase2_encryption_algorithms_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_phase2_encryption_algorithms(var_3188);
            }
            ,
            s if s.matches("phase1IntegrityAlgorithmSet") /* Phase1IntegrityAlgorithms com.amazonaws.ec2#TunnelOption$Phase1IntegrityAlgorithms */ =>  {
                let var_3189 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_ec2_phase1_integrity_algorithms_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_phase1_integrity_algorithms(var_3189);
            }
            ,
            s if s.matches("phase2IntegrityAlgorithmSet") /* Phase2IntegrityAlgorithms com.amazonaws.ec2#TunnelOption$Phase2IntegrityAlgorithms */ =>  {
                let var_3190 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_ec2_phase2_integrity_algorithms_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_phase2_integrity_algorithms(var_3190);
            }
            ,
            s if s.matches("phase1DHGroupNumberSet") /* Phase1DHGroupNumbers com.amazonaws.ec2#TunnelOption$Phase1DHGroupNumbers */ =>  {
                let var_3191 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_ec2_phase1_dh_group_numbers_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_phase1_dh_group_numbers(var_3191);
            }
            ,
            s if s.matches("phase2DHGroupNumberSet") /* Phase2DHGroupNumbers com.amazonaws.ec2#TunnelOption$Phase2DHGroupNumbers */ =>  {
                let var_3192 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_ec2_phase2_dh_group_numbers_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_phase2_dh_group_numbers(var_3192);
            }
            ,
            s if s.matches("ikeVersionSet") /* IkeVersions com.amazonaws.ec2#TunnelOption$IkeVersions */ =>  {
                let var_3193 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_ec2_ike_versions_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_ike_versions(var_3193);
            }
            ,
            s if s.matches("startupAction") /* StartupAction com.amazonaws.ec2#TunnelOption$StartupAction */ =>  {
                let var_3194 =
                    Some(
                        Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
                            aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            .into()
                        )
                        ?
                    )
                ;
                builder = builder.set_startup_action(var_3194);
            }
            ,
            s if s.matches("logOptions") /* LogOptions com.amazonaws.ec2#TunnelOption$LogOptions */ =>  {
                let var_3195 =
                    Some(
                        crate::xml_deser::deser_structure_crate_model_vpn_tunnel_log_options(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_log_options(var_3195);
            }
            ,
            _ => {}
        }
    }
    Ok(builder.build())
}

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more