Skip to content

/AWS1/IF_MPB=>CREATERESPONDERGATEWAY()

About CreateResponderGateway

Creates a responder gateway.

A domain name or managed endpoint is required.

Method Signature

METHODS /AWS1/IF_MPB~CREATERESPONDERGATEWAY
  IMPORTING
    !IV_VPCID TYPE /AWS1/MPBVPCID OPTIONAL
    !IT_SUBNETIDS TYPE /AWS1/CL_MPBSUBNETIDLIST_W=>TT_SUBNETIDLIST OPTIONAL
    !IT_SECURITYGROUPIDS TYPE /AWS1/CL_MPBSECGROUPIDLIST_W=>TT_SECURITYGROUPIDLIST OPTIONAL
    !IV_DOMAINNAME TYPE /AWS1/MPBDOMAINNAME OPTIONAL
    !IV_PORT TYPE /AWS1/MPBINTEGER OPTIONAL
    !IV_PROTOCOL TYPE /AWS1/MPBPROTOCOL OPTIONAL
    !IO_LISTENERCONFIG TYPE REF TO /AWS1/CL_MPBLISTENERCONFIG OPTIONAL
    !IO_TRUSTSTORECONFIGURATION TYPE REF TO /AWS1/CL_MPBTRUSTSTORECONF OPTIONAL
    !IO_MANAGEDENDPOINTCONF TYPE REF TO /AWS1/CL_MPBMANAGEDENDPTCONF OPTIONAL
    !IV_CLIENTTOKEN TYPE /AWS1/MPBSTRING OPTIONAL
    !IV_DESCRIPTION TYPE /AWS1/MPBSTRING OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_MPBTAGSMAP_W=>TT_TAGSMAP OPTIONAL
    !IV_GATEWAYTYPE TYPE /AWS1/MPBGATEWAYTYPE OPTIONAL
    !IV_CLIENTROUTINGPOLICY TYPE /AWS1/MPBCLIENTROUTINGPOLICY OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_mpbcreaterespgwrsp
  RAISING
    /AWS1/CX_MPBACCESSDENIEDEX
    /AWS1/CX_MPBINTERNALSERVEREX
    /AWS1/CX_MPBRESOURCENOTFOUNDEX
    /AWS1/CX_MPBSERVICEQUOTAEXCDEX
    /AWS1/CX_MPBTHROTTLINGEX
    /AWS1/CX_MPBVALIDATIONEX
    /AWS1/CX_MPBCLIENTEXC
    /AWS1/CX_MPBSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_vpcid TYPE /AWS1/MPBVPCID /AWS1/MPBVPCID

The unique identifier of the Virtual Private Cloud (VPC).

it_subnetids TYPE /AWS1/CL_MPBSUBNETIDLIST_W=>TT_SUBNETIDLIST TT_SUBNETIDLIST

Unique identifiers of the subnets. A service quota for your account sets the number of Availability Zones that your subnets can span. By default, this quota is one Availability Zone. To span more Availability Zones, request a quota increase.

it_securitygroupids TYPE /AWS1/CL_MPBSECGROUPIDLIST_W=>TT_SECURITYGROUPIDLIST TT_SECURITYGROUPIDLIST

The unique identifiers of the security groups.

iv_port TYPE /AWS1/MPBINTEGER /AWS1/MPBINTEGER

The networking port to use.

iv_protocol TYPE /AWS1/MPBPROTOCOL /AWS1/MPBPROTOCOL

The networking protocol to use.

iv_clienttoken TYPE /AWS1/MPBSTRING /AWS1/MPBSTRING

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

If you don't provide this value, then Amazon Web Services generates a random one for you.

If you retry the operation with the same clientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

Optional arguments:

iv_domainname TYPE /AWS1/MPBDOMAINNAME /AWS1/MPBDOMAINNAME

The domain name for the responder gateway.

io_listenerconfig TYPE REF TO /AWS1/CL_MPBLISTENERCONFIG /AWS1/CL_MPBLISTENERCONFIG

Listener configuration for the protocols (HTTP, HTTPS, or both) accepted by the gateway.

io_truststoreconfiguration TYPE REF TO /AWS1/CL_MPBTRUSTSTORECONF /AWS1/CL_MPBTRUSTSTORECONF

The configuration of the trust store.

io_managedendpointconf TYPE REF TO /AWS1/CL_MPBMANAGEDENDPTCONF /AWS1/CL_MPBMANAGEDENDPTCONF

The configuration for the managed endpoint.

iv_description TYPE /AWS1/MPBSTRING /AWS1/MPBSTRING

An optional description for the responder gateway.

it_tags TYPE /AWS1/CL_MPBTAGSMAP_W=>TT_TAGSMAP TT_TAGSMAP

A map of the key-value pairs of the tag or tags to assign to the resource.

iv_gatewaytype TYPE /AWS1/MPBGATEWAYTYPE /AWS1/MPBGATEWAYTYPE

The type of gateway. Valid values are EXTERNAL or INTERNAL.

iv_clientroutingpolicy TYPE /AWS1/MPBCLIENTROUTINGPOLICY /AWS1/MPBCLIENTROUTINGPOLICY

The client routing policy of the gateway. This policy controls which Availability Zones RTB Fabric uses to reach the gateway for the requester gateways that send traffic to it. Valid values are the following:

  • AVAILABILITY_ZONE_AFFINITY: RTB Fabric routes each requester's traffic to gateway capacity in the requester's own Availability Zone when the gateway has capacity available there. Otherwise, RTB Fabric routes the traffic to gateway capacity in the other Availability Zones of the gateway.

  • ANY_AVAILABILITY_ZONE: RTB Fabric routes each requester's traffic to gateway capacity in every Availability Zone that the subnets of the gateway span. The Availability Zone that the requester is in does not change this.

If you don't specify a value, RTB Fabric uses AVAILABILITY_ZONE_AFFINITY. To get the behavior of ANY_AVAILABILITY_ZONE, create the gateway with subnets in more than one Availability Zone. RTB Fabric does not support partial Availability Zone affinity, so PARTIAL_AVAILABILITY_ZONE_AFFINITY is not a valid value. For more information, see Configuring Availability Zone affinity in the Amazon Web Services RTB Fabric User Guide.

RETURNING

oo_output TYPE REF TO /aws1/cl_mpbcreaterespgwrsp /AWS1/CL_MPBCREATERESPGWRSP

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->createrespondergateway(
  io_listenerconfig = new /aws1/cl_mpblistenerconfig(
    it_protocols = VALUE /aws1/cl_mpbprotocollist_w=>tt_protocollist(
      ( new /aws1/cl_mpbprotocollist_w( |string| ) )
    )
  )
  io_managedendpointconf = new /aws1/cl_mpbmanagedendptconf(
    io_autoscalinggroups = new /aws1/cl_mpbautoscgroupsconf(
      io_healthcheckconfig = new /aws1/cl_mpbhealthcheckconfig(
        iv_healthythresholdcount = 123
        iv_intervalseconds = 123
        iv_path = |string|
        iv_port = 123
        iv_protocol = |string|
        iv_statuscodematcher = |string|
        iv_timeoutms = 123
        iv_unhealthythresholdcount = 123
      )
      it_autoscalinggroupnames = VALUE /aws1/cl_mpbautoscgrpnamelst_w=>tt_autoscalinggroupnamelist(
        ( new /aws1/cl_mpbautoscgrpnamelst_w( |string| ) )
      )
      iv_rolearn = |string|
    )
    io_eksendpoints = new /aws1/cl_mpbeksendpointsconf(
      iv_clustapiservercacertchain = |string|
      iv_clusterapiserverendpturi = |string|
      iv_clustername = |string|
      iv_endpointsresourcename = |string|
      iv_endptsresourcenamespace = |string|
      iv_rolearn = |string|
    )
  )
  io_truststoreconfiguration = new /aws1/cl_mpbtruststoreconf(
    it_certauthoritycerts = VALUE /aws1/cl_mpbcrtauthoritycrts_w=>tt_certauthoritycerts(
      ( new /aws1/cl_mpbcrtauthoritycrts_w( |string| ) )
    )
  )
  it_securitygroupids = VALUE /aws1/cl_mpbsecgroupidlist_w=>tt_securitygroupidlist(
    ( new /aws1/cl_mpbsecgroupidlist_w( |string| ) )
  )
  it_subnetids = VALUE /aws1/cl_mpbsubnetidlist_w=>tt_subnetidlist(
    ( new /aws1/cl_mpbsubnetidlist_w( |string| ) )
  )
  it_tags = VALUE /aws1/cl_mpbtagsmap_w=>tt_tagsmap(
    (
      VALUE /aws1/cl_mpbtagsmap_w=>ts_tagsmap_maprow(
        key = |string|
        value = new /aws1/cl_mpbtagsmap_w( |string| )
      )
    )
  )
  iv_clientroutingpolicy = |string|
  iv_clienttoken = |string|
  iv_description = |string|
  iv_domainname = |string|
  iv_gatewaytype = |string|
  iv_port = 123
  iv_protocol = |string|
  iv_vpcid = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_gatewayid = lo_result->get_gatewayid( ).
  lv_respondergatewaystatus = lo_result->get_status( ).
  lo_listenerconfig = lo_result->get_listenerconfig( ).
  IF lo_listenerconfig IS NOT INITIAL.
    LOOP AT lo_listenerconfig->get_protocols( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_protocol = lo_row_1->get_value( ).
      ENDIF.
    ENDLOOP.
  ENDIF.
  lv_domainname = lo_result->get_externalinboundendpoint( ).
  lv_clientroutingpolicy = lo_result->get_clientroutingpolicy( ).
ENDIF.

Create a responder gateway

Create responder gateway

DATA(lo_result) = lo_client->createrespondergateway(
  it_securitygroupids = VALUE /aws1/cl_mpbsecgroupidlist_w=>tt_securitygroupidlist(
    ( new /aws1/cl_mpbsecgroupidlist_w( |sg-12345678| ) )
  )
  it_subnetids = VALUE /aws1/cl_mpbsubnetidlist_w=>tt_subnetidlist(
    ( new /aws1/cl_mpbsubnetidlist_w( |subnet-12345678| ) )
    ( new /aws1/cl_mpbsubnetidlist_w( |subnet-87654321| ) )
  )
  iv_clienttoken = |12345678-1234-1234-1234-123456789012|
  iv_description = |My responder gateway|
  iv_port = 443
  iv_protocol = |HTTPS|
  iv_vpcid = |vpc-12345678|
).