Skip to content

Commit

Permalink
feat: Fabric 4.17 api spec update (#80)
Browse files Browse the repository at this point in the history
* Remove unused API spec Patching that was fixed in API Spec source
* Add post patching for newly generated API Streams test file
* Update Fabric API Spec version to 4.17

## Changes in SDK

### Enhancements

* Additional methods ->
  - Methods added for Cloud Router Actions
- Methods added for Cloud Router Connections advertisedRoutes and
receivedRoutes searching
  - Methods for Precision Time PUT endpoint
  - Methods added for Stream Subscriptions Product
  - Methods added for Streams Product


* Additional models ->
  - Models added for Cloud Router Actions Product
  - ServiceToken model used for API Responses
- Models added for Stream Subscriptions Product and for Streams Product
    - Asset Enum
    - ActionRequest
    - ActionResponse
    - ActionState
    - ActionType
    - ActionsSearchExpression
    - ActionsSearchFilter
    - ActionsSearchFilters
    - ActionsSearchOrFilter
    - ActionsSearchRequest
    - ActionsSearchResponse
    - ActionsSearchSortBy
    - ActionsSearchSortCriteria
    - ActionsSearchSortDirection
    - ConnectionRouteEntryFilter
    - ConnectionRouteEntryFilters
    - ConnectionRouteEntryOrFilter
    - ConnectionRouteEntrySimpleExpression
    - ConnectionRouteEntrySortBy
    - ConnectionRouteEntrySortDirection
    - ConnectionRouteSearchRequest
    - ConnectionRouteSortCriteria
    - ConnectionRouteTableEntry
    - ConnectionRouteTableEntryConnection
    - ConnectionRouteTableEntrySearchResponse
    - ConnectionRouteTableEntryState
    - GetAllStreamAssetResponse
    - GetAllStreamResponse
    - GetAllStreamSubscriptionResponse
    - GetSubscriptionsInStreamResponse
    - Operation
    - Package
    - PackageCode
    - PackageType
    - Stream
    - StreamAsset
    - StreamAssetAttachmentStatus
    - StreamAssetFilter
    - StreamAssetFilters
    - StreamAssetOrFilter
    - StreamAssetPutRequest
    - StreamAssetSearchRequest
    - StreamAssetSimpleExpression
    - StreamAssetSortBy
    - StreamAssetSortCriteria
    - StreamAssetSortDirection
    - StreamFilter
    - StreamFilterOrFilter
    - StreamFilterSimpleExpression
    - StreamGetSubscriptions
    - StreamGetSubscriptionsType
    - StreamPostRequest
    - StreamPostRequestType
    - StreamPutRequest
    - StreamSubscription
    - StreamSubscriptionFilter
    - StreamSubscriptionPostRequest
    - StreamSubscriptionPostRequestType
    - StreamSubscriptionPutRequest
    - StreamSubscriptionSink
    - StreamSubscriptionSinkCredential
    - StreamSubscriptionSinkSetting
    - StreamSubscriptionSinkType
    - StreamSubscriptionState
    - StreamSubscriptionType
    - StreamTarget
  - BulkPortRequest added to replace BulkPort in request methods  
  - PhysicalPortSettings 
  - PortBMMRType
  - PortConnectivitySourceType
  - PortRequest 
  - PortServiceType
  - PrecisionTimeOrder
  - PrecisionTimePackageCode
  - PrecisionTimeServiceResponseState
  - PrecisionTimeServiceResponseType
  - LogAnnounceInterval
  - LogSyncInterval
  - LogDelayReqInterval
  - RouterActionsConnection
  - SimplifiedTokenNetwork
  - SimplifiedTokenNetworkScope
  - SimplifiedTokenNetworkType
  - SimplifiedVirtualDevice
  - SimplifiedVirtualDeviceType
  - SubscriptionState
  - ValidateConnectionResponse
  - VirtualConnectionSide
  - VirtualConnectionTimeServiceResponse
  - VirtualDeviceInterface
  
* Models extended ->
  - ApiGetServiceTokenByUuidRequest added offset and limit attributes
- AccessPointSelector added VirtualDevice, Interface, and Network as
attributes
- bgp_connection_ipv4 and bgp_connection_ipv6 added RoutesMax attribute
  - PhysicalPort added UUID, Settings, and Interface attributes
  - PortOperation added EvplVCCount, FgVCCount, and AccessVCCount
  - PortPurchaseOrder added Type attribute
  - ServiceToken added IssuerSide attribute
  - ServiceTokenConnection added AllowCustomBandwidth
  - SimplifiedMetadataEntity
 
* Constants added ->
- AccessPointSelectType added ACCESSPOINTSELECTORTYPE_VD and
ACCESSPOINTSELECTORTYPE_NETWORK
  - CLOUDROUTERACCESSPOINTSTATE_REPROVISIONING added
  - PORTOPERATIONOPERATIONALSTATUS_PARTIAL added
  - PortOrderPurchaseOrderType added
  - PhysicalPortsType added
- PRECISIONTIMECHANGEOPERATIONOP_ADD and
PRECISIONTIMECHANGEOPERATIONOP_REMOVE added
  - Additional PRECISIONTIMECHANGEOPERATIONPATHs for changes
  - Additional SERVICETOKENCONNECTIONTYPEs
  - ServiceTokenIssuerSide added
  - SERVICETOKENTYPE_EPL_TOKEN added
  - VirtualDeviceInterfaceType

### Breaking Changes

* Methods changed ->
  - Ports Method signature changes because of model renames; 
    - BulkPort used instead of AllPortsResponse
    - BulkPortRequest used instead of BulkPort
  - Precision Time Method signature changes because of model renames
- Service Tokens method signature changes because addition of
ServiceToken model
- CloudRouterChangeOperation now uses PrecisionTimeChangeOperationOp
instead of ServiceTokenChangeOperationOp for changes
- NetworkChangeOperation now uses PrecisionTimeChangeOperationOp instead
of ServiceTokenChangeOperationOp for changes
- ServiceTokenOperation now uses PrecisionTimeChangeOperationOp instead
of ServiceTokenChangeOperationOp for changes

* Models changed ->
  - ApiCreatePortRequest; Port renamed to PortRequest
  - PortResponse renamed to Port
- PrecisionTimeServiceCreateResponse renamed to
PrecisionTimeServiceResponse
- AccessPointSelector LinkProtocol attribute changed from LinkProtocol
type to SimplifiedLinkProtocol type
  - AllPortsResponse uses []Port instead of []PortResponse
- ConnectionResponse uses []ValidateConnectionResponse instead of
[]BaseConnection
- Ipv4 attributes Primary, Secondary, and NetworkMask are required
attributes
  - MD5 renamed Id -> KeyNumber and Password -> Key
  - Port model no longer has required fields
- PrecisionTimeServiceRequest split AdvanceConfiguration into
NtpAdvanceConfiguration and PtpAdvanceConfiguration
    - FabricConnectionUuid changed to VirtualConnectionUuid as well
- PrecisionTimeServiceResponse split AdvanceConfiguration into
NtpAdvanceConfiguration and PtpAdvanceConfiguration
- FabricConnectionUuid changed to VirtualConnectionTimeServiceResponse
  - PTPAdvanceConfiguration uses explicit types for:
    - LogAnnounceInterval
    - LogSyncInterval
    - LogDelayReqInterval
  - RouteTableEntry
  - SimplifiedPort:
    - Removed CvpId and modified int32 to int64 on integer attributes
    - Added Package
  - SubscriptionAsset
  - SubscriptionResponse
  - FabricConnectionUuid renamed to VirtualConnectionUuid


* Models Deleted ->
  - Account model removed in favor of SimplifiedAccount
- AdvanceConfiguration model removed in favor of bringing NTP and PTP to
a higher level for Precision Time
- PortResponse deleted in favor of modified Port model (no required
fields)
- BaseConnection deleted in favor of modified ValidateConnectionResponse
  - CLOUDROUTERACCESSPOINTSTATE_LOCKED deleted
  - LinkProtocol deleted in favor of SimplifiedLinkProtocol
  - LinkProtocolDot1q deleted
  - LinkProtocolEVPN_VXLan deleted
  - LinkProtocolIpv4Ipv6Config deleted
  - LinkProtocol QINQ deleted
  - LinkProtocolUntagged deleted
  - LinkProtocolVXLan deleted
  - PortResponseBMMRType
  - PortResponseConnectivitySourceType
  - PortResponsePhysicalPortsType
  - PortResponseServiceType
  - PrecisionTimePackageRequest
  - PrecisionTimeServiceCreateResponse
  - PrecisionTimeServiceCreateResponseState
  - PrecisionTimeServiceCreateResponseType
  - SimplifiedAccountPortResponse deleted in favor of SimplifiedAccount
  - SubscriptionAssetType
  - SubscriptionStatus deleted in favor of SubscriptionState
  • Loading branch information
thogarty authored Oct 15, 2024
2 parents c94de7b + 20de9ba commit ccf0642
Show file tree
Hide file tree
Showing 720 changed files with 42,898 additions and 14,539 deletions.
2 changes: 1 addition & 1 deletion Makefile.fabricv4
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
include Makefile

PACKAGE_NAME=fabricv4
SPEC_BASE_URL:=https://api.swaggerhub.com/apis/equinix-api/fabric/4.15
SPEC_BASE_URL:=https://api.swaggerhub.com/apis/equinix-api/fabric/4.17
SPEC_ROOT_FILE:=swagger.yaml

CODE_DIR=${CODE_BASE_DIR}/${PACKAGE_NAME}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
diff --git a/services/fabricv4/test/api_streams_test.go b/services/fabricv4/test/api_streams_test.go
index f760724..ca429c7 100644
--- a/services/fabricv4/test/api_streams_test.go
+++ b/services/fabricv4/test/api_streams_test.go
@@ -36,7 +36,7 @@ func Test_fabricv4_StreamsApiService(t *testing.T) {
t.Skip("skip test") // remove to run test

var assetId string
- var asset Asset
+ var asset openapiclient.Asset
var streamId string

resp, httpRes, err := apiClient.StreamsApi.DeleteStreamAssetByUuid(context.Background(), assetId, asset, streamId).Execute()
@@ -62,7 +62,7 @@ func Test_fabricv4_StreamsApiService(t *testing.T) {
t.Skip("skip test") // remove to run test

var assetId string
- var asset Asset
+ var asset openapiclient.Asset
var streamId string

resp, httpRes, err := apiClient.StreamsApi.GetStreamAssetByUuid(context.Background(), assetId, asset, streamId).Execute()
@@ -120,7 +120,7 @@ func Test_fabricv4_StreamsApiService(t *testing.T) {
t.Skip("skip test") // remove to run test

var assetId string
- var asset Asset
+ var asset openapiclient.Asset
var streamId string

resp, httpRes, err := apiClient.StreamsApi.UpdateStreamAssetByUuid(context.Background(), assetId, asset, streamId).Execute()
150 changes: 119 additions & 31 deletions services/fabricv4/README.md

Large diffs are not rendered by default.

Loading

0 comments on commit ccf0642

Please sign in to comment.