code: @Override
      public AllocatePublicVirtualInterfaceResult allocatePublicVirtualInterface(AllocatePublicVirtualInterfaceRequest request) {
          request = beforeClientExecution(request);
          return executeAllocatePublicVirtualInterface(request);
      }
docs: <p>
  Provisions a public virtual interface to be owned by the specified AWS account.
  </p>
  <p>
  The owner of a connection calls this function to provision a public virtual interface to be owned by the
  specified AWS account.
  </p>
  <p>
  Virtual interfaces created using this function must be confirmed by the owner using
  <a>ConfirmPublicVirtualInterface</a>. Until this step has been completed, the virtual interface is in the
  <code>confirming</code> state and is not available to handle traffic.
  </p>
  <p>
  When creating an IPv6 public virtual interface, omit the Amazon address and customer address. IPv6 addresses are
  automatically assigned from the Amazon pool of IPv6 addresses; you cannot specify custom IPv6 addresses.
  </p>
  
  @param allocatePublicVirtualInterfaceRequest
  @return Result of the AllocatePublicVirtualInterface operation returned by the service.
  @throws DirectConnectServerException
  A server-side error occurred.
  @throws DirectConnectClientException
  One or more parameters are not valid.
  @sample AmazonDirectConnect.AllocatePublicVirtualInterface
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AllocatePublicVirtualInterface"
  target="_top">AWS API Documentation</a>