Skip to content

/AWS1/IF_CWL=>DESCRIBEFIELDINDEXES()

About DescribeFieldIndexes

Returns a list of field indexes discovered in log data. By default, the response includes the DEFAULT, CUSTOM, and INACTIVE index categories. To return indexes from other categories, use the indexCategories parameter.

For more information about field index policies, see PutIndexPolicy.

Method Signature

METHODS /AWS1/IF_CWL~DESCRIBEFIELDINDEXES
  IMPORTING
    !IT_LOGGROUPIDENTIFIERS TYPE /AWS1/CL_CWLDSCFIELDIDXESLOG00=>TT_DESCRFIELDIDXESLOGGROUPIDS OPTIONAL
    !IT_INDEXCATEGORIES TYPE /AWS1/CL_CWLINDEXCATEGORIES_W=>TT_INDEXCATEGORIES OPTIONAL
    !IV_NEXTTOKEN TYPE /AWS1/CWLNEXTTOKEN OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_cwldescrfieldidxesrsp
  RAISING
    /AWS1/CX_CWLINVALIDPARAMETEREX
    /AWS1/CX_CWLLIMITEXCEEDEDEX
    /AWS1/CX_CWLOPERATIONABORTEDEX
    /AWS1/CX_CWLRESOURCENOTFOUNDEX
    /AWS1/CX_CWLSERVICEUNAVAILEX
    /AWS1/CX_CWLCLIENTEXC
    /AWS1/CX_CWLSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

it_loggroupidentifiers TYPE /AWS1/CL_CWLDSCFIELDIDXESLOG00=>TT_DESCRFIELDIDXESLOGGROUPIDS TT_DESCRFIELDIDXESLOGGROUPIDS

An array containing the names or ARNs of the log groups that you want to retrieve field indexes for.

Optional arguments:

it_indexcategories TYPE /AWS1/CL_CWLINDEXCATEGORIES_W=>TT_INDEXCATEGORIES TT_INDEXCATEGORIES

The index categories to return. The following values are supported:

  • DEFAULT: Fields that CloudWatch Logs indexes by default. Examples include @logStream and @data_format.

  • CUSTOM: Fields that you added manually to the field index policy. CloudWatch Logs always indexes these fields. These fields count toward the quota of 20 fields for each log group.

  • AUTO: Fields that CloudWatch Logs indexes automatically based on your query patterns and usage. These fields do not count toward the field index quota. CloudWatch Logs might update these fields based on changes in your query patterns. To keep a field indexed permanently, add it to an account-level or log-group level field index policy.

  • INACTIVE: Fields that CloudWatch Logs indexed before but does not index now. This happens if you remove a field from the field index policy or if CloudWatch Logs automatically selects a different field based on your queries.

If you omit this parameter, the response includes the DEFAULT, CUSTOM, and INACTIVE categories.

For more information about automatically indexed fields and using the AUTO category, see Automatically indexed fields.

iv_nexttoken TYPE /AWS1/CWLNEXTTOKEN /AWS1/CWLNEXTTOKEN

The token for the next set of items to return. The token expires after 24 hours.

RETURNING

oo_output TYPE REF TO /aws1/cl_cwldescrfieldidxesrsp /AWS1/CL_CWLDESCRFIELDIDXESRSP

Examples

Syntax Example

This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.

DATA(lo_result) = lo_client->describefieldindexes(
  it_indexcategories = VALUE /aws1/cl_cwlindexcategories_w=>tt_indexcategories(
    ( new /aws1/cl_cwlindexcategories_w( |string| ) )
  )
  it_loggroupidentifiers = VALUE /aws1/cl_cwldscfieldidxeslog00=>tt_descrfieldidxesloggroupids(
    ( new /aws1/cl_cwldscfieldidxeslog00( |string| ) )
  )
  iv_nexttoken = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  LOOP AT lo_result->get_fieldindexes( ) into lo_row.
    lo_row_1 = lo_row.
    IF lo_row_1 IS NOT INITIAL.
      lv_loggroupidentifier = lo_row_1->get_loggroupidentifier( ).
      lv_fieldindexname = lo_row_1->get_fieldindexname( ).
      lv_timestamp = lo_row_1->get_lastscantime( ).
      lv_timestamp = lo_row_1->get_firsteventtime( ).
      lv_timestamp = lo_row_1->get_lasteventtime( ).
      lv_indextype = lo_row_1->get_type( ).
      lv_indexcategory = lo_row_1->get_indexcategory( ).
    ENDIF.
  ENDLOOP.
  lv_nexttoken = lo_result->get_nexttoken( ).
ENDIF.