Skip to content

modify_vpc_encryption_control

modify_vpc_encryption_control(
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    dry_run: Optional[Boolean] = None,
    vpc_encryption_control_id: Optional[VpcEncryptionControlId] = None,
    mode: Optional[VpcEncryptionControlMode] = None,
    internet_gateway_exclusion: Optional[
        VpcEncryptionControlExclusionStateInput
    ] = None,
    egress_only_internet_gateway_exclusion: Optional[
        VpcEncryptionControlExclusionStateInput
    ] = None,
    nat_gateway_exclusion: Optional[VpcEncryptionControlExclusionStateInput] = None,
    virtual_private_gateway_exclusion: Optional[
        VpcEncryptionControlExclusionStateInput
    ] = None,
    vpc_peering_exclusion: Optional[VpcEncryptionControlExclusionStateInput] = None,
    lambda_exclusion: Optional[VpcEncryptionControlExclusionStateInput] = None,
    vpc_lattice_exclusion: Optional[VpcEncryptionControlExclusionStateInput] = None,
    elastic_file_system_exclusion: Optional[
        VpcEncryptionControlExclusionStateInput
    ] = None,
) -> ModifyVpcEncryptionControlResult

Modifies the encryption control configuration for a VPC. You can update the encryption mode and exclusion settings for various gateway types and peering connections.

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

Parameters:

Raises:

Source code in docs_src/capo_ec2/_services/ec2.py
def modify_vpc_encryption_control(
    self,
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
    vpc_encryption_control_id: Optional[
        "capo_ec2.types.vpc_encryption_control_id.VpcEncryptionControlId"
    ] = None,
    mode: Optional[
        "capo_ec2.types.vpc_encryption_control_mode.VpcEncryptionControlMode"
    ] = None,
    internet_gateway_exclusion: Optional[
        "capo_ec2.types.vpc_encryption_control_exclusion_state_input.VpcEncryptionControlExclusionStateInput"
    ] = None,
    egress_only_internet_gateway_exclusion: Optional[
        "capo_ec2.types.vpc_encryption_control_exclusion_state_input.VpcEncryptionControlExclusionStateInput"
    ] = None,
    nat_gateway_exclusion: Optional[
        "capo_ec2.types.vpc_encryption_control_exclusion_state_input.VpcEncryptionControlExclusionStateInput"
    ] = None,
    virtual_private_gateway_exclusion: Optional[
        "capo_ec2.types.vpc_encryption_control_exclusion_state_input.VpcEncryptionControlExclusionStateInput"
    ] = None,
    vpc_peering_exclusion: Optional[
        "capo_ec2.types.vpc_encryption_control_exclusion_state_input.VpcEncryptionControlExclusionStateInput"
    ] = None,
    lambda_exclusion: Optional[
        "capo_ec2.types.vpc_encryption_control_exclusion_state_input.VpcEncryptionControlExclusionStateInput"
    ] = None,
    vpc_lattice_exclusion: Optional[
        "capo_ec2.types.vpc_encryption_control_exclusion_state_input.VpcEncryptionControlExclusionStateInput"
    ] = None,
    elastic_file_system_exclusion: Optional[
        "capo_ec2.types.vpc_encryption_control_exclusion_state_input.VpcEncryptionControlExclusionStateInput"
    ] = None,
) -> "capo_ec2.types.modify_vpc_encryption_control_result.ModifyVpcEncryptionControlResult":
    """<p>Modifies the encryption control configuration for a VPC. You can update the encryption mode and exclusion settings for various gateway types and peering connections.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html">Enforce VPC encryption in transit</a> in the <i>Amazon VPC User Guide</i>.</p>

    Args:
        dry_run: <p>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 <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
        vpc_encryption_control_id: <p>The ID of the VPC Encryption Control resource to modify.</p>
        mode: <p>The encryption mode for the VPC Encryption Control configuration.</p>
        internet_gateway_exclusion: <p>Specifies whether to exclude internet gateway traffic from encryption enforcement.</p>
        egress_only_internet_gateway_exclusion: <p>Specifies whether to exclude egress-only internet gateway traffic from encryption enforcement.</p>
        nat_gateway_exclusion: <p>Specifies whether to exclude NAT gateway traffic from encryption enforcement.</p>
        virtual_private_gateway_exclusion: <p>Specifies whether to exclude virtual private gateway traffic from encryption enforcement.</p>
        vpc_peering_exclusion: <p>Specifies whether to exclude VPC peering connection traffic from encryption enforcement.</p>
        lambda_exclusion: <p>Specifies whether to exclude Lambda function traffic from encryption enforcement.</p>
        vpc_lattice_exclusion: <p>Specifies whether to exclude VPC Lattice traffic from encryption enforcement.</p>
        elastic_file_system_exclusion: <p>Specifies whether to exclude Elastic File System traffic from encryption enforcement.</p>

    Raises:
        capo_ec2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_ec2.types.modify_vpc_encryption_control_request.ModifyVpcEncryptionControlRequest]",
    ) -> OperationResponse[
        "capo_ec2.types.modify_vpc_encryption_control_result.ModifyVpcEncryptionControlResult"
    ]:
        import capo_ec2._operations.amazon_ec2.modify_vpc_encryption_control

        output, http_response = (
            capo_ec2._operations.amazon_ec2.modify_vpc_encryption_control.modify_vpc_encryption_control(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ModifyVpcEncryptionControl")
    )
    input_: capo_ec2.types.modify_vpc_encryption_control_request.ModifyVpcEncryptionControlRequest = {}
    if dry_run is not None:
        input_["dry_run"] = dry_run
    if vpc_encryption_control_id is not None:
        input_["vpc_encryption_control_id"] = vpc_encryption_control_id
    if mode is not None:
        input_["mode"] = mode
    if internet_gateway_exclusion is not None:
        input_["internet_gateway_exclusion"] = internet_gateway_exclusion
    if egress_only_internet_gateway_exclusion is not None:
        input_["egress_only_internet_gateway_exclusion"] = (
            egress_only_internet_gateway_exclusion
        )
    if nat_gateway_exclusion is not None:
        input_["nat_gateway_exclusion"] = nat_gateway_exclusion
    if virtual_private_gateway_exclusion is not None:
        input_["virtual_private_gateway_exclusion"] = (
            virtual_private_gateway_exclusion
        )
    if vpc_peering_exclusion is not None:
        input_["vpc_peering_exclusion"] = vpc_peering_exclusion
    if lambda_exclusion is not None:
        input_["lambda_exclusion"] = lambda_exclusion
    if vpc_lattice_exclusion is not None:
        input_["vpc_lattice_exclusion"] = vpc_lattice_exclusion
    if elastic_file_system_exclusion is not None:
        input_["elastic_file_system_exclusion"] = elastic_file_system_exclusion

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output