Skip to content

/AWS1/IF_BDA=>CREATEVPCCONFIGURATION()

About CreateVpcConfiguration

Creates a VPC configuration that lets a knowledge base connect to a resource in your private VPC. This operation is asynchronous: it returns a vpcConfigurationId with status CREATING. Poll GetVpcConfiguration until the status becomes CREATED or CREATE_FAILED.

Method Signature

METHODS /AWS1/IF_BDA~CREATEVPCCONFIGURATION
  IMPORTING
    !IV_KNOWLEDGEBASEID TYPE /AWS1/BDAID OPTIONAL
    !IV_CLIENTTOKEN TYPE /AWS1/BDACLIENTTOKEN OPTIONAL
    !IV_VPCID TYPE /AWS1/BDAVPCID OPTIONAL
    !IT_SUBNETIDS TYPE /AWS1/CL_BDASUBNETIDLIST_W=>TT_SUBNETIDLIST OPTIONAL
    !IV_RESOURCETARGET TYPE /AWS1/BDARESOURCETARGET OPTIONAL
    !IV_PORT TYPE /AWS1/BDAPORT OPTIONAL
    !IV_PROTOCOL TYPE /AWS1/BDAVPCPROTOCOL OPTIONAL
    !IV_RESOLUTIONMODE TYPE /AWS1/BDAVPCRESOLUTIONMODE OPTIONAL
    !IV_HOSTHEADER TYPE /AWS1/BDAHOSTHEADER OPTIONAL
    !IV_TLSSERVERNAME TYPE /AWS1/BDATLSSERVERNAME OPTIONAL
    !IV_NAME TYPE /AWS1/BDAVPCCONFIGURATIONNAME OPTIONAL
    !IV_DESCRIPTION TYPE /AWS1/BDAVPCCONFDESCRIPTION OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_bdacreatevpcconfrsp
  RAISING
    /AWS1/CX_BDAACCESSDENIEDEX
    /AWS1/CX_BDACONFLICTEXCEPTION
    /AWS1/CX_BDAINTERNALSERVEREX
    /AWS1/CX_BDARESOURCENOTFOUNDEX
    /AWS1/CX_BDASERVICEQUOTAEXCDEX
    /AWS1/CX_BDATHROTTLINGEX
    /AWS1/CX_BDAVALIDATIONEX
    /AWS1/CX_BDACLIENTEXC
    /AWS1/CX_BDASERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_knowledgebaseid TYPE /AWS1/BDAID /AWS1/BDAID

The unique identifier of the knowledge base to associate this VPC configuration with.

iv_vpcid TYPE /AWS1/BDAVPCID /AWS1/BDAVPCID

The identifier of the VPC that the knowledge base connects through to reach the resource.

it_subnetids TYPE /AWS1/CL_BDASUBNETIDLIST_W=>TT_SUBNETIDLIST TT_SUBNETIDLIST

The subnets, in the VPC identified by vpcId, that the knowledge base uses to connect to the resource.

iv_resourcetarget TYPE /AWS1/BDARESOURCETARGET /AWS1/BDARESOURCETARGET

The private IPv4 address or DNS name of the resource you want the knowledge base to reach. The target must be privately reachable from inside your VPC, such as an internal load balancer or a private IP. The following are not supported:

  • Internet-facing endpoints

  • Loopback addresses

  • Link-local addresses

  • Wildcard addresses

  • Multicast addresses

  • IPv6 literals

iv_port TYPE /AWS1/BDAPORT /AWS1/BDAPORT

The port on which to reach the resource.

iv_protocol TYPE /AWS1/BDAVPCPROTOCOL /AWS1/BDAVPCPROTOCOL

The protocol used to connect to the resource. Specify HTTP for plaintext or HTTPS for TLS. When you specify HTTPS, you must also provide tlsServerName.

iv_resolutionmode TYPE /AWS1/BDAVPCRESOLUTIONMODE /AWS1/BDAVPCRESOLUTIONMODE

Controls how a domain-name resourceTarget is resolved. This applies only when the target is a domain name; it has no effect for IP-address targets, which have no name to resolve. In all cases the resolved address must be reachable from inside your VPC. Valid values:

  • IN_VPC (default, recommended) – The target domain name is resolved privately, using the DNS resolvers of the VPC, such as private Route 53 hosted zones or on-premises DNS reachable from the VPC. Use this for targets that are private to your VPC, such as internal load balancers, private hosted-zone names, or on-premises hosts.

  • PUBLIC – The target domain name is resolved against public DNS resolvers. Select this only when the target's domain name must be resolved through public DNS and the resulting address is still reachable from the VPC, an uncommon split-horizon configuration. If you are unsure, use IN_VPC.

Optional arguments:

iv_clienttoken TYPE /AWS1/BDACLIENTTOKEN /AWS1/BDACLIENTTOKEN

A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, the service ignores the request but does not return an error.

iv_hostheader TYPE /AWS1/BDAHOSTHEADER /AWS1/BDAHOSTHEADER

An optional HTTP Host header value to send when invoking the resource. Set this only if your resource (or an upstream router or ingress) routes by the Host header and that host differs from the target. This setting is independent of tlsServerName.

iv_tlsservername TYPE /AWS1/BDATLSSERVERNAME /AWS1/BDATLSSERVERNAME

The expected TLS server name. The service matches this value against the Subject Alternative Names on your resource's TLS certificate during invocation. This field is required when protocol is HTTPS. Set it to a hostname on your certificate, such as app.internal.example.com. You can use a single leftmost wildcard, such as *.example.com. The value must be a hostname without a port.

iv_name TYPE /AWS1/BDAVPCCONFIGURATIONNAME /AWS1/BDAVPCCONFIGURATIONNAME

An optional human-readable name for the VPC configuration. If you don't specify a name, the VPC configuration has no name.

iv_description TYPE /AWS1/BDAVPCCONFDESCRIPTION /AWS1/BDAVPCCONFDESCRIPTION

An optional description of the VPC configuration. If you don't specify a description, the VPC configuration has no description.

RETURNING

oo_output TYPE REF TO /aws1/cl_bdacreatevpcconfrsp /AWS1/CL_BDACREATEVPCCONFRSP

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->createvpcconfiguration(
  it_subnetids = VALUE /aws1/cl_bdasubnetidlist_w=>tt_subnetidlist(
    ( new /aws1/cl_bdasubnetidlist_w( |string| ) )
  )
  iv_clienttoken = |string|
  iv_description = |string|
  iv_hostheader = |string|
  iv_knowledgebaseid = |string|
  iv_name = |string|
  iv_port = 123
  iv_protocol = |string|
  iv_resolutionmode = |string|
  iv_resourcetarget = |string|
  iv_tlsservername = |string|
  iv_vpcid = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_vpcconfigurationid = lo_result->get_vpcconfigurationid( ).
  lv_vpcconfigurationstatus = lo_result->get_status( ).
ENDIF.