/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Provides details about an Backup backup plan and an array of * BackupRule objects, each of which specifies a backup rule. *

See Also:

AWS * API Reference

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

The display name of a backup plan.

*/ inline const Aws::String& GetBackupPlanName() const{ return m_backupPlanName; } /** *

The display name of a backup plan.

*/ inline bool BackupPlanNameHasBeenSet() const { return m_backupPlanNameHasBeenSet; } /** *

The display name of a backup plan.

*/ inline void SetBackupPlanName(const Aws::String& value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName = value; } /** *

The display name of a backup plan.

*/ inline void SetBackupPlanName(Aws::String&& value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName = std::move(value); } /** *

The display name of a backup plan.

*/ inline void SetBackupPlanName(const char* value) { m_backupPlanNameHasBeenSet = true; m_backupPlanName.assign(value); } /** *

The display name of a backup plan.

*/ inline AwsBackupBackupPlanBackupPlanDetails& WithBackupPlanName(const Aws::String& value) { SetBackupPlanName(value); return *this;} /** *

The display name of a backup plan.

*/ inline AwsBackupBackupPlanBackupPlanDetails& WithBackupPlanName(Aws::String&& value) { SetBackupPlanName(std::move(value)); return *this;} /** *

The display name of a backup plan.

*/ inline AwsBackupBackupPlanBackupPlanDetails& WithBackupPlanName(const char* value) { SetBackupPlanName(value); return *this;} /** *

A list of backup options for each resource type.

*/ inline const Aws::Vector& GetAdvancedBackupSettings() const{ return m_advancedBackupSettings; } /** *

A list of backup options for each resource type.

*/ inline bool AdvancedBackupSettingsHasBeenSet() const { return m_advancedBackupSettingsHasBeenSet; } /** *

A list of backup options for each resource type.

*/ inline void SetAdvancedBackupSettings(const Aws::Vector& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings = value; } /** *

A list of backup options for each resource type.

*/ inline void SetAdvancedBackupSettings(Aws::Vector&& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings = std::move(value); } /** *

A list of backup options for each resource type.

*/ inline AwsBackupBackupPlanBackupPlanDetails& WithAdvancedBackupSettings(const Aws::Vector& value) { SetAdvancedBackupSettings(value); return *this;} /** *

A list of backup options for each resource type.

*/ inline AwsBackupBackupPlanBackupPlanDetails& WithAdvancedBackupSettings(Aws::Vector&& value) { SetAdvancedBackupSettings(std::move(value)); return *this;} /** *

A list of backup options for each resource type.

*/ inline AwsBackupBackupPlanBackupPlanDetails& AddAdvancedBackupSettings(const AwsBackupBackupPlanAdvancedBackupSettingsDetails& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings.push_back(value); return *this; } /** *

A list of backup options for each resource type.

*/ inline AwsBackupBackupPlanBackupPlanDetails& AddAdvancedBackupSettings(AwsBackupBackupPlanAdvancedBackupSettingsDetails&& value) { m_advancedBackupSettingsHasBeenSet = true; m_advancedBackupSettings.push_back(std::move(value)); return *this; } /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline const Aws::Vector& GetBackupPlanRule() const{ return m_backupPlanRule; } /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline bool BackupPlanRuleHasBeenSet() const { return m_backupPlanRuleHasBeenSet; } /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline void SetBackupPlanRule(const Aws::Vector& value) { m_backupPlanRuleHasBeenSet = true; m_backupPlanRule = value; } /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline void SetBackupPlanRule(Aws::Vector&& value) { m_backupPlanRuleHasBeenSet = true; m_backupPlanRule = std::move(value); } /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline AwsBackupBackupPlanBackupPlanDetails& WithBackupPlanRule(const Aws::Vector& value) { SetBackupPlanRule(value); return *this;} /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline AwsBackupBackupPlanBackupPlanDetails& WithBackupPlanRule(Aws::Vector&& value) { SetBackupPlanRule(std::move(value)); return *this;} /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline AwsBackupBackupPlanBackupPlanDetails& AddBackupPlanRule(const AwsBackupBackupPlanRuleDetails& value) { m_backupPlanRuleHasBeenSet = true; m_backupPlanRule.push_back(value); return *this; } /** *

An array of BackupRule objects, each of which specifies a * scheduled task that is used to back up a selection of resources.

*/ inline AwsBackupBackupPlanBackupPlanDetails& AddBackupPlanRule(AwsBackupBackupPlanRuleDetails&& value) { m_backupPlanRuleHasBeenSet = true; m_backupPlanRule.push_back(std::move(value)); return *this; } private: Aws::String m_backupPlanName; bool m_backupPlanNameHasBeenSet = false; Aws::Vector m_advancedBackupSettings; bool m_advancedBackupSettingsHasBeenSet = false; Aws::Vector m_backupPlanRule; bool m_backupPlanRuleHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws