/** * 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 information about a specific security standard.

See * Also:

AWS * API Reference

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

The ARN of a standard.

*/ inline const Aws::String& GetStandardsArn() const{ return m_standardsArn; } /** *

The ARN of a standard.

*/ inline bool StandardsArnHasBeenSet() const { return m_standardsArnHasBeenSet; } /** *

The ARN of a standard.

*/ inline void SetStandardsArn(const Aws::String& value) { m_standardsArnHasBeenSet = true; m_standardsArn = value; } /** *

The ARN of a standard.

*/ inline void SetStandardsArn(Aws::String&& value) { m_standardsArnHasBeenSet = true; m_standardsArn = std::move(value); } /** *

The ARN of a standard.

*/ inline void SetStandardsArn(const char* value) { m_standardsArnHasBeenSet = true; m_standardsArn.assign(value); } /** *

The ARN of a standard.

*/ inline Standard& WithStandardsArn(const Aws::String& value) { SetStandardsArn(value); return *this;} /** *

The ARN of a standard.

*/ inline Standard& WithStandardsArn(Aws::String&& value) { SetStandardsArn(std::move(value)); return *this;} /** *

The ARN of a standard.

*/ inline Standard& WithStandardsArn(const char* value) { SetStandardsArn(value); return *this;} /** *

The name of the standard.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the standard.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the standard.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the standard.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the standard.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the standard.

*/ inline Standard& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the standard.

*/ inline Standard& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the standard.

*/ inline Standard& WithName(const char* value) { SetName(value); return *this;} /** *

A description of the standard.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the standard.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the standard.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the standard.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the standard.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the standard.

*/ inline Standard& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the standard.

*/ inline Standard& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the standard.

*/ inline Standard& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Whether the standard is enabled by default. When Security Hub is enabled from * the console, if a standard is enabled by default, the check box for that * standard is selected by default.

When Security Hub is enabled using the * EnableSecurityHub API operation, the standard is enabled by default * unless EnableDefaultStandards is set to false.

*/ inline bool GetEnabledByDefault() const{ return m_enabledByDefault; } /** *

Whether the standard is enabled by default. When Security Hub is enabled from * the console, if a standard is enabled by default, the check box for that * standard is selected by default.

When Security Hub is enabled using the * EnableSecurityHub API operation, the standard is enabled by default * unless EnableDefaultStandards is set to false.

*/ inline bool EnabledByDefaultHasBeenSet() const { return m_enabledByDefaultHasBeenSet; } /** *

Whether the standard is enabled by default. When Security Hub is enabled from * the console, if a standard is enabled by default, the check box for that * standard is selected by default.

When Security Hub is enabled using the * EnableSecurityHub API operation, the standard is enabled by default * unless EnableDefaultStandards is set to false.

*/ inline void SetEnabledByDefault(bool value) { m_enabledByDefaultHasBeenSet = true; m_enabledByDefault = value; } /** *

Whether the standard is enabled by default. When Security Hub is enabled from * the console, if a standard is enabled by default, the check box for that * standard is selected by default.

When Security Hub is enabled using the * EnableSecurityHub API operation, the standard is enabled by default * unless EnableDefaultStandards is set to false.

*/ inline Standard& WithEnabledByDefault(bool value) { SetEnabledByDefault(value); return *this;} /** *

Provides details about the management of a standard.

*/ inline const StandardsManagedBy& GetStandardsManagedBy() const{ return m_standardsManagedBy; } /** *

Provides details about the management of a standard.

*/ inline bool StandardsManagedByHasBeenSet() const { return m_standardsManagedByHasBeenSet; } /** *

Provides details about the management of a standard.

*/ inline void SetStandardsManagedBy(const StandardsManagedBy& value) { m_standardsManagedByHasBeenSet = true; m_standardsManagedBy = value; } /** *

Provides details about the management of a standard.

*/ inline void SetStandardsManagedBy(StandardsManagedBy&& value) { m_standardsManagedByHasBeenSet = true; m_standardsManagedBy = std::move(value); } /** *

Provides details about the management of a standard.

*/ inline Standard& WithStandardsManagedBy(const StandardsManagedBy& value) { SetStandardsManagedBy(value); return *this;} /** *

Provides details about the management of a standard.

*/ inline Standard& WithStandardsManagedBy(StandardsManagedBy&& value) { SetStandardsManagedBy(std::move(value)); return *this;} private: Aws::String m_standardsArn; bool m_standardsArnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; bool m_enabledByDefault; bool m_enabledByDefaultHasBeenSet = false; StandardsManagedBy m_standardsManagedBy; bool m_standardsManagedByHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws