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

Amazon Security Lake can collect logs and events from natively-supported * Amazon Web Services services and custom sources.

See Also:

AWS * API Reference

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

Specify the account from which you want to collect logs.

*/ inline const Aws::String& GetAccount() const{ return m_account; } /** *

Specify the account from which you want to collect logs.

*/ inline bool AccountHasBeenSet() const { return m_accountHasBeenSet; } /** *

Specify the account from which you want to collect logs.

*/ inline void SetAccount(const Aws::String& value) { m_accountHasBeenSet = true; m_account = value; } /** *

Specify the account from which you want to collect logs.

*/ inline void SetAccount(Aws::String&& value) { m_accountHasBeenSet = true; m_account = std::move(value); } /** *

Specify the account from which you want to collect logs.

*/ inline void SetAccount(const char* value) { m_accountHasBeenSet = true; m_account.assign(value); } /** *

Specify the account from which you want to collect logs.

*/ inline LogSource& WithAccount(const Aws::String& value) { SetAccount(value); return *this;} /** *

Specify the account from which you want to collect logs.

*/ inline LogSource& WithAccount(Aws::String&& value) { SetAccount(std::move(value)); return *this;} /** *

Specify the account from which you want to collect logs.

*/ inline LogSource& WithAccount(const char* value) { SetAccount(value); return *this;} /** *

Specify the Regions from which you want to collect logs.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

Specify the Regions from which you want to collect logs.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

Specify the Regions from which you want to collect logs.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

Specify the Regions from which you want to collect logs.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

Specify the Regions from which you want to collect logs.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

Specify the Regions from which you want to collect logs.

*/ inline LogSource& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

Specify the Regions from which you want to collect logs.

*/ inline LogSource& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

Specify the Regions from which you want to collect logs.

*/ inline LogSource& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

Specify the sources from which you want to collect logs.

*/ inline const Aws::Vector& GetSources() const{ return m_sources; } /** *

Specify the sources from which you want to collect logs.

*/ inline bool SourcesHasBeenSet() const { return m_sourcesHasBeenSet; } /** *

Specify the sources from which you want to collect logs.

*/ inline void SetSources(const Aws::Vector& value) { m_sourcesHasBeenSet = true; m_sources = value; } /** *

Specify the sources from which you want to collect logs.

*/ inline void SetSources(Aws::Vector&& value) { m_sourcesHasBeenSet = true; m_sources = std::move(value); } /** *

Specify the sources from which you want to collect logs.

*/ inline LogSource& WithSources(const Aws::Vector& value) { SetSources(value); return *this;} /** *

Specify the sources from which you want to collect logs.

*/ inline LogSource& WithSources(Aws::Vector&& value) { SetSources(std::move(value)); return *this;} /** *

Specify the sources from which you want to collect logs.

*/ inline LogSource& AddSources(const LogSourceResource& value) { m_sourcesHasBeenSet = true; m_sources.push_back(value); return *this; } /** *

Specify the sources from which you want to collect logs.

*/ inline LogSource& AddSources(LogSourceResource&& value) { m_sourcesHasBeenSet = true; m_sources.push_back(std::move(value)); return *this; } private: Aws::String m_account; bool m_accountHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; Aws::Vector m_sources; bool m_sourcesHasBeenSet = false; }; } // namespace Model } // namespace SecurityLake } // namespace Aws