/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains the parameters for CreateVpnConnection.See Also:
* AWS
* API Reference
The ID of the customer gateway.
*/ inline const Aws::String& GetCustomerGatewayId() const{ return m_customerGatewayId; } /** *The ID of the customer gateway.
*/ inline bool CustomerGatewayIdHasBeenSet() const { return m_customerGatewayIdHasBeenSet; } /** *The ID of the customer gateway.
*/ inline void SetCustomerGatewayId(const Aws::String& value) { m_customerGatewayIdHasBeenSet = true; m_customerGatewayId = value; } /** *The ID of the customer gateway.
*/ inline void SetCustomerGatewayId(Aws::String&& value) { m_customerGatewayIdHasBeenSet = true; m_customerGatewayId = std::move(value); } /** *The ID of the customer gateway.
*/ inline void SetCustomerGatewayId(const char* value) { m_customerGatewayIdHasBeenSet = true; m_customerGatewayId.assign(value); } /** *The ID of the customer gateway.
*/ inline CreateVpnConnectionRequest& WithCustomerGatewayId(const Aws::String& value) { SetCustomerGatewayId(value); return *this;} /** *The ID of the customer gateway.
*/ inline CreateVpnConnectionRequest& WithCustomerGatewayId(Aws::String&& value) { SetCustomerGatewayId(std::move(value)); return *this;} /** *The ID of the customer gateway.
*/ inline CreateVpnConnectionRequest& WithCustomerGatewayId(const char* value) { SetCustomerGatewayId(value); return *this;} /** *The type of VPN connection (ipsec.1
).
The type of VPN connection (ipsec.1
).
The type of VPN connection (ipsec.1
).
The type of VPN connection (ipsec.1
).
The type of VPN connection (ipsec.1
).
The type of VPN connection (ipsec.1
).
The type of VPN connection (ipsec.1
).
The type of VPN connection (ipsec.1
).
The ID of the virtual private gateway. If you specify a virtual private * gateway, you cannot specify a transit gateway.
*/ inline const Aws::String& GetVpnGatewayId() const{ return m_vpnGatewayId; } /** *The ID of the virtual private gateway. If you specify a virtual private * gateway, you cannot specify a transit gateway.
*/ inline bool VpnGatewayIdHasBeenSet() const { return m_vpnGatewayIdHasBeenSet; } /** *The ID of the virtual private gateway. If you specify a virtual private * gateway, you cannot specify a transit gateway.
*/ inline void SetVpnGatewayId(const Aws::String& value) { m_vpnGatewayIdHasBeenSet = true; m_vpnGatewayId = value; } /** *The ID of the virtual private gateway. If you specify a virtual private * gateway, you cannot specify a transit gateway.
*/ inline void SetVpnGatewayId(Aws::String&& value) { m_vpnGatewayIdHasBeenSet = true; m_vpnGatewayId = std::move(value); } /** *The ID of the virtual private gateway. If you specify a virtual private * gateway, you cannot specify a transit gateway.
*/ inline void SetVpnGatewayId(const char* value) { m_vpnGatewayIdHasBeenSet = true; m_vpnGatewayId.assign(value); } /** *The ID of the virtual private gateway. If you specify a virtual private * gateway, you cannot specify a transit gateway.
*/ inline CreateVpnConnectionRequest& WithVpnGatewayId(const Aws::String& value) { SetVpnGatewayId(value); return *this;} /** *The ID of the virtual private gateway. If you specify a virtual private * gateway, you cannot specify a transit gateway.
*/ inline CreateVpnConnectionRequest& WithVpnGatewayId(Aws::String&& value) { SetVpnGatewayId(std::move(value)); return *this;} /** *The ID of the virtual private gateway. If you specify a virtual private * gateway, you cannot specify a transit gateway.
*/ inline CreateVpnConnectionRequest& WithVpnGatewayId(const char* value) { SetVpnGatewayId(value); return *this;} /** *The ID of the transit gateway. If you specify a transit gateway, you cannot * specify a virtual private gateway.
*/ inline const Aws::String& GetTransitGatewayId() const{ return m_transitGatewayId; } /** *The ID of the transit gateway. If you specify a transit gateway, you cannot * specify a virtual private gateway.
*/ inline bool TransitGatewayIdHasBeenSet() const { return m_transitGatewayIdHasBeenSet; } /** *The ID of the transit gateway. If you specify a transit gateway, you cannot * specify a virtual private gateway.
*/ inline void SetTransitGatewayId(const Aws::String& value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId = value; } /** *The ID of the transit gateway. If you specify a transit gateway, you cannot * specify a virtual private gateway.
*/ inline void SetTransitGatewayId(Aws::String&& value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId = std::move(value); } /** *The ID of the transit gateway. If you specify a transit gateway, you cannot * specify a virtual private gateway.
*/ inline void SetTransitGatewayId(const char* value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId.assign(value); } /** *The ID of the transit gateway. If you specify a transit gateway, you cannot * specify a virtual private gateway.
*/ inline CreateVpnConnectionRequest& WithTransitGatewayId(const Aws::String& value) { SetTransitGatewayId(value); return *this;} /** *The ID of the transit gateway. If you specify a transit gateway, you cannot * specify a virtual private gateway.
*/ inline CreateVpnConnectionRequest& WithTransitGatewayId(Aws::String&& value) { SetTransitGatewayId(std::move(value)); return *this;} /** *The ID of the transit gateway. If you specify a transit gateway, you cannot * specify a virtual private gateway.
*/ inline CreateVpnConnectionRequest& WithTransitGatewayId(const char* value) { SetTransitGatewayId(value); return *this;} /** *Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation
.
* Otherwise, it is UnauthorizedOperation
.
Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation
.
* Otherwise, it is UnauthorizedOperation
.
Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation
.
* Otherwise, it is UnauthorizedOperation
.
Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation
.
* Otherwise, it is UnauthorizedOperation
.
The options for the VPN connection.
*/ inline const VpnConnectionOptionsSpecification& GetOptions() const{ return m_options; } /** *The options for the VPN connection.
*/ inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; } /** *The options for the VPN connection.
*/ inline void SetOptions(const VpnConnectionOptionsSpecification& value) { m_optionsHasBeenSet = true; m_options = value; } /** *The options for the VPN connection.
*/ inline void SetOptions(VpnConnectionOptionsSpecification&& value) { m_optionsHasBeenSet = true; m_options = std::move(value); } /** *The options for the VPN connection.
*/ inline CreateVpnConnectionRequest& WithOptions(const VpnConnectionOptionsSpecification& value) { SetOptions(value); return *this;} /** *The options for the VPN connection.
*/ inline CreateVpnConnectionRequest& WithOptions(VpnConnectionOptionsSpecification&& value) { SetOptions(std::move(value)); return *this;} /** *The tags to apply to the VPN connection.
*/ inline const Aws::VectorThe tags to apply to the VPN connection.
*/ inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; } /** *The tags to apply to the VPN connection.
*/ inline void SetTagSpecifications(const Aws::VectorThe tags to apply to the VPN connection.
*/ inline void SetTagSpecifications(Aws::VectorThe tags to apply to the VPN connection.
*/ inline CreateVpnConnectionRequest& WithTagSpecifications(const Aws::VectorThe tags to apply to the VPN connection.
*/ inline CreateVpnConnectionRequest& WithTagSpecifications(Aws::VectorThe tags to apply to the VPN connection.
*/ inline CreateVpnConnectionRequest& AddTagSpecifications(const TagSpecification& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(value); return *this; } /** *The tags to apply to the VPN connection.
*/ inline CreateVpnConnectionRequest& AddTagSpecifications(TagSpecification&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(std::move(value)); return *this; } private: Aws::String m_customerGatewayId; bool m_customerGatewayIdHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; Aws::String m_vpnGatewayId; bool m_vpnGatewayIdHasBeenSet = false; Aws::String m_transitGatewayId; bool m_transitGatewayIdHasBeenSet = false; bool m_dryRun; bool m_dryRunHasBeenSet = false; VpnConnectionOptionsSpecification m_options; bool m_optionsHasBeenSet = false; Aws::Vector