Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add VRF Support (not-GA) #326

Merged
merged 10 commits into from
May 2, 2022
Merged

Add VRF Support (not-GA) #326

merged 10 commits into from
May 2, 2022

Conversation

displague
Copy link
Member

@displague displague commented Apr 4, 2022

This PR adds support for the upcoming VRF features:

  • vrf.go adds the new service operator for VRF endpoints
  • all the new request and response fields for IPReservations, VirtualCircuits, and Gateway are added
  • IPReservations had a Request/Remove method pair I’m deprecating in favor of Create/Delete (for future generic’ing)
  • IPReservations also learns IPReservationType enum because we have more use of that now (“vrf”+)
  • VirtualCircuits also learns VCStatus as an enum type/hint
  • packngo.go learns about the new VRF service

VRF features are not generally available. The changes in this PR make some currently "required" (always sent in Create requests) "optional". This does not change the overall experience for existing use-cases.
Empty values in the modified fields would have angered the EM API before or after these changes.

Fixes #325

The PR adds support for the following new endpoints:

  • GET /projects/{id}/vrfs
  • POST /projects/{id}/vrfs
  • GET /vrfs/{id}
  • PUT /vrfs/{id}
  • DELETE /vrfs/{id}
  • GET /vrfs/{id}/ips

The following resources have been updated to be aware of new VRF related request and response fields:

  • POST /projects/{id}/ips
  • POST /interconnections/{id}/ports/{port_id}/virtual-circuits
  • GET /projects/{id}/ips
  • GET /ips
  • GET /interconnections/{id}/ports/{port_id}/virtual-circuits?is_vrf=true
  • GET /virtual-circuits/{vrf_virtual_circuit_id}
  • PUT /ips/{id}

Some resources were indirectly affected, response fields are updated but request fields remain the same, although behavior may be altered conditioned on request values.

  • POST /projects/{id}/metal-gateways
  • DELETE /metal-gateways/{id}
  • GET /metal-gateways/{id}
  • DELETE /ips/{id}
  • DELETE /virtual-circuits/{vrf_virtual_circuit_id}

Signed-off-by: Marques Johansson <mjohansson@equinix.com>
Signed-off-by: Marques Johansson <mjohansson@equinix.com>
@displague displague marked this pull request as draft April 4, 2022 18:48
@displague displague changed the title Add VRF Support Add VRF (not-GA) Support Apr 4, 2022
@displague displague changed the title Add VRF (not-GA) Support Add VRF Support (not-GA) Apr 4, 2022
Signed-off-by: Marques Johansson <mjohansson@equinix.com>
Signed-off-by: Marques Johansson <mjohansson@equinix.com>
…sses

Signed-off-by: Marques Johansson <mjohansson@equinix.com>
@displague displague marked this pull request as ready for review April 21, 2022 02:16
ip.go Show resolved Hide resolved
Signed-off-by: Marques Johansson <mjohansson@equinix.com>
Signed-off-by: Marques Johansson <mjohansson@equinix.com>
Signed-off-by: Marques Johansson <mjohansson@equinix.com>
Signed-off-by: Marques Johansson <mjohansson@equinix.com>
Signed-off-by: Marques Johansson <mjohansson@equinix.com>
@deitch deitch merged commit 6077cc3 into master May 2, 2022
@deitch deitch deleted the vrf branch May 2, 2022 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add VRF support
3 participants