/** * 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.

See Also:

AWS * API Reference

*/ class LaunchPermission { public: AWS_EC2_API LaunchPermission(); AWS_EC2_API LaunchPermission(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API LaunchPermission& 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 name of the group.

*/ inline const PermissionGroup& GetGroup() const{ return m_group; } /** *

The name of the group.

*/ inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; } /** *

The name of the group.

*/ inline void SetGroup(const PermissionGroup& value) { m_groupHasBeenSet = true; m_group = value; } /** *

The name of the group.

*/ inline void SetGroup(PermissionGroup&& value) { m_groupHasBeenSet = true; m_group = std::move(value); } /** *

The name of the group.

*/ inline LaunchPermission& WithGroup(const PermissionGroup& value) { SetGroup(value); return *this;} /** *

The name of the group.

*/ inline LaunchPermission& WithGroup(PermissionGroup&& value) { SetGroup(std::move(value)); return *this;} /** *

The Amazon Web Services account ID.

Constraints: Up to 10 000 account * IDs can be specified in a single request.

*/ inline const Aws::String& GetUserId() const{ return m_userId; } /** *

The Amazon Web Services account ID.

Constraints: Up to 10 000 account * IDs can be specified in a single request.

*/ inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } /** *

The Amazon Web Services account ID.

Constraints: Up to 10 000 account * IDs can be specified in a single request.

*/ inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } /** *

The Amazon Web Services account ID.

Constraints: Up to 10 000 account * IDs can be specified in a single request.

*/ inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } /** *

The Amazon Web Services account ID.

Constraints: Up to 10 000 account * IDs can be specified in a single request.

*/ inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } /** *

The Amazon Web Services account ID.

Constraints: Up to 10 000 account * IDs can be specified in a single request.

*/ inline LaunchPermission& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} /** *

The Amazon Web Services account ID.

Constraints: Up to 10 000 account * IDs can be specified in a single request.

*/ inline LaunchPermission& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} /** *

The Amazon Web Services account ID.

Constraints: Up to 10 000 account * IDs can be specified in a single request.

*/ inline LaunchPermission& WithUserId(const char* value) { SetUserId(value); return *this;} /** *

The Amazon Resource Name (ARN) of an organization.

*/ inline const Aws::String& GetOrganizationArn() const{ return m_organizationArn; } /** *

The Amazon Resource Name (ARN) of an organization.

*/ inline bool OrganizationArnHasBeenSet() const { return m_organizationArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of an organization.

*/ inline void SetOrganizationArn(const Aws::String& value) { m_organizationArnHasBeenSet = true; m_organizationArn = value; } /** *

The Amazon Resource Name (ARN) of an organization.

*/ inline void SetOrganizationArn(Aws::String&& value) { m_organizationArnHasBeenSet = true; m_organizationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of an organization.

*/ inline void SetOrganizationArn(const char* value) { m_organizationArnHasBeenSet = true; m_organizationArn.assign(value); } /** *

The Amazon Resource Name (ARN) of an organization.

*/ inline LaunchPermission& WithOrganizationArn(const Aws::String& value) { SetOrganizationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of an organization.

*/ inline LaunchPermission& WithOrganizationArn(Aws::String&& value) { SetOrganizationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an organization.

*/ inline LaunchPermission& WithOrganizationArn(const char* value) { SetOrganizationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of an organizational unit (OU).

*/ inline const Aws::String& GetOrganizationalUnitArn() const{ return m_organizationalUnitArn; } /** *

The Amazon Resource Name (ARN) of an organizational unit (OU).

*/ inline bool OrganizationalUnitArnHasBeenSet() const { return m_organizationalUnitArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of an organizational unit (OU).

*/ inline void SetOrganizationalUnitArn(const Aws::String& value) { m_organizationalUnitArnHasBeenSet = true; m_organizationalUnitArn = value; } /** *

The Amazon Resource Name (ARN) of an organizational unit (OU).

*/ inline void SetOrganizationalUnitArn(Aws::String&& value) { m_organizationalUnitArnHasBeenSet = true; m_organizationalUnitArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of an organizational unit (OU).

*/ inline void SetOrganizationalUnitArn(const char* value) { m_organizationalUnitArnHasBeenSet = true; m_organizationalUnitArn.assign(value); } /** *

The Amazon Resource Name (ARN) of an organizational unit (OU).

*/ inline LaunchPermission& WithOrganizationalUnitArn(const Aws::String& value) { SetOrganizationalUnitArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of an organizational unit (OU).

*/ inline LaunchPermission& WithOrganizationalUnitArn(Aws::String&& value) { SetOrganizationalUnitArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an organizational unit (OU).

*/ inline LaunchPermission& WithOrganizationalUnitArn(const char* value) { SetOrganizationalUnitArn(value); return *this;} private: PermissionGroup m_group; bool m_groupHasBeenSet = false; Aws::String m_userId; bool m_userIdHasBeenSet = false; Aws::String m_organizationArn; bool m_organizationArnHasBeenSet = false; Aws::String m_organizationalUnitArn; bool m_organizationalUnitArnHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws