Skip to content

list_log_groups

list_log_groups(
    *,
    config_overrides: Optional[CloudWatchLogsClientConfig] = None,
    log_group_name_pattern: Optional[LogGroupNameRegexPattern] = None,
    log_group_class: Optional[LogGroupClass] = None,
    include_linked_accounts: Optional[IncludeLinkedAccounts] = None,
    account_identifiers: Optional[AccountIds] = None,
    next_token: Optional[NextToken] = None,
    limit: Optional[ListLimit] = None,
    data_sources: Optional[DataSourceFilters] = None,
    field_index_names: Optional[FieldIndexNames] = None,
    log_group_tags: Optional[TagFilters] = None,
) -> ListLogGroupsResponse

Returns a list of log groups in the Region in your account. If you are performing this action in a monitoring account, you can choose to also return log groups from source accounts that are linked to the monitoring account. For more information about using cross-account observability to set up monitoring accounts and source accounts, see CloudWatch cross-account observability.

You can optionally filter the results by log group class, log group name pattern, field indexes, data sources, field index names, or log group tags. If you specify more than one filter type, the results include log groups that satisfy all filters.

This operation is paginated. By default, your first use of this operation returns 50 results, and includes a token to use in a subsequent operation to return more results.

Parameters:

  • log_group_name_pattern (Optional[LogGroupNameRegexPattern], default: None ) –

    Use this parameter to limit the returned log groups to only those with names that match the pattern that you specify. This parameter is a regular expression that can match prefixes and substrings, and supports wildcard matching and matching multiple patterns, as in the following examples.

    • Use ^ to match log group names by prefix.

    • For a substring match, specify the string to match. All matches are case sensitive

    • To match multiple patterns, separate them with a | as in the example ^/aws/lambda|discovery

    You can specify as many as five different regular expression patterns in this field, each of which must be between 3 and 24 characters. You can include the ^ symbol as many as five times, and include the | symbol as many as four times.

  • log_group_class (Optional[LogGroupClass], default: None ) –

    Use this parameter to limit the results to only those log groups in the specified log group class. If you omit this parameter, log groups of all classes can be returned.

  • include_linked_accounts (Optional[IncludeLinkedAccounts], default: None ) –

    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.

    The default for this parameter is false.

  • account_identifiers (Optional[AccountIds], default: None ) –

    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.

  • limit (Optional[ListLimit], default: None ) –

    The maximum number of log groups to return. If you omit this parameter, the default is up to 50 log groups.

  • data_sources (Optional[DataSourceFilters], default: None ) –

    An array of data source filters to filter log groups by their associated data sources. You can filter by data source name, type, or both. Multiple filters within the same dimension are combined with OR logic, while filters across different dimensions are combined with AND logic.

  • field_index_names (Optional[FieldIndexNames], default: None ) –

    An array of field index names to filter log groups that have specific field indexes. Only log groups containing all specified field indexes are returned. You can specify 1 to 20 field index names, each with 1 to 512 characters.

  • log_group_tags (Optional[TagFilters], default: None ) –

    An array of tag filters to return only log groups that have specific tags. Multiple filters are combined with AND logic.

Raises:

