/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace ServiceCatalog { namespace Model { class DescribePortfolioResult { public: AWS_SERVICECATALOG_API DescribePortfolioResult(); AWS_SERVICECATALOG_API DescribePortfolioResult(const Aws::AmazonWebServiceResult& result); AWS_SERVICECATALOG_API DescribePortfolioResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

Information about the portfolio.

*/ inline const PortfolioDetail& GetPortfolioDetail() const{ return m_portfolioDetail; } /** *

Information about the portfolio.

*/ inline void SetPortfolioDetail(const PortfolioDetail& value) { m_portfolioDetail = value; } /** *

Information about the portfolio.

*/ inline void SetPortfolioDetail(PortfolioDetail&& value) { m_portfolioDetail = std::move(value); } /** *

Information about the portfolio.

*/ inline DescribePortfolioResult& WithPortfolioDetail(const PortfolioDetail& value) { SetPortfolioDetail(value); return *this;} /** *

Information about the portfolio.

*/ inline DescribePortfolioResult& WithPortfolioDetail(PortfolioDetail&& value) { SetPortfolioDetail(std::move(value)); return *this;} /** *

Information about the tags associated with the portfolio.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Information about the tags associated with the portfolio.

*/ inline void SetTags(const Aws::Vector& value) { m_tags = value; } /** *

Information about the tags associated with the portfolio.

*/ inline void SetTags(Aws::Vector&& value) { m_tags = std::move(value); } /** *

Information about the tags associated with the portfolio.

*/ inline DescribePortfolioResult& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Information about the tags associated with the portfolio.

*/ inline DescribePortfolioResult& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Information about the tags associated with the portfolio.

*/ inline DescribePortfolioResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } /** *

Information about the tags associated with the portfolio.

*/ inline DescribePortfolioResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } /** *

Information about the TagOptions associated with the portfolio.

*/ inline const Aws::Vector& GetTagOptions() const{ return m_tagOptions; } /** *

Information about the TagOptions associated with the portfolio.

*/ inline void SetTagOptions(const Aws::Vector& value) { m_tagOptions = value; } /** *

Information about the TagOptions associated with the portfolio.

*/ inline void SetTagOptions(Aws::Vector&& value) { m_tagOptions = std::move(value); } /** *

Information about the TagOptions associated with the portfolio.

*/ inline DescribePortfolioResult& WithTagOptions(const Aws::Vector& value) { SetTagOptions(value); return *this;} /** *

Information about the TagOptions associated with the portfolio.

*/ inline DescribePortfolioResult& WithTagOptions(Aws::Vector&& value) { SetTagOptions(std::move(value)); return *this;} /** *

Information about the TagOptions associated with the portfolio.

*/ inline DescribePortfolioResult& AddTagOptions(const TagOptionDetail& value) { m_tagOptions.push_back(value); return *this; } /** *

Information about the TagOptions associated with the portfolio.

*/ inline DescribePortfolioResult& AddTagOptions(TagOptionDetail&& value) { m_tagOptions.push_back(std::move(value)); return *this; } /** *

Information about the associated budgets.

*/ inline const Aws::Vector& GetBudgets() const{ return m_budgets; } /** *

Information about the associated budgets.

*/ inline void SetBudgets(const Aws::Vector& value) { m_budgets = value; } /** *

Information about the associated budgets.

*/ inline void SetBudgets(Aws::Vector&& value) { m_budgets = std::move(value); } /** *

Information about the associated budgets.

*/ inline DescribePortfolioResult& WithBudgets(const Aws::Vector& value) { SetBudgets(value); return *this;} /** *

Information about the associated budgets.

*/ inline DescribePortfolioResult& WithBudgets(Aws::Vector&& value) { SetBudgets(std::move(value)); return *this;} /** *

Information about the associated budgets.

*/ inline DescribePortfolioResult& AddBudgets(const BudgetDetail& value) { m_budgets.push_back(value); return *this; } /** *

Information about the associated budgets.

*/ inline DescribePortfolioResult& AddBudgets(BudgetDetail&& value) { m_budgets.push_back(std::move(value)); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribePortfolioResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribePortfolioResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribePortfolioResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: PortfolioDetail m_portfolioDetail; Aws::Vector m_tags; Aws::Vector m_tagOptions; Aws::Vector m_budgets; Aws::String m_requestId; }; } // namespace Model } // namespace ServiceCatalog } // namespace Aws