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