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

A list of backup options for each resource type.

See Also:

* AWS * API Reference

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

Specifies an object containing resource type and backup options. The only * supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy * Service (VSS). For a CloudFormation example, see the sample * CloudFormation template to enable Windows VSS in the Backup User * Guide.

Valid values: EC2.

*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *

Specifies an object containing resource type and backup options. The only * supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy * Service (VSS). For a CloudFormation example, see the sample * CloudFormation template to enable Windows VSS in the Backup User * Guide.

Valid values: EC2.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

Specifies an object containing resource type and backup options. The only * supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy * Service (VSS). For a CloudFormation example, see the sample * CloudFormation template to enable Windows VSS in the Backup User * Guide.

Valid values: EC2.

*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

Specifies an object containing resource type and backup options. The only * supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy * Service (VSS). For a CloudFormation example, see the sample * CloudFormation template to enable Windows VSS in the Backup User * Guide.

Valid values: EC2.

*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

Specifies an object containing resource type and backup options. The only * supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy * Service (VSS). For a CloudFormation example, see the sample * CloudFormation template to enable Windows VSS in the Backup User * Guide.

Valid values: EC2.

*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *

Specifies an object containing resource type and backup options. The only * supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy * Service (VSS). For a CloudFormation example, see the sample * CloudFormation template to enable Windows VSS in the Backup User * Guide.

Valid values: EC2.

*/ inline AdvancedBackupSetting& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *

Specifies an object containing resource type and backup options. The only * supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy * Service (VSS). For a CloudFormation example, see the sample * CloudFormation template to enable Windows VSS in the Backup User * Guide.

Valid values: EC2.

*/ inline AdvancedBackupSetting& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *

Specifies an object containing resource type and backup options. The only * supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy * Service (VSS). For a CloudFormation example, see the sample * CloudFormation template to enable Windows VSS in the Backup User * Guide.

Valid values: EC2.

*/ inline AdvancedBackupSetting& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline const Aws::Map& GetBackupOptions() const{ return m_backupOptions; } /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline bool BackupOptionsHasBeenSet() const { return m_backupOptionsHasBeenSet; } /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline void SetBackupOptions(const Aws::Map& value) { m_backupOptionsHasBeenSet = true; m_backupOptions = value; } /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline void SetBackupOptions(Aws::Map&& value) { m_backupOptionsHasBeenSet = true; m_backupOptions = std::move(value); } /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline AdvancedBackupSetting& WithBackupOptions(const Aws::Map& value) { SetBackupOptions(value); return *this;} /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline AdvancedBackupSetting& WithBackupOptions(Aws::Map&& value) { SetBackupOptions(std::move(value)); return *this;} /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline AdvancedBackupSetting& AddBackupOptions(const Aws::String& key, const Aws::String& value) { m_backupOptionsHasBeenSet = true; m_backupOptions.emplace(key, value); return *this; } /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline AdvancedBackupSetting& AddBackupOptions(Aws::String&& key, const Aws::String& value) { m_backupOptionsHasBeenSet = true; m_backupOptions.emplace(std::move(key), value); return *this; } /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline AdvancedBackupSetting& AddBackupOptions(const Aws::String& key, Aws::String&& value) { m_backupOptionsHasBeenSet = true; m_backupOptions.emplace(key, std::move(value)); return *this; } /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline AdvancedBackupSetting& AddBackupOptions(Aws::String&& key, Aws::String&& value) { m_backupOptionsHasBeenSet = true; m_backupOptions.emplace(std::move(key), std::move(value)); return *this; } /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline AdvancedBackupSetting& AddBackupOptions(const char* key, Aws::String&& value) { m_backupOptionsHasBeenSet = true; m_backupOptions.emplace(key, std::move(value)); return *this; } /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline AdvancedBackupSetting& AddBackupOptions(Aws::String&& key, const char* value) { m_backupOptionsHasBeenSet = true; m_backupOptions.emplace(std::move(key), value); return *this; } /** *

Specifies the backup option for a selected resource. This option is only * available for Windows VSS backup jobs.

Valid values:

Set to * "WindowsVSS":"enabled" to enable the WindowsVSS backup * option and create a Windows VSS backup.

Set to * "WindowsVSS":"disabled" to create a regular backup. The * WindowsVSS option is not enabled by default.

If you specify * an invalid option, you get an InvalidParameterValueException * exception.

For more information about Windows VSS backups, see Creating * a VSS-Enabled Windows Backup.

*/ inline AdvancedBackupSetting& AddBackupOptions(const char* key, const char* value) { m_backupOptionsHasBeenSet = true; m_backupOptions.emplace(key, value); return *this; } private: Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::Map m_backupOptions; bool m_backupOptionsHasBeenSet = false; }; } // namespace Model } // namespace Backup } // namespace Aws