/** * 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 ConfigService { namespace Model { /** *

Provides options for how often Config delivers configuration snapshots to the * Amazon S3 bucket in your delivery channel.

The frequency for a rule that * triggers evaluations for your resources when Config delivers the configuration * snapshot is set by one of two values, depending on which is less frequent:

*
  • The value for the deliveryFrequency parameter within * the delivery channel configuration, which sets how often Config delivers * configuration snapshots. This value also sets how often Config invokes * evaluations for Config rules.

  • The value for the * MaximumExecutionFrequency parameter, which sets the maximum * frequency with which Config invokes evaluations for the rule. For more * information, see ConfigRule.

If the * deliveryFrequency value is less frequent than the * MaximumExecutionFrequency value for a rule, Config invokes the rule * only as often as the deliveryFrequency value.

  1. For * example, you want your rule to run evaluations when Config delivers the * configuration snapshot.

  2. You specify the * MaximumExecutionFrequency value for Six_Hours.

    *
  3. You then specify the delivery channel * deliveryFrequency value for TwentyFour_Hours.

    *
  4. Because the value for deliveryFrequency is less * frequent than MaximumExecutionFrequency, Config invokes evaluations * for the rule every 24 hours.

You should set the * MaximumExecutionFrequency value to be at least as frequent as the * deliveryFrequency value. You can view the * deliveryFrequency value by using the * DescribeDeliveryChannnels action.

To update the * deliveryFrequency with which Config delivers your configuration * snapshots, use the PutDeliveryChannel action.

See * Also:

AWS * API Reference

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

The frequency with which Config delivers configuration snapshots.

*/ inline const MaximumExecutionFrequency& GetDeliveryFrequency() const{ return m_deliveryFrequency; } /** *

The frequency with which Config delivers configuration snapshots.

*/ inline bool DeliveryFrequencyHasBeenSet() const { return m_deliveryFrequencyHasBeenSet; } /** *

The frequency with which Config delivers configuration snapshots.

*/ inline void SetDeliveryFrequency(const MaximumExecutionFrequency& value) { m_deliveryFrequencyHasBeenSet = true; m_deliveryFrequency = value; } /** *

The frequency with which Config delivers configuration snapshots.

*/ inline void SetDeliveryFrequency(MaximumExecutionFrequency&& value) { m_deliveryFrequencyHasBeenSet = true; m_deliveryFrequency = std::move(value); } /** *

The frequency with which Config delivers configuration snapshots.

*/ inline ConfigSnapshotDeliveryProperties& WithDeliveryFrequency(const MaximumExecutionFrequency& value) { SetDeliveryFrequency(value); return *this;} /** *

The frequency with which Config delivers configuration snapshots.

*/ inline ConfigSnapshotDeliveryProperties& WithDeliveryFrequency(MaximumExecutionFrequency&& value) { SetDeliveryFrequency(std::move(value)); return *this;} private: MaximumExecutionFrequency m_deliveryFrequency; bool m_deliveryFrequencyHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws