/** * 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 ServiceCatalog { namespace Model { /** */ class UpdatePortfolioShareRequest : public ServiceCatalogRequest { public: AWS_SERVICECATALOG_API UpdatePortfolioShareRequest(); // 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 "UpdatePortfolioShare"; } AWS_SERVICECATALOG_API Aws::String SerializePayload() const override; AWS_SERVICECATALOG_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline const Aws::String& GetAcceptLanguage() const{ return m_acceptLanguage; } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline bool AcceptLanguageHasBeenSet() const { return m_acceptLanguageHasBeenSet; } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline void SetAcceptLanguage(const Aws::String& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = value; } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline void SetAcceptLanguage(Aws::String&& value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage = std::move(value); } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline void SetAcceptLanguage(const char* value) { m_acceptLanguageHasBeenSet = true; m_acceptLanguage.assign(value); } /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline UpdatePortfolioShareRequest& WithAcceptLanguage(const Aws::String& value) { SetAcceptLanguage(value); return *this;} /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline UpdatePortfolioShareRequest& WithAcceptLanguage(Aws::String&& value) { SetAcceptLanguage(std::move(value)); return *this;} /** *

The language code.

  • jp - Japanese

  • *
  • zh - Chinese

*/ inline UpdatePortfolioShareRequest& WithAcceptLanguage(const char* value) { SetAcceptLanguage(value); return *this;} /** *

The unique identifier of the portfolio for which the share will be * updated.

*/ inline const Aws::String& GetPortfolioId() const{ return m_portfolioId; } /** *

The unique identifier of the portfolio for which the share will be * updated.

*/ inline bool PortfolioIdHasBeenSet() const { return m_portfolioIdHasBeenSet; } /** *

The unique identifier of the portfolio for which the share will be * updated.

*/ inline void SetPortfolioId(const Aws::String& value) { m_portfolioIdHasBeenSet = true; m_portfolioId = value; } /** *

The unique identifier of the portfolio for which the share will be * updated.

*/ inline void SetPortfolioId(Aws::String&& value) { m_portfolioIdHasBeenSet = true; m_portfolioId = std::move(value); } /** *

The unique identifier of the portfolio for which the share will be * updated.

*/ inline void SetPortfolioId(const char* value) { m_portfolioIdHasBeenSet = true; m_portfolioId.assign(value); } /** *

The unique identifier of the portfolio for which the share will be * updated.

*/ inline UpdatePortfolioShareRequest& WithPortfolioId(const Aws::String& value) { SetPortfolioId(value); return *this;} /** *

The unique identifier of the portfolio for which the share will be * updated.

*/ inline UpdatePortfolioShareRequest& WithPortfolioId(Aws::String&& value) { SetPortfolioId(std::move(value)); return *this;} /** *

The unique identifier of the portfolio for which the share will be * updated.

*/ inline UpdatePortfolioShareRequest& WithPortfolioId(const char* value) { SetPortfolioId(value); return *this;} /** *

The Amazon Web Services account Id of the recipient account. This field is * required when updating an external account to account type share.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The Amazon Web Services account Id of the recipient account. This field is * required when updating an external account to account type share.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The Amazon Web Services account Id of the recipient account. This field is * required when updating an external account to account type share.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The Amazon Web Services account Id of the recipient account. This field is * required when updating an external account to account type share.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The Amazon Web Services account Id of the recipient account. This field is * required when updating an external account to account type share.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The Amazon Web Services account Id of the recipient account. This field is * required when updating an external account to account type share.

*/ inline UpdatePortfolioShareRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The Amazon Web Services account Id of the recipient account. This field is * required when updating an external account to account type share.

*/ inline UpdatePortfolioShareRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The Amazon Web Services account Id of the recipient account. This field is * required when updating an external account to account type share.

*/ inline UpdatePortfolioShareRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} inline const OrganizationNode& GetOrganizationNode() const{ return m_organizationNode; } inline bool OrganizationNodeHasBeenSet() const { return m_organizationNodeHasBeenSet; } inline void SetOrganizationNode(const OrganizationNode& value) { m_organizationNodeHasBeenSet = true; m_organizationNode = value; } inline void SetOrganizationNode(OrganizationNode&& value) { m_organizationNodeHasBeenSet = true; m_organizationNode = std::move(value); } inline UpdatePortfolioShareRequest& WithOrganizationNode(const OrganizationNode& value) { SetOrganizationNode(value); return *this;} inline UpdatePortfolioShareRequest& WithOrganizationNode(OrganizationNode&& value) { SetOrganizationNode(std::move(value)); return *this;} /** *

Enables or disables TagOptions sharing for the portfolio share. * If this field is not provided, the current state of TagOptions sharing on the * portfolio share will not be modified.

*/ inline bool GetShareTagOptions() const{ return m_shareTagOptions; } /** *

Enables or disables TagOptions sharing for the portfolio share. * If this field is not provided, the current state of TagOptions sharing on the * portfolio share will not be modified.

*/ inline bool ShareTagOptionsHasBeenSet() const { return m_shareTagOptionsHasBeenSet; } /** *

Enables or disables TagOptions sharing for the portfolio share. * If this field is not provided, the current state of TagOptions sharing on the * portfolio share will not be modified.

*/ inline void SetShareTagOptions(bool value) { m_shareTagOptionsHasBeenSet = true; m_shareTagOptions = value; } /** *

Enables or disables TagOptions sharing for the portfolio share. * If this field is not provided, the current state of TagOptions sharing on the * portfolio share will not be modified.

*/ inline UpdatePortfolioShareRequest& WithShareTagOptions(bool value) { SetShareTagOptions(value); return *this;} /** *

A flag to enables or disables Principals sharing in the * portfolio. If this field is not provided, the current state of the * Principals sharing on the portfolio share will not be modified. *

*/ inline bool GetSharePrincipals() const{ return m_sharePrincipals; } /** *

A flag to enables or disables Principals sharing in the * portfolio. If this field is not provided, the current state of the * Principals sharing on the portfolio share will not be modified. *

*/ inline bool SharePrincipalsHasBeenSet() const { return m_sharePrincipalsHasBeenSet; } /** *

A flag to enables or disables Principals sharing in the * portfolio. If this field is not provided, the current state of the * Principals sharing on the portfolio share will not be modified. *

*/ inline void SetSharePrincipals(bool value) { m_sharePrincipalsHasBeenSet = true; m_sharePrincipals = value; } /** *

A flag to enables or disables Principals sharing in the * portfolio. If this field is not provided, the current state of the * Principals sharing on the portfolio share will not be modified. *

*/ inline UpdatePortfolioShareRequest& WithSharePrincipals(bool value) { SetSharePrincipals(value); return *this;} private: Aws::String m_acceptLanguage; bool m_acceptLanguageHasBeenSet = false; Aws::String m_portfolioId; bool m_portfolioIdHasBeenSet = false; Aws::String m_accountId; bool m_accountIdHasBeenSet = false; OrganizationNode m_organizationNode; bool m_organizationNodeHasBeenSet = false; bool m_shareTagOptions; bool m_shareTagOptionsHasBeenSet = false; bool m_sharePrincipals; bool m_sharePrincipalsHasBeenSet = false; }; } // namespace Model } // namespace ServiceCatalog } // namespace Aws