Skip to content

/AWS1/IF_OSI=>UPDATEPIPELINE()

About UpdatePipeline

Updates an OpenSearch Ingestion pipeline. For more information, see Updating Amazon OpenSearch Ingestion pipelines.

Method Signature

METHODS /AWS1/IF_OSI~UPDATEPIPELINE
  IMPORTING
    !IV_PIPELINENAME TYPE /AWS1/OSIPIPELINENAME OPTIONAL
    !IV_MINUNITS TYPE /AWS1/OSIPIPELINEUNITS OPTIONAL
    !IV_MAXUNITS TYPE /AWS1/OSIPIPELINEUNITS OPTIONAL
    !IV_PIPELINECONFIGURATIONBODY TYPE /AWS1/OSIPIPELINECONFBODY OPTIONAL
    !IO_LOGPUBLISHINGOPTIONS TYPE REF TO /AWS1/CL_OSILOGPUBINGOPTIONS OPTIONAL
    !IO_BUFFEROPTIONS TYPE REF TO /AWS1/CL_OSIBUFFEROPTIONS OPTIONAL
    !IO_ENCRYPTIONATRESTOPTIONS TYPE REF TO /AWS1/CL_OSIENCATRESTOPTIONS OPTIONAL
    !IV_PIPELINEROLEARN TYPE /AWS1/OSIPIPELINEROLEARN OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_osiupdateplinresponse
  RAISING
    /AWS1/CX_OSIACCESSDENIEDEX
    /AWS1/CX_OSICONFLICTEXCEPTION
    /AWS1/CX_OSIDISABLEDOPEX
    /AWS1/CX_OSIINTERNALEXCEPTION
    /AWS1/CX_OSIRESOURCENOTFOUNDEX
    /AWS1/CX_OSIVALIDATIONEX
    /AWS1/CX_OSICLIENTEXC
    /AWS1/CX_OSISERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_pipelinename TYPE /AWS1/OSIPIPELINENAME /AWS1/OSIPIPELINENAME

The name of the pipeline to update.

Optional arguments:

iv_minunits TYPE /AWS1/OSIPIPELINEUNITS /AWS1/OSIPIPELINEUNITS

The minimum pipeline capacity, in Ingestion Compute Units (ICUs).

iv_maxunits TYPE /AWS1/OSIPIPELINEUNITS /AWS1/OSIPIPELINEUNITS

The maximum pipeline capacity, in Ingestion Compute Units (ICUs)

iv_pipelineconfigurationbody TYPE /AWS1/OSIPIPELINECONFBODY /AWS1/OSIPIPELINECONFBODY

The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \n.

io_logpublishingoptions TYPE REF TO /AWS1/CL_OSILOGPUBINGOPTIONS /AWS1/CL_OSILOGPUBINGOPTIONS

Key-value pairs to configure log publishing.

io_bufferoptions TYPE REF TO /AWS1/CL_OSIBUFFEROPTIONS /AWS1/CL_OSIBUFFEROPTIONS

Key-value pairs to configure persistent buffering for the pipeline.

io_encryptionatrestoptions TYPE REF TO /AWS1/CL_OSIENCATRESTOPTIONS /AWS1/CL_OSIENCATRESTOPTIONS

Key-value pairs to configure encryption for data that is written to a persistent buffer.

iv_pipelinerolearn TYPE /AWS1/OSIPIPELINEROLEARN /AWS1/OSIPIPELINEROLEARN

The Amazon Resource Name (ARN) of the IAM role that grants the pipeline permission to access Amazon Web Services resources.

RETURNING

oo_output TYPE REF TO /aws1/cl_osiupdateplinresponse /AWS1/CL_OSIUPDATEPLINRESPONSE

