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

Represents a log group.

See Also:

AWS API * Reference

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

The name of the log group.

*/ inline const Aws::String& GetLogGroupName() const{ return m_logGroupName; } /** *

The name of the log group.

*/ inline bool LogGroupNameHasBeenSet() const { return m_logGroupNameHasBeenSet; } /** *

The name of the log group.

*/ inline void SetLogGroupName(const Aws::String& value) { m_logGroupNameHasBeenSet = true; m_logGroupName = value; } /** *

The name of the log group.

*/ inline void SetLogGroupName(Aws::String&& value) { m_logGroupNameHasBeenSet = true; m_logGroupName = std::move(value); } /** *

The name of the log group.

*/ inline void SetLogGroupName(const char* value) { m_logGroupNameHasBeenSet = true; m_logGroupName.assign(value); } /** *

The name of the log group.

*/ inline LogGroup& WithLogGroupName(const Aws::String& value) { SetLogGroupName(value); return *this;} /** *

The name of the log group.

*/ inline LogGroup& WithLogGroupName(Aws::String&& value) { SetLogGroupName(std::move(value)); return *this;} /** *

The name of the log group.

*/ inline LogGroup& WithLogGroupName(const char* value) { SetLogGroupName(value); return *this;} /** *

The creation time of the log group, expressed as the number of milliseconds * after Jan 1, 1970 00:00:00 UTC.

*/ inline long long GetCreationTime() const{ return m_creationTime; } /** *

The creation time of the log group, expressed as the number of milliseconds * after Jan 1, 1970 00:00:00 UTC.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The creation time of the log group, expressed as the number of milliseconds * after Jan 1, 1970 00:00:00 UTC.

*/ inline void SetCreationTime(long long value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The creation time of the log group, expressed as the number of milliseconds * after Jan 1, 1970 00:00:00 UTC.

*/ inline LogGroup& WithCreationTime(long long value) { SetCreationTime(value); return *this;} inline int GetRetentionInDays() const{ return m_retentionInDays; } inline bool RetentionInDaysHasBeenSet() const { return m_retentionInDaysHasBeenSet; } inline void SetRetentionInDays(int value) { m_retentionInDaysHasBeenSet = true; m_retentionInDays = value; } inline LogGroup& WithRetentionInDays(int value) { SetRetentionInDays(value); return *this;} /** *

The number of metric filters.

*/ inline int GetMetricFilterCount() const{ return m_metricFilterCount; } /** *

The number of metric filters.

*/ inline bool MetricFilterCountHasBeenSet() const { return m_metricFilterCountHasBeenSet; } /** *

The number of metric filters.

*/ inline void SetMetricFilterCount(int value) { m_metricFilterCountHasBeenSet = true; m_metricFilterCount = value; } /** *

The number of metric filters.

*/ inline LogGroup& WithMetricFilterCount(int value) { SetMetricFilterCount(value); return *this;} /** *

The Amazon Resource Name (ARN) of the log group.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the log group.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the log group.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the log group.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the log group.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the log group.

*/ inline LogGroup& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the log group.

*/ inline LogGroup& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the log group.

*/ inline LogGroup& WithArn(const char* value) { SetArn(value); return *this;} /** *

The number of bytes stored.

*/ inline long long GetStoredBytes() const{ return m_storedBytes; } /** *

The number of bytes stored.

*/ inline bool StoredBytesHasBeenSet() const { return m_storedBytesHasBeenSet; } /** *

The number of bytes stored.

*/ inline void SetStoredBytes(long long value) { m_storedBytesHasBeenSet = true; m_storedBytes = value; } /** *

The number of bytes stored.

*/ inline LogGroup& WithStoredBytes(long long value) { SetStoredBytes(value); return *this;} /** *

The Amazon Resource Name (ARN) of the KMS key to use when encrypting log * data.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

The Amazon Resource Name (ARN) of the KMS key to use when encrypting log * data.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the KMS key to use when encrypting log * data.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

The Amazon Resource Name (ARN) of the KMS key to use when encrypting log * data.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

The Amazon Resource Name (ARN) of the KMS key to use when encrypting log * data.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

The Amazon Resource Name (ARN) of the KMS key to use when encrypting log * data.

*/ inline LogGroup& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the KMS key to use when encrypting log * data.

*/ inline LogGroup& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the KMS key to use when encrypting log * data.

*/ inline LogGroup& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

Displays whether this log group has a protection policy, or whether it had * one in the past. For more information, see PutDataProtectionPolicy.

*/ inline const DataProtectionStatus& GetDataProtectionStatus() const{ return m_dataProtectionStatus; } /** *

Displays whether this log group has a protection policy, or whether it had * one in the past. For more information, see PutDataProtectionPolicy.

*/ inline bool DataProtectionStatusHasBeenSet() const { return m_dataProtectionStatusHasBeenSet; } /** *

Displays whether this log group has a protection policy, or whether it had * one in the past. For more information, see PutDataProtectionPolicy.

*/ inline void SetDataProtectionStatus(const DataProtectionStatus& value) { m_dataProtectionStatusHasBeenSet = true; m_dataProtectionStatus = value; } /** *

Displays whether this log group has a protection policy, or whether it had * one in the past. For more information, see PutDataProtectionPolicy.

*/ inline void SetDataProtectionStatus(DataProtectionStatus&& value) { m_dataProtectionStatusHasBeenSet = true; m_dataProtectionStatus = std::move(value); } /** *

Displays whether this log group has a protection policy, or whether it had * one in the past. For more information, see PutDataProtectionPolicy.

*/ inline LogGroup& WithDataProtectionStatus(const DataProtectionStatus& value) { SetDataProtectionStatus(value); return *this;} /** *

Displays whether this log group has a protection policy, or whether it had * one in the past. For more information, see PutDataProtectionPolicy.

*/ inline LogGroup& WithDataProtectionStatus(DataProtectionStatus&& value) { SetDataProtectionStatus(std::move(value)); return *this;} /** *

Displays all the properties that this log group has inherited from * account-level settings.

*/ inline const Aws::Vector& GetInheritedProperties() const{ return m_inheritedProperties; } /** *

Displays all the properties that this log group has inherited from * account-level settings.

*/ inline bool InheritedPropertiesHasBeenSet() const { return m_inheritedPropertiesHasBeenSet; } /** *

Displays all the properties that this log group has inherited from * account-level settings.

*/ inline void SetInheritedProperties(const Aws::Vector& value) { m_inheritedPropertiesHasBeenSet = true; m_inheritedProperties = value; } /** *

Displays all the properties that this log group has inherited from * account-level settings.

*/ inline void SetInheritedProperties(Aws::Vector&& value) { m_inheritedPropertiesHasBeenSet = true; m_inheritedProperties = std::move(value); } /** *

Displays all the properties that this log group has inherited from * account-level settings.

*/ inline LogGroup& WithInheritedProperties(const Aws::Vector& value) { SetInheritedProperties(value); return *this;} /** *

Displays all the properties that this log group has inherited from * account-level settings.

*/ inline LogGroup& WithInheritedProperties(Aws::Vector&& value) { SetInheritedProperties(std::move(value)); return *this;} /** *

Displays all the properties that this log group has inherited from * account-level settings.

*/ inline LogGroup& AddInheritedProperties(const InheritedProperty& value) { m_inheritedPropertiesHasBeenSet = true; m_inheritedProperties.push_back(value); return *this; } /** *

Displays all the properties that this log group has inherited from * account-level settings.

*/ inline LogGroup& AddInheritedProperties(InheritedProperty&& value) { m_inheritedPropertiesHasBeenSet = true; m_inheritedProperties.push_back(std::move(value)); return *this; } private: Aws::String m_logGroupName; bool m_logGroupNameHasBeenSet = false; long long m_creationTime; bool m_creationTimeHasBeenSet = false; int m_retentionInDays; bool m_retentionInDaysHasBeenSet = false; int m_metricFilterCount; bool m_metricFilterCountHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; long long m_storedBytes; bool m_storedBytesHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; DataProtectionStatus m_dataProtectionStatus; bool m_dataProtectionStatusHasBeenSet = false; Aws::Vector m_inheritedProperties; bool m_inheritedPropertiesHasBeenSet = false; }; } // namespace Model } // namespace CloudWatchLogs } // namespace Aws