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

     1  package speakers
     2  
     3  /*
     4  Package speakers contains the functionality for working with Neutron bgp speakers.
     5  
     6  
     7  1. List BGP Speakers, e.g. GET /bgp-speakers
     8  
     9  Example:
    10  
    11          pages, err := speakers.List(c).AllPages()
    12          if err != nil {
    13                  log.Panic(err)
    14          }
    15          allSpeakers, err := speakers.ExtractBGPSpeakers(pages)
    16          if err != nil {
    17                  log.Panic(err)
    18          }
    19  
    20          for _, speaker := range allSpeakers {
    21                  log.Printf("%+v", speaker)
    22          }
    23  
    24  
    25  2. Get BGP speakers, e.g. GET /bgp-speakers/{id}
    26  
    27  Example:
    28  
    29          speaker, err := speakers.Get(c, id).Extract()
    30          if err != nil {
    31                  log.Panic(nil)
    32          }
    33          log.Printf("%+v", *speaker)
    34  
    35  
    36  3. Create BGP Speaker, a.k.a. POST /bgp-speakers
    37  
    38  Example:
    39  
    40          opts := speakers.CreateOpts{
    41                  IPVersion:                     6,
    42                  AdvertiseFloatingIPHostRoutes: false,
    43                  AdvertiseTenantNetworks:       true,
    44                  Name:                          "gophercloud-testing-bgp-speaker",
    45                  LocalAS:                       "2000",
    46                  Networks:                      []string{},
    47          }
    48          r, err := speakers.Create(c, opts).Extract()
    49          if err != nil {
    50                  log.Panic(err)
    51          }
    52          log.Printf("%+v", *r)
    53  
    54  
    55  5. Delete BGP Speaker, a.k.a. DELETE /bgp-speakers/{id}
    56  
    57  Example:
    58  
    59          err := speakers.Delete(auth, speakerID).ExtractErr()
    60          if err != nil {
    61                  log.Panic(err)
    62          }
    63          log.Printf("Speaker Deleted")
    64  
    65  
    66  6. Update BGP Speaker
    67  
    68  Example:
    69  
    70          opts := speakers.UpdateOpts{
    71                  Name:                          "testing-bgp-speaker",
    72                  AdvertiseTenantNetworks:       false,
    73                  AdvertiseFloatingIPHostRoutes: true,
    74          }
    75          spk, err := speakers.Update(c, bgpSpeakerID, opts).Extract()
    76          if err != nil {
    77                  log.Panic(err)
    78          }
    79          log.Printf("%+v", spk)
    80  
    81  
    82  7. Add BGP Peer, a.k.a. PUT /bgp-speakers/{id}/add_bgp_peer
    83  
    84  Example:
    85  
    86          opts := speakers.AddBGPPeerOpts{BGPPeerID: bgpPeerID}
    87          r, err := speakers.AddBGPPeer(c, bgpSpeakerID, opts).Extract()
    88          if err != nil {
    89                  log.Panic(err)
    90          }
    91          log.Printf("%+v", r)
    92  
    93  
    94  8. Remove BGP Peer, a.k.a. PUT /bgp-speakers/{id}/remove_bgp_peer
    95  
    96  Example:
    97  
    98          opts := speakers.RemoveBGPPeerOpts{BGPPeerID: bgpPeerID}
    99          err := speakers.RemoveBGPPeer(c, bgpSpeakerID, opts).ExtractErr()
   100          if err != nil {
   101                  log.Panic(err)
   102          }
   103          log.Printf("Successfully removed BGP Peer")
   104  
   105  
   106  9. Get advertised routes, a.k.a. GET /bgp-speakers/{id}/get_advertised_routes
   107  
   108  Example:
   109  
   110          pages, err := speakers.GetAdvertisedRoutes(c, speakerID).AllPages()
   111          if err != nil {
   112                  log.Panic(err)
   113          }
   114          routes, err := speakers.ExtractAdvertisedRoutes(pages)
   115          if err != nil {
   116                  log.Panic(err)
   117          }
   118          for _, r := range routes {
   119                  log.Printf("%+v", r)
   120          }
   121  
   122  
   123  10. Add geteway network to BGP Speaker, a.k.a. PUT /bgp-speakers/{id}/add_gateway_network
   124  
   125  Example:
   126  
   127  
   128          opts := speakers.AddGatewayNetworkOpts{NetworkID: networkID}
   129          r, err := speakers.AddGatewayNetwork(c, speakerID, opts).Extract()
   130          if err != nil {
   131                  log.Panic(err)
   132          }
   133          log.Printf("%+v", r)
   134  
   135  
   136  11. Remove gateway network to BGP Speaker, a.k.a. PUT /bgp-speakers/{id}/remove_gateway_network
   137  
   138  Example:
   139  
   140          opts := speakers.RemoveGatewayNetworkOpts{NetworkID: networkID}
   141          err := speakers.RemoveGatewayNetwork(c, speakerID, opts).ExtractErr()
   142          if err != nil {
   143                  log.Panic(err)
   144          }
   145          log.Printf("Successfully removed gateway network")
   146  */