/AWS1/IF_R5R=>CREATERESOLVERENDPOINT()¶
About CreateResolverEndpoint¶
Creates a Resolver endpoint. There are two types of Resolver endpoints, inbound and outbound:
-
An inbound Resolver endpoint forwards DNS queries to the DNS service for a VPC from your network.
-
An outbound Resolver endpoint forwards DNS queries from the DNS service for a VPC to your network.
Method Signature¶
METHODS /AWS1/IF_R5R~CREATERESOLVERENDPOINT
IMPORTING
!IV_CREATORREQUESTID TYPE /AWS1/R5RCREATORREQUESTID OPTIONAL
!IV_NAME TYPE /AWS1/R5RNAME OPTIONAL
!IT_SECURITYGROUPIDS TYPE /AWS1/CL_R5RSECURITYGROUPIDS_W=>TT_SECURITYGROUPIDS OPTIONAL
!IV_DIRECTION TYPE /AWS1/R5RRESOLVERENDPTDIRECT00 OPTIONAL
!IT_IPADDRESSES TYPE /AWS1/CL_R5RIPADDRESSREQUEST=>TT_IPADDRESSESREQUEST OPTIONAL
!IV_OUTPOSTARN TYPE /AWS1/R5ROUTPOSTARN OPTIONAL
!IV_PREFERREDINSTANCETYPE TYPE /AWS1/R5ROUTPOSTINSTANCETYPE OPTIONAL
!IT_TAGS TYPE /AWS1/CL_R5RTAG=>TT_TAGLIST OPTIONAL
!IV_RESOLVERENDPOINTTYPE TYPE /AWS1/R5RRESOLVERENDPOINTTYPE OPTIONAL
!IT_PROTOCOLS TYPE /AWS1/CL_R5RPROTOCOLLIST_W=>TT_PROTOCOLLIST OPTIONAL
!IV_RNIENHANCEDMETRICSENABLED TYPE /AWS1/R5RRNIENHMETRICSENABLED OPTIONAL
!IV_TARGETNAMESRVMETENABLED TYPE /AWS1/R5RTGTNAMESRVMETENABLED OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_r5rcreresolverendpt01
RAISING
/AWS1/CX_R5RACCESSDENIEDEX
/AWS1/CX_R5RINTERNALSVCERROREX
/AWS1/CX_R5RINVALIDPARAMETEREX
/AWS1/CX_R5RINVALIDREQUESTEX
/AWS1/CX_R5RLIMITEXCEEDEDEX
/AWS1/CX_R5RRESOURCEEXISTSEX
/AWS1/CX_R5RRESOURCENOTFOUNDEX
/AWS1/CX_R5RTHROTTLINGEX
/AWS1/CX_R5RCLIENTEXC
/AWS1/CX_R5RSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_creatorrequestid TYPE /AWS1/R5RCREATORREQUESTID /AWS1/R5RCREATORREQUESTID¶
A unique string that identifies the request and that allows failed requests to be retried without the risk of running the operation twice.
CreatorRequestIdcan be any unique string, for example, a date/time stamp.
it_securitygroupids TYPE /AWS1/CL_R5RSECURITYGROUPIDS_W=>TT_SECURITYGROUPIDS TT_SECURITYGROUPIDS¶
The ID of one or more security groups that you want to use to control access to this VPC. The security group that you specify must include one or more inbound rules (for inbound Resolver endpoints) or outbound rules (for outbound Resolver endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.
Some security group rules will cause your connection to be tracked. For outbound resolver endpoint, it can potentially impact the maximum queries per second from outbound endpoint to your target name server. For inbound resolver endpoint, it can bring down the overall maximum queries per second per IP address to as low as 1500. To avoid connection tracking caused by security group, see
Untracked connections.
iv_direction TYPE /AWS1/R5RRESOLVERENDPTDIRECT00 /AWS1/R5RRESOLVERENDPTDIRECT00¶
Specify the applicable value:
INBOUND: Resolver forwards DNS queries to the DNS service for a VPC from your network.
OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC to your network.
INBOUND_DELEGATION: Resolver delegates queries to Route 53 private hosted zones from your network.
it_ipaddresses TYPE /AWS1/CL_R5RIPADDRESSREQUEST=>TT_IPADDRESSESREQUEST TT_IPADDRESSESREQUEST¶
The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints). The subnet ID uniquely identifies a VPC.
Even though the minimum is 1, RouteĀ 53 requires that you create at least two.
Optional arguments:¶
iv_name TYPE /AWS1/R5RNAME /AWS1/R5RNAME¶
A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.
iv_outpostarn TYPE /AWS1/R5ROUTPOSTARN /AWS1/R5ROUTPOSTARN¶
The Amazon Resource Name (ARN) of the Outpost. If you specify this, you must also specify a value for the
PreferredInstanceType.
iv_preferredinstancetype TYPE /AWS1/R5ROUTPOSTINSTANCETYPE /AWS1/R5ROUTPOSTINSTANCETYPE¶
The instance type. If you specify this, you must also specify a value for the
OutpostArn.
it_tags TYPE /AWS1/CL_R5RTAG=>TT_TAGLIST TT_TAGLIST¶
A list of the tag keys and values that you want to associate with the endpoint.
iv_resolverendpointtype TYPE /AWS1/R5RRESOLVERENDPOINTTYPE /AWS1/R5RRESOLVERENDPOINTTYPE¶
For the endpoint type you can choose either IPv4, IPv6, or dual-stack. A dual-stack endpoint means that it will resolve via both IPv4 and IPv6. This endpoint type is applied to all IP addresses.
it_protocols TYPE /AWS1/CL_R5RPROTOCOLLIST_W=>TT_PROTOCOLLIST TT_PROTOCOLLIST¶
The protocols you want to use for the endpoint. DoH-FIPS is applicable for default inbound endpoints only.
For a default inbound endpoint you can apply the protocols as follows:
Do53 and DoH in combination.
Do53 and DoH-FIPS in combination.
Do53 alone.
DoH alone.
DoH-FIPS alone.
None, which is treated as Do53.
For a delegation inbound endpoint you can use Do53 only.
For an outbound endpoint you can apply the protocols as follows:
Do53 and DoH in combination.
Do53 alone.
DoH alone.
None, which is treated as Do53.
iv_rnienhancedmetricsenabled TYPE /AWS1/R5RRNIENHMETRICSENABLED /AWS1/R5RRNIENHMETRICSENABLED¶
Specifies whether RNI enhanced metrics are enabled for the Resolver endpoints. When set to true, one-minute granular metrics are published in CloudWatch for each RNI associated with this endpoint. When set to false, metrics are not published. Default is false.
Standard CloudWatch pricing and charges are applied for using the Route 53 Resolver endpoint RNI enhanced metrics. For more information, see Detailed metrics.
iv_targetnamesrvmetenabled TYPE /AWS1/R5RTGTNAMESRVMETENABLED /AWS1/R5RTGTNAMESRVMETENABLED¶
Specifies whether target name server metrics are enabled for the outbound Resolver endpoints. When set to true, one-minute granular metrics are published in CloudWatch for each target name server associated with this endpoint. When set to false, metrics are not published. Default is false. This is not supported for inbound Resolver endpoints.
Standard CloudWatch pricing and charges are applied for using the Route 53 Resolver endpoint target name server metrics. For more information, see Detailed metrics.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_r5rcreresolverendpt01 /AWS1/CL_R5RCRERESOLVERENDPT01¶
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->createresolverendpoint(
it_ipaddresses = VALUE /aws1/cl_r5ripaddressrequest=>tt_ipaddressesrequest(
(
new /aws1/cl_r5ripaddressrequest(
iv_ip = |string|
iv_ipv6 = |string|
iv_subnetid = |string|
)
)
)
it_protocols = VALUE /aws1/cl_r5rprotocollist_w=>tt_protocollist(
( new /aws1/cl_r5rprotocollist_w( |string| ) )
)
it_securitygroupids = VALUE /aws1/cl_r5rsecuritygroupids_w=>tt_securitygroupids(
( new /aws1/cl_r5rsecuritygroupids_w( |string| ) )
)
it_tags = VALUE /aws1/cl_r5rtag=>tt_taglist(
(
new /aws1/cl_r5rtag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_creatorrequestid = |string|
iv_direction = |string|
iv_name = |string|
iv_outpostarn = |string|
iv_preferredinstancetype = |string|
iv_resolverendpointtype = |string|
iv_rnienhancedmetricsenabled = ABAP_TRUE
iv_targetnamesrvmetenabled = ABAP_TRUE
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_resolverendpoint = lo_result->get_resolverendpoint( ).
IF lo_resolverendpoint IS NOT INITIAL.
lv_resourceid = lo_resolverendpoint->get_id( ).
lv_creatorrequestid = lo_resolverendpoint->get_creatorrequestid( ).
lv_arn = lo_resolverendpoint->get_arn( ).
lv_name = lo_resolverendpoint->get_name( ).
LOOP AT lo_resolverendpoint->get_securitygroupids( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_resourceid = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
lv_resolverendpointdirecti = lo_resolverendpoint->get_direction( ).
lv_ipaddresscount = lo_resolverendpoint->get_ipaddresscount( ).
lv_resourceid = lo_resolverendpoint->get_hostvpcid( ).
lv_resolverendpointstatus = lo_resolverendpoint->get_status( ).
lv_statusmessage = lo_resolverendpoint->get_statusmessage( ).
lv_rfc3339timestring = lo_resolverendpoint->get_creationtime( ).
lv_rfc3339timestring = lo_resolverendpoint->get_modificationtime( ).
lv_outpostarn = lo_resolverendpoint->get_outpostarn( ).
lv_outpostinstancetype = lo_resolverendpoint->get_preferredinstancetype( ).
lv_resolverendpointtype = lo_resolverendpoint->get_resolverendpointtype( ).
LOOP AT lo_resolverendpoint->get_protocols( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_protocol = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
lv_rnienhancedmetricsenabl = lo_resolverendpoint->get_rnienhmetricsenabled( ).
lv_targetnameservermetrics = lo_resolverendpoint->get_targetnamesrvmetenabled( ).
ENDIF.
ENDIF.