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

Provides a list of backup options for each resource type.

See * Also:

AWS * API Reference

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

Specifies the backup option for a selected resource. This option is only * available for Windows Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

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

Specifies the backup option for a selected resource. This option is only * available for Windows Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

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

Specifies the backup option for a selected resource. This option is only * available for Windows Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

*/ 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 Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

*/ 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 Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

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

Specifies the backup option for a selected resource. This option is only * available for Windows Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

*/ inline AwsBackupBackupPlanAdvancedBackupSettingsDetails& 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 Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

*/ inline AwsBackupBackupPlanAdvancedBackupSettingsDetails& 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 Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

*/ inline AwsBackupBackupPlanAdvancedBackupSettingsDetails& 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 Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

*/ inline AwsBackupBackupPlanAdvancedBackupSettingsDetails& 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 Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

*/ inline AwsBackupBackupPlanAdvancedBackupSettingsDetails& 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 Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

*/ inline AwsBackupBackupPlanAdvancedBackupSettingsDetails& 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 Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

*/ inline AwsBackupBackupPlanAdvancedBackupSettingsDetails& 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 Volume Shadow Copy Service (VSS) backup jobs. Valid values * are as follows:

  • 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.

*/ inline AwsBackupBackupPlanAdvancedBackupSettingsDetails& AddBackupOptions(const char* key, const char* value) { m_backupOptionsHasBeenSet = true; m_backupOptions.emplace(key, value); return *this; } /** *

The name of a resource type. The only supported resource type is Amazon EC2 * instances with Windows VSS.

The only valid value is EC2.

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

The name of a resource type. The only supported resource type is Amazon EC2 * instances with Windows VSS.

The only valid value is EC2.

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

The name of a resource type. The only supported resource type is Amazon EC2 * instances with Windows VSS.

The only valid value is EC2.

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

The name of a resource type. The only supported resource type is Amazon EC2 * instances with Windows VSS.

The only valid value is EC2.

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

The name of a resource type. The only supported resource type is Amazon EC2 * instances with Windows VSS.

The only valid value is EC2.

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

The name of a resource type. The only supported resource type is Amazon EC2 * instances with Windows VSS.

The only valid value is EC2.

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

The name of a resource type. The only supported resource type is Amazon EC2 * instances with Windows VSS.

The only valid value is EC2.

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

The name of a resource type. The only supported resource type is Amazon EC2 * instances with Windows VSS.

The only valid value is EC2.

*/ inline AwsBackupBackupPlanAdvancedBackupSettingsDetails& WithResourceType(const char* value) { SetResourceType(value); return *this;} private: Aws::Map m_backupOptions; bool m_backupOptionsHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws