1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/ec2/EC2_EXPORTS.h> 8 #include <aws/ec2/EC2Request.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace EC2 15 { 16 namespace Model 17 { 18 19 /** 20 * <p>Contains the parameters for AttachVpnGateway.</p><p><h3>See Also:</h3> <a 21 * href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGatewayRequest">AWS 22 * API Reference</a></p> 23 */ 24 class AWS_EC2_API AttachVpnGatewayRequest : public EC2Request 25 { 26 public: 27 AttachVpnGatewayRequest(); 28 29 // Service request name is the Operation name which will send this request out, 30 // each operation should has unique request name, so that we can get operation's name from this request. 31 // Note: this is not true for response, multiple operations may have the same response name, 32 // so we can not get operation's name from response. GetServiceRequestName()33 inline virtual const char* GetServiceRequestName() const override { return "AttachVpnGateway"; } 34 35 Aws::String SerializePayload() const override; 36 37 protected: 38 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 39 40 public: 41 42 /** 43 * <p>The ID of the VPC.</p> 44 */ GetVpcId()45 inline const Aws::String& GetVpcId() const{ return m_vpcId; } 46 47 /** 48 * <p>The ID of the VPC.</p> 49 */ VpcIdHasBeenSet()50 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } 51 52 /** 53 * <p>The ID of the VPC.</p> 54 */ SetVpcId(const Aws::String & value)55 inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } 56 57 /** 58 * <p>The ID of the VPC.</p> 59 */ SetVpcId(Aws::String && value)60 inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } 61 62 /** 63 * <p>The ID of the VPC.</p> 64 */ SetVpcId(const char * value)65 inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } 66 67 /** 68 * <p>The ID of the VPC.</p> 69 */ WithVpcId(const Aws::String & value)70 inline AttachVpnGatewayRequest& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} 71 72 /** 73 * <p>The ID of the VPC.</p> 74 */ WithVpcId(Aws::String && value)75 inline AttachVpnGatewayRequest& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} 76 77 /** 78 * <p>The ID of the VPC.</p> 79 */ WithVpcId(const char * value)80 inline AttachVpnGatewayRequest& WithVpcId(const char* value) { SetVpcId(value); return *this;} 81 82 83 /** 84 * <p>The ID of the virtual private gateway.</p> 85 */ GetVpnGatewayId()86 inline const Aws::String& GetVpnGatewayId() const{ return m_vpnGatewayId; } 87 88 /** 89 * <p>The ID of the virtual private gateway.</p> 90 */ VpnGatewayIdHasBeenSet()91 inline bool VpnGatewayIdHasBeenSet() const { return m_vpnGatewayIdHasBeenSet; } 92 93 /** 94 * <p>The ID of the virtual private gateway.</p> 95 */ SetVpnGatewayId(const Aws::String & value)96 inline void SetVpnGatewayId(const Aws::String& value) { m_vpnGatewayIdHasBeenSet = true; m_vpnGatewayId = value; } 97 98 /** 99 * <p>The ID of the virtual private gateway.</p> 100 */ SetVpnGatewayId(Aws::String && value)101 inline void SetVpnGatewayId(Aws::String&& value) { m_vpnGatewayIdHasBeenSet = true; m_vpnGatewayId = std::move(value); } 102 103 /** 104 * <p>The ID of the virtual private gateway.</p> 105 */ SetVpnGatewayId(const char * value)106 inline void SetVpnGatewayId(const char* value) { m_vpnGatewayIdHasBeenSet = true; m_vpnGatewayId.assign(value); } 107 108 /** 109 * <p>The ID of the virtual private gateway.</p> 110 */ WithVpnGatewayId(const Aws::String & value)111 inline AttachVpnGatewayRequest& WithVpnGatewayId(const Aws::String& value) { SetVpnGatewayId(value); return *this;} 112 113 /** 114 * <p>The ID of the virtual private gateway.</p> 115 */ WithVpnGatewayId(Aws::String && value)116 inline AttachVpnGatewayRequest& WithVpnGatewayId(Aws::String&& value) { SetVpnGatewayId(std::move(value)); return *this;} 117 118 /** 119 * <p>The ID of the virtual private gateway.</p> 120 */ WithVpnGatewayId(const char * value)121 inline AttachVpnGatewayRequest& WithVpnGatewayId(const char* value) { SetVpnGatewayId(value); return *this;} 122 123 124 /** 125 * <p>Checks whether you have the required permissions for the action, without 126 * actually making the request, and provides an error response. If you have the 127 * required permissions, the error response is <code>DryRunOperation</code>. 128 * Otherwise, it is <code>UnauthorizedOperation</code>.</p> 129 */ GetDryRun()130 inline bool GetDryRun() const{ return m_dryRun; } 131 132 /** 133 * <p>Checks whether you have the required permissions for the action, without 134 * actually making the request, and provides an error response. If you have the 135 * required permissions, the error response is <code>DryRunOperation</code>. 136 * Otherwise, it is <code>UnauthorizedOperation</code>.</p> 137 */ DryRunHasBeenSet()138 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } 139 140 /** 141 * <p>Checks whether you have the required permissions for the action, without 142 * actually making the request, and provides an error response. If you have the 143 * required permissions, the error response is <code>DryRunOperation</code>. 144 * Otherwise, it is <code>UnauthorizedOperation</code>.</p> 145 */ SetDryRun(bool value)146 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } 147 148 /** 149 * <p>Checks whether you have the required permissions for the action, without 150 * actually making the request, and provides an error response. If you have the 151 * required permissions, the error response is <code>DryRunOperation</code>. 152 * Otherwise, it is <code>UnauthorizedOperation</code>.</p> 153 */ WithDryRun(bool value)154 inline AttachVpnGatewayRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} 155 156 private: 157 158 Aws::String m_vpcId; 159 bool m_vpcIdHasBeenSet; 160 161 Aws::String m_vpnGatewayId; 162 bool m_vpnGatewayIdHasBeenSet; 163 164 bool m_dryRun; 165 bool m_dryRunHasBeenSet; 166 }; 167 168 } // namespace Model 169 } // namespace EC2 170 } // namespace Aws 171