/** * 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 UpdateVirtualInterfaceAttributesRequest : public DirectConnectRequest { public: AWS_DIRECTCONNECT_API UpdateVirtualInterfaceAttributesRequest(); // 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 "UpdateVirtualInterfaceAttributes"; } AWS_DIRECTCONNECT_API Aws::String SerializePayload() const override; AWS_DIRECTCONNECT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ID of the virtual private interface.

*/ inline const Aws::String& GetVirtualInterfaceId() const{ return m_virtualInterfaceId; } /** *

The ID of the virtual private interface.

*/ inline bool VirtualInterfaceIdHasBeenSet() const { return m_virtualInterfaceIdHasBeenSet; } /** *

The ID of the virtual private interface.

*/ inline void SetVirtualInterfaceId(const Aws::String& value) { m_virtualInterfaceIdHasBeenSet = true; m_virtualInterfaceId = value; } /** *

The ID of the virtual private interface.

*/ inline void SetVirtualInterfaceId(Aws::String&& value) { m_virtualInterfaceIdHasBeenSet = true; m_virtualInterfaceId = std::move(value); } /** *

The ID of the virtual private interface.

*/ inline void SetVirtualInterfaceId(const char* value) { m_virtualInterfaceIdHasBeenSet = true; m_virtualInterfaceId.assign(value); } /** *

The ID of the virtual private interface.

*/ inline UpdateVirtualInterfaceAttributesRequest& WithVirtualInterfaceId(const Aws::String& value) { SetVirtualInterfaceId(value); return *this;} /** *

The ID of the virtual private interface.

*/ inline UpdateVirtualInterfaceAttributesRequest& WithVirtualInterfaceId(Aws::String&& value) { SetVirtualInterfaceId(std::move(value)); return *this;} /** *

The ID of the virtual private interface.

*/ inline UpdateVirtualInterfaceAttributesRequest& WithVirtualInterfaceId(const char* value) { SetVirtualInterfaceId(value); return *this;} /** *

The maximum transmission unit (MTU), in bytes. The supported values are 1500 * and 9001. The default value is 1500.

*/ inline int GetMtu() const{ return m_mtu; } /** *

The maximum transmission unit (MTU), in bytes. The supported values are 1500 * and 9001. The default value is 1500.

*/ inline bool MtuHasBeenSet() const { return m_mtuHasBeenSet; } /** *

The maximum transmission unit (MTU), in bytes. The supported values are 1500 * and 9001. The default value is 1500.

*/ inline void SetMtu(int value) { m_mtuHasBeenSet = true; m_mtu = value; } /** *

The maximum transmission unit (MTU), in bytes. The supported values are 1500 * and 9001. The default value is 1500.

*/ inline UpdateVirtualInterfaceAttributesRequest& WithMtu(int value) { SetMtu(value); return *this;} /** *

Indicates whether to enable or disable SiteLink.

*/ inline bool GetEnableSiteLink() const{ return m_enableSiteLink; } /** *

Indicates whether to enable or disable SiteLink.

*/ inline bool EnableSiteLinkHasBeenSet() const { return m_enableSiteLinkHasBeenSet; } /** *

Indicates whether to enable or disable SiteLink.

*/ inline void SetEnableSiteLink(bool value) { m_enableSiteLinkHasBeenSet = true; m_enableSiteLink = value; } /** *

Indicates whether to enable or disable SiteLink.

*/ inline UpdateVirtualInterfaceAttributesRequest& WithEnableSiteLink(bool value) { SetEnableSiteLink(value); return *this;} /** *

The name of the virtual private interface.

*/ inline const Aws::String& GetVirtualInterfaceName() const{ return m_virtualInterfaceName; } /** *

The name of the virtual private interface.

*/ inline bool VirtualInterfaceNameHasBeenSet() const { return m_virtualInterfaceNameHasBeenSet; } /** *

The name of the virtual private interface.

*/ inline void SetVirtualInterfaceName(const Aws::String& value) { m_virtualInterfaceNameHasBeenSet = true; m_virtualInterfaceName = value; } /** *

The name of the virtual private interface.

*/ inline void SetVirtualInterfaceName(Aws::String&& value) { m_virtualInterfaceNameHasBeenSet = true; m_virtualInterfaceName = std::move(value); } /** *

The name of the virtual private interface.

*/ inline void SetVirtualInterfaceName(const char* value) { m_virtualInterfaceNameHasBeenSet = true; m_virtualInterfaceName.assign(value); } /** *

The name of the virtual private interface.

*/ inline UpdateVirtualInterfaceAttributesRequest& WithVirtualInterfaceName(const Aws::String& value) { SetVirtualInterfaceName(value); return *this;} /** *

The name of the virtual private interface.

*/ inline UpdateVirtualInterfaceAttributesRequest& WithVirtualInterfaceName(Aws::String&& value) { SetVirtualInterfaceName(std::move(value)); return *this;} /** *

The name of the virtual private interface.

*/ inline UpdateVirtualInterfaceAttributesRequest& WithVirtualInterfaceName(const char* value) { SetVirtualInterfaceName(value); return *this;} private: Aws::String m_virtualInterfaceId; bool m_virtualInterfaceIdHasBeenSet = false; int m_mtu; bool m_mtuHasBeenSet = false; bool m_enableSiteLink; bool m_enableSiteLinkHasBeenSet = false; Aws::String m_virtualInterfaceName; bool m_virtualInterfaceNameHasBeenSet = false; }; } // namespace Model } // namespace DirectConnect } // namespace Aws