def attach_vpn_gateway(DryRun=None, VpnGatewayId=None, VpcId=None):
    """
    Attaches a virtual private gateway to a VPC. You can attach one virtual private gateway to one VPC at a time.
    For more information, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide .
    See also: AWS API Documentation
    
    
    :example: response = client.attach_vpn_gateway(
        DryRun=True|False,
        VpnGatewayId='string',
        VpcId='string'
    )
    
    
    :type DryRun: boolean
    :param DryRun: 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 .

    :type VpnGatewayId: string
    :param VpnGatewayId: [REQUIRED]
            The ID of the virtual private gateway.
            

    :type VpcId: string
    :param VpcId: [REQUIRED]
            The ID of the VPC.
            

    :rtype: dict
    :return: {
        'VpcAttachment': {
            'VpcId': 'string',
            'State': 'attaching'|'attached'|'detaching'|'detached'
        }
    }
    
    
    """
    pass
