Skip to content

/AWS1/CL_PIS=>CREATEPIPE()

About CreatePipe

Create a pipe. Amazon EventBridge Pipes connect event sources to targets and reduces the need for specialized knowledge and integration code.

Method Signature

IMPORTING

Required arguments:

iv_name TYPE /AWS1/PISPIPENAME /AWS1/PISPIPENAME

The name of the pipe.

iv_source TYPE /AWS1/PISARNORURL /AWS1/PISARNORURL

The ARN of the source resource.

iv_target TYPE /AWS1/PISARN /AWS1/PISARN

The ARN of the target resource.

iv_rolearn TYPE /AWS1/PISROLEARN /AWS1/PISROLEARN

The ARN of the role that allows the pipe to send data to the target.

Optional arguments:

iv_description TYPE /AWS1/PISPIPEDESCRIPTION /AWS1/PISPIPEDESCRIPTION

A description of the pipe.

iv_desiredstate TYPE /AWS1/PISREQUESTEDPIPESTATE /AWS1/PISREQUESTEDPIPESTATE

The state the pipe should be in.

io_sourceparameters TYPE REF TO /AWS1/CL_PISPIPESOURCEPARAMS /AWS1/CL_PISPIPESOURCEPARAMS

The parameters required to set up a source for your pipe.

iv_enrichment TYPE /AWS1/PISOPTIONALARN /AWS1/PISOPTIONALARN

The ARN of the enrichment resource.

io_enrichmentparameters TYPE REF TO /AWS1/CL_PISPIPEENRICHMENTPRMS /AWS1/CL_PISPIPEENRICHMENTPRMS

The parameters required to set up enrichment on your pipe.

io_targetparameters TYPE REF TO /AWS1/CL_PISPIPETARGETPARAMS /AWS1/CL_PISPIPETARGETPARAMS

The parameters required to set up a target for your pipe.

For more information about pipe target parameters, including how to use dynamic path parameters, see Target parameters in the Amazon EventBridge User Guide.

it_tags TYPE /AWS1/CL_PISTAGMAP_W=>TT_TAGMAP TT_TAGMAP

The list of key-value pairs to associate with the pipe.

io_logconfiguration TYPE REF TO /AWS1/CL_PISPIPELOGCONFPARAMS /AWS1/CL_PISPIPELOGCONFPARAMS

The logging configuration settings for the pipe.

iv_kmskeyidentifier TYPE /AWS1/PISKMSKEYIDENTIFIER /AWS1/PISKMSKEYIDENTIFIER

The identifier of the KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt pipe data. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.

If you do not specify a customer managed key identifier, EventBridge uses an Amazon Web Services owned key to encrypt pipe data.

For more information, see Managing keys in the Key Management Service Developer Guide.

RETURNING

