/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace NetworkManager { namespace Model { /** *

Creates a site-to-site VPN attachment.

See Also:

AWS * API Reference

*/ class SiteToSiteVpnAttachment { public: AWS_NETWORKMANAGER_API SiteToSiteVpnAttachment(); AWS_NETWORKMANAGER_API SiteToSiteVpnAttachment(Aws::Utils::Json::JsonView jsonValue); AWS_NETWORKMANAGER_API SiteToSiteVpnAttachment& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_NETWORKMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Provides details about a site-to-site VPN attachment.

*/ inline const Attachment& GetAttachment() const{ return m_attachment; } /** *

Provides details about a site-to-site VPN attachment.

*/ inline bool AttachmentHasBeenSet() const { return m_attachmentHasBeenSet; } /** *

Provides details about a site-to-site VPN attachment.

*/ inline void SetAttachment(const Attachment& value) { m_attachmentHasBeenSet = true; m_attachment = value; } /** *

Provides details about a site-to-site VPN attachment.

*/ inline void SetAttachment(Attachment&& value) { m_attachmentHasBeenSet = true; m_attachment = std::move(value); } /** *

Provides details about a site-to-site VPN attachment.

*/ inline SiteToSiteVpnAttachment& WithAttachment(const Attachment& value) { SetAttachment(value); return *this;} /** *

Provides details about a site-to-site VPN attachment.

*/ inline SiteToSiteVpnAttachment& WithAttachment(Attachment&& value) { SetAttachment(std::move(value)); return *this;} /** *

The ARN of the site-to-site VPN attachment.

*/ inline const Aws::String& GetVpnConnectionArn() const{ return m_vpnConnectionArn; } /** *

The ARN of the site-to-site VPN attachment.

*/ inline bool VpnConnectionArnHasBeenSet() const { return m_vpnConnectionArnHasBeenSet; } /** *

The ARN of the site-to-site VPN attachment.

*/ inline void SetVpnConnectionArn(const Aws::String& value) { m_vpnConnectionArnHasBeenSet = true; m_vpnConnectionArn = value; } /** *

The ARN of the site-to-site VPN attachment.

*/ inline void SetVpnConnectionArn(Aws::String&& value) { m_vpnConnectionArnHasBeenSet = true; m_vpnConnectionArn = std::move(value); } /** *

The ARN of the site-to-site VPN attachment.

*/ inline void SetVpnConnectionArn(const char* value) { m_vpnConnectionArnHasBeenSet = true; m_vpnConnectionArn.assign(value); } /** *

The ARN of the site-to-site VPN attachment.

*/ inline SiteToSiteVpnAttachment& WithVpnConnectionArn(const Aws::String& value) { SetVpnConnectionArn(value); return *this;} /** *

The ARN of the site-to-site VPN attachment.

*/ inline SiteToSiteVpnAttachment& WithVpnConnectionArn(Aws::String&& value) { SetVpnConnectionArn(std::move(value)); return *this;} /** *

The ARN of the site-to-site VPN attachment.

*/ inline SiteToSiteVpnAttachment& WithVpnConnectionArn(const char* value) { SetVpnConnectionArn(value); return *this;} private: Attachment m_attachment; bool m_attachmentHasBeenSet = false; Aws::String m_vpnConnectionArn; bool m_vpnConnectionArnHasBeenSet = false; }; } // namespace Model } // namespace NetworkManager } // namespace Aws