Skip to content

/AWS1/IF_EC2=>MODIFYACCOUNTVPCENCCONTROL()

About ModifyAccountVpcEncryptionControl

Modifies the account-level VPC Encryption Control configuration. This sets the encryption control mode and resource exclusions that apply to the VPCs in your account. VPC Encryption Control enables you to enforce encryption for all data in transit within and between VPCs to meet compliance requirements.

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

Method Signature

METHODS /AWS1/IF_EC2~MODIFYACCOUNTVPCENCCONTROL
  IMPORTING
    !IV_DRYRUN TYPE /AWS1/EC2BOOLEAN OPTIONAL
    !IV_MODE TYPE /AWS1/EC2ACCTVPCENCCONTROLMODE OPTIONAL
    !IV_INTERNETGATEWAY TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 OPTIONAL
    !IV_EGRESSONLYINTERNETGATEWAY TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 OPTIONAL
    !IV_NATGATEWAY TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 OPTIONAL
    !IV_VIRTUALPRIVATEGATEWAY TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 OPTIONAL
    !IV_VPCPEERING TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 OPTIONAL
    !IV_LAMBDA TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 OPTIONAL
    !IV_VPCLATTICE TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 OPTIONAL
    !IV_ELASTICFILESYSTEM TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_ec2modaccvpcencctlrs
  RAISING
    /AWS1/CX_EC2CLIENTEXC
    /AWS1/CX_EC2SERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

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.

iv_mode TYPE /AWS1/EC2ACCTVPCENCCONTROLMODE /AWS1/EC2ACCTVPCENCCONTROLMODE

The encryption mode for the account encryption control configuration.

iv_internetgateway TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 /AWS1/EC2VPCENCCTLEXCLUSIONS01

Specifies whether to exclude internet gateway resource from account-level encryption enforcement.

iv_egressonlyinternetgateway TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 /AWS1/EC2VPCENCCTLEXCLUSIONS01

Specifies whether to exclude egress-only internet gateway resource from account-level encryption enforcement.

iv_natgateway TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 /AWS1/EC2VPCENCCTLEXCLUSIONS01

Specifies whether to exclude NAT gateway resource from account-level encryption enforcement.

iv_virtualprivategateway TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 /AWS1/EC2VPCENCCTLEXCLUSIONS01

Specifies whether to exclude virtual private gateway resource from account-level encryption enforcement.

iv_vpcpeering TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 /AWS1/EC2VPCENCCTLEXCLUSIONS01

Specifies whether to exclude VPC peering connection resource from account-level encryption enforcement.

iv_lambda TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 /AWS1/EC2VPCENCCTLEXCLUSIONS01

Specifies whether to exclude Lambda service from account-level encryption enforcement.

iv_vpclattice TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 /AWS1/EC2VPCENCCTLEXCLUSIONS01

Specifies whether to exclude VPC Lattice service from account-level encryption enforcement.

iv_elasticfilesystem TYPE /AWS1/EC2VPCENCCTLEXCLUSIONS01 /AWS1/EC2VPCENCCTLEXCLUSIONS01

Specifies whether to exclude Elastic File System service from account-level encryption enforcement.

RETURNING

oo_output TYPE REF TO /aws1/cl_ec2modaccvpcencctlrs /AWS1/CL_EC2MODACCVPCENCCTLRS

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->modifyaccountvpcenccontrol(
  iv_dryrun = ABAP_TRUE
  iv_egressonlyinternetgateway = |string|
  iv_elasticfilesystem = |string|
  iv_internetgateway = |string|
  iv_lambda = |string|
  iv_mode = |string|
  iv_natgateway = |string|
  iv_virtualprivategateway = |string|
  iv_vpclattice = |string|
  iv_vpcpeering = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_accountvpcencryptioncon = lo_result->get_accountvpcenccontrol( ).
  IF lo_accountvpcencryptioncon IS NOT INITIAL.
    lv_accountvpcencryptioncon_1 = lo_accountvpcencryptioncon->get_state( ).
    lv_accountvpcencryptioncon_2 = lo_accountvpcencryptioncon->get_mode( ).
    lo_accountvpcencryptioncon_3 = lo_accountvpcencryptioncon->get_exclusions( ).
    IF lo_accountvpcencryptioncon_3 IS NOT INITIAL.
      lv_vpcencryptioncontrolexc = lo_accountvpcencryptioncon_3->get_internetgateway( ).
      lv_vpcencryptioncontrolexc = lo_accountvpcencryptioncon_3->get_egressonlyinternetgw( ).
      lv_vpcencryptioncontrolexc = lo_accountvpcencryptioncon_3->get_natgateway( ).
      lv_vpcencryptioncontrolexc = lo_accountvpcencryptioncon_3->get_virtualprivategateway( ).
      lv_vpcencryptioncontrolexc = lo_accountvpcencryptioncon_3->get_vpcpeering( ).
      lv_vpcencryptioncontrolexc = lo_accountvpcencryptioncon_3->get_lambda( ).
      lv_vpcencryptioncontrolexc = lo_accountvpcencryptioncon_3->get_vpclattice( ).
      lv_vpcencryptioncontrolexc = lo_accountvpcencryptioncon_3->get_elasticfilesystem( ).
    ENDIF.
    lv_managedby = lo_accountvpcencryptioncon->get_managedby( ).
    lv_milliseconddatetime = lo_accountvpcencryptioncon->get_lastupdatetimestamp( ).
  ENDIF.
ENDIF.