/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the ec2-2016-11-15.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.EC2.Model { /// /// Container for the parameters to the CreateVpnConnection operation. /// Creates a VPN connection between an existing virtual private gateway or transit gateway /// and a customer gateway. The supported connection type is ipsec.1. /// /// /// /// The response includes information that you need to give to your network administrator /// to configure your customer gateway. /// /// /// /// We strongly recommend that you use HTTPS when calling this operation because the response /// contains sensitive cryptographic information for configuring your customer gateway /// device. /// /// /// /// If you decide to shut down your VPN connection for any reason and later create a new /// VPN connection, you must reconfigure your customer gateway with the new information /// returned from this call. /// /// /// /// This is an idempotent operation. If you perform the operation more than once, Amazon /// EC2 doesn't return an error. /// /// /// /// For more information, see Amazon /// Web Services Site-to-Site VPN in the Amazon Web Services Site-to-Site VPN User /// Guide. /// /// public partial class CreateVpnConnectionRequest : AmazonEC2Request { private string _customerGatewayId; private VpnConnectionOptionsSpecification _options; private List _tagSpecifications = new List(); private string _transitGatewayId; private string _type; private string _vpnGatewayId; /// /// Empty constructor used to set properties independently even when a simple constructor is available /// public CreateVpnConnectionRequest() { } /// /// Instantiates CreateVpnConnectionRequest with the parameterized properties /// /// The type of VPN connection (ipsec.1). /// The ID of the customer gateway. /// The ID of the virtual private gateway. If you specify a virtual private gateway, you cannot specify a transit gateway. public CreateVpnConnectionRequest(string type, string customerGatewayId, string vpnGatewayId) { _type = type; _customerGatewayId = customerGatewayId; _vpnGatewayId = vpnGatewayId; } /// /// Gets and sets the property CustomerGatewayId. /// /// The ID of the customer gateway. /// /// [AWSProperty(Required=true)] public string CustomerGatewayId { get { return this._customerGatewayId; } set { this._customerGatewayId = value; } } // Check to see if CustomerGatewayId property is set internal bool IsSetCustomerGatewayId() { return this._customerGatewayId != null; } /// /// Gets and sets the property Options. /// /// The options for the VPN connection. /// /// public VpnConnectionOptionsSpecification Options { get { return this._options; } set { this._options = value; } } // Check to see if Options property is set internal bool IsSetOptions() { return this._options != null; } /// /// Gets and sets the property TagSpecifications. /// /// The tags to apply to the VPN connection. /// /// public List TagSpecifications { get { return this._tagSpecifications; } set { this._tagSpecifications = value; } } // Check to see if TagSpecifications property is set internal bool IsSetTagSpecifications() { return this._tagSpecifications != null && this._tagSpecifications.Count > 0; } /// /// Gets and sets the property TransitGatewayId. /// /// The ID of the transit gateway. If you specify a transit gateway, you cannot specify /// a virtual private gateway. /// /// public string TransitGatewayId { get { return this._transitGatewayId; } set { this._transitGatewayId = value; } } // Check to see if TransitGatewayId property is set internal bool IsSetTransitGatewayId() { return this._transitGatewayId != null; } /// /// Gets and sets the property Type. /// /// The type of VPN connection (ipsec.1). /// /// [AWSProperty(Required=true)] public string Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } /// /// Gets and sets the property VpnGatewayId. /// /// The ID of the virtual private gateway. If you specify a virtual private gateway, you /// cannot specify a transit gateway. /// /// public string VpnGatewayId { get { return this._vpnGatewayId; } set { this._vpnGatewayId = value; } } // Check to see if VpnGatewayId property is set internal bool IsSetVpnGatewayId() { return this._vpnGatewayId != null; } } }