Domain /AWS1/RT_ACCOUNT_ID
Primitive Type NUMC

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->updatepipeline(
  io_bufferoptions = new /aws1/cl_osibufferoptions( ABAP_TRUE )
  io_encryptionatrestoptions = new /aws1/cl_osiencatrestoptions( |string| )
  io_logpublishingoptions = new /aws1/cl_osilogpubingoptions(
    io_cloudwatchlogdestination = new /aws1/cl_osicloudwatchlogdst( |string| )
    iv_isloggingenabled = ABAP_TRUE
  )
  iv_maxunits = 123
  iv_minunits = 123
  iv_pipelineconfigurationbody = |string|
  iv_pipelinename = |string|
  iv_pipelinerolearn = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_pipeline = lo_result->get_pipeline( ).
  IF lo_pipeline IS NOT INITIAL.
    lv_string = lo_pipeline->get_pipelinename( ).
    lv_string = lo_pipeline->get_pipelinearn( ).
    lv_integer = lo_pipeline->get_minunits( ).
    lv_integer = lo_pipeline->get_maxunits( ).
    lv_pipelinestatus = lo_pipeline->get_status( ).
    lo_pipelinestatusreason = lo_pipeline->get_statusreason( ).
    IF lo_pipelinestatusreason IS NOT INITIAL.
      lv_string = lo_pipelinestatusreason->get_description( ).
    ENDIF.
    lv_string = lo_pipeline->get_pipelineconfbody( ).
    lv_timestamp = lo_pipeline->get_createdat( ).
    lv_timestamp = lo_pipeline->get_lastupdatedat( ).
    LOOP AT lo_pipeline->get_ingestendpointurls( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_string = lo_row_1->get_value( ).
      ENDIF.
    ENDLOOP.
    lo_logpublishingoptions = lo_pipeline->get_logpublishingoptions( ).
    IF lo_logpublishingoptions IS NOT INITIAL.
      lv_boolean = lo_logpublishingoptions->get_isloggingenabled( ).
      lo_cloudwatchlogdestinatio = lo_logpublishingoptions->get_cloudwatchlogdestination( ).
      IF lo_cloudwatchlogdestinatio IS NOT INITIAL.
        lv_loggroup = lo_cloudwatchlogdestinatio->get_loggroup( ).
      ENDIF.
    ENDIF.
    LOOP AT lo_pipeline->get_vpcendpoints( ) into lo_row_2.
      lo_row_3 = lo_row_2.
      IF lo_row_3 IS NOT INITIAL.
        lv_string = lo_row_3->get_vpcendpointid( ).
        lv_string = lo_row_3->get_vpcid( ).
        lo_vpcoptions = lo_row_3->get_vpcoptions( ).
        IF lo_vpcoptions IS NOT INITIAL.
          LOOP AT lo_vpcoptions->get_subnetids( ) into lo_row_4.
            lo_row_5 = lo_row_4.
            IF lo_row_5 IS NOT INITIAL.
              lv_subnetid = lo_row_5->get_value( ).
            ENDIF.
          ENDLOOP.
          LOOP AT lo_vpcoptions->get_securitygroupids( ) into lo_row_6.
            lo_row_7 = lo_row_6.
            IF lo_row_7 IS NOT INITIAL.
              lv_securitygroupid = lo_row_7->get_value( ).
            ENDIF.
          ENDLOOP.
          lo_vpcattachmentoptions = lo_vpcoptions->get_vpcattachmentoptions( ).
          IF lo_vpcattachmentoptions IS NOT INITIAL.
            lv_boolean = lo_vpcattachmentoptions->get_attachtovpc( ).
            lv_cidrblock = lo_vpcattachmentoptions->get_cidrblock( ).
          ENDIF.
          lv_vpcendpointmanagement = lo_vpcoptions->get_vpcendpointmanagement( ).
        ENDIF.
      ENDIF.
    ENDLOOP.
    lo_bufferoptions = lo_pipeline->get_bufferoptions( ).
    IF lo_bufferoptions IS NOT INITIAL.
      lv_boolean = lo_bufferoptions->get_persistentbufferenabled( ).
    ENDIF.
    lo_encryptionatrestoptions = lo_pipeline->get_encryptionatrestoptions( ).
    IF lo_encryptionatrestoptions IS NOT INITIAL.
      lv_kmskeyarn = lo_encryptionatrestoptions->get_kmskeyarn( ).
    ENDIF.
    lv_string = lo_pipeline->get_vpcendpointservice( ).
    LOOP AT lo_pipeline->get_servicevpcendpoints( ) into lo_row_8.
      lo_row_9 = lo_row_8.
      IF lo_row_9 IS NOT INITIAL.
        lv_vpcendpointservicename = lo_row_9->get_servicename( ).
        lv_string = lo_row_9->get_vpcendpointid( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_pipeline->get_destinations( ) into lo_row_10.
      lo_row_11 = lo_row_10.
      IF lo_row_11 IS NOT INITIAL.
        lv_string = lo_row_11->get_servicename( ).
        lv_string = lo_row_11->get_endpoint( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_pipeline->get_tags( ) into lo_row_12.
      lo_row_13 = lo_row_12.
      IF lo_row_13 IS NOT INITIAL.
        lv_tagkey = lo_row_13->get_key( ).
        lv_tagvalue = lo_row_13->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_pipelinerolearn = lo_pipeline->get_pipelinerolearn( ).
  ENDIF.
ENDIF.