github.com/gophercloud/gophercloud@v1.11.0/openstack/networking/v2/extensions/layer3/portforwarding/doc.go (about) 1 /* 2 package portforwarding enables management and retrieval of port forwarding resources for Floating IPs from the 3 OpenStack Networking service. 4 5 Example to list all Port Forwardings for a floating IP 6 7 fipID := "2f245a7b-796b-4f26-9cf9-9e82d248fda7" 8 allPages, err := portforwarding.List(client, portforwarding.ListOpts{}, fipID).AllPages() 9 if err != nil { 10 panic(err) 11 } 12 13 allPFs, err := portforwarding.ExtractPortForwardings(allPages) 14 if err != nil { 15 panic(err) 16 } 17 18 for _, pf := range allPFs { 19 fmt.Printf("%+v\n", pf) 20 } 21 22 Example to Get a Port Forwarding with a certain ID 23 24 fipID := "2f245a7b-796b-4f26-9cf9-9e82d248fda7" 25 pfID := "725ade3c-9760-4880-8080-8fc2dbab9acc" 26 pf, err := portforwarding.Get(client, fipID, pfID).Extract() 27 if err != nil { 28 panic(err) 29 } 30 31 Example to Create a Port Forwarding for a floating IP 32 33 createOpts := &portforwarding.CreateOpts{ 34 Protocol: "tcp", 35 InternalPort: 25, 36 ExternalPort: 2230, 37 InternalIPAddress: internalIP, 38 InternalPortID: portID, 39 } 40 41 pf, err := portforwarding.Create(networkingClient, floatingIPID, createOpts).Extract() 42 43 if err != nil { 44 panic(err) 45 } 46 47 Example to Update a Port Forwarding 48 49 updateOpts := portforwarding.UpdateOpts{ 50 Protocol: "udp", 51 InternalPort: 30, 52 ExternalPort: 678, 53 } 54 fipID := "2f245a7b-796b-4f26-9cf9-9e82d248fda7" 55 pfID := "725ade3c-9760-4880-8080-8fc2dbab9acc" 56 57 pf, err := portforwarding.Update(client, fipID, pfID, updateOpts).Extract() 58 if err != nil { 59 panic(err) 60 } 61 62 Example to Delete a Port forwarding 63 64 fipID := "2f245a7b-796b-4f26-9cf9-9e82d248fda7" 65 pfID := "725ade3c-9760-4880-8080-8fc2dbab9acc" 66 err := portforwarding.Delete(networkClient, fipID, pfID).ExtractErr() 67 if err != nil { 68 panic(err) 69 } 70 */ 71 package portforwarding