/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Organizations { namespace Model { /** */ class CreateOrganizationRequest : public OrganizationsRequest { public: AWS_ORGANIZATIONS_API CreateOrganizationRequest(); // 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 "CreateOrganization"; } AWS_ORGANIZATIONS_API Aws::String SerializePayload() const override; AWS_ORGANIZATIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Specifies the feature set supported by the new organization. Each feature set * supports different levels of functionality.

  • * CONSOLIDATED_BILLING: All member accounts have their bills * consolidated to and paid by the management account. For more information, see Consolidated * billing in the Organizations User Guide.

    The consolidated * billing feature subset isn't available for organizations in the Amazon Web * Services GovCloud (US) Region.

  • ALL: In addition * to all the features supported by the consolidated billing feature set, the * management account can also apply any policy type to any member account in the * organization. For more information, see All * features in the Organizations User Guide.

*/ inline const OrganizationFeatureSet& GetFeatureSet() const{ return m_featureSet; } /** *

Specifies the feature set supported by the new organization. Each feature set * supports different levels of functionality.

  • * CONSOLIDATED_BILLING: All member accounts have their bills * consolidated to and paid by the management account. For more information, see Consolidated * billing in the Organizations User Guide.

    The consolidated * billing feature subset isn't available for organizations in the Amazon Web * Services GovCloud (US) Region.

  • ALL: In addition * to all the features supported by the consolidated billing feature set, the * management account can also apply any policy type to any member account in the * organization. For more information, see All * features in the Organizations User Guide.

*/ inline bool FeatureSetHasBeenSet() const { return m_featureSetHasBeenSet; } /** *

Specifies the feature set supported by the new organization. Each feature set * supports different levels of functionality.

  • * CONSOLIDATED_BILLING: All member accounts have their bills * consolidated to and paid by the management account. For more information, see Consolidated * billing in the Organizations User Guide.

    The consolidated * billing feature subset isn't available for organizations in the Amazon Web * Services GovCloud (US) Region.

  • ALL: In addition * to all the features supported by the consolidated billing feature set, the * management account can also apply any policy type to any member account in the * organization. For more information, see All * features in the Organizations User Guide.

*/ inline void SetFeatureSet(const OrganizationFeatureSet& value) { m_featureSetHasBeenSet = true; m_featureSet = value; } /** *

Specifies the feature set supported by the new organization. Each feature set * supports different levels of functionality.

  • * CONSOLIDATED_BILLING: All member accounts have their bills * consolidated to and paid by the management account. For more information, see Consolidated * billing in the Organizations User Guide.

    The consolidated * billing feature subset isn't available for organizations in the Amazon Web * Services GovCloud (US) Region.

  • ALL: In addition * to all the features supported by the consolidated billing feature set, the * management account can also apply any policy type to any member account in the * organization. For more information, see All * features in the Organizations User Guide.

*/ inline void SetFeatureSet(OrganizationFeatureSet&& value) { m_featureSetHasBeenSet = true; m_featureSet = std::move(value); } /** *

Specifies the feature set supported by the new organization. Each feature set * supports different levels of functionality.

  • * CONSOLIDATED_BILLING: All member accounts have their bills * consolidated to and paid by the management account. For more information, see Consolidated * billing in the Organizations User Guide.

    The consolidated * billing feature subset isn't available for organizations in the Amazon Web * Services GovCloud (US) Region.

  • ALL: In addition * to all the features supported by the consolidated billing feature set, the * management account can also apply any policy type to any member account in the * organization. For more information, see All * features in the Organizations User Guide.

*/ inline CreateOrganizationRequest& WithFeatureSet(const OrganizationFeatureSet& value) { SetFeatureSet(value); return *this;} /** *

Specifies the feature set supported by the new organization. Each feature set * supports different levels of functionality.

  • * CONSOLIDATED_BILLING: All member accounts have their bills * consolidated to and paid by the management account. For more information, see Consolidated * billing in the Organizations User Guide.

    The consolidated * billing feature subset isn't available for organizations in the Amazon Web * Services GovCloud (US) Region.

  • ALL: In addition * to all the features supported by the consolidated billing feature set, the * management account can also apply any policy type to any member account in the * organization. For more information, see All * features in the Organizations User Guide.

*/ inline CreateOrganizationRequest& WithFeatureSet(OrganizationFeatureSet&& value) { SetFeatureSet(std::move(value)); return *this;} private: OrganizationFeatureSet m_featureSet; bool m_featureSetHasBeenSet = false; }; } // namespace Model } // namespace Organizations } // namespace Aws