/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a log group.See Also:
AWS API
* Reference
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. This version of the ARN
* includes a trailing :*
after the log group name.
Use this
* version to refer to the ARN in IAM policies when specifying permissions for most
* API actions. The exception is when specifying permissions for TagResource,
* UntagResource,
* and ListTagsForResource.
* The permissions for those three actions require the ARN version that doesn't
* include a trailing :*
.
The Amazon Resource Name (ARN) of the log group. This version of the ARN
* includes a trailing :*
after the log group name.
Use this
* version to refer to the ARN in IAM policies when specifying permissions for most
* API actions. The exception is when specifying permissions for TagResource,
* UntagResource,
* and ListTagsForResource.
* The permissions for those three actions require the ARN version that doesn't
* include a trailing :*
.
The Amazon Resource Name (ARN) of the log group. This version of the ARN
* includes a trailing :*
after the log group name.
Use this
* version to refer to the ARN in IAM policies when specifying permissions for most
* API actions. The exception is when specifying permissions for TagResource,
* UntagResource,
* and ListTagsForResource.
* The permissions for those three actions require the ARN version that doesn't
* include a trailing :*
.
The Amazon Resource Name (ARN) of the log group. This version of the ARN
* includes a trailing :*
after the log group name.
Use this
* version to refer to the ARN in IAM policies when specifying permissions for most
* API actions. The exception is when specifying permissions for TagResource,
* UntagResource,
* and ListTagsForResource.
* The permissions for those three actions require the ARN version that doesn't
* include a trailing :*
.
The Amazon Resource Name (ARN) of the log group. This version of the ARN
* includes a trailing :*
after the log group name.
Use this
* version to refer to the ARN in IAM policies when specifying permissions for most
* API actions. The exception is when specifying permissions for TagResource,
* UntagResource,
* and ListTagsForResource.
* The permissions for those three actions require the ARN version that doesn't
* include a trailing :*
.
The Amazon Resource Name (ARN) of the log group. This version of the ARN
* includes a trailing :*
after the log group name.
Use this
* version to refer to the ARN in IAM policies when specifying permissions for most
* API actions. The exception is when specifying permissions for TagResource,
* UntagResource,
* and ListTagsForResource.
* The permissions for those three actions require the ARN version that doesn't
* include a trailing :*
.
The Amazon Resource Name (ARN) of the log group. This version of the ARN
* includes a trailing :*
after the log group name.
Use this
* version to refer to the ARN in IAM policies when specifying permissions for most
* API actions. The exception is when specifying permissions for TagResource,
* UntagResource,
* and ListTagsForResource.
* The permissions for those three actions require the ARN version that doesn't
* include a trailing :*
.
The Amazon Resource Name (ARN) of the log group. This version of the ARN
* includes a trailing :*
after the log group name.
Use this
* version to refer to the ARN in IAM policies when specifying permissions for most
* API actions. The exception is when specifying permissions for TagResource,
* UntagResource,
* and ListTagsForResource.
* The permissions for those three actions require the ARN version that doesn't
* include a trailing :*
.
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::VectorDisplays 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::VectorDisplays all the properties that this log group has inherited from * account-level settings.
*/ inline void SetInheritedProperties(Aws::VectorDisplays all the properties that this log group has inherited from * account-level settings.
*/ inline LogGroup& WithInheritedProperties(const Aws::VectorDisplays all the properties that this log group has inherited from * account-level settings.
*/ inline LogGroup& WithInheritedProperties(Aws::VectorDisplays 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; } /** *This specifies the log group class for this log group. There are two * classes:
The Standard
log class supports all
* CloudWatch Logs features.
The Infrequent Access
* log class supports a subset of CloudWatch Logs features and incurs lower
* costs.
For details about the features supported by each * class, see Log * classes
*/ inline const LogGroupClass& GetLogGroupClass() const{ return m_logGroupClass; } /** *This specifies the log group class for this log group. There are two * classes:
The Standard
log class supports all
* CloudWatch Logs features.
The Infrequent Access
* log class supports a subset of CloudWatch Logs features and incurs lower
* costs.
For details about the features supported by each * class, see Log * classes
*/ inline bool LogGroupClassHasBeenSet() const { return m_logGroupClassHasBeenSet; } /** *This specifies the log group class for this log group. There are two * classes:
The Standard
log class supports all
* CloudWatch Logs features.
The Infrequent Access
* log class supports a subset of CloudWatch Logs features and incurs lower
* costs.
For details about the features supported by each * class, see Log * classes
*/ inline void SetLogGroupClass(const LogGroupClass& value) { m_logGroupClassHasBeenSet = true; m_logGroupClass = value; } /** *This specifies the log group class for this log group. There are two * classes:
The Standard
log class supports all
* CloudWatch Logs features.
The Infrequent Access
* log class supports a subset of CloudWatch Logs features and incurs lower
* costs.
For details about the features supported by each * class, see Log * classes
*/ inline void SetLogGroupClass(LogGroupClass&& value) { m_logGroupClassHasBeenSet = true; m_logGroupClass = std::move(value); } /** *This specifies the log group class for this log group. There are two * classes:
The Standard
log class supports all
* CloudWatch Logs features.
The Infrequent Access
* log class supports a subset of CloudWatch Logs features and incurs lower
* costs.
For details about the features supported by each * class, see Log * classes
*/ inline LogGroup& WithLogGroupClass(const LogGroupClass& value) { SetLogGroupClass(value); return *this;} /** *This specifies the log group class for this log group. There are two * classes:
The Standard
log class supports all
* CloudWatch Logs features.
The Infrequent Access
* log class supports a subset of CloudWatch Logs features and incurs lower
* costs.
For details about the features supported by each * class, see Log * classes
*/ inline LogGroup& WithLogGroupClass(LogGroupClass&& value) { SetLogGroupClass(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the log group. This version of the ARN
* doesn't include a trailing :*
after the log group name.
Use * this version to refer to the ARN in the following situations:
In the logGroupIdentifier
input field in many CloudWatch Logs
* APIs.
In the resourceArn
field in tagging
* APIs
In IAM policies, when specifying permissions for TagResource, * UntagResource, * and ListTagsForResource.
*The Amazon Resource Name (ARN) of the log group. This version of the ARN
* doesn't include a trailing :*
after the log group name.
Use * this version to refer to the ARN in the following situations:
In the logGroupIdentifier
input field in many CloudWatch Logs
* APIs.
In the resourceArn
field in tagging
* APIs
In IAM policies, when specifying permissions for TagResource, * UntagResource, * and ListTagsForResource.
*The Amazon Resource Name (ARN) of the log group. This version of the ARN
* doesn't include a trailing :*
after the log group name.
Use * this version to refer to the ARN in the following situations:
In the logGroupIdentifier
input field in many CloudWatch Logs
* APIs.
In the resourceArn
field in tagging
* APIs
In IAM policies, when specifying permissions for TagResource, * UntagResource, * and ListTagsForResource.
*The Amazon Resource Name (ARN) of the log group. This version of the ARN
* doesn't include a trailing :*
after the log group name.
Use * this version to refer to the ARN in the following situations:
In the logGroupIdentifier
input field in many CloudWatch Logs
* APIs.
In the resourceArn
field in tagging
* APIs
In IAM policies, when specifying permissions for TagResource, * UntagResource, * and ListTagsForResource.
*The Amazon Resource Name (ARN) of the log group. This version of the ARN
* doesn't include a trailing :*
after the log group name.
Use * this version to refer to the ARN in the following situations:
In the logGroupIdentifier
input field in many CloudWatch Logs
* APIs.
In the resourceArn
field in tagging
* APIs
In IAM policies, when specifying permissions for TagResource, * UntagResource, * and ListTagsForResource.
*The Amazon Resource Name (ARN) of the log group. This version of the ARN
* doesn't include a trailing :*
after the log group name.
Use * this version to refer to the ARN in the following situations:
In the logGroupIdentifier
input field in many CloudWatch Logs
* APIs.
In the resourceArn
field in tagging
* APIs
In IAM policies, when specifying permissions for TagResource, * UntagResource, * and ListTagsForResource.
*The Amazon Resource Name (ARN) of the log group. This version of the ARN
* doesn't include a trailing :*
after the log group name.
Use * this version to refer to the ARN in the following situations:
In the logGroupIdentifier
input field in many CloudWatch Logs
* APIs.
In the resourceArn
field in tagging
* APIs
In IAM policies, when specifying permissions for TagResource, * UntagResource, * and ListTagsForResource.
*The Amazon Resource Name (ARN) of the log group. This version of the ARN
* doesn't include a trailing :*
after the log group name.
Use * this version to refer to the ARN in the following situations:
In the logGroupIdentifier
input field in many CloudWatch Logs
* APIs.
In the resourceArn
field in tagging
* APIs
In IAM policies, when specifying permissions for TagResource, * UntagResource, * and ListTagsForResource.
*