oo_output TYPE REF TO /aws1/cl_piscreatepiperesponse /AWS1/CL_PISCREATEPIPERESPONSE

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->/aws1/if_pis~createpipe(
  io_enrichmentparameters = new /aws1/cl_pispipeenrichmentprms(
    io_httpparameters = new /aws1/cl_pispipeenrichmentht00(
      it_headerparameters = VALUE /aws1/cl_pisheaderparamsmap_w=>tt_headerparametersmap(
        (
          VALUE /aws1/cl_pisheaderparamsmap_w=>ts_headerparametersmap_maprow(
            value = new /aws1/cl_pisheaderparamsmap_w( |string| )
            key = |string|
          )
        )
      )
      it_pathparametervalues = VALUE /aws1/cl_pispathparamlist_w=>tt_pathparameterlist(
        ( new /aws1/cl_pispathparamlist_w( |string| ) )
      )
      it_querystringparameters = VALUE /aws1/cl_pisquerystrparmsmap_w=>tt_querystringparametersmap(
        (
          VALUE /aws1/cl_pisquerystrparmsmap_w=>ts_querystringparamsmap_maprow(
            key = |string|
            value = new /aws1/cl_pisquerystrparmsmap_w( |string| )
          )
        )
      )
    )
    iv_inputtemplate = |string|
  )
  io_logconfiguration = new /aws1/cl_pispipelogconfparams(
    io_cloudwatchlogslogdst = new /aws1/cl_piscloudwatchlogslo00( |string| )
    io_firehoselogdestination = new /aws1/cl_pisfirehoselogdstprms( |string| )
    io_s3logdestination = new /aws1/cl_piss3logdstparameters(
      iv_bucketname = |string|
      iv_bucketowner = |string|
      iv_outputformat = |string|
      iv_prefix = |string|
    )
    it_includeexecutiondata = VALUE /aws1/cl_pisincludeexecdata_w=>tt_includeexecutiondata(
      ( new /aws1/cl_pisincludeexecdata_w( |string| ) )
    )
    iv_level = |string|
  )
  io_sourceparameters = new /aws1/cl_pispipesourceparams(
    io_activemqbrokerparameters = new /aws1/cl_pispipesrcactmqbrok00(
      io_credentials = new /aws1/cl_pismqbrokeracccreds( |string| )
      iv_batchsize = 123
      iv_maxbatchingwindowinsecs = 123
      iv_queuename = |string|
    )
    io_dynamodbstreamparameters = new /aws1/cl_pispipesrcdynamodbs00(
      io_deadletterconfig = new /aws1/cl_pisdeadletterconfig( |string| )
      iv_batchsize = 123
      iv_maxbatchingwindowinsecs = 123
      iv_maximumrecordageinseconds = 123
      iv_maximumretryattempts = 123
      iv_onpartialbatchitemfailure = |string|
      iv_parallelizationfactor = 123
      iv_startingposition = |string|
    )
    io_filtercriteria = new /aws1/cl_pisfiltercriteria(
      it_filters = VALUE /aws1/cl_pisfilter=>tt_filterlist(
        ( new /aws1/cl_pisfilter( |string| ) )
      )
    )
    io_kinesisstreamparameters = new /aws1/cl_pispipesrckinesisst00(
      io_deadletterconfig = new /aws1/cl_pisdeadletterconfig( |string| )
      iv_batchsize = 123
      iv_maxbatchingwindowinsecs = 123
      iv_maximumrecordageinseconds = 123
      iv_maximumretryattempts = 123
      iv_onpartialbatchitemfailure = |string|
      iv_parallelizationfactor = 123
      iv_startingposition = |string|
      iv_startingpositiontimestamp = '20150101000000.0000000'
    )
    io_managedstrmingkafkaparams = new /aws1/cl_pispipesrcmanagedst00(
      io_credentials = new /aws1/cl_pismskaccesscreds(
        iv_clientcertificatetlsauth = |string|
        iv_saslscram512auth = |string|
      )
      iv_batchsize = 123
      iv_consumergroupid = |string|
      iv_maxbatchingwindowinsecs = 123
      iv_startingposition = |string|
      iv_topicname = |string|
    )
    io_rabbitmqbrokerparameters = new /aws1/cl_pispipesrcrabbitmqb00(
      io_credentials = new /aws1/cl_pismqbrokeracccreds( |string| )
      iv_batchsize = 123
      iv_maxbatchingwindowinsecs = 123
      iv_queuename = |string|
      iv_virtualhost = |string|
    )
    io_selfmanagedkafkaparams = new /aws1/cl_pispipesrcselfmanag00(
      io_credentials = new /aws1/cl_pisselfmanagedkafka00(
        iv_basicauth = |string|
        iv_clientcertificatetlsauth = |string|
        iv_saslscram256auth = |string|
        iv_saslscram512auth = |string|
      )
      io_vpc = new /aws1/cl_pisselfmanagedkafka01(
        it_securitygroup = VALUE /aws1/cl_pissecuritygroupids_w=>tt_securitygroupids(
          ( new /aws1/cl_pissecuritygroupids_w( |string| ) )
        )
        it_subnets = VALUE /aws1/cl_pissubnetids_w=>tt_subnetids(
          ( new /aws1/cl_pissubnetids_w( |string| ) )
        )
      )
      it_addlbootstrapservers = VALUE /aws1/cl_piskafkabootstrapse00=>tt_kafkabootstrapservers(
        ( new /aws1/cl_piskafkabootstrapse00( |string| ) )
      )
      iv_batchsize = 123
      iv_consumergroupid = |string|
      iv_maxbatchingwindowinsecs = 123
      iv_serverrootcacertificate = |string|
      iv_startingposition = |string|
      iv_topicname = |string|
    )
    io_sqsqueueparameters = new /aws1/cl_pispipesrcsqsqueuep00(
      iv_batchsize = 123
      iv_maxbatchingwindowinsecs = 123
    )
  )
  io_targetparameters = new /aws1/cl_pispipetargetparams(
    io_batchjobparameters = new /aws1/cl_pispipetgtbtcjobparms(
      io_arrayproperties = new /aws1/cl_pisbatcharrayprps( 123 )
      io_containeroverrides = new /aws1/cl_pisbtccontainerover00(
        it_command = VALUE /aws1/cl_pisstringlist_w=>tt_stringlist(
          ( new /aws1/cl_pisstringlist_w( |string| ) )
        )
        it_environment = VALUE /aws1/cl_pisbtcenvironmentva00=>tt_btcenvironmentvariablelist(
          (
            new /aws1/cl_pisbtcenvironmentva00(
              iv_name = |string|
              iv_value = |string|
            )
          )
        )
        it_resourcerequirements = VALUE /aws1/cl_pisbtcresrcrequirem00=>tt_batchresrcrequirementslist(
          (
            new /aws1/cl_pisbtcresrcrequirem00(
              iv_type = |string|
              iv_value = |string|
            )
          )
        )
        iv_instancetype = |string|
      )
      io_retrystrategy = new /aws1/cl_pisbatchretrystrategy( 123 )
      it_dependson = VALUE /aws1/cl_pisbatchjobdependency=>tt_batchdependson(
        (
          new /aws1/cl_pisbatchjobdependency(
            iv_jobid = |string|
            iv_type = |string|
          )
        )
      )
      it_parameters = VALUE /aws1/cl_pisbatchparamsmap_w=>tt_batchparametersmap(
        (
          VALUE /aws1/cl_pisbatchparamsmap_w=>ts_batchparametersmap_maprow(
            value = new /aws1/cl_pisbatchparamsmap_w( |string| )
            key = |string|
          )
        )
      )
      iv_jobdefinition = |string|
      iv_jobname = |string|
    )
    io_cloudwatchlogsparameters = new /aws1/cl_pispipetgtcloudwatc00(
      iv_logstreamname = |string|
      iv_timestamp = |string|
    )
    io_ecstaskparameters = new /aws1/cl_pispipetgtecstskparms(
      io_networkconfiguration = new /aws1/cl_pisnetworkconf(
        io_awsvpcconfiguration = new /aws1/cl_pisawsvpcconf(
          it_securitygroups = VALUE /aws1/cl_pissecuritygroups_w=>tt_securitygroups(
            ( new /aws1/cl_pissecuritygroups_w( |string| ) )
          )
          it_subnets = VALUE /aws1/cl_pissubnets_w=>tt_subnets(
            ( new /aws1/cl_pissubnets_w( |string| ) )
          )
          iv_assignpublicip = |string|
        )
      )
      io_overrides = new /aws1/cl_pisecstaskoverride(
        io_ephemeralstorage = new /aws1/cl_pisecsephemeralstrg( 123 )
        it_containeroverrides = VALUE /aws1/cl_pisecscontainerover00=>tt_ecscontaineroverridelist(
          (
            new /aws1/cl_pisecscontainerover00(
              it_command = VALUE /aws1/cl_pisstringlist_w=>tt_stringlist(
                ( new /aws1/cl_pisstringlist_w( |string| ) )
              )
              it_environment = VALUE /aws1/cl_pisecsenvironmentva00=>tt_ecsenvironmentvariablelist(
                (
                  new /aws1/cl_pisecsenvironmentva00(
                    iv_name = |string|
                    iv_value = |string|
                  )
                )
              )
              it_environmentfiles = VALUE /aws1/cl_pisecsenvironmentfile=>tt_ecsenvironmentfilelist(
                (
                  new /aws1/cl_pisecsenvironmentfile(
                    iv_type = |string|
                    iv_value = |string|
                  )
                )
              )
              it_resourcerequirements = VALUE /aws1/cl_pisecsresrcrequirem00=>tt_ecsresourcerequirementslist(
                (
                  new /aws1/cl_pisecsresrcrequirem00(
                    iv_type = |string|
                    iv_value = |string|
                  )
                )
              )
              iv_cpu = 123
              iv_memory = 123
              iv_memoryreservation = 123
              iv_name = |string|
            )
          )
        )
        it_inferenceacceleratorove00 = VALUE /aws1/cl_pisecsinferenceacce00=>tt_ecsinferenceacceleratorov00(
          (
            new /aws1/cl_pisecsinferenceacce00(
              iv_devicename = |string|
              iv_devicetype = |string|
            )
          )
        )
        iv_cpu = |string|
        iv_executionrolearn = |string|
        iv_memory = |string|
        iv_taskrolearn = |string|
      )
      it_capacityproviderstrategy = VALUE /aws1/cl_piscappvdrstragitem=>tt_capacityproviderstrategy(
        (
          new /aws1/cl_piscappvdrstragitem(
            iv_base = 123
            iv_capacityprovider = |string|
            iv_weight = 123
          )
        )
      )
      it_placementconstraints = VALUE /aws1/cl_pisplacementcnstrnt=>tt_placementconstraints(
        (
          new /aws1/cl_pisplacementcnstrnt(
            iv_expression = |string|
            iv_type = |string|
          )
        )
      )
      it_placementstrategy = VALUE /aws1/cl_pisplacementstrategy=>tt_placementstrategies(
        (
          new /aws1/cl_pisplacementstrategy(
            iv_field = |string|
            iv_type = |string|
          )
        )
      )
      it_tags = VALUE /aws1/cl_pistag=>tt_taglist(
        (
          new /aws1/cl_pistag(
            iv_key = |string|
            iv_value = |string|
          )
        )
      )
      iv_enableecsmanagedtags = ABAP_TRUE
      iv_enableexecutecommand = ABAP_TRUE
      iv_group = |string|
      iv_launchtype = |string|
      iv_platformversion = |string|
      iv_propagatetags = |string|
      iv_referenceid = |string|
      iv_taskcount = 123
      iv_taskdefinitionarn = |string|
    )
    io_eventbridgeeventbusparams = new /aws1/cl_pispipetgtevtbridge00(
      it_resources = VALUE /aws1/cl_pisevtbridgeevtresr00=>tt_eventbridgeeventresrclist(
        ( new /aws1/cl_pisevtbridgeevtresr00( |string| ) )
      )
      iv_detailtype = |string|
      iv_endpointid = |string|
      iv_source = |string|
      iv_time = |string|
    )
    io_httpparameters = new /aws1/cl_pispipetgthttpparams(
      it_headerparameters = VALUE /aws1/cl_pisheaderparamsmap_w=>tt_headerparametersmap(
        (
          VALUE /aws1/cl_pisheaderparamsmap_w=>ts_headerparametersmap_maprow(
            value = new /aws1/cl_pisheaderparamsmap_w( |string| )
            key = |string|
          )
        )
      )
      it_pathparametervalues = VALUE /aws1/cl_pispathparamlist_w=>tt_pathparameterlist(
        ( new /aws1/cl_pispathparamlist_w( |string| ) )
      )
      it_querystringparameters = VALUE /aws1/cl_pisquerystrparmsmap_w=>tt_querystringparametersmap(
        (
          VALUE /aws1/cl_pisquerystrparmsmap_w=>ts_querystringparamsmap_maprow(
            key = |string|
            value = new /aws1/cl_pisquerystrparmsmap_w( |string| )
          )
        )
      )
    )
    io_kinesisstreamparameters = new /aws1/cl_pispipetgtkinesisst00( |string| )
    io_lambdafunctionparameters = new /aws1/cl_pispipetgtlambdafun00( |string| )
    io_redshiftdataparameters = new /aws1/cl_pispipetgtreddataprms(
      it_sqls = VALUE /aws1/cl_pissqls_w=>tt_sqls(
        ( new /aws1/cl_pissqls_w( |string| ) )
      )
      iv_database = |string|
      iv_dbuser = |string|
      iv_secretmanagerarn = |string|
      iv_statementname = |string|
      iv_withevent = ABAP_TRUE
    )
    io_smpipelineparameters = new /aws1/cl_pispipetgtsmplparms(
      it_pipelineparameterlist = VALUE /aws1/cl_pissmpipelineparam=>tt_smpipelineparameterlist(
        (
          new /aws1/cl_pissmpipelineparam(
            iv_name = |string|
            iv_value = |string|
          )
        )
      )
    )
    io_sqsqueueparameters = new /aws1/cl_pispipetgtsqsqueuep00(
      iv_messagededuplicationid = |string|
      iv_messagegroupid = |string|
    )
    io_stepfuncstatemachineparms = new /aws1/cl_pispipetgtstatemach00( |string| )
    io_timestreamparameters = new /aws1/cl_pispipetgttsrparams(
      it_dimensionmappings = VALUE /aws1/cl_pisdimensionmapping=>tt_dimensionmappings(
        (
          new /aws1/cl_pisdimensionmapping(
            iv_dimensionname = |string|
            iv_dimensionvalue = |string|
            iv_dimensionvaluetype = |string|
          )
        )
      )
      it_multimeasuremappings = VALUE /aws1/cl_pismultimeasuremap=>tt_multimeasuremappings(
        (
          new /aws1/cl_pismultimeasuremap(
            it_multimeasureattrmappings = VALUE /aws1/cl_pismultimeasureattr00=>tt_multimeasureattrmappings(
              (
                new /aws1/cl_pismultimeasureattr00(
                  iv_measurevalue = |string|
                  iv_measurevaluetype = |string|
                  iv_multimeasureattributename = |string|
                )
              )
            )
            iv_multimeasurename = |string|
          )
        )
      )
      it_singlemeasuremappings = VALUE /aws1/cl_pissinglemeasuremap=>tt_singlemeasuremappings(
        (
          new /aws1/cl_pissinglemeasuremap(
            iv_measurename = |string|
            iv_measurevalue = |string|
            iv_measurevaluetype = |string|
          )
        )
      )
      iv_epochtimeunit = |string|
      iv_timefieldtype = |string|
      iv_timestampformat = |string|
      iv_timevalue = |string|
      iv_versionvalue = |string|
    )
    iv_inputtemplate = |string|
  )
  it_tags = VALUE /aws1/cl_pistagmap_w=>tt_tagmap(
    (
      VALUE /aws1/cl_pistagmap_w=>ts_tagmap_maprow(
        key = |string|
        value = new /aws1/cl_pistagmap_w( |string| )
      )
    )
  )
  iv_description = |string|
  iv_desiredstate = |string|
  iv_enrichment = |string|
  iv_kmskeyidentifier = |string|
  iv_name = |string|
  iv_rolearn = |string|
  iv_source = |string|
  iv_target = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_pipearn = lo_result->get_arn( ).
  lv_pipename = lo_result->get_name( ).
  lv_requestedpipestate = lo_result->get_desiredstate( ).
  lv_pipestate = lo_result->get_currentstate( ).
  lv_timestamp = lo_result->get_creationtime( ).
  lv_timestamp = lo_result->get_lastmodifiedtime( ).
ENDIF.