Source code in docs_src/capo_cloudwatch_logs/_services/cloud_watch_logs.py
def list_log_groups(
    self,
    *,
    config_overrides: Optional[CloudWatchLogsClientConfig] = None,
    log_group_name_pattern: Optional[
        "capo_cloudwatch_logs.types.log_group_name_regex_pattern.LogGroupNameRegexPattern"
    ] = None,
    log_group_class: Optional[
        "capo_cloudwatch_logs.types.log_group_class.LogGroupClass"
    ] = None,
    include_linked_accounts: Optional[
        "capo_cloudwatch_logs.types.include_linked_accounts.IncludeLinkedAccounts"
    ] = None,
    account_identifiers: Optional[
        "capo_cloudwatch_logs.types.account_ids.AccountIds"
    ] = None,
    next_token: Optional["capo_cloudwatch_logs.types.next_token.NextToken"] = None,
    limit: Optional["capo_cloudwatch_logs.types.list_limit.ListLimit"] = None,
    data_sources: Optional[
        "capo_cloudwatch_logs.types.data_source_filters.DataSourceFilters"
    ] = None,
    field_index_names: Optional[
        "capo_cloudwatch_logs.types.field_index_names.FieldIndexNames"
    ] = None,
    log_group_tags: Optional[
        "capo_cloudwatch_logs.types.tag_filters.TagFilters"
    ] = None,
) -> "capo_cloudwatch_logs.types.list_log_groups_response.ListLogGroupsResponse":
    """<p>Returns a list of log groups in the Region in your account. If you are performing this action in a monitoring account, you can choose to also return log groups from source accounts that are linked to the monitoring account. For more information about using cross-account observability to set up monitoring accounts and source accounts, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html"> CloudWatch cross-account observability</a>.</p> <p>You can optionally filter the results by log group class, log group name pattern, field indexes, data sources, field index names, or log group tags. If you specify more than one filter type, the results include log groups that satisfy all filters.</p> <p>This operation is paginated. By default, your first use of this operation returns 50 results, and includes a token to use in a subsequent operation to return more results.</p>

    Args:
        log_group_name_pattern: <p>Use this parameter to limit the returned log groups to only those with names that match the pattern that you specify. This parameter is a regular expression that can match prefixes and substrings, and supports wildcard matching and matching multiple patterns, as in the following examples. </p> <ul> <li> <p>Use <code>^</code> to match log group names by prefix.</p> </li> <li> <p>For a substring match, specify the string to match. All matches are case sensitive</p> </li> <li> <p>To match multiple patterns, separate them with a <code>|</code> as in the example <code>^/aws/lambda|discovery</code> </p> </li> </ul> <p>You can specify as many as five different regular expression patterns in this field, each of which must be between 3 and 24 characters. You can include the <code>^</code> symbol as many as five times, and include the <code>|</code> symbol as many as four times.</p>
        log_group_class: <p>Use this parameter to limit the results to only those log groups in the specified log group class. If you omit this parameter, log groups of all classes can be returned.</p>
        include_linked_accounts: <p>If you are using a monitoring account, set this to <code>true</code> to have the operation return log groups in the accounts listed in <code>accountIdentifiers</code>.</p> <p>If this parameter is set to <code>true</code> and <code>accountIdentifiers</code> 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. </p> <p>The default for this parameter is <code>false</code>.</p>
        account_identifiers: <p>When <code>includeLinkedAccounts</code> is set to <code>true</code>, use this parameter to specify the list of accounts to search. You can specify as many as 20 account IDs in the array.</p>
        limit: <p>The maximum number of log groups to return. If you omit this parameter, the default is up to 50 log groups.</p>
        data_sources: <p>An array of data source filters to filter log groups by their associated data sources. You can filter by data source name, type, or both. Multiple filters within the same dimension are combined with OR logic, while filters across different dimensions are combined with AND logic.</p>
        field_index_names: <p>An array of field index names to filter log groups that have specific field indexes. Only log groups containing all specified field indexes are returned. You can specify 1 to 20 field index names, each with 1 to 512 characters.</p>
        log_group_tags: <p>An array of tag filters to return only log groups that have specific tags. Multiple filters are combined with AND logic.</p>

    Raises:
        capo_cloudwatch_logs.errors.invalid_parameter_exception.InvalidParameterException: <p>A parameter is specified incorrectly.</p>
        capo_cloudwatch_logs.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service cannot complete the request.</p>
        capo_cloudwatch_logs.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_cloudwatch_logs.types.list_log_groups_request.ListLogGroupsRequest]",
    ) -> OperationResponse[
        "capo_cloudwatch_logs.types.list_log_groups_response.ListLogGroupsResponse"
    ]:
        import capo_cloudwatch_logs._operations.logs_20140328.list_log_groups

        output, http_response = (
            capo_cloudwatch_logs._operations.logs_20140328.list_log_groups.list_log_groups(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ListLogGroups")
    )
    input_: capo_cloudwatch_logs.types.list_log_groups_request.ListLogGroupsRequest = {}
    if log_group_name_pattern is not None:
        input_["log_group_name_pattern"] = log_group_name_pattern
    if log_group_class is not None:
        input_["log_group_class"] = log_group_class
    if include_linked_accounts is not None:
        input_["include_linked_accounts"] = include_linked_accounts
    if account_identifiers is not None:
        input_["account_identifiers"] = account_identifiers
    if next_token is not None:
        input_["next_token"] = next_token
    if limit is not None:
        input_["limit"] = limit
    if data_sources is not None:
        input_["data_sources"] = data_sources
    if field_index_names is not None:
        input_["field_index_names"] = field_index_names
    if log_group_tags is not None:
        input_["log_group_tags"] = log_group_tags

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output