Skip to content

/AWS1/IF_EC2=>CREATEIPAMPREFIXLISTRESOLVER()

About CreateIpamPrefixListResolver

Creates an IPAM prefix list resolver.

An IPAM prefix list resolver is a component that manages the synchronization between IPAM's CIDR selection rules and customer-managed prefix lists. It automates connectivity configurations by selecting CIDRs from IPAM's database based on your business logic and synchronizing them with prefix lists used in resources such as VPC route tables and security groups.

For more information about IPAM prefix list resolver, see Automate prefix list updates with IPAM in the Amazon VPC IPAM User Guide.

Method Signature

METHODS /AWS1/IF_EC2~CREATEIPAMPREFIXLISTRESOLVER
  IMPORTING
    !IV_DRYRUN TYPE /AWS1/EC2BOOLEAN OPTIONAL
    !IV_IPAMID TYPE /AWS1/EC2IPAMID OPTIONAL
    !IV_DESCRIPTION TYPE /AWS1/EC2STRING OPTIONAL
    !IV_ADDRESSFAMILY TYPE /AWS1/EC2ADDRESSFAMILY OPTIONAL
    !IT_RULES TYPE /AWS1/CL_EC2IPAMPREFIXLSTRES00=>TT_IPAMPREFIXLSTRESOLVRLREQSET OPTIONAL
    !IT_TAGSPECIFICATIONS TYPE /AWS1/CL_EC2TAGSPECIFICATION=>TT_TAGSPECIFICATIONLIST OPTIONAL
    !IV_CLIENTTOKEN TYPE /AWS1/EC2STRING OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_ec2creipamprefixlst01
  RAISING
    /AWS1/CX_EC2CLIENTEXC
    /AWS1/CX_EC2SERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_ipamid TYPE /AWS1/EC2IPAMID /AWS1/EC2IPAMID

The ID of the IPAM that will serve as the source of the IP address database for CIDR selection. The IPAM must be in the Advanced tier to use this feature.

iv_addressfamily TYPE /AWS1/EC2ADDRESSFAMILY /AWS1/EC2ADDRESSFAMILY

The address family for the IPAM prefix list resolver. Valid values are ipv4 and ipv6. You must create separate resolvers for IPv4 and IPv6 CIDRs as they cannot be mixed in the same resolver.

Optional arguments:

iv_dryrun TYPE /AWS1/EC2BOOLEAN /AWS1/EC2BOOLEAN

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

iv_description TYPE /AWS1/EC2STRING /AWS1/EC2STRING

A description for the IPAM prefix list resolver to help you identify its purpose and configuration.

it_rules TYPE /AWS1/CL_EC2IPAMPREFIXLSTRES00=>TT_IPAMPREFIXLSTRESOLVRLREQSET TT_IPAMPREFIXLSTRESOLVRLREQSET

The CIDR selection rules for the resolver.

CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules.

it_tagspecifications TYPE /AWS1/CL_EC2TAGSPECIFICATION=>TT_TAGSPECIFICATIONLIST TT_TAGSPECIFICATIONLIST

The tags to apply to the IPAM prefix list resolver during creation. Tags help you organize and manage your Amazon Web Services resources.

iv_clienttoken TYPE /AWS1/EC2STRING /AWS1/EC2STRING

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

RETURNING

oo_output TYPE REF TO /aws1/cl_ec2creipamprefixlst01 /AWS1/CL_EC2CREIPAMPREFIXLST01

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->createipamprefixlistresolver(
  it_rules = VALUE /aws1/cl_ec2ipamprefixlstres00=>tt_ipamprefixlstresolvrlreqset(
    (
      new /aws1/cl_ec2ipamprefixlstres00(
        it_conditions = VALUE /aws1/cl_ec2ipamprefixlstres01=>tt_ipamprefixlstreslvrlcondr00(
          (
            new /aws1/cl_ec2ipamprefixlstres01(
              io_resourcetag = new /aws1/cl_ec2reqipamresourcetag(
                iv_key = |string|
                iv_value = |string|
              )
              iv_cidr = |string|
              iv_ipampoolid = |string|
              iv_operation = |string|
              iv_resourceid = |string|
              iv_resourceowner = |string|
              iv_resourceregion = |string|
            )
          )
        )
        iv_ipamscopeid = |string|
        iv_resourcetype = |string|
        iv_ruletype = |string|
        iv_staticcidr = |string|
      )
    )
  )
  it_tagspecifications = VALUE /aws1/cl_ec2tagspecification=>tt_tagspecificationlist(
    (
      new /aws1/cl_ec2tagspecification(
        it_tags = VALUE /aws1/cl_ec2tag=>tt_taglist(
          (
            new /aws1/cl_ec2tag(
              iv_key = |string|
              iv_value = |string|
            )
          )
        )
        iv_resourcetype = |string|
      )
    )
  )
  iv_addressfamily = |string|
  iv_clienttoken = |string|
  iv_description = |string|
  iv_dryrun = ABAP_TRUE
  iv_ipamid = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_ipamprefixlistresolver = lo_result->get_ipamprefixlistresolver( ).
  IF lo_ipamprefixlistresolver IS NOT INITIAL.
    lv_string = lo_ipamprefixlistresolver->get_ownerid( ).
    lv_ipamprefixlistresolveri = lo_ipamprefixlistresolver->get_ipamprefixlistresolverid( ).
    lv_resourcearn = lo_ipamprefixlistresolver->get_ipamprefixlistresolvarn( ).
    lv_resourcearn = lo_ipamprefixlistresolver->get_ipamarn( ).
    lv_string = lo_ipamprefixlistresolver->get_ipamregion( ).
    lv_string = lo_ipamprefixlistresolver->get_description( ).
    lv_addressfamily = lo_ipamprefixlistresolver->get_addressfamily( ).
    lv_ipamprefixlistresolvers = lo_ipamprefixlistresolver->get_state( ).
    LOOP AT lo_ipamprefixlistresolver->get_tags( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_string = lo_row_1->get_key( ).
        lv_string = lo_row_1->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_ipamprefixlistresolverv = lo_ipamprefixlistresolver->get_lastvrscreationstatus( ).
    lv_string = lo_ipamprefixlistresolver->get_lastvrscreationstatusmsg( ).
  ENDIF.
ENDIF.