github.com/gophercloud/gophercloud@v1.11.0/openstack/networking/v2/extensions/vlantransparent/doc.go (about)

     1  /*
     2  Package vlantransparent provides the ability to retrieve and manage networks
     3  with the vlan-transparent extension through the Neutron API.
     4  
     5  Example of Listing Networks with the vlan-transparent extension
     6  
     7  	    iTrue := true
     8  	    networkListOpts := networks.ListOpts{}
     9  	    listOpts := vlantransparent.ListOptsExt{
    10  	        ListOptsBuilder: networkListOpts,
    11  	        VLANTransparent: &iTrue,
    12  	    }
    13  
    14  	    type NetworkWithVLANTransparentExt struct {
    15  	        networks.Network
    16  	        vlantransparent.NetworkVLANTransparentExt
    17  	    }
    18  
    19  	    var allNetworks []NetworkWithVLANTransparentExt
    20  
    21  	    allPages, err := networks.List(networkClient, listOpts).AllPages()
    22  	    if err != nil {
    23  	        panic(err)
    24  	    }
    25  
    26  	    err = networks.ExtractNetworksInto(allPages, &allNetworks)
    27  	    if err != nil {
    28  	        panic(err)
    29  	    }
    30  
    31  	    for _, network := range allNetworks {
    32  	        fmt.Printf("%+v\n", network)
    33  		}
    34  
    35  Example of Getting a Network with the vlan-transparent extension
    36  
    37  	var network struct {
    38  		networks.Network
    39  		vlantransparent.TransparentExt
    40  	}
    41  
    42  	err := networks.Get(networkClient, "db193ab3-96e3-4cb3-8fc5-05f4296d0324").ExtractInto(&network)
    43  	if err != nil {
    44  		panic(err)
    45  	}
    46  
    47  	fmt.Printf("%+v\n", network)
    48  
    49  Example of Creating Network with the vlan-transparent extension
    50  
    51  	iTrue := true
    52  	networkCreateOpts := networks.CreateOpts{
    53  		Name:         "private",
    54  	}
    55  
    56  	createOpts := vlantransparent.CreateOptsExt{
    57  		CreateOptsBuilder: &networkCreateOpts,
    58  		VLANTransparent:   &iTrue,
    59  	}
    60  
    61  	var network struct {
    62  		networks.Network
    63  		vlantransparent.TransparentExt
    64  	}
    65  
    66  	err := networks.Create(networkClient, createOpts).ExtractInto(&network)
    67  	if err != nil {
    68  		panic(err)
    69  	}
    70  
    71  	fmt.Printf("%+v\n", network)
    72  
    73  Example of Updating Network with the vlan-transparent extension
    74  
    75  	iFalse := false
    76  	networkUpdateOpts := networks.UpdateOpts{
    77  		Name:         "new_network_name",
    78  	}
    79  
    80  	updateOpts := vlantransparent.UpdateOptsExt{
    81  		UpdateOptsBuilder: &networkUpdateOpts,
    82  		VLANTransparent:   &iFalse,
    83  	}
    84  
    85  	var network struct {
    86  		networks.Network
    87  		vlantransparent.TransparentExt
    88  	}
    89  
    90  	err := networks.Update(networkClient, updateOpts).ExtractInto(&network)
    91  	if err != nil {
    92  		panic(err)
    93  	}
    94  
    95  	fmt.Printf("%+v\n", network)
    96  */
    97  package vlantransparent