/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace NetworkManager { namespace Model { /** */ class UpdateVpcAttachmentRequest : public NetworkManagerRequest { public: AWS_NETWORKMANAGER_API UpdateVpcAttachmentRequest(); // 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 "UpdateVpcAttachment"; } AWS_NETWORKMANAGER_API Aws::String SerializePayload() const override; /** *

The ID of the attachment.

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

The ID of the attachment.

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

The ID of the attachment.

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

The ID of the attachment.

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

The ID of the attachment.

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

The ID of the attachment.

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

The ID of the attachment.

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

The ID of the attachment.

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

Adds a subnet ARN to the VPC attachment.

*/ inline const Aws::Vector& GetAddSubnetArns() const{ return m_addSubnetArns; } /** *

Adds a subnet ARN to the VPC attachment.

*/ inline bool AddSubnetArnsHasBeenSet() const { return m_addSubnetArnsHasBeenSet; } /** *

Adds a subnet ARN to the VPC attachment.

*/ inline void SetAddSubnetArns(const Aws::Vector& value) { m_addSubnetArnsHasBeenSet = true; m_addSubnetArns = value; } /** *

Adds a subnet ARN to the VPC attachment.

*/ inline void SetAddSubnetArns(Aws::Vector&& value) { m_addSubnetArnsHasBeenSet = true; m_addSubnetArns = std::move(value); } /** *

Adds a subnet ARN to the VPC attachment.

*/ inline UpdateVpcAttachmentRequest& WithAddSubnetArns(const Aws::Vector& value) { SetAddSubnetArns(value); return *this;} /** *

Adds a subnet ARN to the VPC attachment.

*/ inline UpdateVpcAttachmentRequest& WithAddSubnetArns(Aws::Vector&& value) { SetAddSubnetArns(std::move(value)); return *this;} /** *

Adds a subnet ARN to the VPC attachment.

*/ inline UpdateVpcAttachmentRequest& AddAddSubnetArns(const Aws::String& value) { m_addSubnetArnsHasBeenSet = true; m_addSubnetArns.push_back(value); return *this; } /** *

Adds a subnet ARN to the VPC attachment.

*/ inline UpdateVpcAttachmentRequest& AddAddSubnetArns(Aws::String&& value) { m_addSubnetArnsHasBeenSet = true; m_addSubnetArns.push_back(std::move(value)); return *this; } /** *

Adds a subnet ARN to the VPC attachment.

*/ inline UpdateVpcAttachmentRequest& AddAddSubnetArns(const char* value) { m_addSubnetArnsHasBeenSet = true; m_addSubnetArns.push_back(value); return *this; } /** *

Removes a subnet ARN from the attachment.

*/ inline const Aws::Vector& GetRemoveSubnetArns() const{ return m_removeSubnetArns; } /** *

Removes a subnet ARN from the attachment.

*/ inline bool RemoveSubnetArnsHasBeenSet() const { return m_removeSubnetArnsHasBeenSet; } /** *

Removes a subnet ARN from the attachment.

*/ inline void SetRemoveSubnetArns(const Aws::Vector& value) { m_removeSubnetArnsHasBeenSet = true; m_removeSubnetArns = value; } /** *

Removes a subnet ARN from the attachment.

*/ inline void SetRemoveSubnetArns(Aws::Vector&& value) { m_removeSubnetArnsHasBeenSet = true; m_removeSubnetArns = std::move(value); } /** *

Removes a subnet ARN from the attachment.

*/ inline UpdateVpcAttachmentRequest& WithRemoveSubnetArns(const Aws::Vector& value) { SetRemoveSubnetArns(value); return *this;} /** *

Removes a subnet ARN from the attachment.

*/ inline UpdateVpcAttachmentRequest& WithRemoveSubnetArns(Aws::Vector&& value) { SetRemoveSubnetArns(std::move(value)); return *this;} /** *

Removes a subnet ARN from the attachment.

*/ inline UpdateVpcAttachmentRequest& AddRemoveSubnetArns(const Aws::String& value) { m_removeSubnetArnsHasBeenSet = true; m_removeSubnetArns.push_back(value); return *this; } /** *

Removes a subnet ARN from the attachment.

*/ inline UpdateVpcAttachmentRequest& AddRemoveSubnetArns(Aws::String&& value) { m_removeSubnetArnsHasBeenSet = true; m_removeSubnetArns.push_back(std::move(value)); return *this; } /** *

Removes a subnet ARN from the attachment.

*/ inline UpdateVpcAttachmentRequest& AddRemoveSubnetArns(const char* value) { m_removeSubnetArnsHasBeenSet = true; m_removeSubnetArns.push_back(value); return *this; } /** *

Additional options for updating the VPC attachment.

*/ inline const VpcOptions& GetOptions() const{ return m_options; } /** *

Additional options for updating the VPC attachment.

*/ inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; } /** *

Additional options for updating the VPC attachment.

*/ inline void SetOptions(const VpcOptions& value) { m_optionsHasBeenSet = true; m_options = value; } /** *

Additional options for updating the VPC attachment.

*/ inline void SetOptions(VpcOptions&& value) { m_optionsHasBeenSet = true; m_options = std::move(value); } /** *

Additional options for updating the VPC attachment.

*/ inline UpdateVpcAttachmentRequest& WithOptions(const VpcOptions& value) { SetOptions(value); return *this;} /** *

Additional options for updating the VPC attachment.

*/ inline UpdateVpcAttachmentRequest& WithOptions(VpcOptions&& value) { SetOptions(std::move(value)); return *this;} private: Aws::String m_attachmentId; bool m_attachmentIdHasBeenSet = false; Aws::Vector m_addSubnetArns; bool m_addSubnetArnsHasBeenSet = false; Aws::Vector m_removeSubnetArns; bool m_removeSubnetArnsHasBeenSet = false; VpcOptions m_options; bool m_optionsHasBeenSet = false; }; } // namespace Model } // namespace NetworkManager } // namespace Aws