/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Information about the network interface attachment.

See Also:

* AWS * API Reference

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

Indicates when the attachment initiated.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline const Aws::String& GetAttachTime() const{ return m_attachTime; } /** *

Indicates when the attachment initiated.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline bool AttachTimeHasBeenSet() const { return m_attachTimeHasBeenSet; } /** *

Indicates when the attachment initiated.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetAttachTime(const Aws::String& value) { m_attachTimeHasBeenSet = true; m_attachTime = value; } /** *

Indicates when the attachment initiated.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetAttachTime(Aws::String&& value) { m_attachTimeHasBeenSet = true; m_attachTime = std::move(value); } /** *

Indicates when the attachment initiated.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetAttachTime(const char* value) { m_attachTimeHasBeenSet = true; m_attachTime.assign(value); } /** *

Indicates when the attachment initiated.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsEc2NetworkInterfaceAttachment& WithAttachTime(const Aws::String& value) { SetAttachTime(value); return *this;} /** *

Indicates when the attachment initiated.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsEc2NetworkInterfaceAttachment& WithAttachTime(Aws::String&& value) { SetAttachTime(std::move(value)); return *this;} /** *

Indicates when the attachment initiated.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsEc2NetworkInterfaceAttachment& WithAttachTime(const char* value) { SetAttachTime(value); return *this;} /** *

The identifier of the network interface attachment

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

The identifier of the network interface attachment

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

The identifier of the network interface attachment

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

The identifier of the network interface attachment

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

The identifier of the network interface attachment

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

The identifier of the network interface attachment

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

The identifier of the network interface attachment

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

The identifier of the network interface attachment

*/ inline AwsEc2NetworkInterfaceAttachment& 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 AwsEc2NetworkInterfaceAttachment& WithDeleteOnTermination(bool value) { SetDeleteOnTermination(value); return *this;} /** *

The device index of the network interface attachment on the instance.

*/ inline int GetDeviceIndex() const{ return m_deviceIndex; } /** *

The device index of the network interface attachment on the instance.

*/ inline bool DeviceIndexHasBeenSet() const { return m_deviceIndexHasBeenSet; } /** *

The device index of the network interface attachment on the instance.

*/ inline void SetDeviceIndex(int value) { m_deviceIndexHasBeenSet = true; m_deviceIndex = value; } /** *

The device index of the network interface attachment on the instance.

*/ inline AwsEc2NetworkInterfaceAttachment& WithDeviceIndex(int value) { SetDeviceIndex(value); return *this;} /** *

The ID of the instance.

*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *

The ID of the instance.

*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *

The ID of the instance.

*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *

The ID of the instance.

*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *

The ID of the instance.

*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *

The ID of the instance.

*/ inline AwsEc2NetworkInterfaceAttachment& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *

The ID of the instance.

*/ inline AwsEc2NetworkInterfaceAttachment& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *

The ID of the instance.

*/ inline AwsEc2NetworkInterfaceAttachment& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *

The Amazon Web Services account ID of the owner of the instance.

*/ inline const Aws::String& GetInstanceOwnerId() const{ return m_instanceOwnerId; } /** *

The Amazon Web Services account ID of the owner of the instance.

*/ inline bool InstanceOwnerIdHasBeenSet() const { return m_instanceOwnerIdHasBeenSet; } /** *

The Amazon Web Services account ID of the owner of the instance.

*/ inline void SetInstanceOwnerId(const Aws::String& value) { m_instanceOwnerIdHasBeenSet = true; m_instanceOwnerId = value; } /** *

The Amazon Web Services account ID of the owner of the instance.

*/ inline void SetInstanceOwnerId(Aws::String&& value) { m_instanceOwnerIdHasBeenSet = true; m_instanceOwnerId = std::move(value); } /** *

The Amazon Web Services account ID of the owner of the instance.

*/ inline void SetInstanceOwnerId(const char* value) { m_instanceOwnerIdHasBeenSet = true; m_instanceOwnerId.assign(value); } /** *

The Amazon Web Services account ID of the owner of the instance.

*/ inline AwsEc2NetworkInterfaceAttachment& WithInstanceOwnerId(const Aws::String& value) { SetInstanceOwnerId(value); return *this;} /** *

The Amazon Web Services account ID of the owner of the instance.

*/ inline AwsEc2NetworkInterfaceAttachment& WithInstanceOwnerId(Aws::String&& value) { SetInstanceOwnerId(std::move(value)); return *this;} /** *

The Amazon Web Services account ID of the owner of the instance.

*/ inline AwsEc2NetworkInterfaceAttachment& WithInstanceOwnerId(const char* value) { SetInstanceOwnerId(value); return *this;} /** *

The attachment state.

Valid values: attaching | * attached | detaching | detached

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The attachment state.

Valid values: attaching | * attached | detaching | detached

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The attachment state.

Valid values: attaching | * attached | detaching | detached

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The attachment state.

Valid values: attaching | * attached | detaching | detached

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The attachment state.

Valid values: attaching | * attached | detaching | detached

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The attachment state.

Valid values: attaching | * attached | detaching | detached

*/ inline AwsEc2NetworkInterfaceAttachment& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The attachment state.

Valid values: attaching | * attached | detaching | detached

*/ inline AwsEc2NetworkInterfaceAttachment& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The attachment state.

Valid values: attaching | * attached | detaching | detached

*/ inline AwsEc2NetworkInterfaceAttachment& WithStatus(const char* value) { SetStatus(value); return *this;} private: Aws::String m_attachTime; bool m_attachTimeHasBeenSet = false; Aws::String m_attachmentId; bool m_attachmentIdHasBeenSet = false; bool m_deleteOnTermination; bool m_deleteOnTerminationHasBeenSet = false; int m_deviceIndex; bool m_deviceIndexHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; Aws::String m_instanceOwnerId; bool m_instanceOwnerIdHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws