/AWS1/IF_VL=>CREATERESOURCEGATEWAY()
¶
About CreateResourceGateway¶
A resource gateway is a point of ingress into the VPC where a resource resides. It spans multiple Availability Zones. For your resource to be accessible from all Availability Zones, you should create your resource gateways to span as many Availability Zones as possible. A VPC can have multiple resource gateways.
Method Signature¶
METHODS /AWS1/IF_VL~CREATERESOURCEGATEWAY
IMPORTING
!IV_CLIENTTOKEN TYPE /AWS1/VL_CLIENTTOKEN OPTIONAL
!IV_NAME TYPE /AWS1/VL_RESOURCEGATEWAYNAME OPTIONAL
!IV_VPCIDENTIFIER TYPE /AWS1/VL_VPCID OPTIONAL
!IT_SUBNETIDS TYPE /AWS1/CL_VL_SUBNETLIST_W=>TT_SUBNETLIST OPTIONAL
!IT_SECURITYGROUPIDS TYPE /AWS1/CL_VL_SECGROUPLIST_W=>TT_SECURITYGROUPLIST OPTIONAL
!IV_IPADDRESSTYPE TYPE /AWS1/VL_RESRCGWIPADDRESSTYPE OPTIONAL
!IV_IPV4ADDRESSESPERENI TYPE /AWS1/VL_IPV4ADDRESSESPERENI OPTIONAL
!IT_TAGS TYPE /AWS1/CL_VL_TAGMAP_W=>TT_TAGMAP OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_vl_createresrcgwrsp
RAISING
/AWS1/CX_VL_ACCESSDENIEDEX
/AWS1/CX_VL_CONFLICTEXCEPTION
/AWS1/CX_VL_INTERNALSERVEREX
/AWS1/CX_VL_RESOURCENOTFOUNDEX
/AWS1/CX_VL_SERVICEQUOTAEXCDEX
/AWS1/CX_VL_THROTTLINGEX
/AWS1/CX_VL_VALIDATIONEX
/AWS1/CX_VL_CLIENTEXC
/AWS1/CX_VL_SERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_name
TYPE /AWS1/VL_RESOURCEGATEWAYNAME
/AWS1/VL_RESOURCEGATEWAYNAME
¶
The name of the resource gateway.
Optional arguments:¶
iv_clienttoken
TYPE /AWS1/VL_CLIENTTOKEN
/AWS1/VL_CLIENTTOKEN
¶
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.
iv_vpcidentifier
TYPE /AWS1/VL_VPCID
/AWS1/VL_VPCID
¶
The ID of the VPC for the resource gateway.
it_subnetids
TYPE /AWS1/CL_VL_SUBNETLIST_W=>TT_SUBNETLIST
TT_SUBNETLIST
¶
The IDs of the VPC subnets in which to create the resource gateway.
it_securitygroupids
TYPE /AWS1/CL_VL_SECGROUPLIST_W=>TT_SECURITYGROUPLIST
TT_SECURITYGROUPLIST
¶
The IDs of the security groups to apply to the resource gateway. The security groups must be in the same VPC.
iv_ipaddresstype
TYPE /AWS1/VL_RESRCGWIPADDRESSTYPE
/AWS1/VL_RESRCGWIPADDRESSTYPE
¶
A resource gateway can have IPv4, IPv6 or dualstack addresses. The IP address type of a resource gateway must be compatible with the subnets of the resource gateway and the IP address type of the resource, as described here:
IPv4Assign IPv4 addresses to your resource gateway network interfaces. This option is supported only if all selected subnets have IPv4 address ranges, and the resource also has an IPv4 address.
IPv6Assign IPv6 addresses to your resource gateway network interfaces. This option is supported only if all selected subnets are IPv6 only subnets, and the resource also has an IPv6 address.
DualstackAssign both IPv4 and IPv6 addresses to your resource gateway network interfaces. This option is supported only if all selected subnets have both IPv4 and IPv6 address ranges, and the resource either has an IPv4 or IPv6 address.
The IP address type of the resource gateway is independent of the IP address type of the client or the VPC endpoint through which the resource is accessed.
iv_ipv4addressespereni
TYPE /AWS1/VL_IPV4ADDRESSESPERENI
/AWS1/VL_IPV4ADDRESSESPERENI
¶
The number of IPv4 addresses in each ENI for the resource gateway.
it_tags
TYPE /AWS1/CL_VL_TAGMAP_W=>TT_TAGMAP
TT_TAGMAP
¶
The tags for the resource gateway.
RETURNING¶
oo_output
TYPE REF TO /aws1/cl_vl_createresrcgwrsp
/AWS1/CL_VL_CREATERESRCGWRSP
¶
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->createresourcegateway(
it_securitygroupids = VALUE /aws1/cl_vl_secgrouplist_w=>tt_securitygrouplist(
( new /aws1/cl_vl_secgrouplist_w( |string| ) )
)
it_subnetids = VALUE /aws1/cl_vl_subnetlist_w=>tt_subnetlist(
( new /aws1/cl_vl_subnetlist_w( |string| ) )
)
it_tags = VALUE /aws1/cl_vl_tagmap_w=>tt_tagmap(
(
VALUE /aws1/cl_vl_tagmap_w=>ts_tagmap_maprow(
key = |string|
value = new /aws1/cl_vl_tagmap_w( |string| )
)
)
)
iv_clienttoken = |string|
iv_ipaddresstype = |string|
iv_ipv4addressespereni = 123
iv_name = |string|
iv_vpcidentifier = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_resourcegatewayname = lo_result->get_name( ).
lv_resourcegatewayid = lo_result->get_id( ).
lv_resourcegatewayarn = lo_result->get_arn( ).
lv_resourcegatewaystatus = lo_result->get_status( ).
lv_vpcid = lo_result->get_vpcidentifier( ).
LOOP AT lo_result->get_subnetids( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_subnetid = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_securitygroupids( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_securitygroupid = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
lv_resourcegatewayipaddres = lo_result->get_ipaddresstype( ).
lv_ipv4addressespereni = lo_result->get_ipv4addressespereni( ).
ENDIF.