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

The supported source types from which logs and events are collected in Amazon * Security Lake. For a list of supported Amazon Web Services, see the Amazon * Security Lake User Guide.

See Also:

AWS * API Reference

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

Amazon Security Lake supports log and event collection for natively supported * Amazon Web Services. For more information, see the Amazon * Security Lake User Guide.

*/ inline const AwsLogSourceResource& GetAwsLogSource() const{ return m_awsLogSource; } /** *

Amazon Security Lake supports log and event collection for natively supported * Amazon Web Services. For more information, see the Amazon * Security Lake User Guide.

*/ inline bool AwsLogSourceHasBeenSet() const { return m_awsLogSourceHasBeenSet; } /** *

Amazon Security Lake supports log and event collection for natively supported * Amazon Web Services. For more information, see the Amazon * Security Lake User Guide.

*/ inline void SetAwsLogSource(const AwsLogSourceResource& value) { m_awsLogSourceHasBeenSet = true; m_awsLogSource = value; } /** *

Amazon Security Lake supports log and event collection for natively supported * Amazon Web Services. For more information, see the Amazon * Security Lake User Guide.

*/ inline void SetAwsLogSource(AwsLogSourceResource&& value) { m_awsLogSourceHasBeenSet = true; m_awsLogSource = std::move(value); } /** *

Amazon Security Lake supports log and event collection for natively supported * Amazon Web Services. For more information, see the Amazon * Security Lake User Guide.

*/ inline LogSourceResource& WithAwsLogSource(const AwsLogSourceResource& value) { SetAwsLogSource(value); return *this;} /** *

Amazon Security Lake supports log and event collection for natively supported * Amazon Web Services. For more information, see the Amazon * Security Lake User Guide.

*/ inline LogSourceResource& WithAwsLogSource(AwsLogSourceResource&& value) { SetAwsLogSource(std::move(value)); return *this;} /** *

Amazon Security Lake supports custom source types. For more information, see * the Amazon * Security Lake User Guide.

*/ inline const CustomLogSourceResource& GetCustomLogSource() const{ return m_customLogSource; } /** *

Amazon Security Lake supports custom source types. For more information, see * the Amazon * Security Lake User Guide.

*/ inline bool CustomLogSourceHasBeenSet() const { return m_customLogSourceHasBeenSet; } /** *

Amazon Security Lake supports custom source types. For more information, see * the Amazon * Security Lake User Guide.

*/ inline void SetCustomLogSource(const CustomLogSourceResource& value) { m_customLogSourceHasBeenSet = true; m_customLogSource = value; } /** *

Amazon Security Lake supports custom source types. For more information, see * the Amazon * Security Lake User Guide.

*/ inline void SetCustomLogSource(CustomLogSourceResource&& value) { m_customLogSourceHasBeenSet = true; m_customLogSource = std::move(value); } /** *

Amazon Security Lake supports custom source types. For more information, see * the Amazon * Security Lake User Guide.

*/ inline LogSourceResource& WithCustomLogSource(const CustomLogSourceResource& value) { SetCustomLogSource(value); return *this;} /** *

Amazon Security Lake supports custom source types. For more information, see * the Amazon * Security Lake User Guide.

*/ inline LogSourceResource& WithCustomLogSource(CustomLogSourceResource&& value) { SetCustomLogSource(std::move(value)); return *this;} private: AwsLogSourceResource m_awsLogSource; bool m_awsLogSourceHasBeenSet = false; CustomLogSourceResource m_customLogSource; bool m_customLogSourceHasBeenSet = false; }; } // namespace Model } // namespace SecurityLake } // namespace Aws