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

The control mapping fields that represent the source for evidence * collection, along with related parameters and metadata. This doesn't contain * mappingID.

See Also:

AWS * API Reference

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

The name of the control mapping data source.

*/ inline const Aws::String& GetSourceName() const{ return m_sourceName; } /** *

The name of the control mapping data source.

*/ inline bool SourceNameHasBeenSet() const { return m_sourceNameHasBeenSet; } /** *

The name of the control mapping data source.

*/ inline void SetSourceName(const Aws::String& value) { m_sourceNameHasBeenSet = true; m_sourceName = value; } /** *

The name of the control mapping data source.

*/ inline void SetSourceName(Aws::String&& value) { m_sourceNameHasBeenSet = true; m_sourceName = std::move(value); } /** *

The name of the control mapping data source.

*/ inline void SetSourceName(const char* value) { m_sourceNameHasBeenSet = true; m_sourceName.assign(value); } /** *

The name of the control mapping data source.

*/ inline CreateControlMappingSource& WithSourceName(const Aws::String& value) { SetSourceName(value); return *this;} /** *

The name of the control mapping data source.

*/ inline CreateControlMappingSource& WithSourceName(Aws::String&& value) { SetSourceName(std::move(value)); return *this;} /** *

The name of the control mapping data source.

*/ inline CreateControlMappingSource& WithSourceName(const char* value) { SetSourceName(value); return *this;} /** *

The description of the data source that determines where Audit Manager * collects evidence from for the control.

*/ inline const Aws::String& GetSourceDescription() const{ return m_sourceDescription; } /** *

The description of the data source that determines where Audit Manager * collects evidence from for the control.

*/ inline bool SourceDescriptionHasBeenSet() const { return m_sourceDescriptionHasBeenSet; } /** *

The description of the data source that determines where Audit Manager * collects evidence from for the control.

*/ inline void SetSourceDescription(const Aws::String& value) { m_sourceDescriptionHasBeenSet = true; m_sourceDescription = value; } /** *

The description of the data source that determines where Audit Manager * collects evidence from for the control.

*/ inline void SetSourceDescription(Aws::String&& value) { m_sourceDescriptionHasBeenSet = true; m_sourceDescription = std::move(value); } /** *

The description of the data source that determines where Audit Manager * collects evidence from for the control.

*/ inline void SetSourceDescription(const char* value) { m_sourceDescriptionHasBeenSet = true; m_sourceDescription.assign(value); } /** *

The description of the data source that determines where Audit Manager * collects evidence from for the control.

*/ inline CreateControlMappingSource& WithSourceDescription(const Aws::String& value) { SetSourceDescription(value); return *this;} /** *

The description of the data source that determines where Audit Manager * collects evidence from for the control.

*/ inline CreateControlMappingSource& WithSourceDescription(Aws::String&& value) { SetSourceDescription(std::move(value)); return *this;} /** *

The description of the data source that determines where Audit Manager * collects evidence from for the control.

*/ inline CreateControlMappingSource& WithSourceDescription(const char* value) { SetSourceDescription(value); return *this;} /** *

The setup option for the data source, which reflects if the evidence * collection is automated or manual.

*/ inline const SourceSetUpOption& GetSourceSetUpOption() const{ return m_sourceSetUpOption; } /** *

The setup option for the data source, which reflects if the evidence * collection is automated or manual.

*/ inline bool SourceSetUpOptionHasBeenSet() const { return m_sourceSetUpOptionHasBeenSet; } /** *

The setup option for the data source, which reflects if the evidence * collection is automated or manual.

*/ inline void SetSourceSetUpOption(const SourceSetUpOption& value) { m_sourceSetUpOptionHasBeenSet = true; m_sourceSetUpOption = value; } /** *

The setup option for the data source, which reflects if the evidence * collection is automated or manual.

*/ inline void SetSourceSetUpOption(SourceSetUpOption&& value) { m_sourceSetUpOptionHasBeenSet = true; m_sourceSetUpOption = std::move(value); } /** *

The setup option for the data source, which reflects if the evidence * collection is automated or manual.

*/ inline CreateControlMappingSource& WithSourceSetUpOption(const SourceSetUpOption& value) { SetSourceSetUpOption(value); return *this;} /** *

The setup option for the data source, which reflects if the evidence * collection is automated or manual.

*/ inline CreateControlMappingSource& WithSourceSetUpOption(SourceSetUpOption&& value) { SetSourceSetUpOption(std::move(value)); return *this;} /** *

Specifies one of the five types of data sources for evidence collection. *

*/ inline const SourceType& GetSourceType() const{ return m_sourceType; } /** *

Specifies one of the five types of data sources for evidence collection. *

*/ inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } /** *

Specifies one of the five types of data sources for evidence collection. *

*/ inline void SetSourceType(const SourceType& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } /** *

Specifies one of the five types of data sources for evidence collection. *

*/ inline void SetSourceType(SourceType&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } /** *

Specifies one of the five types of data sources for evidence collection. *

*/ inline CreateControlMappingSource& WithSourceType(const SourceType& value) { SetSourceType(value); return *this;} /** *

Specifies one of the five types of data sources for evidence collection. *

*/ inline CreateControlMappingSource& WithSourceType(SourceType&& value) { SetSourceType(std::move(value)); return *this;} inline const SourceKeyword& GetSourceKeyword() const{ return m_sourceKeyword; } inline bool SourceKeywordHasBeenSet() const { return m_sourceKeywordHasBeenSet; } inline void SetSourceKeyword(const SourceKeyword& value) { m_sourceKeywordHasBeenSet = true; m_sourceKeyword = value; } inline void SetSourceKeyword(SourceKeyword&& value) { m_sourceKeywordHasBeenSet = true; m_sourceKeyword = std::move(value); } inline CreateControlMappingSource& WithSourceKeyword(const SourceKeyword& value) { SetSourceKeyword(value); return *this;} inline CreateControlMappingSource& WithSourceKeyword(SourceKeyword&& value) { SetSourceKeyword(std::move(value)); return *this;} /** *

Specifies how often evidence is collected from the control mapping source. *

*/ inline const SourceFrequency& GetSourceFrequency() const{ return m_sourceFrequency; } /** *

Specifies how often evidence is collected from the control mapping source. *

*/ inline bool SourceFrequencyHasBeenSet() const { return m_sourceFrequencyHasBeenSet; } /** *

Specifies how often evidence is collected from the control mapping source. *

*/ inline void SetSourceFrequency(const SourceFrequency& value) { m_sourceFrequencyHasBeenSet = true; m_sourceFrequency = value; } /** *

Specifies how often evidence is collected from the control mapping source. *

*/ inline void SetSourceFrequency(SourceFrequency&& value) { m_sourceFrequencyHasBeenSet = true; m_sourceFrequency = std::move(value); } /** *

Specifies how often evidence is collected from the control mapping source. *

*/ inline CreateControlMappingSource& WithSourceFrequency(const SourceFrequency& value) { SetSourceFrequency(value); return *this;} /** *

Specifies how often evidence is collected from the control mapping source. *

*/ inline CreateControlMappingSource& WithSourceFrequency(SourceFrequency&& value) { SetSourceFrequency(std::move(value)); return *this;} /** *

The instructions for troubleshooting the control.

*/ inline const Aws::String& GetTroubleshootingText() const{ return m_troubleshootingText; } /** *

The instructions for troubleshooting the control.

*/ inline bool TroubleshootingTextHasBeenSet() const { return m_troubleshootingTextHasBeenSet; } /** *

The instructions for troubleshooting the control.

*/ inline void SetTroubleshootingText(const Aws::String& value) { m_troubleshootingTextHasBeenSet = true; m_troubleshootingText = value; } /** *

The instructions for troubleshooting the control.

*/ inline void SetTroubleshootingText(Aws::String&& value) { m_troubleshootingTextHasBeenSet = true; m_troubleshootingText = std::move(value); } /** *

The instructions for troubleshooting the control.

*/ inline void SetTroubleshootingText(const char* value) { m_troubleshootingTextHasBeenSet = true; m_troubleshootingText.assign(value); } /** *

The instructions for troubleshooting the control.

*/ inline CreateControlMappingSource& WithTroubleshootingText(const Aws::String& value) { SetTroubleshootingText(value); return *this;} /** *

The instructions for troubleshooting the control.

*/ inline CreateControlMappingSource& WithTroubleshootingText(Aws::String&& value) { SetTroubleshootingText(std::move(value)); return *this;} /** *

The instructions for troubleshooting the control.

*/ inline CreateControlMappingSource& WithTroubleshootingText(const char* value) { SetTroubleshootingText(value); return *this;} private: Aws::String m_sourceName; bool m_sourceNameHasBeenSet = false; Aws::String m_sourceDescription; bool m_sourceDescriptionHasBeenSet = false; SourceSetUpOption m_sourceSetUpOption; bool m_sourceSetUpOptionHasBeenSet = false; SourceType m_sourceType; bool m_sourceTypeHasBeenSet = false; SourceKeyword m_sourceKeyword; bool m_sourceKeywordHasBeenSet = false; SourceFrequency m_sourceFrequency; bool m_sourceFrequencyHasBeenSet = false; Aws::String m_troubleshootingText; bool m_troubleshootingTextHasBeenSet = false; }; } // namespace Model } // namespace AuditManager } // namespace Aws