/AWS1/IF_VL=>CREATERESOURCECONFIGURATION()¶
About CreateResourceConfiguration¶
Creates a resource configuration. A resource configuration defines a specific resource. You can associate a resource configuration with a service network or a VPC endpoint.
Method Signature¶
METHODS /AWS1/IF_VL~CREATERESOURCECONFIGURATION
IMPORTING
!IV_NAME TYPE /AWS1/VL_RESOURCECONFNAME OPTIONAL
!IV_TYPE TYPE /AWS1/VL_RESOURCECONFTYPE OPTIONAL
!IT_PORTRANGES TYPE /AWS1/CL_VL_PORTRANGELIST_W=>TT_PORTRANGELIST OPTIONAL
!IV_PROTOCOL TYPE /AWS1/VL_PROTOCOLTYPE OPTIONAL
!IV_RESOURCEGATEWAYIDENTIFIER TYPE /AWS1/VL_RESOURCEGATEWAYID00 OPTIONAL
!IV_RESOURCECONFGROUPID00 TYPE /AWS1/VL_RESOURCECONFID OPTIONAL
!IO_RESOURCECONFDEFINITION TYPE REF TO /AWS1/CL_VL_RESOURCECONFDEFN OPTIONAL
!IV_ALWASSOCIATIONTOSHAREAB00 TYPE /AWS1/VL_BOOLEAN OPTIONAL
!IV_CUSTOMDOMAINNAME TYPE /AWS1/VL_DOMAINNAME OPTIONAL
!IV_GROUPDOMAIN TYPE /AWS1/VL_DOMAINNAME OPTIONAL
!IV_DOMAINVERIFIDENTIFIER TYPE /AWS1/VL_DOMAINVERIFIDENTIFIER OPTIONAL
!IV_CLIENTTOKEN TYPE /AWS1/VL_CLIENTTOKEN OPTIONAL
!IT_TAGS TYPE /AWS1/CL_VL_TAGMAP_W=>TT_TAGMAP OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_vl_createresrcconfrsp
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_RESOURCECONFNAME /AWS1/VL_RESOURCECONFNAME¶
The name of the resource configuration. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.
iv_type TYPE /AWS1/VL_RESOURCECONFTYPE /AWS1/VL_RESOURCECONFTYPE¶
The type of resource configuration. A resource configuration can be one of the following types:
SINGLE - A single resource.
GROUP - A group of resources. You must create a group resource configuration before you create a child resource configuration.
CHILD - A single resource that is part of a group resource configuration.
ARN - An Amazon Web Services resource.
CIDR - A network segment, expressed as a range of IP addresses (a CIDR block). Use this type to share a portion of your network rather than an individual resource. A consumer accesses the resources within the CIDR range through a
TunnelVPC endpoint. You can't add a CIDR resource configuration to a service network. A CIDR resource configuration must be associated with a resource gateway whose DNS resolution is set toIN_VPC.
Optional arguments:¶
it_portranges TYPE /AWS1/CL_VL_PORTRANGELIST_W=>TT_PORTRANGELIST TT_PORTRANGELIST¶
(SINGLE, GROUP, CHILD, CIDR) The port ranges that a consumer can use to access a resource configuration (for example: 1-65535). You can separate port ranges using commas (for example: 1,2,22-30). To resolve DNS through a CIDR resource configuration, include port 53 in the port ranges.
iv_protocol TYPE /AWS1/VL_PROTOCOLTYPE /AWS1/VL_PROTOCOLTYPE¶
(SINGLE, GROUP, CIDR) The protocol accepted by the resource configuration. The default is
TCP.TCP_UDPis supported only for CIDR resource configurations; specify it for a CIDR resource configuration to allow DNS resolution, which uses UDP.
iv_resourcegatewayidentifier TYPE /AWS1/VL_RESOURCEGATEWAYID00 /AWS1/VL_RESOURCEGATEWAYID00¶
(SINGLE, GROUP, ARN, CIDR) The ID or ARN of the resource gateway used to connect to the resource configuration. For a child resource configuration, this value is inherited from the parent resource configuration. For a CIDR resource configuration, the associated resource gateway must have its DNS resolution set to
IN_VPCso that DNS queries resolve in the context of your VPC.
iv_resourceconfgroupid00 TYPE /AWS1/VL_RESOURCECONFID /AWS1/VL_RESOURCECONFID¶
(CHILD) The ID or ARN of the parent resource configuration of type
GROUP. This is used to associate a child resource configuration with a group resource configuration.
io_resourceconfdefinition TYPE REF TO /AWS1/CL_VL_RESOURCECONFDEFN /AWS1/CL_VL_RESOURCECONFDEFN¶
Identifies the resource configuration in one of the following ways:
Amazon Resource Name (ARN) - Supported resource-types that are provisioned by Amazon Web Services services, such as RDS databases, can be identified by their ARN.
Domain name - Any domain name that is publicly resolvable.
IP address - For IPv4 and IPv6, only IP addresses in the VPC are supported.
CIDR range - For a resource configuration of type CIDR, specify a
cidrResourcewith one or morecidrRanges(for example,10.0.0.0/16) that cover the IP addresses of the resources you want to make accessible. You can specify up to 10 ranges, using IPv4, IPv6, or both, and each range must include a prefix length. To represent your entire network, specify0.0.0.0/0(IPv4) or::/0(IPv6) as the only range. You can't use reserved ranges such as169.254.0.0/16,100.64.0.0/10,224.0.0.0/4,fe80::/10, orff00::/8.
iv_alwassociationtoshareab00 TYPE /AWS1/VL_BOOLEAN /AWS1/VL_BOOLEAN¶
(SINGLE, GROUP, ARN) Specifies whether the resource configuration can be associated with a sharable service network. The default is false.
iv_customdomainname TYPE /AWS1/VL_DOMAINNAME /AWS1/VL_DOMAINNAME¶
A custom domain name for your resource configuration. Additionally, provide a DomainVerificationID to prove your ownership of a domain.
iv_groupdomain TYPE /AWS1/VL_DOMAINNAME /AWS1/VL_DOMAINNAME¶
(GROUP) The group domain for a group resource configuration. Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain.
iv_domainverifidentifier TYPE /AWS1/VL_DOMAINVERIFIDENTIFIER /AWS1/VL_DOMAINVERIFIDENTIFIER¶
The domain verification ID of your verified custom domain name. If you don't provide an ID, you must configure the DNS settings yourself.
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.
it_tags TYPE /AWS1/CL_VL_TAGMAP_W=>TT_TAGMAP TT_TAGMAP¶
The tags for the resource configuration.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_vl_createresrcconfrsp /AWS1/CL_VL_CREATERESRCCONFRSP¶
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->createresourceconfiguration(
io_resourceconfdefinition = new /aws1/cl_vl_resourceconfdefn(
io_arnresource = new /aws1/cl_vl_arnresource( |string| )
io_cidrresource = new /aws1/cl_vl_cidrresource(
it_cidrranges = VALUE /aws1/cl_vl_cidrrangelist_w=>tt_cidrrangelist(
( new /aws1/cl_vl_cidrrangelist_w( |string| ) )
)
)
io_dnsresource = new /aws1/cl_vl_dnsresource(
iv_domainname = |string|
iv_ipaddresstype = |string|
)
io_ipresource = new /aws1/cl_vl_ipresource( |string| )
)
it_portranges = VALUE /aws1/cl_vl_portrangelist_w=>tt_portrangelist(
( new /aws1/cl_vl_portrangelist_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_alwassociationtoshareab00 = ABAP_TRUE
iv_clienttoken = |string|
iv_customdomainname = |string|
iv_domainverifidentifier = |string|
iv_groupdomain = |string|
iv_name = |string|
iv_protocol = |string|
iv_resourceconfgroupid00 = |string|
iv_resourcegatewayidentifier = |string|
iv_type = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_resourceconfigurationid = lo_result->get_id( ).
lv_resourceconfigurationna = lo_result->get_name( ).
lv_resourceconfigurationar = lo_result->get_arn( ).
lv_resourcegatewayid = lo_result->get_resourcegatewayid( ).
lv_resourceconfigurationid = lo_result->get_resourceconfgroupid( ).
lv_resourceconfigurationty = lo_result->get_type( ).
LOOP AT lo_result->get_portranges( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_portrange = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
lv_protocoltype = lo_result->get_protocol( ).
lv_resourceconfigurationst = lo_result->get_status( ).
lo_resourceconfigurationde = lo_result->get_resourceconfdefinition( ).
IF lo_resourceconfigurationde IS NOT INITIAL.
lo_dnsresource = lo_resourceconfigurationde->get_dnsresource( ).
IF lo_dnsresource IS NOT INITIAL.
lv_domainname = lo_dnsresource->get_domainname( ).
lv_resourceconfigurationip = lo_dnsresource->get_ipaddresstype( ).
ENDIF.
lo_ipresource = lo_resourceconfigurationde->get_ipresource( ).
IF lo_ipresource IS NOT INITIAL.
lv_ipaddress = lo_ipresource->get_ipaddress( ).
ENDIF.
lo_arnresource = lo_resourceconfigurationde->get_arnresource( ).
IF lo_arnresource IS NOT INITIAL.
lv_wildcardarn = lo_arnresource->get_arn( ).
ENDIF.
lo_cidrresource = lo_resourceconfigurationde->get_cidrresource( ).
IF lo_cidrresource IS NOT INITIAL.
LOOP AT lo_cidrresource->get_cidrranges( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_cidrrange = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
lv_boolean = lo_result->get_alwassociationtosharea00( ).
lv_timestamp = lo_result->get_createdat( ).
lv_string = lo_result->get_failurereason( ).
lv_domainname = lo_result->get_customdomainname( ).
lv_domainverificationid = lo_result->get_domainverificationid( ).
lv_domainname = lo_result->get_groupdomain( ).
lv_domainverificationarn = lo_result->get_domainverificationarn( ).
ENDIF.