/** * 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 CloudWatchLogs { namespace Model { /** */ class DescribeLogGroupsRequest : public CloudWatchLogsRequest { public: AWS_CLOUDWATCHLOGS_API DescribeLogGroupsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DescribeLogGroups"; } AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

When includeLinkedAccounts is set to True, use this * parameter to specify the list of accounts to search. You can specify as many as * 20 account IDs in the array.

*/ inline const Aws::Vector& GetAccountIdentifiers() const{ return m_accountIdentifiers; } /** *

When includeLinkedAccounts is set to True, use this * parameter to specify the list of accounts to search. You can specify as many as * 20 account IDs in the array.

*/ inline bool AccountIdentifiersHasBeenSet() const { return m_accountIdentifiersHasBeenSet; } /** *

When includeLinkedAccounts is set to True, use this * parameter to specify the list of accounts to search. You can specify as many as * 20 account IDs in the array.

*/ inline void SetAccountIdentifiers(const Aws::Vector& value) { m_accountIdentifiersHasBeenSet = true; m_accountIdentifiers = value; } /** *

When includeLinkedAccounts is set to True, use this * parameter to specify the list of accounts to search. You can specify as many as * 20 account IDs in the array.

*/ inline void SetAccountIdentifiers(Aws::Vector&& value) { m_accountIdentifiersHasBeenSet = true; m_accountIdentifiers = std::move(value); } /** *

When includeLinkedAccounts is set to True, use this * parameter to specify the list of accounts to search. You can specify as many as * 20 account IDs in the array.

*/ inline DescribeLogGroupsRequest& WithAccountIdentifiers(const Aws::Vector& value) { SetAccountIdentifiers(value); return *this;} /** *

When includeLinkedAccounts is set to True, use this * parameter to specify the list of accounts to search. You can specify as many as * 20 account IDs in the array.

*/ inline DescribeLogGroupsRequest& WithAccountIdentifiers(Aws::Vector&& value) { SetAccountIdentifiers(std::move(value)); return *this;} /** *

When includeLinkedAccounts is set to True, use this * parameter to specify the list of accounts to search. You can specify as many as * 20 account IDs in the array.

*/ inline DescribeLogGroupsRequest& AddAccountIdentifiers(const Aws::String& value) { m_accountIdentifiersHasBeenSet = true; m_accountIdentifiers.push_back(value); return *this; } /** *

When includeLinkedAccounts is set to True, use this * parameter to specify the list of accounts to search. You can specify as many as * 20 account IDs in the array.

*/ inline DescribeLogGroupsRequest& AddAccountIdentifiers(Aws::String&& value) { m_accountIdentifiersHasBeenSet = true; m_accountIdentifiers.push_back(std::move(value)); return *this; } /** *

When includeLinkedAccounts is set to True, use this * parameter to specify the list of accounts to search. You can specify as many as * 20 account IDs in the array.

*/ inline DescribeLogGroupsRequest& AddAccountIdentifiers(const char* value) { m_accountIdentifiersHasBeenSet = true; m_accountIdentifiers.push_back(value); return *this; } /** *

The prefix to match.

logGroupNamePrefix and * logGroupNamePattern are mutually exclusive. Only one of these * parameters can be passed.

*/ inline const Aws::String& GetLogGroupNamePrefix() const{ return m_logGroupNamePrefix; } /** *

The prefix to match.

logGroupNamePrefix and * logGroupNamePattern are mutually exclusive. Only one of these * parameters can be passed.

*/ inline bool LogGroupNamePrefixHasBeenSet() const { return m_logGroupNamePrefixHasBeenSet; } /** *

The prefix to match.

logGroupNamePrefix and * logGroupNamePattern are mutually exclusive. Only one of these * parameters can be passed.

*/ inline void SetLogGroupNamePrefix(const Aws::String& value) { m_logGroupNamePrefixHasBeenSet = true; m_logGroupNamePrefix = value; } /** *

The prefix to match.

logGroupNamePrefix and * logGroupNamePattern are mutually exclusive. Only one of these * parameters can be passed.

*/ inline void SetLogGroupNamePrefix(Aws::String&& value) { m_logGroupNamePrefixHasBeenSet = true; m_logGroupNamePrefix = std::move(value); } /** *

The prefix to match.

logGroupNamePrefix and * logGroupNamePattern are mutually exclusive. Only one of these * parameters can be passed.

*/ inline void SetLogGroupNamePrefix(const char* value) { m_logGroupNamePrefixHasBeenSet = true; m_logGroupNamePrefix.assign(value); } /** *

The prefix to match.

logGroupNamePrefix and * logGroupNamePattern are mutually exclusive. Only one of these * parameters can be passed.

*/ inline DescribeLogGroupsRequest& WithLogGroupNamePrefix(const Aws::String& value) { SetLogGroupNamePrefix(value); return *this;} /** *

The prefix to match.

logGroupNamePrefix and * logGroupNamePattern are mutually exclusive. Only one of these * parameters can be passed.

*/ inline DescribeLogGroupsRequest& WithLogGroupNamePrefix(Aws::String&& value) { SetLogGroupNamePrefix(std::move(value)); return *this;} /** *

The prefix to match.

logGroupNamePrefix and * logGroupNamePattern are mutually exclusive. Only one of these * parameters can be passed.

*/ inline DescribeLogGroupsRequest& WithLogGroupNamePrefix(const char* value) { SetLogGroupNamePrefix(value); return *this;} /** *

If you specify a string for this parameter, the operation returns only log * groups that have names that match the string based on a case-sensitive substring * search. For example, if you specify Foo, log groups named * FooBar, aws/Foo, and GroupFoo would * match, but foo, F/o/o and Froo would not * match.

If you specify logGroupNamePattern in your request, * then only arn, creationTime, and * logGroupName are included in the response.

* logGroupNamePattern and logGroupNamePrefix are * mutually exclusive. Only one of these parameters can be passed.

*/ inline const Aws::String& GetLogGroupNamePattern() const{ return m_logGroupNamePattern; } /** *

If you specify a string for this parameter, the operation returns only log * groups that have names that match the string based on a case-sensitive substring * search. For example, if you specify Foo, log groups named * FooBar, aws/Foo, and GroupFoo would * match, but foo, F/o/o and Froo would not * match.

If you specify logGroupNamePattern in your request, * then only arn, creationTime, and * logGroupName are included in the response.

* logGroupNamePattern and logGroupNamePrefix are * mutually exclusive. Only one of these parameters can be passed.

*/ inline bool LogGroupNamePatternHasBeenSet() const { return m_logGroupNamePatternHasBeenSet; } /** *

If you specify a string for this parameter, the operation returns only log * groups that have names that match the string based on a case-sensitive substring * search. For example, if you specify Foo, log groups named * FooBar, aws/Foo, and GroupFoo would * match, but foo, F/o/o and Froo would not * match.

If you specify logGroupNamePattern in your request, * then only arn, creationTime, and * logGroupName are included in the response.

* logGroupNamePattern and logGroupNamePrefix are * mutually exclusive. Only one of these parameters can be passed.

*/ inline void SetLogGroupNamePattern(const Aws::String& value) { m_logGroupNamePatternHasBeenSet = true; m_logGroupNamePattern = value; } /** *

If you specify a string for this parameter, the operation returns only log * groups that have names that match the string based on a case-sensitive substring * search. For example, if you specify Foo, log groups named * FooBar, aws/Foo, and GroupFoo would * match, but foo, F/o/o and Froo would not * match.

If you specify logGroupNamePattern in your request, * then only arn, creationTime, and * logGroupName are included in the response.

* logGroupNamePattern and logGroupNamePrefix are * mutually exclusive. Only one of these parameters can be passed.

*/ inline void SetLogGroupNamePattern(Aws::String&& value) { m_logGroupNamePatternHasBeenSet = true; m_logGroupNamePattern = std::move(value); } /** *

If you specify a string for this parameter, the operation returns only log * groups that have names that match the string based on a case-sensitive substring * search. For example, if you specify Foo, log groups named * FooBar, aws/Foo, and GroupFoo would * match, but foo, F/o/o and Froo would not * match.

If you specify logGroupNamePattern in your request, * then only arn, creationTime, and * logGroupName are included in the response.

* logGroupNamePattern and logGroupNamePrefix are * mutually exclusive. Only one of these parameters can be passed.

*/ inline void SetLogGroupNamePattern(const char* value) { m_logGroupNamePatternHasBeenSet = true; m_logGroupNamePattern.assign(value); } /** *

If you specify a string for this parameter, the operation returns only log * groups that have names that match the string based on a case-sensitive substring * search. For example, if you specify Foo, log groups named * FooBar, aws/Foo, and GroupFoo would * match, but foo, F/o/o and Froo would not * match.

If you specify logGroupNamePattern in your request, * then only arn, creationTime, and * logGroupName are included in the response.

* logGroupNamePattern and logGroupNamePrefix are * mutually exclusive. Only one of these parameters can be passed.

*/ inline DescribeLogGroupsRequest& WithLogGroupNamePattern(const Aws::String& value) { SetLogGroupNamePattern(value); return *this;} /** *

If you specify a string for this parameter, the operation returns only log * groups that have names that match the string based on a case-sensitive substring * search. For example, if you specify Foo, log groups named * FooBar, aws/Foo, and GroupFoo would * match, but foo, F/o/o and Froo would not * match.

If you specify logGroupNamePattern in your request, * then only arn, creationTime, and * logGroupName are included in the response.

* logGroupNamePattern and logGroupNamePrefix are * mutually exclusive. Only one of these parameters can be passed.

*/ inline DescribeLogGroupsRequest& WithLogGroupNamePattern(Aws::String&& value) { SetLogGroupNamePattern(std::move(value)); return *this;} /** *

If you specify a string for this parameter, the operation returns only log * groups that have names that match the string based on a case-sensitive substring * search. For example, if you specify Foo, log groups named * FooBar, aws/Foo, and GroupFoo would * match, but foo, F/o/o and Froo would not * match.

If you specify logGroupNamePattern in your request, * then only arn, creationTime, and * logGroupName are included in the response.

* logGroupNamePattern and logGroupNamePrefix are * mutually exclusive. Only one of these parameters can be passed.

*/ inline DescribeLogGroupsRequest& WithLogGroupNamePattern(const char* value) { SetLogGroupNamePattern(value); return *this;} /** *

The token for the next set of items to return. (You received this token from * a previous call.)

*/ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** *

The token for the next set of items to return. (You received this token from * a previous call.)

*/ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** *

The token for the next set of items to return. (You received this token from * a previous call.)

*/ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** *

The token for the next set of items to return. (You received this token from * a previous call.)

*/ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** *

The token for the next set of items to return. (You received this token from * a previous call.)

*/ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** *

The token for the next set of items to return. (You received this token from * a previous call.)

*/ inline DescribeLogGroupsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

The token for the next set of items to return. (You received this token from * a previous call.)

*/ inline DescribeLogGroupsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

The token for the next set of items to return. (You received this token from * a previous call.)

*/ inline DescribeLogGroupsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} /** *

The maximum number of items returned. If you don't specify a value, the * default is up to 50 items.

*/ inline int GetLimit() const{ return m_limit; } /** *

The maximum number of items returned. If you don't specify a value, the * default is up to 50 items.

*/ inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; } /** *

The maximum number of items returned. If you don't specify a value, the * default is up to 50 items.

*/ inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; } /** *

The maximum number of items returned. If you don't specify a value, the * default is up to 50 items.

*/ inline DescribeLogGroupsRequest& WithLimit(int value) { SetLimit(value); return *this;} /** *

If you are using a monitoring account, set this to True to have * the operation return log groups in the accounts listed in * accountIdentifiers.

If this parameter is set to * true and accountIdentifiers contains a null value, the * operation returns all log groups in the monitoring account and all log groups in * all source accounts that are linked to the monitoring account.

*/ inline bool GetIncludeLinkedAccounts() const{ return m_includeLinkedAccounts; } /** *

If you are using a monitoring account, set this to True to have * the operation return log groups in the accounts listed in * accountIdentifiers.

If this parameter is set to * true and accountIdentifiers contains a null value, the * operation returns all log groups in the monitoring account and all log groups in * all source accounts that are linked to the monitoring account.

*/ inline bool IncludeLinkedAccountsHasBeenSet() const { return m_includeLinkedAccountsHasBeenSet; } /** *

If you are using a monitoring account, set this to True to have * the operation return log groups in the accounts listed in * accountIdentifiers.

If this parameter is set to * true and accountIdentifiers contains a null value, the * operation returns all log groups in the monitoring account and all log groups in * all source accounts that are linked to the monitoring account.

*/ inline void SetIncludeLinkedAccounts(bool value) { m_includeLinkedAccountsHasBeenSet = true; m_includeLinkedAccounts = value; } /** *

If you are using a monitoring account, set this to True to have * the operation return log groups in the accounts listed in * accountIdentifiers.

If this parameter is set to * true and accountIdentifiers contains a null value, the * operation returns all log groups in the monitoring account and all log groups in * all source accounts that are linked to the monitoring account.

*/ inline DescribeLogGroupsRequest& WithIncludeLinkedAccounts(bool value) { SetIncludeLinkedAccounts(value); return *this;} private: Aws::Vector m_accountIdentifiers; bool m_accountIdentifiersHasBeenSet = false; Aws::String m_logGroupNamePrefix; bool m_logGroupNamePrefixHasBeenSet = false; Aws::String m_logGroupNamePattern; bool m_logGroupNamePatternHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; int m_limit; bool m_limitHasBeenSet = false; bool m_includeLinkedAccounts; bool m_includeLinkedAccountsHasBeenSet = false; }; } // namespace Model } // namespace CloudWatchLogs } // namespace Aws