code: @Override
      public DetachVpnGatewayResult detachVpnGateway(DetachVpnGatewayRequest request) {
          request = beforeClientExecution(request);
          return executeDetachVpnGateway(request);
      }
docs: <p>
  Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it
  anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the
  virtual private gateway (any attachments to the virtual private gateway are also described).
  </p>
  <p>
  You must wait for the attachment's state to switch to <code>detached</code> before you can delete the VPC or
  attach a different VPC to the virtual private gateway.
  </p>
  
  @param detachVpnGatewayRequest
  Contains the parameters for DetachVpnGateway.
  @return Result of the DetachVpnGateway operation returned by the service.
  @sample AmazonEC2.DetachVpnGateway
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway" target="_top">AWS API
  Documentation</a>