/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information for a single version of a managed rule set. This
* is intended for use only by vendors of managed rule sets. Vendors are Amazon Web
* Services and Amazon Web Services Marketplace sellers. Vendors, you can
* use the managed rule set APIs to provide controlled rollout of your versioned
* managed rule group offerings for your customers. The APIs are
* ListManagedRuleSets
, GetManagedRuleSet
,
* PutManagedRuleSetVersions
, and
* UpdateManagedRuleSetVersionExpiryDate
.See
* Also:
AWS
* API Reference
The Amazon Resource Name (ARN) of the vendor rule group that's used to define * the published version of your managed rule group.
*/ inline const Aws::String& GetAssociatedRuleGroupArn() const{ return m_associatedRuleGroupArn; } /** *The Amazon Resource Name (ARN) of the vendor rule group that's used to define * the published version of your managed rule group.
*/ inline bool AssociatedRuleGroupArnHasBeenSet() const { return m_associatedRuleGroupArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the vendor rule group that's used to define * the published version of your managed rule group.
*/ inline void SetAssociatedRuleGroupArn(const Aws::String& value) { m_associatedRuleGroupArnHasBeenSet = true; m_associatedRuleGroupArn = value; } /** *The Amazon Resource Name (ARN) of the vendor rule group that's used to define * the published version of your managed rule group.
*/ inline void SetAssociatedRuleGroupArn(Aws::String&& value) { m_associatedRuleGroupArnHasBeenSet = true; m_associatedRuleGroupArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the vendor rule group that's used to define * the published version of your managed rule group.
*/ inline void SetAssociatedRuleGroupArn(const char* value) { m_associatedRuleGroupArnHasBeenSet = true; m_associatedRuleGroupArn.assign(value); } /** *The Amazon Resource Name (ARN) of the vendor rule group that's used to define * the published version of your managed rule group.
*/ inline ManagedRuleSetVersion& WithAssociatedRuleGroupArn(const Aws::String& value) { SetAssociatedRuleGroupArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the vendor rule group that's used to define * the published version of your managed rule group.
*/ inline ManagedRuleSetVersion& WithAssociatedRuleGroupArn(Aws::String&& value) { SetAssociatedRuleGroupArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the vendor rule group that's used to define * the published version of your managed rule group.
*/ inline ManagedRuleSetVersion& WithAssociatedRuleGroupArn(const char* value) { SetAssociatedRuleGroupArn(value); return *this;} /** *The web ACL capacity units (WCUs) required for this rule group.
WAF * uses WCUs to calculate and control the operating resources that are used to run * your rules, rule groups, and web ACLs. WAF calculates capacity differently for * each rule type, to reflect the relative cost of each rule. Simple rules that * cost little to run use fewer WCUs than more complex rules that use more * processing power. Rule group capacity is fixed at creation, which helps users * plan their web ACL WCU usage when they use a rule group. For more information, * see WAF * web ACL capacity units (WCU) in the WAF Developer Guide.
*/ inline long long GetCapacity() const{ return m_capacity; } /** *The web ACL capacity units (WCUs) required for this rule group.
WAF * uses WCUs to calculate and control the operating resources that are used to run * your rules, rule groups, and web ACLs. WAF calculates capacity differently for * each rule type, to reflect the relative cost of each rule. Simple rules that * cost little to run use fewer WCUs than more complex rules that use more * processing power. Rule group capacity is fixed at creation, which helps users * plan their web ACL WCU usage when they use a rule group. For more information, * see WAF * web ACL capacity units (WCU) in the WAF Developer Guide.
*/ inline bool CapacityHasBeenSet() const { return m_capacityHasBeenSet; } /** *The web ACL capacity units (WCUs) required for this rule group.
WAF * uses WCUs to calculate and control the operating resources that are used to run * your rules, rule groups, and web ACLs. WAF calculates capacity differently for * each rule type, to reflect the relative cost of each rule. Simple rules that * cost little to run use fewer WCUs than more complex rules that use more * processing power. Rule group capacity is fixed at creation, which helps users * plan their web ACL WCU usage when they use a rule group. For more information, * see WAF * web ACL capacity units (WCU) in the WAF Developer Guide.
*/ inline void SetCapacity(long long value) { m_capacityHasBeenSet = true; m_capacity = value; } /** *The web ACL capacity units (WCUs) required for this rule group.
WAF * uses WCUs to calculate and control the operating resources that are used to run * your rules, rule groups, and web ACLs. WAF calculates capacity differently for * each rule type, to reflect the relative cost of each rule. Simple rules that * cost little to run use fewer WCUs than more complex rules that use more * processing power. Rule group capacity is fixed at creation, which helps users * plan their web ACL WCU usage when they use a rule group. For more information, * see WAF * web ACL capacity units (WCU) in the WAF Developer Guide.
*/ inline ManagedRuleSetVersion& WithCapacity(long long value) { SetCapacity(value); return *this;} /** *The amount of time you expect this version of your managed rule group to * last, in days.
*/ inline int GetForecastedLifetime() const{ return m_forecastedLifetime; } /** *The amount of time you expect this version of your managed rule group to * last, in days.
*/ inline bool ForecastedLifetimeHasBeenSet() const { return m_forecastedLifetimeHasBeenSet; } /** *The amount of time you expect this version of your managed rule group to * last, in days.
*/ inline void SetForecastedLifetime(int value) { m_forecastedLifetimeHasBeenSet = true; m_forecastedLifetime = value; } /** *The amount of time you expect this version of your managed rule group to * last, in days.
*/ inline ManagedRuleSetVersion& WithForecastedLifetime(int value) { SetForecastedLifetime(value); return *this;} /** *The time that you first published this version.
Times are in * Coordinated Universal Time (UTC) format. UTC format includes the special * designator, Z. For example, "2016-09-27T14:50Z".
*/ inline const Aws::Utils::DateTime& GetPublishTimestamp() const{ return m_publishTimestamp; } /** *The time that you first published this version.
Times are in * Coordinated Universal Time (UTC) format. UTC format includes the special * designator, Z. For example, "2016-09-27T14:50Z".
*/ inline bool PublishTimestampHasBeenSet() const { return m_publishTimestampHasBeenSet; } /** *The time that you first published this version.
Times are in * Coordinated Universal Time (UTC) format. UTC format includes the special * designator, Z. For example, "2016-09-27T14:50Z".
*/ inline void SetPublishTimestamp(const Aws::Utils::DateTime& value) { m_publishTimestampHasBeenSet = true; m_publishTimestamp = value; } /** *The time that you first published this version.
Times are in * Coordinated Universal Time (UTC) format. UTC format includes the special * designator, Z. For example, "2016-09-27T14:50Z".
*/ inline void SetPublishTimestamp(Aws::Utils::DateTime&& value) { m_publishTimestampHasBeenSet = true; m_publishTimestamp = std::move(value); } /** *The time that you first published this version.
Times are in * Coordinated Universal Time (UTC) format. UTC format includes the special * designator, Z. For example, "2016-09-27T14:50Z".
*/ inline ManagedRuleSetVersion& WithPublishTimestamp(const Aws::Utils::DateTime& value) { SetPublishTimestamp(value); return *this;} /** *The time that you first published this version.
Times are in * Coordinated Universal Time (UTC) format. UTC format includes the special * designator, Z. For example, "2016-09-27T14:50Z".
*/ inline ManagedRuleSetVersion& WithPublishTimestamp(Aws::Utils::DateTime&& value) { SetPublishTimestamp(std::move(value)); return *this;} /** *The last time that you updated this version.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline const Aws::Utils::DateTime& GetLastUpdateTimestamp() const{ return m_lastUpdateTimestamp; } /** *The last time that you updated this version.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline bool LastUpdateTimestampHasBeenSet() const { return m_lastUpdateTimestampHasBeenSet; } /** *The last time that you updated this version.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline void SetLastUpdateTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdateTimestampHasBeenSet = true; m_lastUpdateTimestamp = value; } /** *The last time that you updated this version.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline void SetLastUpdateTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdateTimestampHasBeenSet = true; m_lastUpdateTimestamp = std::move(value); } /** *The last time that you updated this version.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline ManagedRuleSetVersion& WithLastUpdateTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdateTimestamp(value); return *this;} /** *The last time that you updated this version.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline ManagedRuleSetVersion& WithLastUpdateTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdateTimestamp(std::move(value)); return *this;} /** *The time that this version is set to expire.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline const Aws::Utils::DateTime& GetExpiryTimestamp() const{ return m_expiryTimestamp; } /** *The time that this version is set to expire.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline bool ExpiryTimestampHasBeenSet() const { return m_expiryTimestampHasBeenSet; } /** *The time that this version is set to expire.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline void SetExpiryTimestamp(const Aws::Utils::DateTime& value) { m_expiryTimestampHasBeenSet = true; m_expiryTimestamp = value; } /** *The time that this version is set to expire.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline void SetExpiryTimestamp(Aws::Utils::DateTime&& value) { m_expiryTimestampHasBeenSet = true; m_expiryTimestamp = std::move(value); } /** *The time that this version is set to expire.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline ManagedRuleSetVersion& WithExpiryTimestamp(const Aws::Utils::DateTime& value) { SetExpiryTimestamp(value); return *this;} /** *The time that this version is set to expire.
Times are in Coordinated * Universal Time (UTC) format. UTC format includes the special designator, Z. For * example, "2016-09-27T14:50Z".
*/ inline ManagedRuleSetVersion& WithExpiryTimestamp(Aws::Utils::DateTime&& value) { SetExpiryTimestamp(std::move(value)); return *this;} private: Aws::String m_associatedRuleGroupArn; bool m_associatedRuleGroupArnHasBeenSet = false; long long m_capacity; bool m_capacityHasBeenSet = false; int m_forecastedLifetime; bool m_forecastedLifetimeHasBeenSet = false; Aws::Utils::DateTime m_publishTimestamp; bool m_publishTimestampHasBeenSet = false; Aws::Utils::DateTime m_lastUpdateTimestamp; bool m_lastUpdateTimestampHasBeenSet = false; Aws::Utils::DateTime m_expiryTimestamp; bool m_expiryTimestampHasBeenSet = false; }; } // namespace Model } // namespace WAFV2 } // namespace Aws