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

This specifies criteria to assign a set of resources, such as resource types * or backup vaults.

See Also:

AWS * API Reference

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

These are the names of the vaults in which the selected recovery points are * contained.

*/ inline const Aws::Vector& GetVaultNames() const{ return m_vaultNames; } /** *

These are the names of the vaults in which the selected recovery points are * contained.

*/ inline bool VaultNamesHasBeenSet() const { return m_vaultNamesHasBeenSet; } /** *

These are the names of the vaults in which the selected recovery points are * contained.

*/ inline void SetVaultNames(const Aws::Vector& value) { m_vaultNamesHasBeenSet = true; m_vaultNames = value; } /** *

These are the names of the vaults in which the selected recovery points are * contained.

*/ inline void SetVaultNames(Aws::Vector&& value) { m_vaultNamesHasBeenSet = true; m_vaultNames = std::move(value); } /** *

These are the names of the vaults in which the selected recovery points are * contained.

*/ inline RecoveryPointSelection& WithVaultNames(const Aws::Vector& value) { SetVaultNames(value); return *this;} /** *

These are the names of the vaults in which the selected recovery points are * contained.

*/ inline RecoveryPointSelection& WithVaultNames(Aws::Vector&& value) { SetVaultNames(std::move(value)); return *this;} /** *

These are the names of the vaults in which the selected recovery points are * contained.

*/ inline RecoveryPointSelection& AddVaultNames(const Aws::String& value) { m_vaultNamesHasBeenSet = true; m_vaultNames.push_back(value); return *this; } /** *

These are the names of the vaults in which the selected recovery points are * contained.

*/ inline RecoveryPointSelection& AddVaultNames(Aws::String&& value) { m_vaultNamesHasBeenSet = true; m_vaultNames.push_back(std::move(value)); return *this; } /** *

These are the names of the vaults in which the selected recovery points are * contained.

*/ inline RecoveryPointSelection& AddVaultNames(const char* value) { m_vaultNamesHasBeenSet = true; m_vaultNames.push_back(value); return *this; } /** *

These are the resources included in the resource selection (including type of * resources and vaults).

*/ inline const Aws::Vector& GetResourceIdentifiers() const{ return m_resourceIdentifiers; } /** *

These are the resources included in the resource selection (including type of * resources and vaults).

*/ inline bool ResourceIdentifiersHasBeenSet() const { return m_resourceIdentifiersHasBeenSet; } /** *

These are the resources included in the resource selection (including type of * resources and vaults).

*/ inline void SetResourceIdentifiers(const Aws::Vector& value) { m_resourceIdentifiersHasBeenSet = true; m_resourceIdentifiers = value; } /** *

These are the resources included in the resource selection (including type of * resources and vaults).

*/ inline void SetResourceIdentifiers(Aws::Vector&& value) { m_resourceIdentifiersHasBeenSet = true; m_resourceIdentifiers = std::move(value); } /** *

These are the resources included in the resource selection (including type of * resources and vaults).

*/ inline RecoveryPointSelection& WithResourceIdentifiers(const Aws::Vector& value) { SetResourceIdentifiers(value); return *this;} /** *

These are the resources included in the resource selection (including type of * resources and vaults).

*/ inline RecoveryPointSelection& WithResourceIdentifiers(Aws::Vector&& value) { SetResourceIdentifiers(std::move(value)); return *this;} /** *

These are the resources included in the resource selection (including type of * resources and vaults).

*/ inline RecoveryPointSelection& AddResourceIdentifiers(const Aws::String& value) { m_resourceIdentifiersHasBeenSet = true; m_resourceIdentifiers.push_back(value); return *this; } /** *

These are the resources included in the resource selection (including type of * resources and vaults).

*/ inline RecoveryPointSelection& AddResourceIdentifiers(Aws::String&& value) { m_resourceIdentifiersHasBeenSet = true; m_resourceIdentifiers.push_back(std::move(value)); return *this; } /** *

These are the resources included in the resource selection (including type of * resources and vaults).

*/ inline RecoveryPointSelection& AddResourceIdentifiers(const char* value) { m_resourceIdentifiersHasBeenSet = true; m_resourceIdentifiers.push_back(value); return *this; } inline const DateRange& GetDateRange() const{ return m_dateRange; } inline bool DateRangeHasBeenSet() const { return m_dateRangeHasBeenSet; } inline void SetDateRange(const DateRange& value) { m_dateRangeHasBeenSet = true; m_dateRange = value; } inline void SetDateRange(DateRange&& value) { m_dateRangeHasBeenSet = true; m_dateRange = std::move(value); } inline RecoveryPointSelection& WithDateRange(const DateRange& value) { SetDateRange(value); return *this;} inline RecoveryPointSelection& WithDateRange(DateRange&& value) { SetDateRange(std::move(value)); return *this;} private: Aws::Vector m_vaultNames; bool m_vaultNamesHasBeenSet = false; Aws::Vector m_resourceIdentifiers; bool m_resourceIdentifiersHasBeenSet = false; DateRange m_dateRange; bool m_dateRangeHasBeenSet = false; }; } // namespace Model } // namespace Backup } // namespace Aws