/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains details about a product.See Also:
AWS
* API Reference
The ARN assigned to the product.
*/ inline const Aws::String& GetProductArn() const{ return m_productArn; } /** *The ARN assigned to the product.
*/ inline bool ProductArnHasBeenSet() const { return m_productArnHasBeenSet; } /** *The ARN assigned to the product.
*/ inline void SetProductArn(const Aws::String& value) { m_productArnHasBeenSet = true; m_productArn = value; } /** *The ARN assigned to the product.
*/ inline void SetProductArn(Aws::String&& value) { m_productArnHasBeenSet = true; m_productArn = std::move(value); } /** *The ARN assigned to the product.
*/ inline void SetProductArn(const char* value) { m_productArnHasBeenSet = true; m_productArn.assign(value); } /** *The ARN assigned to the product.
*/ inline Product& WithProductArn(const Aws::String& value) { SetProductArn(value); return *this;} /** *The ARN assigned to the product.
*/ inline Product& WithProductArn(Aws::String&& value) { SetProductArn(std::move(value)); return *this;} /** *The ARN assigned to the product.
*/ inline Product& WithProductArn(const char* value) { SetProductArn(value); return *this;} /** *The name of the product.
*/ inline const Aws::String& GetProductName() const{ return m_productName; } /** *The name of the product.
*/ inline bool ProductNameHasBeenSet() const { return m_productNameHasBeenSet; } /** *The name of the product.
*/ inline void SetProductName(const Aws::String& value) { m_productNameHasBeenSet = true; m_productName = value; } /** *The name of the product.
*/ inline void SetProductName(Aws::String&& value) { m_productNameHasBeenSet = true; m_productName = std::move(value); } /** *The name of the product.
*/ inline void SetProductName(const char* value) { m_productNameHasBeenSet = true; m_productName.assign(value); } /** *The name of the product.
*/ inline Product& WithProductName(const Aws::String& value) { SetProductName(value); return *this;} /** *The name of the product.
*/ inline Product& WithProductName(Aws::String&& value) { SetProductName(std::move(value)); return *this;} /** *The name of the product.
*/ inline Product& WithProductName(const char* value) { SetProductName(value); return *this;} /** *The name of the company that provides the product.
*/ inline const Aws::String& GetCompanyName() const{ return m_companyName; } /** *The name of the company that provides the product.
*/ inline bool CompanyNameHasBeenSet() const { return m_companyNameHasBeenSet; } /** *The name of the company that provides the product.
*/ inline void SetCompanyName(const Aws::String& value) { m_companyNameHasBeenSet = true; m_companyName = value; } /** *The name of the company that provides the product.
*/ inline void SetCompanyName(Aws::String&& value) { m_companyNameHasBeenSet = true; m_companyName = std::move(value); } /** *The name of the company that provides the product.
*/ inline void SetCompanyName(const char* value) { m_companyNameHasBeenSet = true; m_companyName.assign(value); } /** *The name of the company that provides the product.
*/ inline Product& WithCompanyName(const Aws::String& value) { SetCompanyName(value); return *this;} /** *The name of the company that provides the product.
*/ inline Product& WithCompanyName(Aws::String&& value) { SetCompanyName(std::move(value)); return *this;} /** *The name of the company that provides the product.
*/ inline Product& WithCompanyName(const char* value) { SetCompanyName(value); return *this;} /** *A description of the product.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description of the product.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description of the product.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description of the product.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description of the product.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description of the product.
*/ inline Product& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description of the product.
*/ inline Product& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description of the product.
*/ inline Product& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The categories assigned to the product.
*/ inline const Aws::VectorThe categories assigned to the product.
*/ inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } /** *The categories assigned to the product.
*/ inline void SetCategories(const Aws::VectorThe categories assigned to the product.
*/ inline void SetCategories(Aws::VectorThe categories assigned to the product.
*/ inline Product& WithCategories(const Aws::VectorThe categories assigned to the product.
*/ inline Product& WithCategories(Aws::VectorThe categories assigned to the product.
*/ inline Product& AddCategories(const Aws::String& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } /** *The categories assigned to the product.
*/ inline Product& AddCategories(Aws::String&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(std::move(value)); return *this; } /** *The categories assigned to the product.
*/ inline Product& AddCategories(const char* value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } /** *The types of integration that the product supports. Available values are the * following.
SEND_FINDINGS_TO_SECURITY_HUB
- The
* integration sends findings to Security Hub.
* RECEIVE_FINDINGS_FROM_SECURITY_HUB
- The integration receives
* findings from Security Hub.
* UPDATE_FINDINGS_IN_SECURITY_HUB
- The integration does not send new
* findings to Security Hub, but does make updates to the findings that it receives
* from Security Hub.
The types of integration that the product supports. Available values are the * following.
SEND_FINDINGS_TO_SECURITY_HUB
- The
* integration sends findings to Security Hub.
* RECEIVE_FINDINGS_FROM_SECURITY_HUB
- The integration receives
* findings from Security Hub.
* UPDATE_FINDINGS_IN_SECURITY_HUB
- The integration does not send new
* findings to Security Hub, but does make updates to the findings that it receives
* from Security Hub.
The types of integration that the product supports. Available values are the * following.
SEND_FINDINGS_TO_SECURITY_HUB
- The
* integration sends findings to Security Hub.
* RECEIVE_FINDINGS_FROM_SECURITY_HUB
- The integration receives
* findings from Security Hub.
* UPDATE_FINDINGS_IN_SECURITY_HUB
- The integration does not send new
* findings to Security Hub, but does make updates to the findings that it receives
* from Security Hub.
The types of integration that the product supports. Available values are the * following.
SEND_FINDINGS_TO_SECURITY_HUB
- The
* integration sends findings to Security Hub.
* RECEIVE_FINDINGS_FROM_SECURITY_HUB
- The integration receives
* findings from Security Hub.
* UPDATE_FINDINGS_IN_SECURITY_HUB
- The integration does not send new
* findings to Security Hub, but does make updates to the findings that it receives
* from Security Hub.
The types of integration that the product supports. Available values are the * following.
SEND_FINDINGS_TO_SECURITY_HUB
- The
* integration sends findings to Security Hub.
* RECEIVE_FINDINGS_FROM_SECURITY_HUB
- The integration receives
* findings from Security Hub.
* UPDATE_FINDINGS_IN_SECURITY_HUB
- The integration does not send new
* findings to Security Hub, but does make updates to the findings that it receives
* from Security Hub.
The types of integration that the product supports. Available values are the * following.
SEND_FINDINGS_TO_SECURITY_HUB
- The
* integration sends findings to Security Hub.
* RECEIVE_FINDINGS_FROM_SECURITY_HUB
- The integration receives
* findings from Security Hub.
* UPDATE_FINDINGS_IN_SECURITY_HUB
- The integration does not send new
* findings to Security Hub, but does make updates to the findings that it receives
* from Security Hub.
The types of integration that the product supports. Available values are the * following.
SEND_FINDINGS_TO_SECURITY_HUB
- The
* integration sends findings to Security Hub.
* RECEIVE_FINDINGS_FROM_SECURITY_HUB
- The integration receives
* findings from Security Hub.
* UPDATE_FINDINGS_IN_SECURITY_HUB
- The integration does not send new
* findings to Security Hub, but does make updates to the findings that it receives
* from Security Hub.
The types of integration that the product supports. Available values are the * following.
SEND_FINDINGS_TO_SECURITY_HUB
- The
* integration sends findings to Security Hub.
* RECEIVE_FINDINGS_FROM_SECURITY_HUB
- The integration receives
* findings from Security Hub.
* UPDATE_FINDINGS_IN_SECURITY_HUB
- The integration does not send new
* findings to Security Hub, but does make updates to the findings that it receives
* from Security Hub.
For integrations with Amazon Web Services services, the Amazon Web Services * Console URL from which to activate the service.
For integrations with * third-party products, the Amazon Web Services Marketplace URL from which to * subscribe to or purchase the product.
*/ inline const Aws::String& GetMarketplaceUrl() const{ return m_marketplaceUrl; } /** *For integrations with Amazon Web Services services, the Amazon Web Services * Console URL from which to activate the service.
For integrations with * third-party products, the Amazon Web Services Marketplace URL from which to * subscribe to or purchase the product.
*/ inline bool MarketplaceUrlHasBeenSet() const { return m_marketplaceUrlHasBeenSet; } /** *For integrations with Amazon Web Services services, the Amazon Web Services * Console URL from which to activate the service.
For integrations with * third-party products, the Amazon Web Services Marketplace URL from which to * subscribe to or purchase the product.
*/ inline void SetMarketplaceUrl(const Aws::String& value) { m_marketplaceUrlHasBeenSet = true; m_marketplaceUrl = value; } /** *For integrations with Amazon Web Services services, the Amazon Web Services * Console URL from which to activate the service.
For integrations with * third-party products, the Amazon Web Services Marketplace URL from which to * subscribe to or purchase the product.
*/ inline void SetMarketplaceUrl(Aws::String&& value) { m_marketplaceUrlHasBeenSet = true; m_marketplaceUrl = std::move(value); } /** *For integrations with Amazon Web Services services, the Amazon Web Services * Console URL from which to activate the service.
For integrations with * third-party products, the Amazon Web Services Marketplace URL from which to * subscribe to or purchase the product.
*/ inline void SetMarketplaceUrl(const char* value) { m_marketplaceUrlHasBeenSet = true; m_marketplaceUrl.assign(value); } /** *For integrations with Amazon Web Services services, the Amazon Web Services * Console URL from which to activate the service.
For integrations with * third-party products, the Amazon Web Services Marketplace URL from which to * subscribe to or purchase the product.
*/ inline Product& WithMarketplaceUrl(const Aws::String& value) { SetMarketplaceUrl(value); return *this;} /** *For integrations with Amazon Web Services services, the Amazon Web Services * Console URL from which to activate the service.
For integrations with * third-party products, the Amazon Web Services Marketplace URL from which to * subscribe to or purchase the product.
*/ inline Product& WithMarketplaceUrl(Aws::String&& value) { SetMarketplaceUrl(std::move(value)); return *this;} /** *For integrations with Amazon Web Services services, the Amazon Web Services * Console URL from which to activate the service.
For integrations with * third-party products, the Amazon Web Services Marketplace URL from which to * subscribe to or purchase the product.
*/ inline Product& WithMarketplaceUrl(const char* value) { SetMarketplaceUrl(value); return *this;} /** *The URL to the service or product documentation about the integration with * Security Hub, including how to activate the integration.
*/ inline const Aws::String& GetActivationUrl() const{ return m_activationUrl; } /** *The URL to the service or product documentation about the integration with * Security Hub, including how to activate the integration.
*/ inline bool ActivationUrlHasBeenSet() const { return m_activationUrlHasBeenSet; } /** *The URL to the service or product documentation about the integration with * Security Hub, including how to activate the integration.
*/ inline void SetActivationUrl(const Aws::String& value) { m_activationUrlHasBeenSet = true; m_activationUrl = value; } /** *The URL to the service or product documentation about the integration with * Security Hub, including how to activate the integration.
*/ inline void SetActivationUrl(Aws::String&& value) { m_activationUrlHasBeenSet = true; m_activationUrl = std::move(value); } /** *The URL to the service or product documentation about the integration with * Security Hub, including how to activate the integration.
*/ inline void SetActivationUrl(const char* value) { m_activationUrlHasBeenSet = true; m_activationUrl.assign(value); } /** *The URL to the service or product documentation about the integration with * Security Hub, including how to activate the integration.
*/ inline Product& WithActivationUrl(const Aws::String& value) { SetActivationUrl(value); return *this;} /** *The URL to the service or product documentation about the integration with * Security Hub, including how to activate the integration.
*/ inline Product& WithActivationUrl(Aws::String&& value) { SetActivationUrl(std::move(value)); return *this;} /** *The URL to the service or product documentation about the integration with * Security Hub, including how to activate the integration.
*/ inline Product& WithActivationUrl(const char* value) { SetActivationUrl(value); return *this;} /** *The resource policy associated with the product.
*/ inline const Aws::String& GetProductSubscriptionResourcePolicy() const{ return m_productSubscriptionResourcePolicy; } /** *The resource policy associated with the product.
*/ inline bool ProductSubscriptionResourcePolicyHasBeenSet() const { return m_productSubscriptionResourcePolicyHasBeenSet; } /** *The resource policy associated with the product.
*/ inline void SetProductSubscriptionResourcePolicy(const Aws::String& value) { m_productSubscriptionResourcePolicyHasBeenSet = true; m_productSubscriptionResourcePolicy = value; } /** *The resource policy associated with the product.
*/ inline void SetProductSubscriptionResourcePolicy(Aws::String&& value) { m_productSubscriptionResourcePolicyHasBeenSet = true; m_productSubscriptionResourcePolicy = std::move(value); } /** *The resource policy associated with the product.
*/ inline void SetProductSubscriptionResourcePolicy(const char* value) { m_productSubscriptionResourcePolicyHasBeenSet = true; m_productSubscriptionResourcePolicy.assign(value); } /** *The resource policy associated with the product.
*/ inline Product& WithProductSubscriptionResourcePolicy(const Aws::String& value) { SetProductSubscriptionResourcePolicy(value); return *this;} /** *The resource policy associated with the product.
*/ inline Product& WithProductSubscriptionResourcePolicy(Aws::String&& value) { SetProductSubscriptionResourcePolicy(std::move(value)); return *this;} /** *The resource policy associated with the product.
*/ inline Product& WithProductSubscriptionResourcePolicy(const char* value) { SetProductSubscriptionResourcePolicy(value); return *this;} private: Aws::String m_productArn; bool m_productArnHasBeenSet = false; Aws::String m_productName; bool m_productNameHasBeenSet = false; Aws::String m_companyName; bool m_companyNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector