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

Describes a launch permission modification.

See Also:

AWS * API Reference

*/ class LaunchPermissionModifications { public: AWS_EC2_API LaunchPermissionModifications(); AWS_EC2_API LaunchPermissionModifications(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API LaunchPermissionModifications& 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 Amazon Web Services account ID, organization ARN, or OU ARN to add to the * list of launch permissions for the AMI.

*/ inline const Aws::Vector& GetAdd() const{ return m_add; } /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to add to the * list of launch permissions for the AMI.

*/ inline bool AddHasBeenSet() const { return m_addHasBeenSet; } /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to add to the * list of launch permissions for the AMI.

*/ inline void SetAdd(const Aws::Vector& value) { m_addHasBeenSet = true; m_add = value; } /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to add to the * list of launch permissions for the AMI.

*/ inline void SetAdd(Aws::Vector&& value) { m_addHasBeenSet = true; m_add = std::move(value); } /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to add to the * list of launch permissions for the AMI.

*/ inline LaunchPermissionModifications& WithAdd(const Aws::Vector& value) { SetAdd(value); return *this;} /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to add to the * list of launch permissions for the AMI.

*/ inline LaunchPermissionModifications& WithAdd(Aws::Vector&& value) { SetAdd(std::move(value)); return *this;} /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to add to the * list of launch permissions for the AMI.

*/ inline LaunchPermissionModifications& AddAdd(const LaunchPermission& value) { m_addHasBeenSet = true; m_add.push_back(value); return *this; } /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to add to the * list of launch permissions for the AMI.

*/ inline LaunchPermissionModifications& AddAdd(LaunchPermission&& value) { m_addHasBeenSet = true; m_add.push_back(std::move(value)); return *this; } /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to remove * from the list of launch permissions for the AMI.

*/ inline const Aws::Vector& GetRemove() const{ return m_remove; } /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to remove * from the list of launch permissions for the AMI.

*/ inline bool RemoveHasBeenSet() const { return m_removeHasBeenSet; } /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to remove * from the list of launch permissions for the AMI.

*/ inline void SetRemove(const Aws::Vector& value) { m_removeHasBeenSet = true; m_remove = value; } /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to remove * from the list of launch permissions for the AMI.

*/ inline void SetRemove(Aws::Vector&& value) { m_removeHasBeenSet = true; m_remove = std::move(value); } /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to remove * from the list of launch permissions for the AMI.

*/ inline LaunchPermissionModifications& WithRemove(const Aws::Vector& value) { SetRemove(value); return *this;} /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to remove * from the list of launch permissions for the AMI.

*/ inline LaunchPermissionModifications& WithRemove(Aws::Vector&& value) { SetRemove(std::move(value)); return *this;} /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to remove * from the list of launch permissions for the AMI.

*/ inline LaunchPermissionModifications& AddRemove(const LaunchPermission& value) { m_removeHasBeenSet = true; m_remove.push_back(value); return *this; } /** *

The Amazon Web Services account ID, organization ARN, or OU ARN to remove * from the list of launch permissions for the AMI.

*/ inline LaunchPermissionModifications& AddRemove(LaunchPermission&& value) { m_removeHasBeenSet = true; m_remove.push_back(std::move(value)); return *this; } private: Aws::Vector m_add; bool m_addHasBeenSet = false; Aws::Vector m_remove; bool m_removeHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws