Skip to content

/AWS1/IF_NWF=>CREATEPROXYCONFIGURATION()

About CreateProxyConfiguration

Creates an Network Firewall ProxyConfiguration

A Proxy Configuration defines the monitoring and protection behavior for a Proxy. The details of the behavior are defined in the rule groups that you add to your configuration.

To manage a proxy configuration's tags, use the standard Amazon Web Services resource tagging operations, ListTagsForResource, TagResource, and UntagResource.

To retrieve information about proxies, use ListProxyConfigurations and DescribeProxyConfiguration.

Method Signature

METHODS /AWS1/IF_NWF~CREATEPROXYCONFIGURATION
  IMPORTING
    !IV_PROXYCONFIGURATIONNAME TYPE /AWS1/NWFRESOURCENAME OPTIONAL
    !IV_DESCRIPTION TYPE /AWS1/NWFDESCRIPTION OPTIONAL
    !IT_RULEGROUPNAMES TYPE /AWS1/CL_NWFRESOURCENAMELIST_W=>TT_RESOURCENAMELIST OPTIONAL
    !IT_RULEGROUPARNS TYPE /AWS1/CL_NWFRESOURCEARNLIST_W=>TT_RESOURCEARNLIST OPTIONAL
    !IO_DEFAULTRULEPHASEACTIONS TYPE REF TO /AWS1/CL_NWFPROXYCFGDEFRLPHA00 OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_NWFTAG=>TT_TAGLIST OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_nwfcreateproxyconfrsp
  RAISING
    /AWS1/CX_NWFINTERNALSERVERERR
    /AWS1/CX_NWFINVALIDREQUESTEX
    /AWS1/CX_NWFLIMITEXCEEDEDEX
    /AWS1/CX_NWFRESOURCENOTFOUNDEX
    /AWS1/CX_NWFTHROTTLINGEX
    /AWS1/CX_NWFCLIENTEXC
    /AWS1/CX_NWFSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_proxyconfigurationname TYPE /AWS1/NWFRESOURCENAME /AWS1/NWFRESOURCENAME

The descriptive name of the proxy configuration. You can't change the name of a proxy configuration after you create it.

io_defaultrulephaseactions TYPE REF TO /AWS1/CL_NWFPROXYCFGDEFRLPHA00 /AWS1/CL_NWFPROXYCFGDEFRLPHA00

Evaluation points in the traffic flow where rules are applied. There are three phases in a traffic where the rule match is applied.

Optional arguments:

iv_description TYPE /AWS1/NWFDESCRIPTION /AWS1/NWFDESCRIPTION

A description of the proxy configuration.

it_rulegroupnames TYPE /AWS1/CL_NWFRESOURCENAMELIST_W=>TT_RESOURCENAMELIST TT_RESOURCENAMELIST

The proxy rule group name(s) to attach to the proxy configuration.

You must specify the ARNs or the names, and you can specify both.

it_rulegrouparns TYPE /AWS1/CL_NWFRESOURCEARNLIST_W=>TT_RESOURCEARNLIST TT_RESOURCEARNLIST

The proxy rule group arn(s) to attach to the proxy configuration.

You must specify the ARNs or the names, and you can specify both.

it_tags TYPE /AWS1/CL_NWFTAG=>TT_TAGLIST TT_TAGLIST

The key:value pairs to associate with the resource.

RETURNING

oo_output TYPE REF TO /aws1/cl_nwfcreateproxyconfrsp /AWS1/CL_NWFCREATEPROXYCONFRSP

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->createproxyconfiguration(
  io_defaultrulephaseactions = new /aws1/cl_nwfproxycfgdefrlpha00(
    iv_postresponse = |string|
    iv_predns = |string|
    iv_prerequest = |string|
  )
  it_rulegrouparns = VALUE /aws1/cl_nwfresourcearnlist_w=>tt_resourcearnlist(
    ( new /aws1/cl_nwfresourcearnlist_w( |string| ) )
  )
  it_rulegroupnames = VALUE /aws1/cl_nwfresourcenamelist_w=>tt_resourcenamelist(
    ( new /aws1/cl_nwfresourcenamelist_w( |string| ) )
  )
  it_tags = VALUE /aws1/cl_nwftag=>tt_taglist(
    (
      new /aws1/cl_nwftag(
        iv_key = |string|
        iv_value = |string|
      )
    )
  )
  iv_description = |string|
  iv_proxyconfigurationname = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_proxyconfiguration = lo_result->get_proxyconfiguration( ).
  IF lo_proxyconfiguration IS NOT INITIAL.
    lv_resourcename = lo_proxyconfiguration->get_proxyconfigurationname( ).
    lv_resourcearn = lo_proxyconfiguration->get_proxyconfigurationarn( ).
    lv_description = lo_proxyconfiguration->get_description( ).
    lv_createtime = lo_proxyconfiguration->get_createtime( ).
    lv_deletetime = lo_proxyconfiguration->get_deletetime( ).
    LOOP AT lo_proxyconfiguration->get_rulegroups( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_resourcename = lo_row_1->get_proxyrulegroupname( ).
        lv_resourcearn = lo_row_1->get_proxyrulegrouparn( ).
        lv_proxyconfigrulegrouptyp = lo_row_1->get_type( ).
        lv_proxyconfigrulegrouppri = lo_row_1->get_priority( ).
      ENDIF.
    ENDLOOP.
    lo_proxyconfigdefaultrulep = lo_proxyconfiguration->get_defaultrulephaseactions( ).
    IF lo_proxyconfigdefaultrulep IS NOT INITIAL.
      lv_proxyrulephaseaction = lo_proxyconfigdefaultrulep->get_predns( ).
      lv_proxyrulephaseaction = lo_proxyconfigdefaultrulep->get_prerequest( ).
      lv_proxyrulephaseaction = lo_proxyconfigdefaultrulep->get_postresponse( ).
    ENDIF.
    LOOP AT lo_proxyconfiguration->get_tags( ) into lo_row_2.
      lo_row_3 = lo_row_2.
      IF lo_row_3 IS NOT INITIAL.
        lv_tagkey = lo_row_3->get_key( ).
        lv_tagvalue = lo_row_3->get_value( ).
      ENDIF.
    ENDLOOP.
  ENDIF.
  lv_updatetoken = lo_result->get_updatetoken( ).
ENDIF.