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

Configures the CloudWatch Logs to publish for the OpenSearch * domain.

See Also:

AWS * API Reference

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

Configures the OpenSearch index logs publishing.

*/ inline const AwsOpenSearchServiceDomainLogPublishingOption& GetIndexSlowLogs() const{ return m_indexSlowLogs; } /** *

Configures the OpenSearch index logs publishing.

*/ inline bool IndexSlowLogsHasBeenSet() const { return m_indexSlowLogsHasBeenSet; } /** *

Configures the OpenSearch index logs publishing.

*/ inline void SetIndexSlowLogs(const AwsOpenSearchServiceDomainLogPublishingOption& value) { m_indexSlowLogsHasBeenSet = true; m_indexSlowLogs = value; } /** *

Configures the OpenSearch index logs publishing.

*/ inline void SetIndexSlowLogs(AwsOpenSearchServiceDomainLogPublishingOption&& value) { m_indexSlowLogsHasBeenSet = true; m_indexSlowLogs = std::move(value); } /** *

Configures the OpenSearch index logs publishing.

*/ inline AwsOpenSearchServiceDomainLogPublishingOptionsDetails& WithIndexSlowLogs(const AwsOpenSearchServiceDomainLogPublishingOption& value) { SetIndexSlowLogs(value); return *this;} /** *

Configures the OpenSearch index logs publishing.

*/ inline AwsOpenSearchServiceDomainLogPublishingOptionsDetails& WithIndexSlowLogs(AwsOpenSearchServiceDomainLogPublishingOption&& value) { SetIndexSlowLogs(std::move(value)); return *this;} /** *

Configures the OpenSearch search slow log publishing.

*/ inline const AwsOpenSearchServiceDomainLogPublishingOption& GetSearchSlowLogs() const{ return m_searchSlowLogs; } /** *

Configures the OpenSearch search slow log publishing.

*/ inline bool SearchSlowLogsHasBeenSet() const { return m_searchSlowLogsHasBeenSet; } /** *

Configures the OpenSearch search slow log publishing.

*/ inline void SetSearchSlowLogs(const AwsOpenSearchServiceDomainLogPublishingOption& value) { m_searchSlowLogsHasBeenSet = true; m_searchSlowLogs = value; } /** *

Configures the OpenSearch search slow log publishing.

*/ inline void SetSearchSlowLogs(AwsOpenSearchServiceDomainLogPublishingOption&& value) { m_searchSlowLogsHasBeenSet = true; m_searchSlowLogs = std::move(value); } /** *

Configures the OpenSearch search slow log publishing.

*/ inline AwsOpenSearchServiceDomainLogPublishingOptionsDetails& WithSearchSlowLogs(const AwsOpenSearchServiceDomainLogPublishingOption& value) { SetSearchSlowLogs(value); return *this;} /** *

Configures the OpenSearch search slow log publishing.

*/ inline AwsOpenSearchServiceDomainLogPublishingOptionsDetails& WithSearchSlowLogs(AwsOpenSearchServiceDomainLogPublishingOption&& value) { SetSearchSlowLogs(std::move(value)); return *this;} /** *

Configures the OpenSearch audit logs publishing.

*/ inline const AwsOpenSearchServiceDomainLogPublishingOption& GetAuditLogs() const{ return m_auditLogs; } /** *

Configures the OpenSearch audit logs publishing.

*/ inline bool AuditLogsHasBeenSet() const { return m_auditLogsHasBeenSet; } /** *

Configures the OpenSearch audit logs publishing.

*/ inline void SetAuditLogs(const AwsOpenSearchServiceDomainLogPublishingOption& value) { m_auditLogsHasBeenSet = true; m_auditLogs = value; } /** *

Configures the OpenSearch audit logs publishing.

*/ inline void SetAuditLogs(AwsOpenSearchServiceDomainLogPublishingOption&& value) { m_auditLogsHasBeenSet = true; m_auditLogs = std::move(value); } /** *

Configures the OpenSearch audit logs publishing.

*/ inline AwsOpenSearchServiceDomainLogPublishingOptionsDetails& WithAuditLogs(const AwsOpenSearchServiceDomainLogPublishingOption& value) { SetAuditLogs(value); return *this;} /** *

Configures the OpenSearch audit logs publishing.

*/ inline AwsOpenSearchServiceDomainLogPublishingOptionsDetails& WithAuditLogs(AwsOpenSearchServiceDomainLogPublishingOption&& value) { SetAuditLogs(std::move(value)); return *this;} private: AwsOpenSearchServiceDomainLogPublishingOption m_indexSlowLogs; bool m_indexSlowLogsHasBeenSet = false; AwsOpenSearchServiceDomainLogPublishingOption m_searchSlowLogs; bool m_searchSlowLogsHasBeenSet = false; AwsOpenSearchServiceDomainLogPublishingOption m_auditLogs; bool m_auditLogsHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws