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:
[x] GET /projects/{id}/vrfs
[x] POST /projects/{id}/vrfs
[x] GET /vrfs/{id}
[x] PUT /vrfs/{id}
[x] DELETE /vrfs/{id}
[x] GET /vrfs/{id}/ips
The following resources have been updated to be aware of new VRF related request and response fields:
[x] POST /projects/{id}/ips
[x] POST /interconnections/{id}/ports/{port_id}/virtual-circuits
[x] GET /projects/{id}/ips
[x] GET /ips
[x] GET /interconnections/{id}/ports/{port_id}/virtual-circuits?is_vrf=true
[x] GET /virtual-circuits/{vrf_virtual_circuit_id}
[x] 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.
This PR adds support for the upcoming VRF features:
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}