Skip to content

/AWS1/IF_EC2=>CREATEVPCENCRYPTIONCONTROL()

About CreateVpcEncryptionControl

Creates a VPC Encryption Control configuration for a specified VPC. VPC Encryption Control enables you to enforce encryption for all data in transit within and between VPCs to meet compliance requirements for standards like HIPAA, FedRAMP, and PCI DSS.

For more information, see Enforce VPC encryption in transit in the Amazon VPC User Guide.

Method Signature

METHODS /AWS1/IF_EC2~CREATEVPCENCRYPTIONCONTROL
  IMPORTING
    !IV_DRYRUN TYPE /AWS1/EC2BOOLEAN OPTIONAL
    !IV_VPCID TYPE /AWS1/EC2VPCID OPTIONAL
    !IT_TAGSPECIFICATIONS TYPE /AWS1/CL_EC2TAGSPECIFICATION=>TT_TAGSPECIFICATIONLIST OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_ec2crevpcencctlrslt
  RAISING
    /AWS1/CX_EC2CLIENTEXC
    /AWS1/CX_EC2SERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_vpcid TYPE /AWS1/EC2VPCID /AWS1/EC2VPCID

The ID of the VPC for which to create the encryption control configuration.

Optional arguments:

iv_dryrun TYPE /AWS1/EC2BOOLEAN /AWS1/EC2BOOLEAN

Checks 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.

it_tagspecifications TYPE /AWS1/CL_EC2TAGSPECIFICATION=>TT_TAGSPECIFICATIONLIST TT_TAGSPECIFICATIONLIST

The tags to apply to the VPC Encryption Control resource.

RETURNING

oo_output TYPE REF TO /aws1/cl_ec2crevpcencctlrslt /AWS1/CL_EC2CREVPCENCCTLRSLT

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->createvpcencryptioncontrol(
  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_dryrun = ABAP_TRUE
  iv_vpcid = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_vpcencryptioncontrol = lo_result->get_vpcencryptioncontrol( ).
  IF lo_vpcencryptioncontrol IS NOT INITIAL.
    lv_vpcid = lo_vpcencryptioncontrol->get_vpcid( ).
    lv_vpcencryptioncontrolid = lo_vpcencryptioncontrol->get_vpcencryptioncontrolid( ).
    lv_vpcencryptioncontrolmod = lo_vpcencryptioncontrol->get_mode( ).
    lv_vpcencryptioncontrolsta = lo_vpcencryptioncontrol->get_state( ).
    lv_string = lo_vpcencryptioncontrol->get_statemessage( ).
    lo_vpcencryptioncontrolexc = lo_vpcencryptioncontrol->get_resourceexclusions( ).
    IF lo_vpcencryptioncontrolexc IS NOT INITIAL.
      lo_vpcencryptioncontrolexc_1 = lo_vpcencryptioncontrolexc->get_internetgateway( ).
      IF lo_vpcencryptioncontrolexc_1 IS NOT INITIAL.
        lv_vpcencryptioncontrolexc_2 = lo_vpcencryptioncontrolexc_1->get_state( ).
        lv_string = lo_vpcencryptioncontrolexc_1->get_statemessage( ).
      ENDIF.
      lo_vpcencryptioncontrolexc_1 = lo_vpcencryptioncontrolexc->get_egressonlyinternetgw( ).
      IF lo_vpcencryptioncontrolexc_1 IS NOT INITIAL.
        lv_vpcencryptioncontrolexc_2 = lo_vpcencryptioncontrolexc_1->get_state( ).
        lv_string = lo_vpcencryptioncontrolexc_1->get_statemessage( ).
      ENDIF.
      lo_vpcencryptioncontrolexc_1 = lo_vpcencryptioncontrolexc->get_natgateway( ).
      IF lo_vpcencryptioncontrolexc_1 IS NOT INITIAL.
        lv_vpcencryptioncontrolexc_2 = lo_vpcencryptioncontrolexc_1->get_state( ).
        lv_string = lo_vpcencryptioncontrolexc_1->get_statemessage( ).
      ENDIF.
      lo_vpcencryptioncontrolexc_1 = lo_vpcencryptioncontrolexc->get_virtualprivategateway( ).
      IF lo_vpcencryptioncontrolexc_1 IS NOT INITIAL.
        lv_vpcencryptioncontrolexc_2 = lo_vpcencryptioncontrolexc_1->get_state( ).
        lv_string = lo_vpcencryptioncontrolexc_1->get_statemessage( ).
      ENDIF.
      lo_vpcencryptioncontrolexc_1 = lo_vpcencryptioncontrolexc->get_vpcpeering( ).
      IF lo_vpcencryptioncontrolexc_1 IS NOT INITIAL.
        lv_vpcencryptioncontrolexc_2 = lo_vpcencryptioncontrolexc_1->get_state( ).
        lv_string = lo_vpcencryptioncontrolexc_1->get_statemessage( ).
      ENDIF.
      lo_vpcencryptioncontrolexc_1 = lo_vpcencryptioncontrolexc->get_lambda( ).
      IF lo_vpcencryptioncontrolexc_1 IS NOT INITIAL.
        lv_vpcencryptioncontrolexc_2 = lo_vpcencryptioncontrolexc_1->get_state( ).
        lv_string = lo_vpcencryptioncontrolexc_1->get_statemessage( ).
      ENDIF.
      lo_vpcencryptioncontrolexc_1 = lo_vpcencryptioncontrolexc->get_vpclattice( ).
      IF lo_vpcencryptioncontrolexc_1 IS NOT INITIAL.
        lv_vpcencryptioncontrolexc_2 = lo_vpcencryptioncontrolexc_1->get_state( ).
        lv_string = lo_vpcencryptioncontrolexc_1->get_statemessage( ).
      ENDIF.
      lo_vpcencryptioncontrolexc_1 = lo_vpcencryptioncontrolexc->get_elasticfilesystem( ).
      IF lo_vpcencryptioncontrolexc_1 IS NOT INITIAL.
        lv_vpcencryptioncontrolexc_2 = lo_vpcencryptioncontrolexc_1->get_state( ).
        lv_string = lo_vpcencryptioncontrolexc_1->get_statemessage( ).
      ENDIF.
    ENDIF.
    LOOP AT lo_vpcencryptioncontrol->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.
  ENDIF.
ENDIF.