/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace DirectConnect { namespace Model { /** */ class CreateDirectConnectGatewayRequest : public DirectConnectRequest { public: AWS_DIRECTCONNECT_API CreateDirectConnectGatewayRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateDirectConnectGateway"; } AWS_DIRECTCONNECT_API Aws::String SerializePayload() const override; AWS_DIRECTCONNECT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the Direct Connect gateway.

*/ inline const Aws::String& GetDirectConnectGatewayName() const{ return m_directConnectGatewayName; } /** *

The name of the Direct Connect gateway.

*/ inline bool DirectConnectGatewayNameHasBeenSet() const { return m_directConnectGatewayNameHasBeenSet; } /** *

The name of the Direct Connect gateway.

*/ inline void SetDirectConnectGatewayName(const Aws::String& value) { m_directConnectGatewayNameHasBeenSet = true; m_directConnectGatewayName = value; } /** *

The name of the Direct Connect gateway.

*/ inline void SetDirectConnectGatewayName(Aws::String&& value) { m_directConnectGatewayNameHasBeenSet = true; m_directConnectGatewayName = std::move(value); } /** *

The name of the Direct Connect gateway.

*/ inline void SetDirectConnectGatewayName(const char* value) { m_directConnectGatewayNameHasBeenSet = true; m_directConnectGatewayName.assign(value); } /** *

The name of the Direct Connect gateway.

*/ inline CreateDirectConnectGatewayRequest& WithDirectConnectGatewayName(const Aws::String& value) { SetDirectConnectGatewayName(value); return *this;} /** *

The name of the Direct Connect gateway.

*/ inline CreateDirectConnectGatewayRequest& WithDirectConnectGatewayName(Aws::String&& value) { SetDirectConnectGatewayName(std::move(value)); return *this;} /** *

The name of the Direct Connect gateway.

*/ inline CreateDirectConnectGatewayRequest& WithDirectConnectGatewayName(const char* value) { SetDirectConnectGatewayName(value); return *this;} /** *

The autonomous system number (ASN) for Border Gateway Protocol (BGP) to be * configured on the Amazon side of the connection. The ASN must be in the private * range of 64,512 to 65,534 or 4,200,000,000 to 4,294,967,294. The default is * 64512.

*/ inline long long GetAmazonSideAsn() const{ return m_amazonSideAsn; } /** *

The autonomous system number (ASN) for Border Gateway Protocol (BGP) to be * configured on the Amazon side of the connection. The ASN must be in the private * range of 64,512 to 65,534 or 4,200,000,000 to 4,294,967,294. The default is * 64512.

*/ inline bool AmazonSideAsnHasBeenSet() const { return m_amazonSideAsnHasBeenSet; } /** *

The autonomous system number (ASN) for Border Gateway Protocol (BGP) to be * configured on the Amazon side of the connection. The ASN must be in the private * range of 64,512 to 65,534 or 4,200,000,000 to 4,294,967,294. The default is * 64512.

*/ inline void SetAmazonSideAsn(long long value) { m_amazonSideAsnHasBeenSet = true; m_amazonSideAsn = value; } /** *

The autonomous system number (ASN) for Border Gateway Protocol (BGP) to be * configured on the Amazon side of the connection. The ASN must be in the private * range of 64,512 to 65,534 or 4,200,000,000 to 4,294,967,294. The default is * 64512.

*/ inline CreateDirectConnectGatewayRequest& WithAmazonSideAsn(long long value) { SetAmazonSideAsn(value); return *this;} private: Aws::String m_directConnectGatewayName; bool m_directConnectGatewayNameHasBeenSet = false; long long m_amazonSideAsn; bool m_amazonSideAsnHasBeenSet = false; }; } // namespace Model } // namespace DirectConnect } // namespace Aws