/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes an attachment change.

See Also:

AWS * API Reference

*/ class NetworkInterfaceAttachmentChanges { public: AWS_EC2_API NetworkInterfaceAttachmentChanges(); AWS_EC2_API NetworkInterfaceAttachmentChanges(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API NetworkInterfaceAttachmentChanges& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ID of the network interface attachment.

*/ inline const Aws::String& GetAttachmentId() const{ return m_attachmentId; } /** *

The ID of the network interface attachment.

*/ inline bool AttachmentIdHasBeenSet() const { return m_attachmentIdHasBeenSet; } /** *

The ID of the network interface attachment.

*/ inline void SetAttachmentId(const Aws::String& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = value; } /** *

The ID of the network interface attachment.

*/ inline void SetAttachmentId(Aws::String&& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = std::move(value); } /** *

The ID of the network interface attachment.

*/ inline void SetAttachmentId(const char* value) { m_attachmentIdHasBeenSet = true; m_attachmentId.assign(value); } /** *

The ID of the network interface attachment.

*/ inline NetworkInterfaceAttachmentChanges& WithAttachmentId(const Aws::String& value) { SetAttachmentId(value); return *this;} /** *

The ID of the network interface attachment.

*/ inline NetworkInterfaceAttachmentChanges& WithAttachmentId(Aws::String&& value) { SetAttachmentId(std::move(value)); return *this;} /** *

The ID of the network interface attachment.

*/ inline NetworkInterfaceAttachmentChanges& WithAttachmentId(const char* value) { SetAttachmentId(value); return *this;} /** *

Indicates whether the network interface is deleted when the instance is * terminated.

*/ inline bool GetDeleteOnTermination() const{ return m_deleteOnTermination; } /** *

Indicates whether the network interface is deleted when the instance is * terminated.

*/ inline bool DeleteOnTerminationHasBeenSet() const { return m_deleteOnTerminationHasBeenSet; } /** *

Indicates whether the network interface is deleted when the instance is * terminated.

*/ inline void SetDeleteOnTermination(bool value) { m_deleteOnTerminationHasBeenSet = true; m_deleteOnTermination = value; } /** *

Indicates whether the network interface is deleted when the instance is * terminated.

*/ inline NetworkInterfaceAttachmentChanges& WithDeleteOnTermination(bool value) { SetDeleteOnTermination(value); return *this;} private: Aws::String m_attachmentId; bool m_attachmentIdHasBeenSet = false; bool m_deleteOnTermination; bool m_deleteOnTerminationHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws