/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include [Snapshot and AMI policies only] Specifies optional parameters for
* snapshot and AMI policies. The set of valid parameters depends on the
* combination of policy type and target resource type. If you choose to
* exclude boot volumes and you specify tags that consequently exclude all of the
* additional data volumes attached to an instance, then Amazon Data Lifecycle
* Manager will not create any snapshots for the affected instance, and it will
* emit a SnapshotsCreateFailed
Amazon CloudWatch metric. For more
* information, see Monitor
* your policies using Amazon CloudWatch.See Also:
AWS API
* Reference
[Snapshot policies that target instances only] Indicates whether to
* exclude the root volume from multi-volume snapshot sets. The default is
* false
. If you specify true
, then the root volumes
* attached to targeted instances will be excluded from the multi-volume snapshot
* sets created by the policy.
[Snapshot policies that target instances only] Indicates whether to
* exclude the root volume from multi-volume snapshot sets. The default is
* false
. If you specify true
, then the root volumes
* attached to targeted instances will be excluded from the multi-volume snapshot
* sets created by the policy.
[Snapshot policies that target instances only] Indicates whether to
* exclude the root volume from multi-volume snapshot sets. The default is
* false
. If you specify true
, then the root volumes
* attached to targeted instances will be excluded from the multi-volume snapshot
* sets created by the policy.
[Snapshot policies that target instances only] Indicates whether to
* exclude the root volume from multi-volume snapshot sets. The default is
* false
. If you specify true
, then the root volumes
* attached to targeted instances will be excluded from the multi-volume snapshot
* sets created by the policy.
[AMI policies only] Indicates whether targeted instances are rebooted
* when the lifecycle policy runs. true
indicates that targeted
* instances are not rebooted when the policy runs. false
indicates
* that target instances are rebooted when the policy runs. The default is
* true
(instances are not rebooted).
[AMI policies only] Indicates whether targeted instances are rebooted
* when the lifecycle policy runs. true
indicates that targeted
* instances are not rebooted when the policy runs. false
indicates
* that target instances are rebooted when the policy runs. The default is
* true
(instances are not rebooted).
[AMI policies only] Indicates whether targeted instances are rebooted
* when the lifecycle policy runs. true
indicates that targeted
* instances are not rebooted when the policy runs. false
indicates
* that target instances are rebooted when the policy runs. The default is
* true
(instances are not rebooted).
[AMI policies only] Indicates whether targeted instances are rebooted
* when the lifecycle policy runs. true
indicates that targeted
* instances are not rebooted when the policy runs. false
indicates
* that target instances are rebooted when the policy runs. The default is
* true
(instances are not rebooted).
[Snapshot policies that target instances only] The tags used to * identify data (non-root) volumes to exclude from multi-volume snapshot sets.
*If you create a snapshot lifecycle policy that targets instances and you * specify tags for this parameter, then data volumes with the specified tags that * are attached to targeted instances will be excluded from the multi-volume * snapshot sets created by the policy.
*/ inline const Aws::Vector[Snapshot policies that target instances only] The tags used to * identify data (non-root) volumes to exclude from multi-volume snapshot sets.
*If you create a snapshot lifecycle policy that targets instances and you * specify tags for this parameter, then data volumes with the specified tags that * are attached to targeted instances will be excluded from the multi-volume * snapshot sets created by the policy.
*/ inline bool ExcludeDataVolumeTagsHasBeenSet() const { return m_excludeDataVolumeTagsHasBeenSet; } /** *[Snapshot policies that target instances only] The tags used to * identify data (non-root) volumes to exclude from multi-volume snapshot sets.
*If you create a snapshot lifecycle policy that targets instances and you * specify tags for this parameter, then data volumes with the specified tags that * are attached to targeted instances will be excluded from the multi-volume * snapshot sets created by the policy.
*/ inline void SetExcludeDataVolumeTags(const Aws::Vector[Snapshot policies that target instances only] The tags used to * identify data (non-root) volumes to exclude from multi-volume snapshot sets.
*If you create a snapshot lifecycle policy that targets instances and you * specify tags for this parameter, then data volumes with the specified tags that * are attached to targeted instances will be excluded from the multi-volume * snapshot sets created by the policy.
*/ inline void SetExcludeDataVolumeTags(Aws::Vector[Snapshot policies that target instances only] The tags used to * identify data (non-root) volumes to exclude from multi-volume snapshot sets.
*If you create a snapshot lifecycle policy that targets instances and you * specify tags for this parameter, then data volumes with the specified tags that * are attached to targeted instances will be excluded from the multi-volume * snapshot sets created by the policy.
*/ inline Parameters& WithExcludeDataVolumeTags(const Aws::Vector[Snapshot policies that target instances only] The tags used to * identify data (non-root) volumes to exclude from multi-volume snapshot sets.
*If you create a snapshot lifecycle policy that targets instances and you * specify tags for this parameter, then data volumes with the specified tags that * are attached to targeted instances will be excluded from the multi-volume * snapshot sets created by the policy.
*/ inline Parameters& WithExcludeDataVolumeTags(Aws::Vector[Snapshot policies that target instances only] The tags used to * identify data (non-root) volumes to exclude from multi-volume snapshot sets.
*If you create a snapshot lifecycle policy that targets instances and you * specify tags for this parameter, then data volumes with the specified tags that * are attached to targeted instances will be excluded from the multi-volume * snapshot sets created by the policy.
*/ inline Parameters& AddExcludeDataVolumeTags(const Tag& value) { m_excludeDataVolumeTagsHasBeenSet = true; m_excludeDataVolumeTags.push_back(value); return *this; } /** *[Snapshot policies that target instances only] The tags used to * identify data (non-root) volumes to exclude from multi-volume snapshot sets.
*If you create a snapshot lifecycle policy that targets instances and you * specify tags for this parameter, then data volumes with the specified tags that * are attached to targeted instances will be excluded from the multi-volume * snapshot sets created by the policy.
*/ inline Parameters& AddExcludeDataVolumeTags(Tag&& value) { m_excludeDataVolumeTagsHasBeenSet = true; m_excludeDataVolumeTags.push_back(std::move(value)); return *this; } private: bool m_excludeBootVolume; bool m_excludeBootVolumeHasBeenSet = false; bool m_noReboot; bool m_noRebootHasBeenSet = false; Aws::Vector