/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the configuration for a launch permission. The launch permission
* modification request is sent to the Amazon
* EC2 ModifyImageAttribute API on behalf of the user for each Region they have
* selected to distribute the AMI. To make an AMI public, set the launch permission
* authorized accounts to all
. See the examples for making an AMI
* public at Amazon
* EC2 ModifyImageAttribute.See Also:
AWS
* API Reference
The Amazon Web Services account ID.
*/ inline const Aws::VectorThe Amazon Web Services account ID.
*/ inline bool UserIdsHasBeenSet() const { return m_userIdsHasBeenSet; } /** *The Amazon Web Services account ID.
*/ inline void SetUserIds(const Aws::VectorThe Amazon Web Services account ID.
*/ inline void SetUserIds(Aws::VectorThe Amazon Web Services account ID.
*/ inline LaunchPermissionConfiguration& WithUserIds(const Aws::VectorThe Amazon Web Services account ID.
*/ inline LaunchPermissionConfiguration& WithUserIds(Aws::VectorThe Amazon Web Services account ID.
*/ inline LaunchPermissionConfiguration& AddUserIds(const Aws::String& value) { m_userIdsHasBeenSet = true; m_userIds.push_back(value); return *this; } /** *The Amazon Web Services account ID.
*/ inline LaunchPermissionConfiguration& AddUserIds(Aws::String&& value) { m_userIdsHasBeenSet = true; m_userIds.push_back(std::move(value)); return *this; } /** *The Amazon Web Services account ID.
*/ inline LaunchPermissionConfiguration& AddUserIds(const char* value) { m_userIdsHasBeenSet = true; m_userIds.push_back(value); return *this; } /** *The name of the group.
*/ inline const Aws::VectorThe name of the group.
*/ inline bool UserGroupsHasBeenSet() const { return m_userGroupsHasBeenSet; } /** *The name of the group.
*/ inline void SetUserGroups(const Aws::VectorThe name of the group.
*/ inline void SetUserGroups(Aws::VectorThe name of the group.
*/ inline LaunchPermissionConfiguration& WithUserGroups(const Aws::VectorThe name of the group.
*/ inline LaunchPermissionConfiguration& WithUserGroups(Aws::VectorThe name of the group.
*/ inline LaunchPermissionConfiguration& AddUserGroups(const Aws::String& value) { m_userGroupsHasBeenSet = true; m_userGroups.push_back(value); return *this; } /** *The name of the group.
*/ inline LaunchPermissionConfiguration& AddUserGroups(Aws::String&& value) { m_userGroupsHasBeenSet = true; m_userGroups.push_back(std::move(value)); return *this; } /** *The name of the group.
*/ inline LaunchPermissionConfiguration& AddUserGroups(const char* value) { m_userGroupsHasBeenSet = true; m_userGroups.push_back(value); return *this; } /** *The ARN for an Amazon Web Services Organization that you want to share your * AMI with. For more information, see What * is Organizations?.
*/ inline const Aws::VectorThe ARN for an Amazon Web Services Organization that you want to share your * AMI with. For more information, see What * is Organizations?.
*/ inline bool OrganizationArnsHasBeenSet() const { return m_organizationArnsHasBeenSet; } /** *The ARN for an Amazon Web Services Organization that you want to share your * AMI with. For more information, see What * is Organizations?.
*/ inline void SetOrganizationArns(const Aws::VectorThe ARN for an Amazon Web Services Organization that you want to share your * AMI with. For more information, see What * is Organizations?.
*/ inline void SetOrganizationArns(Aws::VectorThe ARN for an Amazon Web Services Organization that you want to share your * AMI with. For more information, see What * is Organizations?.
*/ inline LaunchPermissionConfiguration& WithOrganizationArns(const Aws::VectorThe ARN for an Amazon Web Services Organization that you want to share your * AMI with. For more information, see What * is Organizations?.
*/ inline LaunchPermissionConfiguration& WithOrganizationArns(Aws::VectorThe ARN for an Amazon Web Services Organization that you want to share your * AMI with. For more information, see What * is Organizations?.
*/ inline LaunchPermissionConfiguration& AddOrganizationArns(const Aws::String& value) { m_organizationArnsHasBeenSet = true; m_organizationArns.push_back(value); return *this; } /** *The ARN for an Amazon Web Services Organization that you want to share your * AMI with. For more information, see What * is Organizations?.
*/ inline LaunchPermissionConfiguration& AddOrganizationArns(Aws::String&& value) { m_organizationArnsHasBeenSet = true; m_organizationArns.push_back(std::move(value)); return *this; } /** *The ARN for an Amazon Web Services Organization that you want to share your * AMI with. For more information, see What * is Organizations?.
*/ inline LaunchPermissionConfiguration& AddOrganizationArns(const char* value) { m_organizationArnsHasBeenSet = true; m_organizationArns.push_back(value); return *this; } /** *The ARN for an Organizations organizational unit (OU) that you want to share * your AMI with. For more information about key concepts for Organizations, see Organizations * terminology and concepts.
*/ inline const Aws::VectorThe ARN for an Organizations organizational unit (OU) that you want to share * your AMI with. For more information about key concepts for Organizations, see Organizations * terminology and concepts.
*/ inline bool OrganizationalUnitArnsHasBeenSet() const { return m_organizationalUnitArnsHasBeenSet; } /** *The ARN for an Organizations organizational unit (OU) that you want to share * your AMI with. For more information about key concepts for Organizations, see Organizations * terminology and concepts.
*/ inline void SetOrganizationalUnitArns(const Aws::VectorThe ARN for an Organizations organizational unit (OU) that you want to share * your AMI with. For more information about key concepts for Organizations, see Organizations * terminology and concepts.
*/ inline void SetOrganizationalUnitArns(Aws::VectorThe ARN for an Organizations organizational unit (OU) that you want to share * your AMI with. For more information about key concepts for Organizations, see Organizations * terminology and concepts.
*/ inline LaunchPermissionConfiguration& WithOrganizationalUnitArns(const Aws::VectorThe ARN for an Organizations organizational unit (OU) that you want to share * your AMI with. For more information about key concepts for Organizations, see Organizations * terminology and concepts.
*/ inline LaunchPermissionConfiguration& WithOrganizationalUnitArns(Aws::VectorThe ARN for an Organizations organizational unit (OU) that you want to share * your AMI with. For more information about key concepts for Organizations, see Organizations * terminology and concepts.
*/ inline LaunchPermissionConfiguration& AddOrganizationalUnitArns(const Aws::String& value) { m_organizationalUnitArnsHasBeenSet = true; m_organizationalUnitArns.push_back(value); return *this; } /** *The ARN for an Organizations organizational unit (OU) that you want to share * your AMI with. For more information about key concepts for Organizations, see Organizations * terminology and concepts.
*/ inline LaunchPermissionConfiguration& AddOrganizationalUnitArns(Aws::String&& value) { m_organizationalUnitArnsHasBeenSet = true; m_organizationalUnitArns.push_back(std::move(value)); return *this; } /** *The ARN for an Organizations organizational unit (OU) that you want to share * your AMI with. For more information about key concepts for Organizations, see Organizations * terminology and concepts.
*/ inline LaunchPermissionConfiguration& AddOrganizationalUnitArns(const char* value) { m_organizationalUnitArnsHasBeenSet = true; m_organizationalUnitArns.push_back(value); return *this; } private: Aws::Vector