/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ServiceCatalog { namespace Model { /** *

Information about a constraint.

See Also:

AWS * API Reference

*/ class ConstraintDetail { public: AWS_SERVICECATALOG_API ConstraintDetail(); AWS_SERVICECATALOG_API ConstraintDetail(Aws::Utils::Json::JsonView jsonValue); AWS_SERVICECATALOG_API ConstraintDetail& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SERVICECATALOG_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The identifier of the constraint.

*/ inline const Aws::String& GetConstraintId() const{ return m_constraintId; } /** *

The identifier of the constraint.

*/ inline bool ConstraintIdHasBeenSet() const { return m_constraintIdHasBeenSet; } /** *

The identifier of the constraint.

*/ inline void SetConstraintId(const Aws::String& value) { m_constraintIdHasBeenSet = true; m_constraintId = value; } /** *

The identifier of the constraint.

*/ inline void SetConstraintId(Aws::String&& value) { m_constraintIdHasBeenSet = true; m_constraintId = std::move(value); } /** *

The identifier of the constraint.

*/ inline void SetConstraintId(const char* value) { m_constraintIdHasBeenSet = true; m_constraintId.assign(value); } /** *

The identifier of the constraint.

*/ inline ConstraintDetail& WithConstraintId(const Aws::String& value) { SetConstraintId(value); return *this;} /** *

The identifier of the constraint.

*/ inline ConstraintDetail& WithConstraintId(Aws::String&& value) { SetConstraintId(std::move(value)); return *this;} /** *

The identifier of the constraint.

*/ inline ConstraintDetail& WithConstraintId(const char* value) { SetConstraintId(value); return *this;} /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • STACKSET

  • * TEMPLATE

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • STACKSET

  • * TEMPLATE

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • STACKSET

  • * TEMPLATE

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • STACKSET

  • * TEMPLATE

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • STACKSET

  • * TEMPLATE

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • STACKSET

  • * TEMPLATE

*/ inline ConstraintDetail& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • STACKSET

  • * TEMPLATE

*/ inline ConstraintDetail& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of constraint.

  • LAUNCH

  • *

    NOTIFICATION

  • STACKSET

  • * TEMPLATE

*/ inline ConstraintDetail& WithType(const char* value) { SetType(value); return *this;} /** *

The description of the constraint.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the constraint.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the constraint.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the constraint.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the constraint.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the constraint.

*/ inline ConstraintDetail& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the constraint.

*/ inline ConstraintDetail& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the constraint.

*/ inline ConstraintDetail& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The owner of the constraint.

*/ inline const Aws::String& GetOwner() const{ return m_owner; } /** *

The owner of the constraint.

*/ inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } /** *

The owner of the constraint.

*/ inline void SetOwner(const Aws::String& value) { m_ownerHasBeenSet = true; m_owner = value; } /** *

The owner of the constraint.

*/ inline void SetOwner(Aws::String&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } /** *

The owner of the constraint.

*/ inline void SetOwner(const char* value) { m_ownerHasBeenSet = true; m_owner.assign(value); } /** *

The owner of the constraint.

*/ inline ConstraintDetail& WithOwner(const Aws::String& value) { SetOwner(value); return *this;} /** *

The owner of the constraint.

*/ inline ConstraintDetail& WithOwner(Aws::String&& value) { SetOwner(std::move(value)); return *this;} /** *

The owner of the constraint.

*/ inline ConstraintDetail& WithOwner(const char* value) { SetOwner(value); return *this;} /** *

The identifier of the product the constraint applies to. Note that a * constraint applies to a specific instance of a product within a certain * portfolio.

*/ inline const Aws::String& GetProductId() const{ return m_productId; } /** *

The identifier of the product the constraint applies to. Note that a * constraint applies to a specific instance of a product within a certain * portfolio.

*/ inline bool ProductIdHasBeenSet() const { return m_productIdHasBeenSet; } /** *

The identifier of the product the constraint applies to. Note that a * constraint applies to a specific instance of a product within a certain * portfolio.

*/ inline void SetProductId(const Aws::String& value) { m_productIdHasBeenSet = true; m_productId = value; } /** *

The identifier of the product the constraint applies to. Note that a * constraint applies to a specific instance of a product within a certain * portfolio.

*/ inline void SetProductId(Aws::String&& value) { m_productIdHasBeenSet = true; m_productId = std::move(value); } /** *

The identifier of the product the constraint applies to. Note that a * constraint applies to a specific instance of a product within a certain * portfolio.

*/ inline void SetProductId(const char* value) { m_productIdHasBeenSet = true; m_productId.assign(value); } /** *

The identifier of the product the constraint applies to. Note that a * constraint applies to a specific instance of a product within a certain * portfolio.

*/ inline ConstraintDetail& WithProductId(const Aws::String& value) { SetProductId(value); return *this;} /** *

The identifier of the product the constraint applies to. Note that a * constraint applies to a specific instance of a product within a certain * portfolio.

*/ inline ConstraintDetail& WithProductId(Aws::String&& value) { SetProductId(std::move(value)); return *this;} /** *

The identifier of the product the constraint applies to. Note that a * constraint applies to a specific instance of a product within a certain * portfolio.

*/ inline ConstraintDetail& WithProductId(const char* value) { SetProductId(value); return *this;} /** *

The identifier of the portfolio the product resides in. The constraint * applies only to the instance of the product that lives within this * portfolio.

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

The identifier of the portfolio the product resides in. The constraint * applies only to the instance of the product that lives within this * portfolio.

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

The identifier of the portfolio the product resides in. The constraint * applies only to the instance of the product that lives within this * portfolio.

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

The identifier of the portfolio the product resides in. The constraint * applies only to the instance of the product that lives within this * portfolio.

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

The identifier of the portfolio the product resides in. The constraint * applies only to the instance of the product that lives within this * portfolio.

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

The identifier of the portfolio the product resides in. The constraint * applies only to the instance of the product that lives within this * portfolio.

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

The identifier of the portfolio the product resides in. The constraint * applies only to the instance of the product that lives within this * portfolio.

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

The identifier of the portfolio the product resides in. The constraint * applies only to the instance of the product that lives within this * portfolio.

*/ inline ConstraintDetail& WithPortfolioId(const char* value) { SetPortfolioId(value); return *this;} private: Aws::String m_constraintId; bool m_constraintIdHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_owner; bool m_ownerHasBeenSet = false; Aws::String m_productId; bool m_productIdHasBeenSet = false; Aws::String m_portfolioId; bool m_portfolioIdHasBeenSet = false; }; } // namespace Model } // namespace ServiceCatalog } // namespace Aws