/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The properties of a managed product, such as an Amazon Web Services Managed
* Rules rule group or an Amazon Web Services Marketplace managed rule group.
* See Also:
AWS
* API Reference
The name of the managed rule group vendor. You use this, along with the rule * group name, to identify a rule group.
*/ inline const Aws::String& GetVendorName() const{ return m_vendorName; } /** *The name of the managed rule group vendor. You use this, along with the rule * group name, to identify a rule group.
*/ inline bool VendorNameHasBeenSet() const { return m_vendorNameHasBeenSet; } /** *The name of the managed rule group vendor. You use this, along with the rule * group name, to identify a rule group.
*/ inline void SetVendorName(const Aws::String& value) { m_vendorNameHasBeenSet = true; m_vendorName = value; } /** *The name of the managed rule group vendor. You use this, along with the rule * group name, to identify a rule group.
*/ inline void SetVendorName(Aws::String&& value) { m_vendorNameHasBeenSet = true; m_vendorName = std::move(value); } /** *The name of the managed rule group vendor. You use this, along with the rule * group name, to identify a rule group.
*/ inline void SetVendorName(const char* value) { m_vendorNameHasBeenSet = true; m_vendorName.assign(value); } /** *The name of the managed rule group vendor. You use this, along with the rule * group name, to identify a rule group.
*/ inline ManagedProductDescriptor& WithVendorName(const Aws::String& value) { SetVendorName(value); return *this;} /** *The name of the managed rule group vendor. You use this, along with the rule * group name, to identify a rule group.
*/ inline ManagedProductDescriptor& WithVendorName(Aws::String&& value) { SetVendorName(std::move(value)); return *this;} /** *The name of the managed rule group vendor. You use this, along with the rule * group name, to identify a rule group.
*/ inline ManagedProductDescriptor& WithVendorName(const char* value) { SetVendorName(value); return *this;} /** *The name of the managed rule group. For example,
* AWSManagedRulesAnonymousIpList
or
* AWSManagedRulesATPRuleSet
.
The name of the managed rule group. For example,
* AWSManagedRulesAnonymousIpList
or
* AWSManagedRulesATPRuleSet
.
The name of the managed rule group. For example,
* AWSManagedRulesAnonymousIpList
or
* AWSManagedRulesATPRuleSet
.
The name of the managed rule group. For example,
* AWSManagedRulesAnonymousIpList
or
* AWSManagedRulesATPRuleSet
.
The name of the managed rule group. For example,
* AWSManagedRulesAnonymousIpList
or
* AWSManagedRulesATPRuleSet
.
The name of the managed rule group. For example,
* AWSManagedRulesAnonymousIpList
or
* AWSManagedRulesATPRuleSet
.
The name of the managed rule group. For example,
* AWSManagedRulesAnonymousIpList
or
* AWSManagedRulesATPRuleSet
.
The name of the managed rule group. For example,
* AWSManagedRulesAnonymousIpList
or
* AWSManagedRulesATPRuleSet
.
A unique identifier for the rule group. This ID is returned in the responses * to create and list commands. You provide it to operations like update and * delete.
*/ inline const Aws::String& GetProductId() const{ return m_productId; } /** *A unique identifier for the rule group. This ID is returned in the responses * to create and list commands. You provide it to operations like update and * delete.
*/ inline bool ProductIdHasBeenSet() const { return m_productIdHasBeenSet; } /** *A unique identifier for the rule group. This ID is returned in the responses * to create and list commands. You provide it to operations like update and * delete.
*/ inline void SetProductId(const Aws::String& value) { m_productIdHasBeenSet = true; m_productId = value; } /** *A unique identifier for the rule group. This ID is returned in the responses * to create and list commands. You provide it to operations like update and * delete.
*/ inline void SetProductId(Aws::String&& value) { m_productIdHasBeenSet = true; m_productId = std::move(value); } /** *A unique identifier for the rule group. This ID is returned in the responses * to create and list commands. You provide it to operations like update and * delete.
*/ inline void SetProductId(const char* value) { m_productIdHasBeenSet = true; m_productId.assign(value); } /** *A unique identifier for the rule group. This ID is returned in the responses * to create and list commands. You provide it to operations like update and * delete.
*/ inline ManagedProductDescriptor& WithProductId(const Aws::String& value) { SetProductId(value); return *this;} /** *A unique identifier for the rule group. This ID is returned in the responses * to create and list commands. You provide it to operations like update and * delete.
*/ inline ManagedProductDescriptor& WithProductId(Aws::String&& value) { SetProductId(std::move(value)); return *this;} /** *A unique identifier for the rule group. This ID is returned in the responses * to create and list commands. You provide it to operations like update and * delete.
*/ inline ManagedProductDescriptor& WithProductId(const char* value) { SetProductId(value); return *this;} /** *For Amazon Web Services Marketplace managed rule groups only, the link to the * rule group product page.
*/ inline const Aws::String& GetProductLink() const{ return m_productLink; } /** *For Amazon Web Services Marketplace managed rule groups only, the link to the * rule group product page.
*/ inline bool ProductLinkHasBeenSet() const { return m_productLinkHasBeenSet; } /** *For Amazon Web Services Marketplace managed rule groups only, the link to the * rule group product page.
*/ inline void SetProductLink(const Aws::String& value) { m_productLinkHasBeenSet = true; m_productLink = value; } /** *For Amazon Web Services Marketplace managed rule groups only, the link to the * rule group product page.
*/ inline void SetProductLink(Aws::String&& value) { m_productLinkHasBeenSet = true; m_productLink = std::move(value); } /** *For Amazon Web Services Marketplace managed rule groups only, the link to the * rule group product page.
*/ inline void SetProductLink(const char* value) { m_productLinkHasBeenSet = true; m_productLink.assign(value); } /** *For Amazon Web Services Marketplace managed rule groups only, the link to the * rule group product page.
*/ inline ManagedProductDescriptor& WithProductLink(const Aws::String& value) { SetProductLink(value); return *this;} /** *For Amazon Web Services Marketplace managed rule groups only, the link to the * rule group product page.
*/ inline ManagedProductDescriptor& WithProductLink(Aws::String&& value) { SetProductLink(std::move(value)); return *this;} /** *For Amazon Web Services Marketplace managed rule groups only, the link to the * rule group product page.
*/ inline ManagedProductDescriptor& WithProductLink(const char* value) { SetProductLink(value); return *this;} /** *The display name for the managed rule group. For example, Anonymous IP
* list
or Account takeover prevention
.
The display name for the managed rule group. For example, Anonymous IP
* list
or Account takeover prevention
.
The display name for the managed rule group. For example, Anonymous IP
* list
or Account takeover prevention
.
The display name for the managed rule group. For example, Anonymous IP
* list
or Account takeover prevention
.
The display name for the managed rule group. For example, Anonymous IP
* list
or Account takeover prevention
.
The display name for the managed rule group. For example, Anonymous IP
* list
or Account takeover prevention
.
The display name for the managed rule group. For example, Anonymous IP
* list
or Account takeover prevention
.
The display name for the managed rule group. For example, Anonymous IP
* list
or Account takeover prevention
.
A short description of the managed rule group.
*/ inline const Aws::String& GetProductDescription() const{ return m_productDescription; } /** *A short description of the managed rule group.
*/ inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; } /** *A short description of the managed rule group.
*/ inline void SetProductDescription(const Aws::String& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; } /** *A short description of the managed rule group.
*/ inline void SetProductDescription(Aws::String&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = std::move(value); } /** *A short description of the managed rule group.
*/ inline void SetProductDescription(const char* value) { m_productDescriptionHasBeenSet = true; m_productDescription.assign(value); } /** *A short description of the managed rule group.
*/ inline ManagedProductDescriptor& WithProductDescription(const Aws::String& value) { SetProductDescription(value); return *this;} /** *A short description of the managed rule group.
*/ inline ManagedProductDescriptor& WithProductDescription(Aws::String&& value) { SetProductDescription(std::move(value)); return *this;} /** *A short description of the managed rule group.
*/ inline ManagedProductDescriptor& WithProductDescription(const char* value) { SetProductDescription(value); return *this;} /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to provide notification of changes to the managed rule group. * You can subscribe to the SNS topic to receive notifications when the managed * rule group is modified, such as for new versions and for version expiration. For * more information, see the Amazon Simple * Notification Service Developer Guide.
*/ inline const Aws::String& GetSnsTopicArn() const{ return m_snsTopicArn; } /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to provide notification of changes to the managed rule group. * You can subscribe to the SNS topic to receive notifications when the managed * rule group is modified, such as for new versions and for version expiration. For * more information, see the Amazon Simple * Notification Service Developer Guide.
*/ inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; } /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to provide notification of changes to the managed rule group. * You can subscribe to the SNS topic to receive notifications when the managed * rule group is modified, such as for new versions and for version expiration. For * more information, see the Amazon Simple * Notification Service Developer Guide.
*/ inline void SetSnsTopicArn(const Aws::String& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = value; } /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to provide notification of changes to the managed rule group. * You can subscribe to the SNS topic to receive notifications when the managed * rule group is modified, such as for new versions and for version expiration. For * more information, see the Amazon Simple * Notification Service Developer Guide.
*/ inline void SetSnsTopicArn(Aws::String&& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = std::move(value); } /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to provide notification of changes to the managed rule group. * You can subscribe to the SNS topic to receive notifications when the managed * rule group is modified, such as for new versions and for version expiration. For * more information, see the Amazon Simple * Notification Service Developer Guide.
*/ inline void SetSnsTopicArn(const char* value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn.assign(value); } /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to provide notification of changes to the managed rule group. * You can subscribe to the SNS topic to receive notifications when the managed * rule group is modified, such as for new versions and for version expiration. For * more information, see the Amazon Simple * Notification Service Developer Guide.
*/ inline ManagedProductDescriptor& WithSnsTopicArn(const Aws::String& value) { SetSnsTopicArn(value); return *this;} /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to provide notification of changes to the managed rule group. * You can subscribe to the SNS topic to receive notifications when the managed * rule group is modified, such as for new versions and for version expiration. For * more information, see the Amazon Simple * Notification Service Developer Guide.
*/ inline ManagedProductDescriptor& WithSnsTopicArn(Aws::String&& value) { SetSnsTopicArn(std::move(value)); return *this;} /** *The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to provide notification of changes to the managed rule group. * You can subscribe to the SNS topic to receive notifications when the managed * rule group is modified, such as for new versions and for version expiration. For * more information, see the Amazon Simple * Notification Service Developer Guide.
*/ inline ManagedProductDescriptor& WithSnsTopicArn(const char* value) { SetSnsTopicArn(value); return *this;} /** *Indicates whether the rule group is versioned.
*/ inline bool GetIsVersioningSupported() const{ return m_isVersioningSupported; } /** *Indicates whether the rule group is versioned.
*/ inline bool IsVersioningSupportedHasBeenSet() const { return m_isVersioningSupportedHasBeenSet; } /** *Indicates whether the rule group is versioned.
*/ inline void SetIsVersioningSupported(bool value) { m_isVersioningSupportedHasBeenSet = true; m_isVersioningSupported = value; } /** *Indicates whether the rule group is versioned.
*/ inline ManagedProductDescriptor& WithIsVersioningSupported(bool value) { SetIsVersioningSupported(value); return *this;} /** *Indicates whether the rule group provides an advanced set of protections, * such as the the Amazon Web Services Managed Rules rule groups that are used for * WAF intelligent threat mitigation.
*/ inline bool GetIsAdvancedManagedRuleSet() const{ return m_isAdvancedManagedRuleSet; } /** *Indicates whether the rule group provides an advanced set of protections, * such as the the Amazon Web Services Managed Rules rule groups that are used for * WAF intelligent threat mitigation.
*/ inline bool IsAdvancedManagedRuleSetHasBeenSet() const { return m_isAdvancedManagedRuleSetHasBeenSet; } /** *Indicates whether the rule group provides an advanced set of protections, * such as the the Amazon Web Services Managed Rules rule groups that are used for * WAF intelligent threat mitigation.
*/ inline void SetIsAdvancedManagedRuleSet(bool value) { m_isAdvancedManagedRuleSetHasBeenSet = true; m_isAdvancedManagedRuleSet = value; } /** *Indicates whether the rule group provides an advanced set of protections, * such as the the Amazon Web Services Managed Rules rule groups that are used for * WAF intelligent threat mitigation.
*/ inline ManagedProductDescriptor& WithIsAdvancedManagedRuleSet(bool value) { SetIsAdvancedManagedRuleSet(value); return *this;} private: Aws::String m_vendorName; bool m_vendorNameHasBeenSet = false; Aws::String m_managedRuleSetName; bool m_managedRuleSetNameHasBeenSet = false; Aws::String m_productId; bool m_productIdHasBeenSet = false; Aws::String m_productLink; bool m_productLinkHasBeenSet = false; Aws::String m_productTitle; bool m_productTitleHasBeenSet = false; Aws::String m_productDescription; bool m_productDescriptionHasBeenSet = false; Aws::String m_snsTopicArn; bool m_snsTopicArnHasBeenSet = false; bool m_isVersioningSupported; bool m_isVersioningSupportedHasBeenSet = false; bool m_isAdvancedManagedRuleSet; bool m_isAdvancedManagedRuleSetHasBeenSet = false; }; } // namespace Model } // namespace WAFV2 } // namespace Aws